@charset "utf-8";
/*フォント*/
html {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 300;
  font-style: normal;
}

/*============ヘッダー============*/
header {
  width: 100%;
}

/*共通コンテンツ幅指定*/
.container {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

/*グローバルメニュー*/
.grobal_menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100px;
  margin-top: 5px;
  margin-bottom: 5px;
}

/*ロゴ大きさ調整*/
h1 img {
  width: 170px;
}

/*・非表示*/
.grobal_menu li {
  list-style: none;
  margin-left: 40px;
}

/*カルーセル*/
/*画像を横幅いっぱいに表示*/
body {
  margin: 0;
}

/* 画像に合わせてカルーセルの高さを調整 */
.slick-slide {
  height: auto;
}

/*矢印*/
.slick-prev {
  left: 10px;
  z-index: 1;
}

.slick-next {
  right: 10px;
  z-index: 1;
}

/*==================メイン==================*/
/*共通見出し位置*/
h2 {
  text-align: center;
}

/*共通ボタン 色逆転*/
.button_blue a {
  display: block;
  transition: all 0.3s ease 0s;
  box-shadow: 5px 5px 3px 0px rgb(1 1 0 / 34%);
  background-color: #5886c2;
  color: white;
  border: 2px solid #5886c2;
  border-radius: 100px;
  width: 180px;
  padding: 10px;
  margin: 0 auto;
}

.button_blue a:hover {
  background: white;
  color: #5886c2;
}

/*共通効果　透過*/
.link_opacity a {
  transition: all 0.3s ease 0s;
}

.link_opacity a:hover {
  opacity: 0.6;
}

/*============事業内容============*/
.business_description {
  background-color: #18184c;
  padding: 30px 0 40px 0;
}

/*白い四角背景*/
.business_description_contents li {
  text-align: center;
  background-color: white;
  width: 300px;
  height: 240px;
}

/*システム開発*/
.business_description_development_logo {
  display: block;
  width: 82px;
  margin: 23px auto 0px auto;
}

.business_description_development_text {
  margin: 23px 0 35px 0;
}

/*システム開発から開発後の流れ*/
.business_description_circulation_logo {
  display: block;
  width: 110px;
  margin: 36px auto 0 auto;
}

.business_description_circulation_text {
  margin: 23px 0 15px 0;
}

/*導入事例*/
.business_description_examples_logo {
  display: block;
  width: 50px;
  margin: 24px auto 18px auto;
}

.business_description_examples_text {
  margin-bottom: 35px;
}

/*============新着情報============*/
.newinfo {
  padding: 30px 0 40px 0;
}

/*見出し*/
.newinfo h2 {
  text-align: left;
  padding-bottom: 4px;
  border-bottom: solid 3px #5886c2;
}

/*新着情報内容*/
.newinfo_contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 24px 0 40px 0;
}

.newinfo dt, .newinfo dd {
  margin-bottom: 16px;
}

.newinfo_contents dt {
  color: white;
  background-color: #18184c;
  text-align: center;
  width: 10%;
  padding: 3px 3px 3px 3px;
}

.newinfo_contents dd {
  width: 85%;
}

.newinfo_button a {
  text-align: center;
  letter-spacing: 3px;
  width: 210px;
}

/*============会社情報============*/
.company {
  background-color: #d2d2d2;
  padding: 30px 0px 50px 0px;
}

.company_contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
}

/*============採用情報============*/
.adopt {
  padding: 30px 0px 50px 0px;
}

.adopt_contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
}

/*効果*/
.adopt_contents a {
  text-align: center;
  text-shadow: 3px 2px 3px #535353;
  font-size: 29px;
  letter-spacing: 3px;
  width: 100%;
  border-radius: 40px;
  padding: 63px 0 63px 0;
}

/*============フッター============*/
footer {
  background-color: #d2d2d2;
  padding: 30px 0px 0px 0px;
}

/*ロゴ大きさ調整*/
.footer_logo img {
  width: 140px;
}

.footer_menu {
  margin-top: 30px;
  margin-bottom: 60px;
}

.footer_menu>ul {
  display: flex;
  justify-content: space-between;
}

/*トップへ戻るボタン*/
.pagetop_btn {
  display: block;
  text-align: end;
  position: fixed;
  right: 17px;
  bottom: 26px;
  z-index: 100;
  transition: .5s;
  /*デフォルト非表示*/
  opacity: 0;
  visibility: hidden;
}

/*表示するための記述*/
.pagetop_btn.active {
  opacity: 1;
  visibility: visible;
}

/*コピー*/
.copy {
  background-color: #18184c;
  text-align: center;
  padding: 40px 0 40px 0;
}

small {
  color: white;
}

/*=================PC用CSS=====================*/
@media screen and (min-width: 768px) {

  /*コンテンツ幅*/
  body {
    min-width: 1080px;
  }

  /*スマホ用クラス（非表示）*/
  .sp {
    display: none;
  }

  /*スマホ用bバーガーメニュー（非表示）*/
  .mobile_menu {
    display: none;
  }

  .grobal_menu ul {
    display: flex;
    padding: 0;
  }

  /*グローバルメニュー装飾*/
  /*リンク装飾（下線）*/
  .grobal_menu ul a {
    display: inline-block;
    position: relative;
    text-decoration: none;
    color: black;
    font-size: 0.95em;
  }

  .grobal_menu ul a::after {
    position: absolute;
    content: '';
    bottom: -3px;
    left: 0;
    background: #5886c2;
    transition: all 0.3s ease 0s;
    width: 0;
    height: 2px;
  }

  .grobal_menu ul a:hover::after {
    width: 100%;
  }

  /*============事業内容============*/
  .business_description_contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 30px;
  }

  /*============新着情報============*/
  .newinfo_contents span:last-child {
    margin-left: 35px;
  }

  /*============会社情報============*/
  .company_contents li:first-child {
    margin-right: 50px;
  }

  /*============採用情報============*/
  .adopt_contents li:first-child {
    margin-right: 50px;
  }

  .adopt_contents li {
    width: 513px;
  }

  /*============フッター============*/
  .footer_menu li {
    margin-top: 10px;
  }

  .footer_menu>ul>li>a {
    font-weight: bold;
  }
}

