.home-maining img {
  vertical-align: bottom;
  width: 100%; }
.home-message {
  position: relative;
  padding: 140px 0 0;
  margin: 0 0 164px; }
  @media screen and (max-width: 767px) {
    .home-message {
      padding: 18.6666vw 0 0;
      margin: 0 0 32vw; } }
  .home-message::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 150px;
    height: 150px;
    background: url(../img/home/block1_dot1.svg) center/contain no-repeat; }
    @media screen and (max-width: 767px) {
      .home-message::before {
        width: 9.3333vw;
        height: 9.3333vw;
        left: -5.3334vw; } }
  .home-message__boshu {
    margin: 0 auto 120px; }
    @media screen and (max-width: 767px) {
      .home-message__boshu {
        margin: 0 auto 16vw; } }
  .home-message__main {
    width: 100%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; }
    @media screen and (max-width: 767px) {
      .home-message__main {
        -ms-writing-mode: horizontal-tb;
        writing-mode: unset; } }
  .home-message__lead {
    flex: 0 0 auto;
    order: 2;
    position: relative;
    z-index: 10;
    margin: 0 0 0 90px;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 48px;
    line-height: 1.875;
    letter-spacing: 0.16em; }
    @media screen and (max-width: 767px) {
      .home-message__lead {
        margin: 0 auto -16vw;
        font-size: 6.4vw;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl; } }
  .home-message__body {
    flex: 0 0 auto;
    position: relative;
    z-index: 0;
    order: 1;
    padding: 80px 0 0 64px;
    margin: 148px 0 0;
    height: 562px; }
    @media screen and (max-width: 767px) {
      .home-message__body {
        padding: 24vw 5.3333vw 8vw;
        margin: 0 -5.3334vw;
        height: auto;
        background: url(../img/home/img_message.jpg) bottom left/90% auto no-repeat;
        padding-bottom: 42vw; } }
    .home-message__body::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      width: 1000px;
      height: 562px;
      background: url(../img/home/img_message.jpg) center/contain no-repeat; }
      @media screen and (max-width: 767px) {
        .home-message__body::before {
          width: 100%;
          height: auto; } }
    .home-message__body::after {
      content: '';
      position: absolute;
      bottom: -50px;
      left: -100px;
      width: 200px;
      height: 150px;
      background: url(../img/home/dot_message.svg) center/contain no-repeat; }
      @media screen and (max-width: 767px) {
        .home-message__body::after {
          bottom: -13.3334vw;
          left: 0;
          width: 26.6666vw;
          height: 20vw; } }
  .home-message__ttl {
    position: absolute;
    top: -60px;
    right: 0;
    margin: 0 0 40px;
    height: 92px; }
    .home-message__ttl img {
      max-width: none;
      position: absolute;
      bottom: 0;
      right: 0;
      height: 92px; }
    @media screen and (max-width: 767px) {
      .home-message__ttl {
        position: relative;
        top: 0;
        height: 8vw;
        margin: 0 0 8vw; }
        .home-message__ttl img {
          height: 8vw; } }
  .home-message__text {
    line-height: 2.2307692308;
    font-size: 14px;
    font-weight: 300; }
    .home-message__text * {
      margin-left: 1em; }
    @media screen and (max-width: 767px) {
      .home-message__text {
        line-height: 1.8;
        font-size: 3.4666vw; }
        .home-message__text * {
          margin: 1em 0 0; } }
