@charset "UTF-8";
/*--------------------------------------------------- */
/* 文字が現れる */
/*--------------------------------------------------- */
@-webkit-keyframes passing-bar {
  0% {
    left: 0;
    width: 0; }
  50% {
    left: 0;
    width: 100%; }
  51% {
    left: 0;
    width: 100%; }
  100% {
    left: 0;
    width: 100%; } }
@keyframes passing-bar {
  0% {
    left: 0;
    width: 0; }
  50% {
    left: 0;
    width: 100%; }
  51% {
    left: 0;
    width: 100%; }
  100% {
    left: 0;
    width: 100%; } }

@-webkit-keyframes {
  0% {
    width: 100%; } }

@keyframes {
  0% {
    width: 100%; } }

@-webkit-keyframes passing-txt {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes passing-txt {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes passing-txt-defalut {
  0% {
    opacity: 1; } }

@keyframes passing-txt-defalut {
  0% {
    opacity: 1; } }

.passing .passing-box {
  display: block;
  text-align: center; }

.passing .passing-bar {
  position: relative;
  display: inline-block;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }
  .passing .passing-bar:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    background: #000;
    opacity: 0.8; }

.passing .passing-txt {
  opacity: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  font-size: 4.0rem;
  font-weight: bold;
  line-height: 1.5; }

.passing.move .passing-bar:before {
  -webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
  animation: passing-bar 1s ease 0s 1 normal forwards; }

.passing.move .passing-txt {
  -webkit-animation: passing-txt 0s ease .5s 1 normal forwards;
  animation: passing-txt 0s ease .5s 1 normal forwards; }

@font-face {
  font-family: 'matissem';
  font-display: swap;
  src: url("/common/font/matisse-m.woff") format("woff"), url("/common/font/matisse-m.otf") format("truetype"); }

/*--------------------------------------------------- */
/* */
/*--------------------------------------------------- */
/*--------------------------------------------------- */
/* business */
/*--------------------------------------------------- */
.business {
  margin-top: 138px;
  margin-bottom: 100px; }
  .business .wrapper {
    margin-top: 280px;
    position: relative; }
    .business .wrapper:nth-of-type(1) {
      margin-top: 0;
      /* style */ }
    .business .wrapper:before {
      background-color: #f1f1f1;
      width: 100%;
      height: 330px;
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -70px;
      z-index: -3;
      margin: auto;
      /* style */ }
    .business .wrapper:after {
      background-color: #0084ed;
      width: 30%;
      height: 178px;
      content: "";
      position: absolute;
      bottom: -70px;
      z-index: -2;
      margin: auto;
      /* style */ }
    .business .wrapper:nth-of-type(1):after, .business .wrapper:nth-of-type(3):after, .business .wrapper:nth-of-type(5):after {
      right: 0; }
    .business .wrapper:nth-of-type(2), .business .wrapper:nth-of-type(4) {
      /* style */ }
      @media (min-width: 769px) {
        .business .wrapper:nth-of-type(2) .num1 a, .business .wrapper:nth-of-type(4) .num1 a {
          max-width: 210px;
          margin-left: auto; } }
      .business .wrapper:nth-of-type(2):after, .business .wrapper:nth-of-type(4):after {
        left: 0; }
  .business .flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .business .num1 {
    width: 270px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end; }
    .business .num1 a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      height: 220px;
      width: 100%;
      -ms-flex-line-pack: justify;
      align-content: space-between; }
    @media (min-width: 769px) {
      .business .num1:hover {
        opacity: 0.6;
        -webkit-transition-duration: 0.5s;
        transition-duration: 0.5s; } }
    .business .num1 .number {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      position: relative;
      padding-bottom: 16px;
      position: relative;
      width: 100%; }
      .business .num1 .number:after {
        content: "";
        /* style */
        border-bottom: 1px solid #bababa;
        max-width: 210px;
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        margin: auto; }
        @media all and (-ms-high-contrast: none) {
          .business .num1 .number:after {
            position: absolute;
            left: 0;
            bottom: 0;
            margin: auto; } }
      .business .num1 .number span {
        color: #abc6dc;
        font-size: 18px;
        font-size: 1.8rem;
        font-family: "rodinb", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
        font-display: swap;
        font-weight: 700;
        position: relative; }
      .business .num1 .number img {
        position: absolute;
        right: -64px;
        bottom: -1px;
        margin: auto;
        max-width: 52px; }
        @media all and (-ms-high-contrast: none) {
          .business .num1 .number img {
            margin: 0; } }
    .business .num1 .heading {
      color: #000; }
      .business .num1 .heading .eng {
        font-size: 12px;
        font-size: 1.2rem;
        padding-left: 2px;
        font-family: helvetica,sans-serif;
        line-height: 1em; }
      .business .num1 .heading h3 {
        line-height: 1.2em;
        font-size: 36px;
        font-size: 3.6rem;
        position: relative;
        margin-top: 2px;
        font-weight: 700; }
        @media (min-width: 769px) {
          .business .num1 .heading h3 {
            left: -1px; } }
        @media all and (-ms-high-contrast: none) {
          .business .num1 .heading h3 {
            margin-top: 8px; } }
      .business .num1 .heading p {
        margin-top: 2px;
        line-height: 1.2em;
        font-size: 15px;
        font-size: 1.5rem; }
    .business .num1 .btn {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      word-break: break-all;
      text-decoration: none;
      background: #abc6dc;
      text-align: center;
      border: 1px solid #abc6dc;
      color: #fff;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease;
      max-width: -webkit-fit-content;
      max-width: -moz-fit-content;
      max-width: fit-content;
      font-size: 14px;
      font-size: 1.4rem;
      max-width: fit-content;
      font-weight: 700;
      padding: 10px 16px; }
      @media (min-width: 769px) {
        .business .num1 .btn:hover {
          background: #fff;
          color: #abc6dc;
          border: 1px solid #abc6dc;
          -webkit-box-shadow: none;
          box-shadow: none; } }
      @media all and (-ms-high-contrast: none) {
        .business .num1 .btn {
          max-width: 150px; } }
    .business .num1 .commonBtn {
      padding-right: 45px;
      position: relative; }
      .business .num1 .commonBtn:before {
        content: "";
        /* style */
        border-bottom: 1px solid;
        height: 1px;
        width: 22px;
        position: absolute;
        top: 0;
        right: 16px;
        bottom: 0;
        margin: auto; }
      .business .num1 .commonBtn:after {
        content: "";
        /* style */
        border-bottom: 1px solid;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        height: 1px;
        width: 10px;
        position: absolute;
        top: -6px;
        right: 14px;
        bottom: 0;
        margin: auto; }
  .business .num2 {
    width: calc(100% - 300px); }
    .business .num2 img {
      width: 100%;
      height: 330px;
      -o-object-fit: cover;
      object-fit: cover; }

@media (max-width: 768px) {
  .business {
    margin-top: 138px;
    margin-bottom: 100px; }
    .business .wrapper:before {
      width: 100%;
      height: 220px;
      bottom: -40px; }
    .business .wrapper:after {
      background-color: #0084ed;
      width: 30%;
      height: 120px;
      bottom: -40px;
      /* style */ }
    .business .flex {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
    .business .flex2 {
      width: 100%; }
    .business .num1 {
      -webkit-box-align: baseline;
      -ms-flex-align: baseline;
      align-items: baseline;
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
      position: relative; }
      .business .num1 a {
        height: auto;
        width: auto; }
      .business .num1 .number {
        padding-bottom: 16px;
        margin-bottom: 32px;
        position: static; }
        .business .num1 .number:after {
          content: "";
          /* style */
          max-width: initial;
          bottom: auto;
          top: 32px;
          pointer-events: none; }
        .business .num1 .number span {
          font-size: 16px;
          font-size: 1.6rem; }
      .business .num1 .heading .eng {
        font-size: 12px;
        font-size: 1.2rem;
        padding-left: 2px; }
      .business .num1 .heading h3 {
        font-size: 30px;
        font-size: 3rem;
        margin-top: 2px; }
      .business .num1 .heading p {
        margin-top: 2px;
        font-size: 14px;
        font-size: 1.4rem; }
      .business .num1 .btn {
        margin-top: auto;
        margin-bottom: auto;
        margin-left: 20px;
        height: 40px;
        font-size: 14px;
        font-size: 1.4rem; }
    .business .num2 {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2;
      margin-top: 32px; }
      .business .num2 img {
        height: 250px; } }

@media (max-width: 480px) {
  .business .wrapper:before {
    width: 100%;
    height: 170px; }
  .business .wrapper:after {
    width: 40%;
    height: 80px;
    /* style */ }
  .business .flex {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .business .flex2 {
    display: inline-block;
    width: 100%; }
  .business .num1 {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    position: relative; }
    .business .num1 a {
      -ms-flex-wrap: inherit;
      flex-wrap: inherit;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
    .business .num1 .number {
      padding-bottom: 16px;
      margin-bottom: 16px;
      position: static;
      width: auto; }
      .business .num1 .number:after {
        content: "";
        /* style */
        max-width: initial;
        bottom: auto;
        top: 24px;
        pointer-events: none; }
      .business .num1 .number span {
        font-size: 14px;
        font-size: 1.4rem; }
      .business .num1 .number img {
        right: -40px;
        max-width: 30px;
        bottom: 1px; }
    .business .num1 .heading {
      display: inline-block; }
      .business .num1 .heading .eng {
        font-size: 12px;
        font-size: 1.2rem;
        padding-left: 2px; }
      .business .num1 .heading h3 {
        font-size: 26px;
        font-size: 2.6rem;
        margin-top: 2px; }
      .business .num1 .heading p {
        margin-top: 2px;
        font-size: 14px;
        font-size: 1.4rem; }
    .business .num1 .btn {
      margin-left: 0;
      margin-top: 16px; }
  .business .num2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 16px; }
    .business .num2 img {
      height: 200px; } }

/*--------------------------------------------------- */
/* */
/*--------------------------------------------------- */
