@charset "UTF-8";
h2.top-title {
  font-size: 60px;
  font-weight: bold;
  font-family: "Stack Sans Text", sans-serif;
  color: #383838; }
  h2.top-title::first-letter {
    color: #468883; }
  @media screen and (max-width: 768px) {
    h2.top-title {
      font-size: 30px; } }
  h2.top-title span {
    display: block;
    font-size: 20px;
    font-weight: normal; }
    @media screen and (max-width: 768px) {
      h2.top-title span {
        font-size: 16px; } }

/*------------------------------------------------------
　メインビジュアル
-------------------------------------------------------*/
#mainvisual {
  height: 900px;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 768px) {
    #mainvisual {
      min-height: 100vh; } }
  #mainvisual .ml-slider {
    height: 100%; }
    #mainvisual .ml-slider div {
      height: 100%; }
      #mainvisual .ml-slider div ul {
        height: 100%; }
        #mainvisual .ml-slider div ul li {
          height: 100%; }
          #mainvisual .ml-slider div ul li img {
            height: 100%;
            object-fit: cover; }
          #mainvisual .ml-slider div ul li video {
            width: 100%;
            height: 100%;
            object-fit: cover; }
  #mainvisual .slide-main {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0; }
    #mainvisual .slide-main .slick-list,
    #mainvisual .slide-main .slick-track {
      width: 100%;
      height: 100%; }
    #mainvisual .slide-main img,
    #mainvisual .slide-main video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
  #mainvisual .visualWrap {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 30px;
    padding-top: 30px; }
    @media screen and (max-width: 768px) {
      #mainvisual .visualWrap {
        padding: 0; } }
    #mainvisual .visualWrap .row {
      height: 100%;
      padding: 0;
      margin: 0; }
    #mainvisual .visualWrap .col-md-6 {
      padding: 0; }
    #mainvisual .visualWrap:before {
      position: absolute;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      /*background: linear-gradient(0deg,rgba(0,0,0,0.6),rgba(0,0,0,0.2),rgba(0,0,0,0));*/ }
    #mainvisual .visualWrap .inner {
      position: relative;
      color: white;
      font-weight: bold;
      width: 100%;
      height: 100%; }

@keyframes fadezoom {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.1);
    /* 拡大率 */ } }
.add-animation {
  animation: fadezoom 15s 0s forwards; }

/*------------------------------------------------------
　お知らせ
-------------------------------------------------------*/
.news-wrap h2 {
  font-family: "Stack Sans Text", sans-serif;
  color: #fff;
  font-size: 70px;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  align-items: center;
  line-height: 1;
  padding-right: 20px; }
  .news-wrap h2 span {
    color: #fff;
    font-weight: bold;
    font-size: 22px; }
  @media screen and (max-width: 768px) {
    .news-wrap h2 {
      font-size: 50px; }
      .news-wrap h2 span {
        font-size: 14px; } }

