@charset "UTF-8";
/* placeholder color */
/**********************************************************************************************

　top

**********************************************************************************************/
/*---------------------------------------------
common
---------------------------------------------*/
/*---------------------------------------------
sec
---------------------------------------------*/
/* diagonal */
.top_sec_diagonalArea {
  position: relative;
  z-index: -1;
  margin: 0 0 -80px; }
  @media (max-width: 750px) {
    .top_sec_diagonalArea {
      display: block;
      background: #e3e3e3;
      transform: skewX(-15deg);
      padding: 9.3vw 0 18vw;
      width: 78vw;
      margin: 0 0 -10.6vw; }
      .top_sec_diagonalArea::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        background: #e3e3e3;
        height: 100%;
        width: 100vw;
        right: 100%; } }

.top_sec_diagonal_titArea {
  position: relative;
  height: 243px;
  width: 38.2%;
  background: #e3e3e3;
  padding: 40px 0 0;
  color: #003366;
  flex-shrink: 0;
  margin: 0 110px 0 0; }
  @media (max-width: 750px) {
    .top_sec_diagonal_titArea {
      margin: 0;
      padding: 0;
      width: 100%;
      height: auto; } }
  @media (min-width: 751px) {
    .top_sec_diagonal_titArea::before, .top_sec_diagonal_titArea::after {
      content: "";
      display: block;
      position: absolute;
      top: 0; }
    .top_sec_diagonal_titArea::before {
      background: #e3e3e3;
      height: 100%;
      width: 80px;
      right: 100%; }
    .top_sec_diagonal_titArea::after {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 243px 60px 0 0;
      border-color: #e3e3e3 transparent transparent transparent;
      left: 100%; } }

.top_sec_diagonal_tit {
  font-family: 'Open Sans', sans-serif;
  font-size: 4.2rem;
  font-weight: 700;
  margin: 0 0 10px; }
  @media (max-width: 750px) {
    .top_sec_diagonal_tit {
      font-size: 7.4vw;
      margin: 0 0 1.3vw; } }

.top_sec_diagonal_txt {
  padding: 40px 0 0; }
  @media (max-width: 750px) {
    .top_sec_diagonal_txt {
      padding: 5.3vw 0 0;
      width: 70vw; } }

.top_sec_diagonalArea_inner {
  display: flex; }
  @media (max-width: 750px) {
    .top_sec_diagonalArea_inner {
      transform: skewX(15deg);
      display: block; } }

/*---------------------------------------------
kv
---------------------------------------------*/
.top_kv {
  position: relative;
  margin: 0 0 30px; }
  @media (max-width: 750px) {
    .top_kv {
      margin: 0; } }

/*---------------------------------------------
news
---------------------------------------------*/
.newsList {
  display: flex;
  justify-content: space-between;
  margin: 0 0 50px; }
  @media (max-width: 750px) {
    .newsList {
      flex-wrap: wrap;
      margin: 0 0 1.3vw; } }
  .newsList li {
    width: 22%; }
    @media (max-width: 750px) {
      .newsList li {
        width: 42.1vw;
        margin: 0 0 9.3vw; } }

.newsList_img {
  margin: 0 0 10px;
  position: relative; }
  @media (max-width: 750px) {
    .newsList_img {
      margin: 0 0 1.3vw; } }

.newsList_img_box {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: 150px; }
  @media (max-width: 750px) {
    .newsList_img_box {
      height: 30vw; } }