.home-special {
  position: relative;
  padding: 0 0 150px;
  margin: 0 0 128px; }
  @media screen and (max-width: 767px) {
    .home-special {
      padding: 0;
      margin: 0; } }
  .home-special__ttl {
    position: relative;
    margin: 0 0 16px 260px;
    height: 92px; }
    .home-special__ttl img {
      position: absolute;
      bottom: 0;
      left: 0;
      height: 92px;
      max-width: none; }
    @media screen and (max-width: 767px) {
      .home-special__ttl {
        padding: 0;
        margin: 0 0 4vw;
        height: 8vw; }
        .home-special__ttl img {
          height: 8vw; } }
  .home-special__body {
    position: relative;
    z-index: 0;
    padding: 42px 0 0 312px;
    margin: 0 0 0 260px;
    height: 450px;
    line-height: 2.0769230769;
    color: #fff;
    font-size: 13px;
    letter-spacing: 0.086em;
    font-weight: 300; }
    @media screen and (max-width: 767px) {
      .home-special__body {
        padding: 10.6666vw 5.3333vw 5.3333vw;
        margin: 0 -5.3334vw;
        height: auto;
        font-size: 3.2vw;
        background: #e60012; } }
    .home-special__body::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      width: 100vw;
      height: 100%;
      background: #e60012; }
      @media screen and (max-width: 767px) {
        .home-special__body::before {
          display: none; } }
  .home-special__knowledge {
    margin: 0 0 25px; }
    @media screen and (max-width: 767px) {
      .home-special__knowledge {
        margin: 0; } }
    .home-special__knowledge::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 150px;
      height: 150px;
      background: url(../img/home/dot1_special.svg) center/contain no-repeat; }
      @media screen and (max-width: 767px) {
        .home-special__knowledge::before {
          width: 20vw;
          height: 20vw; } }
    .home-special__knowledge::after {
      content: '';
      display: block;
      position: absolute;
      bottom: -150px;
      right: -200px;
      width: 150px;
      height: 250px;
      background: url(../img/home/dot2_special.svg) center/contain no-repeat; }
      @media screen and (max-width: 767px) {
        .home-special__knowledge::after {
          display: none; } }
  .home-special__btn {
    position: absolute;
    bottom: -50px;
    left: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 180px;
    height: 50px;
    background: #000;
    color: #fff;
    font-size: 16px;
    font-family: Roboto, sans-serif;
    letter-spacing: 0.2em;
    font-weight: 300; }
    @media screen and (max-width: 767px) {
      .home-special__btn {
        position: relative;
        bottom: 0;
        left: 0;
        margin: 5.3333vw auto 0;
        width: 53.3333vw;
        height: 13.3333vw;
        font-size: 3.7333vw; } }
  .home-special__img {
    position: absolute;
    right: 50%;
    bottom: 0;
    width: 700px; }
    @media screen and (max-width: 767px) {
      .home-special__img {
        position: relative;
        right: auto;
        width: auto;
        padding: 0 5.3333vw 8vw;
        margin: 0 -5.3334vw;
        height: auto;
        background: #e60012; } }
.home-about {
  background: url(../img/home/img_about.jpg) center/cover no-repeat;
  background-size: cover; }
  @media screen and (max-width: 767px) {
    .home-about {
      margin: 0 -5.3334vw;
      padding: 0 5.3333vw; } }
  .home-about .l-inbox {
    position: relative;
    z-index: 0;
    height: 620px; }
    @media screen and (max-width: 767px) {
      .home-about .l-inbox {
        padding: 32vw 0;
        height: auto; } }
    .home-about .l-inbox::after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      right: -200px;
      z-index: -1;
      width: 150px;
      height: 150px;
      background: url(../img/home/dot2_about.svg) center/contain no-repeat; }
      @media screen and (max-width: 767px) {
        .home-about .l-inbox::after {
          display: none; } }
  .home-about__ttl {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 0;
    transform: translateY(-50%);
    padding: 40px 0 0; }
    @media screen and (max-width: 767px) {
      .home-about__ttl {
        position: relative;
        top: auto;
        transform: translateY(0);
        padding: 1.3333vw 0 0; } }
    .home-about__ttl::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: -70px;
      z-index: -1;
      width: 200px;
      height: 150px;
      background: url(../img/home/dot1_about.svg) center/contain no-repeat; }
      @media screen and (max-width: 767px) {
        .home-about__ttl::before {
          left: -4vw;
          width: 16vw;
          height: 12vw; } }
    .home-about__ttl .en {
      position: relative;
      height: 92px; }
      .home-about__ttl .en img {
        position: absolute;
        max-width: none;
        height: 92px; }
      @media screen and (max-width: 767px) {
        .home-about__ttl .en {
          height: 8vw; }
          .home-about__ttl .en img {
            height: 8vw; } }
    .home-about__ttl .ja {
      margin: 16px 0 0;
      width: 400px;
      text-align: center;
      color: #fff;
      font-family: "Noto Serif JP", sans-serif;
      font-size: 18px;
      letter-spacing: 0.3em; }
      @media screen and (max-width: 767px) {
        .home-about__ttl .ja {
          margin: 4vw 0 0;
          width: 100%;
          font-size: 3.7333vw; } }
  .home-about__btn {
    position: absolute;
    top: 126px;
    left: 434px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 180px;
    height: 50px;
    background: #000;
    color: #fff;
    font-size: 16px;
    font-family: Roboto, sans-serif;
    letter-spacing: 0.2em;
    font-weight: 300; }
    @media screen and (max-width: 767px) {
      .home-about__btn {
        position: relative;
        top: auto;
        left: auto;
        margin: 5.3333vw auto 0;
        width: 53.3333vw;
        height: 13.3333vw;
        font-size: 3.7333vw; } }
.home-work {
  position: relative;
  z-index: 0;
  padding: 186px 0 230px;
  /*&__btn {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 24px 0 0;
      width: 240px;
      height: 46px;
      border: 1px #fff solid;
      color: #fff;
      font-family: $fGothicEn;
      font-size: 20px;
      letter-spacing: 0.2em;
      font-weight: map-get($fWeight,light);
      @include mq-down(sm) {
          margin: size(20) 0 0;
          width: size(400);
          height: size(80);
          font-size: size(24);
      }
  }*/ }
  @media screen and (max-width: 767px) {
    .home-work {
      padding: 13.3333vw 0 26.6666vw;
      margin: 0; } }
  .home-work::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 1400px;
    height: 1000px;
    background: url(../img/home/dot_work.svg) center/contain no-repeat; }
    @media screen and (max-width: 767px) {
      .home-work::before {
        top: 0;
        bottom: 0;
        left: -5.3334vw;
        right: -5.3334vw;
        transform: translate(0);
        width: auto;
        height: 100%;
        background-size: cover;
        background-position: right 30% top; } }
  .home-work__ttl {
    position: relative;
    margin: 0 0 50px;
    width: 100%;
    height: 92px; }
    .home-work__ttl img {
      position: absolute;
      bottom: 0;
      right: 0;
      max-width: none; }
    @media screen and (max-width: 767px) {
      .home-work__ttl {
        margin: 0 0 4vw;
        height: 8vw; }
        .home-work__ttl img {
          height: 8vw; } }
  .home-work__list {
    display: flex;
    justify-content: center;
    width: 100%; }
    @media screen and (max-width: 767px) {
      .home-work__list {
        display: block; } }
  .home-work__item {
    flex: 0 1 100%;
    padding: 0 10px;
    max-width: 440px;
    height: 440px; }
    @media screen and (max-width: 767px) {
      .home-work__item {
        padding: 0;
        width: 100%;
        max-width: 100%;
        height: 66.6666vw; } }
    @media screen and (max-width: 767px) {
      .home-work__item:nth-child(1) {
        margin-bottom: 1.6vw; } }
    .home-work__item:nth-child(1) .home-work__link {
      background-image: url(../img/home/img_work1.jpg); }
    @media screen and (max-width: 767px) {
      .home-work__item:nth-child(2) {
        margin-bottom: 1.6vw; } }
    .home-work__item:nth-child(2) .home-work__link {
      background-image: url(../img/home/img_work2.jpg); }
      @media screen and (max-width: 767px) {
        .home-work__item:nth-child(2) .home-work__link {
          background-image: url(../img/home/img_work2_sp.jpg); } }
    @media screen and (max-width: 767px) {
      .home-work__item:nth-child(3) {
        margin-bottom: 1.6vw; } }
    .home-work__item:nth-child(3) .home-work__link {
      background-image: url(../img/home/img_work3.jpg); }
    .home-work__item:nth-child(4) .home-work__link {
      background-image: url(../img/home/img_work4.jpg); }
  .home-work__link {
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    height: 100%;
    background: center / cover no-repeat;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .home-work__link {
        padding: 5.3333vw; } }
    .home-work__link.comingsoon {
      pointer-events: none; }
  .home-work__label {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    line-height: 1.8461538462;
    font-size: 26px;
    letter-spacing: 0.1em;
    font-family: "Noto Serif JP", sans-serif;
    font-weight: 500; }
    @media screen and (max-width: 767px) {
      .home-work__label {
        font-size: 6.4vw; } }
    .home-work__label span {
      font-size: 17px;
      line-height: 1.5384615385;
      letter-spacing: 0.07em;
      margin-top: 5px; }
      @media screen and (max-width: 767px) {
        .home-work__label span {
          font-size: 6.4vw; } }
  .home-work__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 24px 0 0;
    width: 180px;
    height: 50px;
    color: #fff;
    font-family: Roboto, sans-serif;
    font-size: 16px;
    letter-spacing: 0.1em;
    font-weight: 300;
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: #000; }
    @media screen and (max-width: 767px) {
      .home-work__btn {
        margin: 2.6666vw 0 0;
        width: 53.3333vw;
        height: 10.6666vw; } }
