@charset "UTF-8";
/*
YUI 3.15.0 (build 834026e)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
html {
  color: #000;
  background: #FFF; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, figure, figcaption, time {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img {
  border: 0; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%; }

legend {
  color: #000; }

#yui3-css-stamp.cssreset {
  display: none; }

html {
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

h1, h2, h3, h4, h5, h6, section, div, p, aside, figure, figcaption, a, article, span, em, blockquote, dl, dt, dd, time {
  box-sizing: border-box; }

sup {
  font-size: 0.7em; }

img {
  display: block; }

input[type="text"], input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0; }

html {
  font-size: 62.5%;
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", Osaka,Helvetica, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%; }

body {
  position: relative;
  width: 100%;
  color: white;
  background-color: white;
  overflow-x: hidden;
  font-size: 1.0rem; }

br.m,
br.n {
  display: none; }

/*-------------------------------
// ヘッダー PC
-------------------------------*/
header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 90px;
  background-color: white;
  border-bottom: 3px solid #56c1df;
  z-index: 10000; }
  header > div {
    width: 960px !important;
    height: auto;
    margin: 0 auto;
    text-align: center;
    zoom: 1; }
    header > div:after {
      display: block;
      clear: both;
      content: ""; }
    header > div > h1 {
      display: table;
      float: left;
      width: 280px !important;
      height: auto;
      text-align: center; }
      header > div > h1 > a {
        display: table-cell;
        vertical-align: middle;
        width: 100%;
        height: auto;
        margin: 0; }
        header > div > h1 > a > img {
          width: 100%;
          height: auto; }
    header > div #gnv {
      float: right !important;
      width: 607px !important;
      height: auto;
      z-index: 150; }
      header > div #gnv .gnv-wrap {
        width: 607px !important;
        zoom: 1; }
        header > div #gnv .gnv-wrap:after {
          display: block;
          clear: both;
          content: ""; }
        header > div #gnv .gnv-wrap .menu {
          position: relative;
          display: table;
          float: left;
          width: 100px !important;
          border-right: 1px solid #e5e5e5;
          height: auto;
          font-size: 1.2rem; }
          header > div #gnv .gnv-wrap .menu:first-child {
            border-left: 1px solid #e5e5e5; }
          header > div #gnv .gnv-wrap .menu > a {
            display: table-cell;
            text-align: center;
            vertical-align: middle;
            text-decoration: none;
            width: 100px;
            height: auto;
            color: #333333; }
            header > div #gnv .gnv-wrap .menu > a:hover {
              color: white;
              background-color: #0b0b2e; }
            header > div #gnv .gnv-wrap .menu > a.active {
              color: white;
              background-color: #56c1df; }
          header > div #gnv .gnv-wrap .menu > strong {
            display: table-cell;
            text-align: center;
            vertical-align: middle;
            text-decoration: none;
            width: 100px;
            height: auto;
            color: #333333; }
          header > div #gnv .gnv-wrap .menu .sub {
            position: absolute;
            display: none;
            left: 0;
            top: 90px;
            z-index: 999;
            width: 200px;
            background-color: #ddf3f9;
            text-align: center;
            font-size: 1.2rem; }
            header > div #gnv .gnv-wrap .menu .sub li {
              width: 200px;
              background-color: #ddf3f9;
              border-top: 1px solid white; }
              header > div #gnv .gnv-wrap .menu .sub li:first-child {
                border-top: 3px solid #56c1df; }
              header > div #gnv .gnv-wrap .menu .sub li a {
                display: block;
                padding: 1.5em 0;
                color: #333333;
                text-decoration: none; }
                header > div #gnv .gnv-wrap .menu .sub li a:hover {
                  color: white;
                  background-color: #0b0b2e; }
            header > div #gnv .gnv-wrap .menu .sub .sub-list-chiba {
              width: 100px;
              background-color: #cccccc;
              border-top: 1px solid white; }
              header > div #gnv .gnv-wrap .menu .sub .sub-list-chiba a {
                display: block;
                padding: 1.5em 0;
                color: #333333;
                text-decoration: none; }
                header > div #gnv .gnv-wrap .menu .sub .sub-list-chiba a:hover {
                  color: white;
                  background-color: black; }
    header > div #pin {
      display: none; }