.newsList_category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px;
  position: absolute;
  height: 24px;
  font-size: 1.3rem;
  color: #fff;
  background: #003366;
  top: 15px;
  right: -8px; }
  @media (max-width: 750px) {
    .newsList_category {
      font-size: 2.9vw;
      height: 5.3vw;
      top: 3.2vw; } }
  .newsList_category::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 24px 5px;
    border-color: transparent transparent #003366 transparent;
    right: 100%;
    position: absolute;
    top: 0; }
    @media (max-width: 750px) {
      .newsList_category::before {
        border-width: 0 0 5.3vw 1.3vw; } }
  .newsList_category::after {
    position: absolute;
    content: '';
    top: calc(100% - 1px);
    right: 0;
    border: none;
    border-bottom: solid 6px transparent;
    border-left: solid 8px #003366; }

.newsList_time {
  color: #003366;
  border-bottom: 1px solid #003366;
  font-size: 1.3rem;
  display: inline-block;
  margin: 0 0 8px; }
  @media (max-width: 750px) {
    .newsList_time {
      font-size: 2.93vw;
      margin: 0 0 1.3vw; } }

/*---------------------------------------------
solution
---------------------------------------------*/
.top_solutionArea {
  position: relative; }
  @media (max-width: 750px) {
    .top_solutionArea {
      text-align: right; } }
  @media (min-width: 751px) {
    .top_solutionArea .diagonalBtn {
      right: 0;
      bottom: 0;
      position: absolute;
      z-index: 10; } }

.solutionList {
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 750px) {
    .solutionList {
      width: 100vw;
      margin: 0 0 4vw -5vw; } }
  .solutionList li {
    width: calc(100% / 2); }
    @media (max-width: 750px) {
      .solutionList li {
        width: 50%; } }
  .solutionList a {
    display: block;
    position: relative;
    transition: .4s; }
    .solutionList a::after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: rgba(0, 51, 102, 0.3);
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      transition: .4s; }
    @media (min-width: 751px) {
      .solutionList a:hover {
        opacity: 1; }
        .solutionList a:hover::after {
          background: rgba(255, 255, 255, 0.7); }
        .solutionList a:hover .solutionList_tit {
          color: #003366; } }

.solutionList_tit {
  text-align: center;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  font-size: 2.1rem;
  font-weight: 700;
  z-index: 10; }
  @media (max-width: 750px) {
    .solutionList_tit {
      font-size: 3.75vw; } }

/*---------------------------------------------
technology
---------------------------------------------*/
.top_sec-tec {
  padding-bottom: 0; }
  .top_sec-tec .inner {
    max-width: 1280px;
    padding-bottom: 120px; }
    @media (min-width: 751px) {
      .top_sec-tec .inner {
        overflow: hidden; } }
    @media (max-width: 750px) {
      .top_sec-tec .inner {
        padding: 0 0 13.3vw; } }

.technologyList {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  width: 1380px;
  margin-left: -50px; }
  @media (max-width: 750px) {
    .technologyList {
      width: 100vw;
      margin-left: 0;
      display: block; } }
  .technologyList li {
    height: 114px; }
    @media (max-width: 750px) {
      .technologyList li {
        height: 32vw;
        width: 100%; } }
    @media (min-width: 751px) {
      .technologyList li {
        transform: skewX(-20deg);
        overflow: hidden; }
        .technologyList li:nth-child(odd) {
          flex-shrink: 0; }
          .technologyList li:nth-child(odd) a {
            padding-left: 50px; }
        .technologyList li:nth-child(even) a {
          padding-right: 50px; } }
  .technologyList a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: skewX(20deg);
    width: 110%;
    margin-left: -5%;
    transition: none;
    position: relative; }
    @media (max-width: 750px) {
      .technologyList a {
        width: 100%;
        transform: none;
        margin: 0; } }
    .technologyList a::after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background: rgba(255, 255, 255, 0.7);
      transition: .4s; }
    @media (min-width: 751px) {
      .technologyList a:hover {
        opacity: 1; }
        .technologyList a:hover::after {
          opacity: 0; } }

.technologyList_txt {
  text-align: left;
  display: inline-block;
  color: #fff;
  transform: skewX(20deg);
  padding: 0 0 0 70px; }
  @media (max-width: 750px) {
    .technologyList_txt {
      transform: none;
      padding: 0;
      display: block; } }

.technologyList_tit {
  color: #003366;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.35;
  position: relative;
  z-index: 10;
  padding: 0 40px; }
  @media (max-width: 750px) {
    .technologyList_tit {
      font-size: 4vw;
      padding: 0; } }

.technologyList_item01 {
  /*background: #003366;*/
  background-image: url("../img/top/ourtechnology_img01.jpg");
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52%; }
  @media (max-width: 750px) {
    .technologyList_item01 {
      height: auto;
      padding: 6.6vw; } }

.technologyList_item02 {
  width: 48%; }
  .technologyList_item02 a {
    background-image: url("../img/top/ourtechnology_img04.jpg"); }

.technologyList_item03 {
  width: 49%; }
  .technologyList_item03 a {
    background-image: url("../img/top/ourtechnology_img05.jpg"); }

.technologyList_item04 {
  width: 51%; }
  .technologyList_item04 a {
    background-image: url("../img/top/ourtechnology_img06.jpg"); }
.technologyBtn {
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px 0;
  width: 100%;
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.05); }
  @media (max-width: 750px) {
    .technologyBtn {
      display: block;
      padding: 6.6vw 0 8vw;
      position: relative; } }
  .technologyBtn::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 14px;
    border-color: transparent transparent transparent #003366;
    margin: 0 0 0 50px; }
    @media (max-width: 750px) {
      .technologyBtn::after {
        position: absolute;
        margin: 0;
        top: 50%;
        transform: translateY(-50%);
        right: 5.3vw;
        border-width: 2.2vw 0 2.2vw 2.6vw; } }

.technologyBtn_tit {
  color: #003366;
  margin: 0 70px 0 0;
  font-size: 2.1rem;
  font-weight: 700; }
  @media (max-width: 750px) {
    .technologyBtn_tit {
      font-size: 4.2vw;
      text-align: center;
      margin: 0 0 4vw; } }

@media (max-width: 750px) {
  .technologyBtn_txt {
    display: flex;
    justify-content: center;
    align-items: center; } }

