.banner {
  height: 636px;
  overflow: hidden;
  position: relative; }
  .banner .banner-images {
    background: #fff url("../../img/common/pc_banner_head.jpg") 50% 50% no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    bottom: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: opacity 3s ease-in-out, -webkit-transform 3s ease-in-out;
    transition: opacity 3s ease-in-out, -webkit-transform 3s ease-in-out;
    -o-transition: opacity 3s ease-in-out, -o-transform 3s ease-in-out;
    -moz-transition: opacity 3s ease-in-out, transform 3s ease-in-out, -moz-transform 3s ease-in-out;
    transition: opacity 3s ease-in-out, transform 3s ease-in-out;
    transition: opacity 3s ease-in-out, transform 3s ease-in-out, -webkit-transform 3s ease-in-out, -moz-transform 3s ease-in-out, -o-transform 3s ease-in-out; }
    @media only screen and (max-width: 800px) {
      .banner .banner-images {
        background: #fff url("../../img/common/sp_banner_head.jpg") 16% 50% no-repeat;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover; } }
  @media only screen and (max-width: 800px) {
    .banner {
      height: 400px; } }
  .banner .wrap {
    position: relative;
    height: 100%;
    width: 100%; }
    .banner .wrap .banner-content {
      -webkit-box-align: center;
      -webkit-align-items: center;
      -moz-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -moz-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
      -moz-box-orient: horizontal;
      -moz-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      height: 100%;
      opacity: 0;
      -webkit-transition: all 1s ease-in-out 1s;
      -o-transition: all 1s ease-in-out 1s;
      -moz-transition: all 1s ease-in-out 1s;
      transition: all 1s ease-in-out 1s; }
      @media only screen and (max-width: 800px) {
        .banner .wrap .banner-content {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
          -moz-box-orient: vertical;
          -moz-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column; } }
      .banner .wrap .banner-content .banner-logo p {
        background: url("../../img/common/banner_logo.png") 0 0 no-repeat;
        -webkit-background-size: 100% 100%;
        -moz-background-size: 100% 100%;
        -o-background-size: 100% 100%;
        background-size: 100% 100%;
        display: block;
        height: 172px;
        margin-right: 90px;
        text-indent: -9999px;
        width: 200px; }
        @media only screen and (max-width: 800px) {
          .banner .wrap .banner-content .banner-logo p {
            height: 129px;
            margin-right: 0;
            margin-bottom: 20px;
            width: 150px; } }
      .banner .wrap .banner-content .banner-text p {
        color: #fff;
        font-size: 30px;
        letter-spacing: 1px;
        text-shadow: 3px 4px 10px #777777; }
        @media only screen and (max-width: 800px) {
          .banner .wrap .banner-content .banner-text p {
            font-size: 16px;
            letter-spacing: 0;
            text-align: center; } }
        @media only screen and (max-width: 800px) {
          .banner .wrap .banner-content .banner-text p span {
            display: block; } }
  .banner.animate .banner-images {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
    opacity: 1; }
  .banner.animate .wrap .banner-content {
    opacity: 1; }

@-webkit-keyframes animatebg-pc {
  0% {
    opacity: 0;
    -webkit-background-size: 2000px auto;
    background-size: 2000px auto; }
  70% {
    opacity: 1; }
  100% {
    -webkit-background-size: 2200px auto;
    background-size: 2200px auto; } }

@-moz-keyframes animatebg-pc {
  0% {
    opacity: 0;
    -moz-background-size: 2000px auto;
    background-size: 2000px auto; }
  70% {
    opacity: 1; }
  100% {
    -moz-background-size: 2200px auto;
    background-size: 2200px auto; } }

@-o-keyframes animatebg-pc {
  0% {
    opacity: 0;
    -o-background-size: 2000px auto;
    background-size: 2000px auto; }
  70% {
    opacity: 1; }
  100% {
    -o-background-size: 2200px auto;
    background-size: 2200px auto; } }

@keyframes animatebg-pc {
  0% {
    opacity: 0;
    -webkit-background-size: 2000px auto;
    -moz-background-size: 2000px auto;
    -o-background-size: 2000px auto;
    background-size: 2000px auto; }
  70% {
    opacity: 1; }
  100% {
    -webkit-background-size: 2200px auto;
    -moz-background-size: 2200px auto;
    -o-background-size: 2200px auto;
    background-size: 2200px auto; } }

@-webkit-keyframes animatebg-sp {
  0% {
    opacity: 0;
    -webkit-background-size: 320px auto;
    background-size: 320px auto; }
  70% {
    opacity: 1; }
  100% {
    -webkit-background-size: 340px auto;
    background-size: 340px auto; } }

@-moz-keyframes animatebg-sp {
  0% {
    opacity: 0;
    -moz-background-size: 320px auto;
    background-size: 320px auto; }
  70% {
    opacity: 1; }
  100% {
    -moz-background-size: 340px auto;
    background-size: 340px auto; } }

@-o-keyframes animatebg-sp {
  0% {
    opacity: 0;
    -o-background-size: 320px auto;
    background-size: 320px auto; }
  70% {
    opacity: 1; }
  100% {
    -o-background-size: 340px auto;
    background-size: 340px auto; } }

@keyframes animatebg-sp {
  0% {
    opacity: 0;
    -webkit-background-size: 320px auto;
    -moz-background-size: 320px auto;
    -o-background-size: 320px auto;
    background-size: 320px auto; }
  70% {
    opacity: 1; }
  100% {
    -webkit-background-size: 340px auto;
    -moz-background-size: 340px auto;
    -o-background-size: 340px auto;
    background-size: 340px auto; } }

@-webkit-keyframes animatelogo-pc {
  0% {
    opacity: 0; }
  70% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes animatelogo-pc {
  0% {
    opacity: 0; }
  70% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-o-keyframes animatelogo-pc {
  0% {
    opacity: 0; }
  70% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes animatelogo-pc {
  0% {
    opacity: 0; }
  70% {
    opacity: 0; }
  100% {
    opacity: 1; } }

#news {
  padding-bottom: 40px; }
  @media only screen and (max-width: 800px) {
    #news {
      padding-bottom: 24px; } }
  #news .news-title {
    padding: 32px 0; }
    @media only screen and (max-width: 800px) {
      #news .news-title {
        padding: 20px 0; } }
  #news .news-list {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: table;
    width: 100%; }
    @media only screen and (max-width: 800px) {
      #news .news-list {
        padding-right: 22px; } }
    #news .news-list li {
      margin-top: 10px;
      padding-top: 10px; }
      @media only screen and (max-width: 800px) {
        #news .news-list li {
          border-top: 1px solid #e8e8e8; } }
      #news .news-list li > div {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: table-cell;
        vertical-align: top; }
        @media only screen and (max-width: 800px) {
          #news .news-list li > div {
            margin-top: 10px; } }
        #news .news-list li > div.news-date, #news .news-list li > div.news-info {
          line-height: 24px; }
        #news .news-list li > div.news-date {
          font-size: 18px;
          padding-right: 48px;
          width: 120px; }
          @media only screen and (max-width: 800px) {
            #news .news-list li > div.news-date {
              font-size: 11px;
              font-weight: bold;
              line-height: 16px;
              padding-right: 16px;
              width: 55px; } }
        #news .news-list li > div.news-info {
          font-size: 13px;
          width: auto; }
          @media only screen and (max-width: 800px) {
            #news .news-list li > div.news-info {
              font-size: 10px; } }
          #news .news-list li > div.news-info .news-info-label {
            float: left;
            width: 120px; }
            @media only screen and (max-width: 800px) {
              #news .news-list li > div.news-info .news-info-label {
                float: none;
                margin-bottom: 10px; } }
            #news .news-list li > div.news-info .news-info-label span {
              -webkit-box-align: center;
              -webkit-align-items: center;
              -moz-box-align: center;
              -ms-flex-align: center;
              align-items: center;
              display: -webkit-box;
              display: -webkit-flex;
              display: -moz-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-pack: center;
              -webkit-justify-content: center;
              -moz-box-pack: center;
              -ms-flex-pack: center;
              justify-content: center;
              background: #efdb83;
              -webkit-border-radius: 12px;
              -moz-border-radius: 12px;
              border-radius: 12px;
              height: 24px;
              width: 120px; }
              @media only screen and (max-width: 800px) {
                #news .news-list li > div.news-info .news-info-label span {
                  -webkit-border-radius: 8px;
                  -moz-border-radius: 8px;
                  border-radius: 8px;
                  height: 16px;
                  width: 80px; } }
          #news .news-list li > div.news-info .news-info-text {
            padding-left: 135px; }
            @media only screen and (max-width: 800px) {
              #news .news-list li > div.news-info .news-info-text {
                font-size: 12px;
                line-height: 1.3;
                padding-left: 0; } }
            #news .news-list li > div.news-info .news-info-text p {
              font-size: 14px; }
              @media only screen and (max-width: 800px) {
                #news .news-list li > div.news-info .news-info-text p {
                  font-size: 12px; } }
      #news .news-list li:first-child {
        margin-top: 0;
        padding-top: 0; }
        @media only screen and (max-width: 800px) {
          #news .news-list li:first-child {
            border-top: 0; } }