/*==============スマホ用CSS=================*/
@media screen and (max-width: 767px) {

  /*PC用クラス非表示*/
  .pc {
    display: none;
  }

  /*グローバルメニュー非表示*/
  .grobal_menu .pc {
    display: none;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  /*スマホ用共通コンテンツ幅*/
  .container {
    padding-left: 10px;
    padding-right: 10px;
  }

  /*バーガーメニュー*/
  /*外枠*/
  .mobile_menu {
    display: block;
    position: relative;
    background-color: #18184c;
    cursor: pointer;
    width: 50px;
    height: 50px;
  }

  /*線*/
  .mobile_menu span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    background: white;
    width: 45%;
    height: 3px;
  }

  .mobile_menu span:nth-of-type(1) {
    top: 15px;
  }

  .mobile_menu span:nth-of-type(2) {
    top: 23px;
  }

  .mobile_menu span:nth-of-type(3) {
    top: 31px;
  }

  /*クリック時に×に変化（activeクラス付与）*/
  /*上の線*/
  .mobile_menu.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    /*傾き*/
    width: 30%;
  }

  /*真ん中の線*/
  .mobile_menu.active span:nth-of-type(2) {
    opacity: 0;
  }

  /*下の線*/
  .mobile_menu.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    /*傾き*/
    width: 30%;
  }

  .mobile_menu_wrapper {
    position: relative;
  }

  /*スマホ用メニュー（バーガーメニューを押したときに表示されるメニュー）*/
  .mobile_link {
    display: none;
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 50px;
    z-index: 100;
    background-color: white;
    opacity: 0.7;
    font-size: 80%;
    line-height: 180%;
    width: 7em;
    margin-left: auto;
  }

  /*スマホ用メニュー装飾*/
  .mobile_link li {
    transition: all 0.3s ease 0s;
    margin: 0;
    padding: 0 4% 0 4%;
  }

  .mobile_link li:hover {
    background: #5886c2;
    color: white;
  }

  /*ロゴ大きさ調整*/
  h1 img {
    width: 28vw;
  }

  /*コンテンツ見出し*/
  h2 {
    text-align: center;
    width: 100%;
  }

  h2 img {
    width: 76px;
  }

  /*共通コンテンツ幅*/
  .mobile_container {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .button_blue a {
    box-shadow: 2px 2px 3px 0px rgb(1 1 0 / 34%);
  }

  /*============事業内容============　白い四角*/
  .business_description_contents li {
    margin-top: 10vw;
    padding: 0 1vw 0 1vw;
    width: 46vw;
    height: auto;
  }

  /*もっと詳しくボタン*/
  .business_description_contents li p a {
    width: 35vw;
    font-size: 3vw;
    padding: 1em;
    margin-bottom: 1vw;
  }

  /*システム開発*/
  /*アイコン*/
  .business_description_development_logo {
    width: 10vw;
    margin-top: 5vw;
  }

  /*文字*/
  .business_description_development_text {
    width: 150px;
    margin: 3vw 0 4vw 0;
  }

  /*システム開発から開発後の流れ*/
  /*アイコン*/
  .business_description_circulation_logo {
    width: 14vw;
    margin: 5vw auto 0 auto;
  }

  /*文字*/
  .business_description_circulation_text {
    width: 125px;
    margin: 5vw 0 3vw 0;
  }

  /*導入事例*/
  /*アイコン*/
  .business_description_examples_logo {
    width: 6vw;
    margin: 4vw auto 5vw auto;
  }

  /*文字*/
  .business_description_examples_text {
    width: 70px;
    margin: 0 0 4vw 0;
  }

  /*============新着情報============*/
  .newinfo {
    width: 100%;
  }

  /*見出し*/
  .newinfo h2 {
    text-align: center;
    padding-bottom: 3vw;
    border-bottom: solid 1vw #5886c2;
  }

  .newinfo_contents {
    font-size: 2vw;
  }

  .newinfo_contents dt {
    width: 10em;
  }

  .newinfo_contents dd {
    width: calc(100% - 11em);
  }

  /*新着情報一覧*/
  .newinfo_button a {
    font-size: 3vw;
    width: 45vw;
    padding: 1em;
  }

  /*============会社情報============*/
  .company_contents li:last-child {
    margin-top: 5vw;
  }

  /*============採用情報============*/
  .adopt_contents li {
    width: 100%;
  }

  .adopt_contents li:last-child {
    margin-top: 5vw;
  }

  .adopt_contents a {
    font-size: 4vw;
    border-radius: 20px;
    padding: 1em;
  }

  /*============フッター============*/
  footer {
    padding: 0;
  }

  .footer_menu {
    margin: 0;
  }

  .footer_menu>ul {
    flex-direction: column;
    text-align: center;
    font-size: 2vw;
  }

  .footer_menu li {
    display: block;
    border-bottom: solid 2px white;
    width: 100%;
    padding: 2vw;
  }

  /*============コピーライト============*/
  small {
    font-size: 1vw;
  }

  /*トップへ戻るボタン*/
  .pagetop_btn img {
    width: 7vw;
  }
}