ul.news-tab {
  display: flex;
  margin-bottom: 20px;
  justify-content: flex-end;
  gap: 10px;
  margin-right: 20px; }
  @media screen and (max-width: 768px) {
    ul.news-tab {
      margin-right: 10px;
      gap: 5px;
      font-size: 13px; } }
  ul.news-tab li {
    list-style: none;
    padding: 0.2em 1.5em;
    border-radius: 2em;
    background: #468883;
    cursor: pointer;
    border: 1px solid #fff; }
    @media screen and (max-width: 768px) {
      ul.news-tab li {
        padding: 0.2em 1em; } }
    ul.news-tab li:hover {
      opacity: 0.7; }
    ul.news-tab li.c-all {
      background: #6591f6; }
    ul.news-tab li.c-recruit {
      background: #D69D00; }
    ul.news-tab li.c-works {
      background: #E35719; }
    ul.news-tab li.active {
      background: #222; }

ul.news-list {
  -webkit-transition: .2s ease-in-out;
  -moz-transition: .2s ease-in-out;
  transition: .2s ease-in-out;
  width: 100%;
  padding-left: 20px; }
  @media screen and (max-width: 768px) {
    ul.news-list {
      padding-left: 20px; } }
  ul.news-list li a:hover {
    margin-left: -2em;
    padding: 0.9em 3em 0.9em 2em; }
  @media screen and (max-width: 768px) {
    ul.news-list li a {
      font-size: 13px;
      border-radius: 3em 0 0 3em; }
      ul.news-list li a span.cat {
        font-size: 10px; } }
  ul.news-list li a span.title {
    overflow: hidden;
    white-space: nowrap; }

.news-wrap {
  position: relative;
  width: 100%;
  padding-bottom: 300px; }
  @media screen and (max-width: 768px) {
    .news-wrap {
      margin-bottom: 50px; } }

.news-list-wrap {
  position: absolute;
  top: 160px;
  right: 0;
  max-width: 100%; }
  .news-list-wrap .textright {
    padding-right: 10px; }
  @media screen and (max-width: 768px) {
    .news-list-wrap {
      top: 120px; } }

/*------------------------------------------------------
　ブログ
-------------------------------------------------------*/
section.blog {
  padding: 70px 10px; }

/*------------------------------------------------------
　会社概要
-------------------------------------------------------*/
section.about {
  position: relative; }
  section.about .bout-text {
    background: #3C3C3C;
    color: #fff;
    width: 60%;
    border-left: 20px solid #468883;
    position: relative;
    padding: 70px 15% 70px 40px; }
    @media screen and (max-width: 768px) {
      section.about .bout-text {
        width: 95%;
        margin-bottom: 210px;
        padding: 40px 30px 80px 30px; } }
    section.about .bout-text:before {
      content: "";
      display: block;
      width: 0;
      height: 100%;
      border-right: 1px dashed #fff;
      position: absolute;
      left: 5px;
      top: 0; }
    section.about .bout-text .inner {
      max-width: 540px;
      margin: auto; }
      section.about .bout-text .inner h2 {
        font-size: 60px;
        font-weight: bold;
        font-family: "Stack Sans Text", sans-serif;
        color: #fff;
        display: flex;
        align-items: center;
        gap: 20px; }
        @media screen and (max-width: 768px) {
          section.about .bout-text .inner h2 {
            font-size: 30px; } }
        section.about .bout-text .inner h2 span {
          display: block;
          font-size: 20px;
          font-weight: normal; }
          @media screen and (max-width: 768px) {
            section.about .bout-text .inner h2 span {
              font-size: 16px; } }
      section.about .bout-text .inner p {
        text-align: justify;
        font-size: 15px; }
        section.about .bout-text .inner p.textright {
          text-align: right; }
        @media screen and (max-width: 768px) {
          section.about .bout-text .inner p {
            font-size: 12px; } }
  section.about .bout-image {
    position: absolute;
    top: 50px;
    left: 50%;
    height: 100%;
    width: 50%; }
    @media screen and (max-width: 768px) {
      section.about .bout-image {
        height: 300px;
        width: 90%;
        left: 10%;
        top: auto;
        bottom: -260px; } }
    section.about .bout-image img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover; }

/*------------------------------------------------------
　事業内容
-------------------------------------------------------*/
section.business {
  padding: 130px 10px 100px 10px;
  background: #F3F3F3; }
  section.business .business-wrap {
    display: flex;
    flex-wrap: nowrap; }
    @media screen and (max-width: 768px) {
      section.business .business-wrap {
        flex-wrap: wrap; } }
    section.business .business-wrap .business-item {
      padding: 10px;
      width: 100%; }
      section.business .business-wrap .business-item a {
        display: block;
        background: #fff;
        text-decoration: none;
        color: #222;
        height: 100%; }
        section.business .business-wrap .business-item a .business-image {
          position: relative;
          padding-bottom: 60%;
          overflow: hidden; }
          section.business .business-wrap .business-item a .business-image img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            -webkit-transition: all 0.25s;
            -moz-transition: all 0.25s;
            -o-transition: all 0.25s;
            transition: all  0.25s; }
        section.business .business-wrap .business-item a:hover .business-image img {
          transform: scale(1.1); }
        section.business .business-wrap .business-item a .business-text {
          padding: 10% 7%; }
          section.business .business-wrap .business-item a .business-text h5 {
            text-align: center;
            font-weight: bold; }
          section.business .business-wrap .business-item a .business-text p {
            font-size: 15px; }
            @media screen and (max-width: 768px) {
              section.business .business-wrap .business-item a .business-text p {
                font-size: 12px; } }
          section.business .business-wrap .business-item a .business-text span {
            position: relative;
            display: block;
            font-weight: bold;
            text-decoration: none;
            color: #000;
            -webkit-transition: all 0.25s;
            -moz-transition: all 0.25s;
            -o-transition: all 0.25s;
            transition: all  0.25s;
            font-size: 16px;
            padding: 0.5em 2em 0.5em 2em;
            border-radius: 2em;
            text-align: center;
            max-width: 200px;
            border: 1px solid #000;
            margin: 30px auto 0 auto; }
            @media screen and (max-width: 768px) {
              section.business .business-wrap .business-item a .business-text span {
                font-size: 14px; } }
            section.business .business-wrap .business-item a .business-text span:hover {
              color: #fff;
              background: #333; }
              section.business .business-wrap .business-item a .business-text span:hover:before {
                border-right: 1px solid #fff;
                border-bottom: 1px solid #fff; }

/*------------------------------------------------------
　採用情報
-------------------------------------------------------*/
section.recruit {
  position: relative;
  padding: 100px 30px;
  overflow: hidden; }
  section.recruit:before {
    content: "";
    display: block;
    background: url("../img/top/recruit.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 130%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  section.recruit .inner-wrap {
    position: relative;
    max-width: 1200px;
    margin: auto; }
    section.recruit .inner-wrap .inner {
      max-width: 400px; }
      @media screen and (max-width: 768px) {
        section.recruit .inner-wrap .inner {
          max-width: 260px; } }
      section.recruit .inner-wrap .inner h2 {
        color: #fff; }
        section.recruit .inner-wrap .inner h2::first-letter {
          color: #fff; }
      section.recruit .inner-wrap .inner p {
        color: #fff; }
        @media screen and (max-width: 768px) {
          section.recruit .inner-wrap .inner p {
            font-size: 12px; } }
      section.recruit .inner-wrap .inner p.read {
        font-size: 32px;
        margin-bottom: 1.5em;
        letter-spacing: 0.2em; }
        @media screen and (max-width: 768px) {
          section.recruit .inner-wrap .inner p.read {
            font-size: 24px; } }