#about .about-list {
  display: table;
  width: 100%; }
  @media only screen and (max-width: 800px) {
    #about .about-list {
      display: block; } }
  #about .about-list li {
    display: table-row; }
    @media only screen and (max-width: 800px) {
      #about .about-list li {
        display: block;
        margin-top: 25px; } }
    #about .about-list li > div {
      display: table-cell;
      font-size: 16px;
      padding-top: 25px; }
      @media only screen and (max-width: 800px) {
        #about .about-list li > div {
          display: block;
          font-size: 12px;
          padding-top: 0;
          width: 100%; } }
      #about .about-list li > div.about-label {
        font-weight: bold;
        padding-right: 100px;
        width: auto; }
        @media only screen and (max-width: 800px) {
          #about .about-list li > div.about-label {
            margin-bottom: 12px; } }
      #about .about-list li > div.about-info {
        width: auto; }
      #about .about-list li > div p {
        line-height: 2; }
    #about .about-list li:first-child {
      margin-top: 0; }
      #about .about-list li:first-child > div {
        padding-top: 0; }

#clients {
  padding-bottom: 60px; }
  @media only screen and (max-width: 800px) {
    #clients {
      padding-bottom: 30px; } }
  #clients .clients-list {
    font-size: 0;
    text-align: center; }
    #clients .clients-list li {
      display: inline-block;
      *display: inline;
      zoom: 1;
      margin: 0 10px 20px;
      height: 160px;
      width: 160px; }
      @media only screen and (max-width: 800px) {
        #clients .clients-list li {
          margin: 0 5px 10px;
          height: 75px;
          width: 75px; } }
      #clients .clients-list li img {
        height: 100%;
        width: 100%; }

#location {
  padding-bottom: 0; }
  #location .location-content:after {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden; }
  #location .location-content > div {
    float: left;
    font-size: 16px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    letter-spacing: 0.5px; }
    @media only screen and (max-width: 800px) {
      #location .location-content > div {
        font-size: 12px; } }
    #location .location-content > div .location-label {
      font-weight: bold;
      margin-bottom: 24px; }
      @media only screen and (max-width: 800px) {
        #location .location-content > div .location-label {
          margin-bottom: 12px; } }
    #location .location-content > div .location-info {
      line-height: 2; }
  #location .location-content .contact {
    padding-left: 12.5%;
    width: 38.19444%; }
    @media only screen and (max-width: 800px) {
      #location .location-content .contact {
        padding: 0;
        width: 100%; } }
  #location .location-content .address {
    padding-left: 13.88889%;
    width: 61.80556%; }
    @media only screen and (max-width: 800px) {
      #location .location-content .address {
        padding: 0;
        margin-top: 20px;
        width: 100%; } }
  #location #map-canvas {
    background: black;
    height: 530px;
    display: block;
    margin-top: 80px;
    width: 100%; }
    @media only screen and (max-width: 800px) {
      #location #map-canvas {
        margin-top: 40px; } }
