/******************************

 clearfix

******************************/
.clearfix::after, .help__cases::after, .support__description__inner::after, .news-release__list__detail::after, .banner-list__wrap::after {
  display: block;
  content: "";
  clear: both; }

/******************************

 media quaries

******************************/
/******************************

 Common

******************************/
.detail-btn {
  text-align: right; }

/******************************

 Header

******************************/
.top-header {
  background-color: #e9f1f1; }
  .top-header__inner {
    position: relative;
    width: 960px;
    min-height: 400px;
    margin: 0 auto;
    padding-top: 5px;
    background: url(../img/img_main-header_01.gif) no-repeat center bottom; }
  .top-header__copy {
    font-size: 52px;
    font-weight: bold;
    text-align: center;
    letter-spacing: -.05em;
    margin-bottom: 10px; }
    .top-header__copy > span {
      font-size: 42px; }
  .top-header__description {
    margin-left: 40px; }
  .top-header__text {
    font-size: 20px;
    font-weight: bold;
    text-align: center; }
  .top-header__bnr__text {
    margin-bottom: 3px;
    font-size: 10px;
    letter-spacing: -.05em;
    line-height: 1.25;
    white-space: nowrap; }
  .top-header__text {
    margin-top: -105px; }

/******************************

 Help

******************************/
.help__inner {
  position: relative;
  width: 960px;
  margin: 0 auto;
  padding: 60px 0 45px;
  text-align: center; }
.help__copy {
  display: inline-block;
  margin-bottom: 40px;
  color: #ff9900;
  font-weight: bold;
  font-size: 63px;
  text-align: left;
  line-height: 1.2;
  letter-spacing: -.05em; }
  .help__copy--01 {
    font-size: 120px; }
.help__img {
  position: absolute;
  top: 23px;
  left: 530px; }
.help__cases__item {
  float: left;
  width: 306px;
  text-align: left; }
  .help__cases__item + .help__cases__item:not(:nth-child(3n+1)) {
    margin-left: 21px; }
  .help__cases__item + .help__cases__item:nth-child(3) ~ .help__cases__item {
    margin-top: 20px; }
  .help__cases__item__text {
    margin-top: 10px;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    white-space: nowrap; }

/******************************

 Support

******************************/
.support {
  background-color: #ff9900;
  padding-bottom: 60px; }
  .support__inner {
    position: relative;
    width: 960px;
    margin: 0 auto;
    padding-top: 60px;
    color: #fff;
    text-align: center;
    background: url(../img/img_main-support_03.gif) no-repeat center bottom; }
  .support__copy {
    margin-bottom: 45px;
    font-size: 65px;
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: -.05em;
    white-space: nowrap; }
    .support__copy--01 {
      font-size: 116px; }
  .support__description {
    color: #fff; }
    .support__description__text--left, .support__description__text--right {
      width: 289px;
      height: 142px;
      font-size: 25px;
      font-weight: bold;
      text-align: center;
      line-height: 1.2;
      letter-spacing: -.05em;
      white-space: nowrap; }
    .support__description__text--left {
      float: left;
      padding: 25px;
      background: url(../img/img_main-support_01.png) no-repeat 0 0; }
    .support__description__text--right {
      float: right;
      padding: 25px;
      background: url(../img/img_main-support_02.png) no-repeat 0 0; }
    .support__description__list {
      text-align: center;
      line-height: 1.25; }
      .support__description__list__item {
        display: inline-block;
        text-align: left;
        margin-left: 1em;
        font-size: 36px;
        font-weight: bold;
        text-indent: -1em; }

/******************************

 Service

******************************/
.service__inner {
  padding: 65px 0 40px;
  width: 960px;
  margin: 0 auto;
  color: #5a5b5e;
  text-align: center; }
.service__title {
  margin-bottom: 15px;
  font-size: 53px; }
  .service__title::before, .service__title::after {
    display: inline-block;
    content: "";
    width: 51px;
    height: 59px; }
  .service__title::before {
    background: url(../img/ico_main-service_01.png) no-repeat 0 center; }
  .service__title::after {
    background: url(../img/ico_main-service_02.png) no-repeat 0 center; }
.service__description {
  display: inline-block;
  padding: 10px;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.25;
  border-top: 1px solid #797a7c;
  border-bottom: 1px solid #797a7c; }
.service__section__inner {
  width: 960px;
  margin: 0 auto;
  padding: 50px 0 40px; }
.service__section__title {
  position: relative;
  font-size: 62px;
  line-height: 1.1;
  letter-spacing: -.02em;
  margin-bottom: 40px;
  padding-left: 120px; }
  .service__section__title::before {
    position: absolute;
    left: 0;
    display: inline-block;
    content: "";
    width: 97px;
    height: 97px;
    background: url(../img/ico_main-service_03.png) no-repeat 0 0; }
  .service__section__title > span {
    display: block;
    margin-bottom: 5px;
    color: #5a5b5e;
    font-size: 27px;
    line-height: 1.25; }
.service__section__text {
  margin-left: 120px;
  line-height: 1.9; }
.service__section.one {
  background-color: #fff7cc; }
  .service__section.one .service__section__title::before {
    bottom: 0; }
  .service__section.one .service__section__wrap {
    background: url(../img/img_main-service_01.png) no-repeat 0 center; }
  .service__section.one .service__section__detail {
    width: 640px;
    margin-left: 320px; }
  .service__section.one .service__section__title {
    color: #01c6da; }
.service__section.two {
  background-color: #fafafa; }
  .service__section.two .service__section__title::before {
    top: 0; }
  .service__section.two .service__section__wrap {
    background: url(../img/img_main-service_02.png) no-repeat right center; }
  .service__section.two .service__section__detail {
    width: 640px; }
  .service__section.two .service__section__title {
    color: #ff6f4f; }
.service__section.three {
  background-color: #ffd700; }
  .service__section.three .service__section__title::before {
    top: 30px; }
  .service__section.three .service__section__wrap {
    background: url(../img/img_main-service_03.png) no-repeat 0 center; }
  .service__section.three .service__section__detail {
    width: 640px;
    margin-left: 320px; }
  .service__section.three .service__section__title > span + span {
    color: #6dcf57;
    font-size: 57px;
    letter-spacing: -.045em; }
.service__section.four {
  background-color: #fafafa; }
  .service__section.four .service__section__wrap {
    background: url(../img/img_main-service_04.png) no-repeat right center; }
  .service__section.four .service__section__detail {
    width: 548px; }
  .service__section.four .service__section__title {
    width: 640px;
    color: #ffd700; }
.service__section.five {
  background-color: #fff7cc; }
  .service__section.five .service__section__title::before {
    top: 30px; }
  .service__section.five .service__section__wrap {
    background: url(../img/img_main-service_05.png) no-repeat 0 center; }
  .service__section.five .service__section__detail {
    width: 640px;
    margin-left: 320px; }
  .service__section.five .service__section__title {
    color: #daa520; }

/******************************

 Works

******************************/
.works {
  background: linear-gradient(to bottom, #ffffff 90%, #ffebcd 100%); }
  .works__inner {
    width: 960px;
    margin: 0 auto;
    padding: 80px 0 50px;
    color: #5a5b5e; }
  .works__title {
    margin-bottom: 15px;
    font-size: 53px;
    text-align: center; }
    .works__title > span + span {
      margin-left: 20px; }
    .works__title::before, .works__title::after {
      display: inline-block;
      content: "";
      width: 51px;
      height: 59px; }
    .works__title::before {
      margin-right: 20px;
      background: url(../img/ico_main-service_01.png) no-repeat 0 0; }
    .works__title::after {
      margin-left: 20px;
      background: url(../img/ico_main-service_02.png) no-repeat 0 0; }
  .works__description {
    display: inline-block;
    margin-bottom: 50px;
    padding: 10px 0;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    line-height: 1.25;
    border-top: 1px solid #797a7c;
    border-bottom: 1px solid #797a7c; }
    .works__description > span {
      display: block;
      margin-top: 5px;
      font-weight: normal; }
  .works__copy {
    margin: 35px 0 20px;
    padding: 20px 0;
    color: #ff9900;
    font-size: 37px;
    font-weight: bold;
    text-align: center;
    line-height: 1.25;
    border-top: 3px solid #ff9900;
    border-bottom: 3px solid #ff9900; }

/******************************

 Other Lineup

******************************/
.other-lineup {
  margin-bottom: 70px; }
  .other-lineup .detail-btn {
    margin-top: 15px;
    text-align: left; }
  .other-lineup__inner {
    max-width: 1200px;
    margin: 0 auto; }
    .other-lineup__inner.solution {
      height: 555px;
      padding-top: 70px;
      background: url(../img/img_other-lineup_01.jpg) no-repeat 0 center; }
    .other-lineup__inner.cloud {
      height: 250px;
      background: url(../img/img_other-lineup_02.jpg) no-repeat 0 center; }
      .other-lineup__inner.cloud .other-lineup__detail {
        padding-top: 40px; }
    .other-lineup__inner.security {
      height: 250px;
      background: url(../img/img_other-lineup_03.jpg) no-repeat 0 center; }
      .other-lineup__inner.security .other-lineup__detail {
        padding-top: 40px; }
  .other-lineup__copy {
    margin-bottom: 70px;
    color: #5a5b5e;
    font-size: 53px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2; }
    .other-lineup__copy > span {
      font-size: 30px; }
  .other-lineup__detail {
    width: 460px;
    margin: 0 0 0 auto; }
    .other-lineup__detail__title {
      color: #003b83;
      font-size: 35px;
      font-weight: bold; }

/******************************

 News Release

******************************/
.news-release {
  position: relative;
  width: 960px;
  margin: 0 auto 70px; }
  .news-release__title {
    border-bottom: 3px solid #ff9033; }
    .news-release__title::before {
      display: inline-block;
      width: 9px;
      height: 13px;
      content: "";
      margin: 0 8px 0 5px;
      background: url(../img/common/ico_dots_01.png) no-repeat 0 0; }
  .news-release__archive-link {
    position: absolute;
    top: 5px;
    right: 0;
    color: #000;
    font-size: 10px; }
    .news-release__archive-link > a {
      position: relative;
      padding-left: 14px; }
      .news-release__archive-link > a::before {
        position: absolute;
        top: 0;
        left: 0;
        display: inline-block;
        width: 11px;
        height: 11px;
        content: "";
        background: url(../img/common/ico_arrow_gray_01.gif) no-repeat 0 0; }
  .news-release__list {
    padding: 0 10px;
    font-size: 12px; }
    .news-release__list__item {
      display: table;
      width: 100%;
      padding: 20px 0;
      border-bottom: 1px solid #bcbcbc; }
    .news-release__list__date {
      width: 130px; }
    .news-release__list__date, .news-release__list__detail {
      display: table-cell;
      vertical-align: middle; }
    .news-release__list__detail > li {
      float: left; }
      .news-release__list__detail > li + li {
        margin-left: 5px; }
    .news-release__list__icon {
      width: 60px;
      padding: 1px 5px;
      color: #fff;
      font-weight: bold;
      text-align: center; }
      .news-release__list__icon.seminar {
        background: linear-gradient(to bottom, #008d00, #00b900); }
      .news-release__list__icon.info {
        background: linear-gradient(to bottom, #053f85, #3c7dbe); }
      .news-release__list__icon.service {
        background: linear-gradient(to bottom, #aaabab, #797979); }

.banner-list {
  width: 917px;
  margin: 0 auto; }
  .banner-list__wrap li {
    float: left; }
    .banner-list__wrap li + li:not(:nth-child(3n+1)) {
      margin-left: 7px; }
    .banner-list__wrap li + li:nth-child(3) ~ li {
      margin-top: 7px; }