/*-------------------------------
// パンくず
-------------------------------*/
.pankuzu {
  width: 100%;
  height: 50px;
  background-color: #555555;
  margin-top: 90px;
  zoom: 1; }
  .pankuzu:after {
    display: block;
    clear: both;
    content: ""; }
  .pankuzu > ul {
    width: 960px;
    margin: 0 auto;
    padding-top: 17px; }
    .pankuzu > ul > li {
      float: left;
      color: white; }
      .pankuzu > ul > li > a {
        color: white; }
        .pankuzu > ul > li > a:hover {
          text-decoration: none; }
      .pankuzu > ul > li > span {
        margin: 0 10px; }

/*-------------------------------
// セカンドページ共通
-------------------------------*/
.ttlArea {
  display: flex;
  align-items: center;
  width: 100%;
  height: 300px;
  background-size: cover !important;
  -moz-background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat;
  text-align: center; }
  .ttlArea.about {
    background: url(../images/about/bgimg_about_01.jpg); }
  .ttlArea.message {
    background: url(../images/about/bgimg_message_01.jpg); }
  .ttlArea.philosophy {
    background: url(../images/about/bgimg_phirosophy_01.jpg); }
  .ttlArea.company {
    background: url(../images/about/bgimg_company_01.jpg); }
  .ttlArea.organization {
    background: url(../images/about/bgimg_organization_01.jpg); }
  .ttlArea.history {
    background: url(../images/about/bgimg_history_01.jpg); }
  .ttlArea.bus-01 {
    background: url(../images/business/bgimg_bus_01.jpg); }
  .ttlArea.prj-01 {
    background: url(../images/project/bgimg_prj_01.jpg); }
  .ttlArea.guraduates {
    background: url(../images/recruit/bgimg_guraduates_01.jpg);
    background-position: right top !important; }
  .ttlArea.career {
    background: url(../images/recruit/bgimg_career_01.jpg); }
  .ttlArea.part {
    background: url(../images/recruit/bgimg_part_01.jpg); }
  .ttlArea > h2 {
    width: 50%;
    height: auto;
    margin: 0 auto; }
    .ttlArea > h2 > img {
      width: 100%;
      height: auto; }
  .ttlArea > div {
    width: 100%;
    height: 300px; }

.ttlArea-sub {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 50px 0;
  text-align: center; }
  .ttlArea-sub .ttlArea-txt {
    width: 50%;
    margin: 0 auto;
    color: #56c1df;
    font-size: 1.6rem; }
    .ttlArea-sub .ttlArea-txt > img {
      width: 100%;
      margin-bottom: 10px; }