.home-recruit {
  background: url(../img/home/img_recruit.jpg) center/cover no-repeat; }
  @media screen and (max-width: 767px) {
    .home-recruit {
      position: relative;
      margin: 0 -5.3334vw;
      padding: 5.3333vw 5.3333vw 8vw; } }
  .home-recruit .l-inbox {
    position: relative;
    height: 570px; }
    @media screen and (max-width: 767px) {
      .home-recruit .l-inbox {
        height: auto; } }
  .home-recruit__ttl {
    position: relative;
    margin: 0 0 0 236px;
    height: 92px; }
    .home-recruit__ttl img {
      position: absolute;
      left: 0;
      top: -62px;
      max-width: none; }
    @media screen and (max-width: 767px) {
      .home-recruit__ttl {
        margin: -5.3334vw 0 0;
        height: 8vw; }
        .home-recruit__ttl img {
          top: -10.6667vw;
          height: 8vw; } }
  .home-recruit__list {
    position: absolute;
    top: 50%;
    left: -25px;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    width: calc(100% + 50px); }
    @media screen and (max-width: 767px) {
      .home-recruit__list {
        position: relative;
        top: 0;
        left: 0;
        transform: translateY(0);
        display: block;
        width: 100%; }
        .home-recruit__list * + * {
          margin-top: 1.3333vw; } }
  .home-recruit__item {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 25px; }
    @media screen and (max-width: 767px) {
      .home-recruit__item {
        padding: 0; } }
  .home-recruit__link {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    height: 200px;
    background: #fff;
    text-decoration: none; }
    @media screen and (max-width: 767px) {
      .home-recruit__link {
        padding: 4vw;
        height: auto; } }
    .home-recruit__link .en {
      padding: 0 0 30px;
      margin: 0 0 24px;
      line-height: 1;
      border-bottom: 1px solid currentColor;
      color: #fbdfcc;
      font-size: 46px;
      font-family: Roboto, sans-serif;
      font-weight: 500;
      letter-spacing: 0.08em; }
      @media screen and (max-width: 767px) {
        .home-recruit__link .en {
          padding: 0 0 2.6666vw;
          margin: 0 0 2.6666vw;
          font-size: 8vw; } }
    .home-recruit__link .ja {
      color: #000;
      font-size: 18px;
      font-family: "Noto Serif JP", sans-serif;
      letter-spacing: 0.12em; }
      @media screen and (max-width: 767px) {
        .home-recruit__link .ja {
          font-size: 4vw; } }

html.ie .home-message__main {
  max-height: 750px;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    html.ie .home-message__main {
      max-height: none;
      overflow: visible;
      -ms-writing-mode: lr-tb !important; } }
@media screen and (max-width: 767px) {
  html.ie .home-message__lead {
    -ms-writing-mode: lr-tb !important; } }
@media screen and (max-width: 767px) {
  html.ie .home-message__text {
    -ms-writing-mode: lr-tb !important; } }

/*# sourceMappingURL=home.css.map */