/*---------------------------------------------
strong
---------------------------------------------*/
.strongList {
  display: flex;
  justify-content: space-between;
  margin: 0 0 40px; }
  @media (max-width: 750px) {
    .strongList {
      margin: 0 auto 13.3vw;
      display: block;
      width: 96%; } }
  .strongList li {
    width: 30%;
    box-shadow: 6px 6px 0 #003366; }
    @media (max-width: 750px) {
      .strongList li {
        width: 62.6vw; }
        .strongList li:nth-child(odd) {
          margin-left: auto; }
        .strongList li:not(:last-child) {
          margin-bottom: 5.3vw; } }
  .strongList a {
    display: block;
    position: relative; }

.strongList_tit {
  width: 100%;
  left: 0;
  position: absolute;
  top: 40px;
  font-size: 2.6rem;
  text-align: center;
  color: #003366;
  font-weight: 700; }
  @media (max-width: 750px) {
    .strongList_tit {
      top: 8vw;
      font-size: 6.2vw; } }

/*---------------------------------------------
company
---------------------------------------------*/
.top_companyArea {
  position: relative;
  margin: 0 0 180px; }
  @media (max-width: 750px) {
    .top_companyArea {
      margin: 0 0 18vw; } }
  .top_companyArea .diagonalBtn {
    top: 40px; }
    @media (max-width: 750px) {
      .top_companyArea .diagonalBtn {
        position: absolute;
        top: calc(100% - 5.3vw);
        right: 0; } }

.company_txtArea {
  background: #e3e3e3;
  transform: skewX(-15deg);
  width: 50%;
  text-align: right;
  margin: 0 0 0 auto; }
  @media (max-width: 750px) {
    .company_txtArea {
      width: 78vw;
      margin: 0 0 12vw auto; } }

.company_txtArea_inner {
  transform: skewX(15deg);
  width: 44.6%;
  text-align: left;
  display: inline-block;
  position: relative;
  padding: 60px 0 0; }
  @media (max-width: 750px) {
    .company_txtArea_inner {
      width: 100%;
      padding: 8vw 0 9.3vw 8vw; } }
  .company_txtArea_inner::after {
    content: "";
    display: block;
    background: #e3e3e3;
    width: 200px;
    height: 100%;
    right: -80px;
    top: 0;
    position: absolute;
    z-index: 1; }
    @media (max-width: 750px) {
      .company_txtArea_inner::after {
        width: 100vw;
        left: 50%; } }

.company_titArea {
  position: relative;
  z-index: 10;
  color: #003366;
  text-align: right;
  margin: 0 0 25px; }
  @media (max-width: 750px) {
    .company_titArea {
      margin: 0 0 5.3vw; } }

.company_txt {
  position: relative;
  z-index: 10; }

.company_img {
  width: 80%;
  position: absolute;
  z-index: 10;
  top: 45px;
  left: -80px; }
  @media (max-width: 750px) {
    .company_img {
      position: static;
      width: 100%; } }

.companyList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media (max-width: 750px) {
    .companyList {
      display: block; } }
  .companyList li {
    width: 49%; }
    @media (max-width: 750px) {
      .companyList li {
        width: 100%;
        margin: 2% 0 0; } }
    .companyList li:last-child {
      width: 100%;
      margin: 2% 0 0; }
  .companyList a {
    position: relative;
    display: block; }
    .companyList a::before, .companyList a::after {
      content: "";
      display: block;
      position: absolute; }
    .companyList a::after {
      width: 100%;
      height: 100%;
      background: rgba(0, 51, 102, 0.3);
      z-index: 1;
      top: 0;
      left: 0; }
    .companyList a::before {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 0 10px 12px;
      border-color: transparent transparent transparent #fff;
      z-index: 10;
      top: 50%;
      transform: translateY(-50%);
      right: 30px; }
      @media (max-width: 750px) {
        .companyList a::before {
          border-width: 2vw 0 2vw 2.5vw;
          right: 4vw; } }

.companyList_txtArea {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 35px;
  transform: translateY(-50%);
  z-index: 10; }
  @media (max-width: 750px) {
    .companyList_txtArea {
      left: 8vw; } }

.companyList_tit {
  font-size: 4rem;
  font-family: 'Open Sans', sans-serif;
  line-height: 1;
  font-weight: 700; }
  @media (max-width: 750px) {
    .companyList_tit {
      font-size: 8vw; } }

.companyList_subTit {
  margin: 10px 0 0;
  font-size: 1.6rem; }
  @media (max-width: 750px) {
    .companyList_subTit {
      margin: 1.3vw 0 0;
      font-size: 3.43vw; } }

.companyList_recruit_txt {
  color: #fff;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  right: 70px;
  z-index: 10;
  font-size: 2.3rem; }
  @media (max-width: 750px) {
    .companyList_recruit_txt {
      font-size: 3.2vw;
      right: 10.6vw; } }