.page-link {
  width: 100%;
  text-align: center; }
  .page-link .page-link-head {
    display: block;
    width: 100%;
    padding-top: 80px;
    border-top: 1px solid #e5e5e5; }
    .page-link .page-link-head:after {
      content: "";
      display: block;
      width: 75px;
      height: 4px;
      background-color: #56c1df;
      margin: 20px auto 0; }
    .page-link .page-link-head > strong {
      display: block;
      font-size: 2.0rem;
      letter-spacing: .2em; }

.thm-wrap {
  position: relative;
  width: 960px;
  margin: 80px auto 0; }
  .thm-wrap .thm-wrap-head {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    margin: 0 auto 60px; }
    .thm-wrap .thm-wrap-head:before {
      content: "";
      display: block;
      border-top: 1px solid #cccccc;
      flex-grow: 1; }
    .thm-wrap .thm-wrap-head:after {
      content: "";
      display: block;
      border-top: 1px solid #cccccc;
      flex-grow: 1; }
    .thm-wrap .thm-wrap-head > em {
      display: block;
      padding: 0 2em;
      font-size: 2.0rem;
      letter-spacing: .2em; }
  .thm-wrap .thm-large {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    text-align: center;
    zoom: 1; }
    .thm-wrap .thm-large:after {
      display: block;
      clear: both;
      content: ""; }
    .thm-wrap .thm-large > li {
      position: relative;
      width: 300px;
      height: auto;
      margin-left: 30px; }
      .thm-wrap .thm-large > li:first-child {
        margin-left: 0; }
      .thm-wrap .thm-large > li:nth-child(3n+1) {
        margin-left: 0; }
      .thm-wrap .thm-large > li:nth-child(n+4) {
        margin-top: 30px; }
      .thm-wrap .thm-large > li > a {
        display: block;
        width: 100%;
        color: #333333;
        text-decoration: none; }
        .thm-wrap .thm-large > li > a > img {
          position: absolute;
          left: 0;
          top: 50%;
          width: 100%;
          margin-top: -25px;
          z-index: 100; }
          .thm-wrap .thm-large > li > a > img.three-line {
            margin-top: -49px; }
        .thm-wrap .thm-large > li > a > figure {
          width: 100%;
          height: auto;
          margin: 0;
          padding: 0;
          background: #fff;
          overflow: hidden; }
          .thm-wrap .thm-large > li > a > figure > img {
            width: 100%;
            -webkit-transform: scale(1);
            transform: scale(1);
            -webkit-transition: .3s ease-in-out;
            transition: .3s ease-in-out; }
            .thm-wrap .thm-large > li > a > figure > img:hover {
              -webkit-transform: scale(1.3);
              transform: scale(1.3); }
      .thm-wrap .thm-large > li > p {
        margin-top: 1em;
        font-size: 1.4rem; }

.thm-wrap + .thm-wrap {
  margin: 120px auto 0; }

.cntWrap {
  width: 100%;
  margin: 80px auto 0;
  color: #333333;
  font-size: 1.6rem; }
  .cntWrap .cnt-inner {
    width: 100%;
    margin: 0 auto; }
    .cntWrap .cnt-inner .cnt-head {
      width: 100%;
      font-size: 3.0rem;
      margin: 0 auto; }
      .cntWrap .cnt-inner .cnt-head.cnt-head-index {
        margin: 0 auto 0;
        padding-bottom: 0;
        border-bottom: none;
        text-align: center;
        letter-spacing: .2em; }
        .cntWrap .cnt-inner .cnt-head.cnt-head-index > p {
          font-size: 1.6rem;
          line-height: 3.0rem; }
      .cntWrap .cnt-inner .cnt-head > img {
        width: 50%;
        margin: 0 auto; }
      .cntWrap .cnt-inner .cnt-head > span {
        display: block;
        text-align: center;
        padding-top: 10px;
        color: #56c1df;
        font-size: 1.6rem; }
      .cntWrap .cnt-inner .cnt-head > p {
        margin-top: 60px;
        text-align: center;
        font-size: 3.0rem; }
        .cntWrap .cnt-inner .cnt-head > p > img {
          width: 70%;
          margin: 0 auto 30px; }
    .cntWrap .cnt-inner > p {
      text-align: center;
      line-height: 3.0rem;
      font-size: 1.6rem; }

.contentLink {
  width: 960px;
  margin: 0 auto;
  text-align: center;
  font-size: 1.4rem;
  zoom: 1; }
  .contentLink:after {
    display: block;
    clear: both;
    content: ""; }
  .contentLink > li {
    float: left;
    width: 300px;
    margin-left: 30px;
    color: #0b0b2e; }
    .contentLink > li:first-child {
      margin-left: 0; }
    .contentLink > li .button {
      position: relative;
      display: inline-block;
      width: 300px;
      padding: 13px 0;
      font-size: 1.4rem;
      border: 2px solid #0b0b2e;
      background-color: white;
      color: #0b0b2e;
      text-align: center;
      text-decoration: none;
      outline: none;
      overflow: hidden;
      cursor: pointer; }
      .contentLink > li .button::after {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 2;
        content: attr(data-hover);
        width: 100%;
        height: 100%;
        padding: 13px 0;
        font-size: 1.4rem;
        background-color: #0b0b2e;
        color: white;
        opacity: 0;
        transition: all .3s;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
      .contentLink > li .button:hover::after {
        top: 0;
        opacity: 1; }

.mt-non {
  margin: 0 0 0 0; }

/*-------------------------------
// フッター PC
-------------------------------*/
footer {
  position: relative;
  width: 100%;
  margin-top: 80px;
  padding: 100px 0 0;
  background-color: #444444;
  font-size: 1.2rem; }
  footer #footWrap {
    display: flex;
    justify-content: space-between;
    width: 960px;
    padding: 100px 0;
    margin: 0 auto;
    color: white;
    zoom: 1;
    font-size: 1.2rem;
    line-height: 1.44rem; }
    footer #footWrap:after {
      display: block;
      clear: both;
      content: ""; }
    footer #footWrap .cols {
      flex-basis: 22.65625%; }
      footer #footWrap .cols .block dt > a {
        text-decoration: none; }
        footer #footWrap .cols .block dt > a > span {
          color: #56c1df; }
      footer #footWrap .cols .block dt span {
        color: #56c1df; }
      footer #footWrap .cols .block dd {
        margin-top: 15px;
        background: url(../images/common/ico_arrow_01.png);
        background-position: left;
        background-repeat: no-repeat; }
        footer #footWrap .cols .block dd > a {
          color: white;
          text-decoration: none; }
        footer #footWrap .cols .block dd span {
          padding-left: 15px;
          color: white; }
        footer #footWrap .cols .block dd.indent {
          background-image: none;
          color: white; }
      footer #footWrap .cols .block + .block {
        margin-top: 30px !important; }
    footer #footWrap .associatedCompanyArea {
      flex-basis: 300px; }
      footer #footWrap .associatedCompanyArea span {
        color: #56c1df; }
      footer #footWrap .associatedCompanyArea .associatedCompany {
        height: auto;
        margin-top: 30px; }
        footer #footWrap .associatedCompanyArea .associatedCompany > li {
          width: 100%;
          height: 50px;
          margin-top: 20px;
          background-color: white; }
          footer #footWrap .associatedCompanyArea .associatedCompany > li:first-child {
            margin-top: 0; }
          footer #footWrap .associatedCompanyArea .associatedCompany > li .associatedCompanyLink {
            display: table !important;
            width: 100% !important;
            height: 50px !important;
            text-decoration: none !important; }
            footer #footWrap .associatedCompanyArea .associatedCompany > li .associatedCompanyLink span {
              display: table-cell;
              vertical-align: middle;
              padding: 0 5%;
              background: url(../images/common/ico_blank.png);
              background-position: 97% 50%;
              background-repeat: no-repeat;
              background-size: 8%;
              color: #333333; }
      footer #footWrap .associatedCompanyArea > small {
        display: inline-block;
        width: 100%;
        margin-top: 3.2em;
        color: #b3b3b3;
        line-height: 2rem; }
  footer .totop-wrap {
    position: absolute;
    width: 100%;
    height: 100px;
    top: 0;
    background-color: #555555; }
    footer .totop-wrap .totop {
      position: absolute;
      display: block;
      left: 50%;
      top: 35px;
      width: 24px;
      margin-left: -12px;
      padding-top: 30px;
      background: url(../images/common/ico_arrow_pagetop.png) no-repeat 0 0;
      color: white;
      text-decoration: none;
      letter-spacing: 0.2em;
      font-size: 1rem;
      line-height: 1.2rem; }

/*-------------------------------
// オープン前
-------------------------------*/
.none {
  cursor: default;
  opacity: 0.2;
  -ms-filter: "alpha(opacity=20)";
  /* ie 8 */
  -moz-opacity: 0.2;
  /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.2;
  /* Safari 1.x */
  zoom: 1; }

.ComingSoon {
  cursor: default;
  opacity: 0.5;
  -ms-filter: "alpha(opacity=50)";
  /* ie 8 */
  -moz-opacity: 0.5;
  /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.5;
  /* Safari 1.x */
  zoom: 1; }

/*-------------------------------
// GLOBAL MENU
-------------------------------*/
#global-menu {
  display: none;
  position: fixed;
  width: 100%;
  height: auto;
  left: 0;
  top: 0;
  z-index: 115;
  background-color: #56c1df;
  transform: scale(0.9, 0.9);
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  /* ie 8 */
  -moz-opacity: 0;
  /* FF lt 1.5, Netscape */
  -khtml-opacity: 0;
  /* Safari 1.x */
  zoom: 1;
  -webkit-box-shadow: 0px 1px 0 rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 1px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0px 1px 0 rgba(0, 0, 0, 0.2); }
  #global-menu .second {
    margin-top: 70px; }
    #global-menu .second li {
      width: 100%;
      border-top: 1px solid white; }
      #global-menu .second li a {
        display: block;
        width: 100%;
        vertical-align: middle;
        padding: 15px 5%;
        text-align: center;
        color: white; }
        #global-menu .second li a span {
          font-weight: bold; }

.bus-point-wrap {
  width: 960px;
  margin: 80px auto; }
  .bus-point-wrap .bus-point {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #cccccc; }
    .bus-point-wrap .bus-point.img-r {
      flex-direction: row-reverse; }
    .bus-point-wrap .bus-point:first-of-type {
      margin-top: 0; }
    .bus-point-wrap .bus-point:last-of-type {
      padding-bottom: 40px;
      border-bottom: 1px solid #cccccc; }
    .bus-point-wrap .bus-point .bus-point-img {
      width: 300px;
      height: auto; }
    .bus-point-wrap .bus-point .bus-point-txt {
      width: 630px;
      font-size: 1.4rem;
      letter-spacing: .1em; }
      .bus-point-wrap .bus-point .bus-point-txt .bus-point-head {
        display: flex;
        align-items: center;
        font-size: 2.0rem; }
        .bus-point-wrap .bus-point .bus-point-txt .bus-point-head .bus-point-num {
          display: block;
          color: #56c1df;
          margin-right: 1em; }
      .bus-point-wrap .bus-point .bus-point-txt > p {
        margin-top: 1em;
        line-height: 2.0; }

.bus-cnt {
  width: 960px;
  margin: 0 auto; }
  .bus-cnt .bus-cnt-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 40px;
    background-color: #f5f5f5; }
    .bus-cnt .bus-cnt-item:first-of-type {
      margin-top: 80px; }
    .bus-cnt .bus-cnt-item .bus-cnt-item-head {
      display: flex;
      align-items: center;
      margin-bottom: 2em;
      font-size: 1.8rem; }
      .bus-cnt .bus-cnt-item .bus-cnt-item-head.num-01:before, .bus-cnt .bus-cnt-item .bus-cnt-item-head.num-02:before, .bus-cnt .bus-cnt-item .bus-cnt-item-head.num-03:before {
        content: "";
        display: block;
        width: 66px;
        height: 49px;
        background-repeat: no-repeat;
        background: url(../images/business/img_txt_bus_num_01.png); }
      .bus-cnt .bus-cnt-item .bus-cnt-item-head.num-02:before {
        background: url(../images/business/img_txt_bus_num_02.png); }
      .bus-cnt .bus-cnt-item .bus-cnt-item-head.num-03:before {
        background: url(../images/business/img_txt_bus_num_03.png); }
      .bus-cnt .bus-cnt-item .bus-cnt-item-head .bus-cnt-item-ttl {
        padding-left: 30px; }
        .bus-cnt .bus-cnt-item .bus-cnt-item-head .bus-cnt-item-ttl > em {
          display: block;
          margin-top: 0.5em;
          font-weight: bold; }
    .bus-cnt .bus-cnt-item .bus-cnt-item-txt {
      width: 460px;
      padding: 0 30px; }
      .bus-cnt .bus-cnt-item .bus-cnt-item-txt .bus-list > li {
        margin-top: 0.5em;
        font-size: 1.4rem; }
        .bus-cnt .bus-cnt-item .bus-cnt-item-txt .bus-list > li:before {
          content: "●";
          color: #56c1df;
          padding-right: 0.5em; }
