@charset "UTF-8";
/* CSS Document */
/*グロナビ*/
#side_bar nav ul li:nth-of-type(1) a {
  color: #ed0100; }

/* +++++++++++++++++++++++++++++++++++++

事業紹介TOP　css

++++++++++++++++++++++++++++++++++++++ */
.first_image {
  width: 100%;
  min-width: 1000px;
  height: 420px;
  position: absolute;
  background: url("../img/services/services_main.jpg") center top no-repeat;
  background-size: cover;
  z-index: -1; }
  @media only screen and (max-width: 768px) {
    .first_image {
      min-width: 100%;
      margin-top: 60px;
      height: 160px; } }

/*.first_image*/
.cont_inner {
  background: rgba(255, 255, 255, 0.5);
  position: relative;
  height: auto;
  display: block;
  right: 0px;
  left: 0px;
  top: 420px;
  z-index: 1;
  margin-bottom: 500px;
  /*h2*/
  /*.pan_nav*/
  /*p.read_copy*/ }
  @media only screen and (max-width: 768px) {
    .cont_inner {
      top: 220px;
      margin-bottom: 350px; } }
  .cont_inner h2 {
    font-size: 28px;
    color: #fff;
    display: inline-block;
    padding: 35px 70px 45px 80px;
    letter-spacing: 0.3em;
    position: relative;
    top: -70px;
    left: 0;
    opacity: 0;
    background: #fe5822;
    background: -moz-linear-gradient(bottom left, #ed0201 0%, #fe5822 100%);
    background: -webkit-gradient(linear, left bottom, right top, from(#ed0201), to(#fe5822));
    background: -webkit-linear-gradient(bottom left, #ed0201 0%, #fe5822 100%);
    background: -o-linear-gradient(bottom left, #ed0201 0%, #fe5822 100%);
    background: linear-gradient(to top right, #ed0201 0%, #fe5822 100%);
    -webkit-animation: fadeUp 0.8s 0.5s ease-in-out;
    animation: fadeUp 0.8s 0.5s ease-in-out;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards; }
    @media only screen and (max-width: 768px) {
      .cont_inner h2 {
        font-size: 20px;
        padding: 15px 15px 30px 20px;
        letter-spacing: 0.2em;
        position: relative;
        top: -45px;
        -webkit-animation: fadeUpSp 0.8s 0.5s ease-in-out;
        animation: fadeUpSp 0.8s 0.5s ease-in-out;
        -webkit-animation-fill-mode: forwards;
        animation-fill-mode: forwards; } }
    .cont_inner h2:before {
      content: '';
      display: block;
      width: 10px;
      height: 1px;
      background-color: #f99b97;
      position: absolute;
      top: 76px;
      left: 80px; }
      @media only screen and (max-width: 768px) {
        .cont_inner h2:before {
          top: 45px;
          left: 20px; } }
    .cont_inner h2:after {
      content: 'Services';
      font-size: 12px;
      letter-spacing: 0.1em;
      color: #f99b97;
      position: absolute;
      top: 70px;
      left: 95px;
      font-family: Roboto;
      font-weight: 500; }
      @media only screen and (max-width: 768px) {
        .cont_inner h2:after {
          font-size: 10px;
          top: 40px;
          left: 35px; } }
  .cont_inner .pan_nav {
    font-size: 12px;
    position: absolute;
    width: 95%;
    top: 34px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: right;
    overflow: hidden; }
    @media only screen and (max-width: 768px) {
      .cont_inner .pan_nav {
        width: 90%;
        font-size: 10px;
        top: 12px; } }
    .cont_inner .pan_nav ul li {
      display: inline-block;
      /*a*/ }
      .cont_inner .pan_nav ul li:last-child:after {
        display: none; }
      .cont_inner .pan_nav ul li:after {
        content: "〉";
        padding-left: 8px; }
      .cont_inner .pan_nav ul li a {
        color: #ed0100;
        transiton: 0.3; }
        .cont_inner .pan_nav ul li a:hover {
          opacity: 0.7; }
  .cont_inner p.read_copy {
    width: 1000px;
    margin: 30px auto 90px;
    line-height: 2em;
    font-size: 16px;
    letter-spacing: 0.1em;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .cont_inner p.read_copy {
        width: 90%;
        margin: 20px auto 30px;
        font-size: 14px;
        line-height: 1.8em; }
        .cont_inner p.read_copy br {
          display: none; } }
    .cont_inner p.read_copy:after {
      content: "Services";
      font-size: 200px;
      letter-spacing: 0.01em;
      font-family: Roboto;
      font-weight: 600;
      color: #fef1f0;
      position: absolute;
      top: 20px;
      right: -50px;
      z-index: -1;
      opacity: 0;
      -webkit-animation: en_anim 0.8s 1.0s ease-in-out;
      animation: en_anim 0.8s 1.0s ease-in-out;
      -webkit-animation-fill-mode: forwards;
      animation-fill-mode: forwards; }
      @media only screen and (max-width: 768px) {
        .cont_inner p.read_copy:after {
          font-size: 20vw;
          top: -25px;
          right: -20px; } }

/*.cont_inner*/
.wrap {
  width: 950px;
  height: 1600px;
  margin: 0 auto;
  /*.service_area*/ }
  @media only screen and (max-width: 768px) {
    .wrap {
      width: 90%;
      height: auto; } }
  .wrap .service_area {
    width: 100%;
    height: 500px;
    /*.inner*/
    /*.inner .image*/
    /*.inner .btn a*/
    /*.inner .u_run1*/
    /*.inner .u_run2*/
    /*.inner .u_run3*/
    /*.inner .u_run4*/
    /*.inner .u_run5*/
    /*.inner .u_run6*/ }
    @media only screen and (max-width: 768px) {
      .wrap .service_area {
        height: auto; } }
    .wrap .service_area .inner {
      width: 450px;
      position: relative;
      float: left; }
      @media only screen and (max-width: 768px) {
        .wrap .service_area .inner {
          width: 100%;
          float: none;
          margin-bottom: 150px; } }
      .wrap .service_area .inner:last-of-type {
        float: right;
        margin-top: 140px; }
        @media only screen and (max-width: 768px) {
          .wrap .service_area .inner:last-of-type {
            float: none;
            margin-top: 0; } }
    .wrap .service_area .inner .image {
      width: 390px;
      height: 230px;
      position: absolute;
      top: 0;
      left: 0; }
      @media only screen and (max-width: 768px) {
        .wrap .service_area .inner .image {
          width: 100%;
          height: auto;
          position: static; } }
    .wrap .service_area .inner .btn a {
      display: block;
      width: 340px;
      height: 170px;
      padding-top: 30px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      background-color: #2b2b2b;
      position: absolute;
      right: 0;
      top: 190px;
      z-index: 2;
      -webkit-box-shadow: 20px 20px 0 #fff2f2;
      box-shadow: 20px 20px 0 #fff2f2;
      -webkit-transition: 0.3s;
      -o-transition: 0.3s;
      transition: 0.3s;
      cursor: pointer;
      text-align: center;
      /*h3*/ }
      @media only screen and (max-width: 768px) {
        .wrap .service_area .inner .btn a {
          width: 90%;
          margin: 0 auto;
          left: 0;
          top: auto;
          bottom: -110px;
          height: 170px;
          -webkit-box-shadow: none;
          box-shadow: none; } }
      .wrap .service_area .inner .btn a:after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 5px 0 5px 8.7px;
        border-color: transparent transparent transparent #ed0100;
        position: absolute;
        top: 90px;
        right: 20px;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        @media only screen and (max-width: 768px) {
          .wrap .service_area .inner .btn a:after {
            top: 80px;
            right: 10px; } }
      .wrap .service_area .inner .btn a h3 {
        font-size: 20px;
        font-weight: 500;
        letter-spacing: 0.05em;
        margin-bottom: 20px; }
        @media only screen and (max-width: 768px) {
          .wrap .service_area .inner .btn a h3 {
            font-size: 18px; } }
      .wrap .service_area .inner .btn a p {
        line-height: 1.8em;
        font-size: 14px;
        letter-spacing: 0.05em;
        color: #c5c5c5;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s; }
        @media only screen and (max-width: 768px) {
          .wrap .service_area .inner .btn a p {
            font-size: 4vw; } }
      .wrap .service_area .inner .btn a:hover {
        background-color: #ed0100;
        top: 200px;
        right: -10px;
        -webkit-box-shadow: none;
        box-shadow: none; }
        @media only screen and (max-width: 768px) {
          .wrap .service_area .inner .btn a:hover {
            top: auto;
            right: 0;
            bottom: -120px; } }
        .wrap .service_area .inner .btn a:hover:after {
          right: 10px;
          border-color: transparent transparent transparent #ffffff; }
        .wrap .service_area .inner .btn a:hover p {
          color: #fab3b3; }
    .wrap .service_area .inner .u_run1 {
      position: absolute;
      top: 300px;
      left: 75px;
      z-index: 3;
      width: 85px;
      height: 99px;
      opacity: 0; }
      @media only screen and (max-width: 768px) {
        .wrap .service_area .inner .u_run1 {
          top: auto;
          bottom: 30px;
          left: 50px;
          width: 42.5px;
          height: 49.5px; } }
    .wrap .service_area .inner .u_run2 {
      position: absolute;
      top: -60px;
      right: 40px;
      z-index: 3;
      width: 67px;
      height: 95px;
      opacity: 0; }
      @media only screen and (max-width: 768px) {
        .wrap .service_area .inner .u_run2 {
          top: auto;
          bottom: 30px;
          width: 40px;
          height: 57px; } }
    .wrap .service_area .inner .u_run3 {
      position: absolute;
      top: 300px;
      left: 75px;
      z-index: 3;
      width: 75px;
      height: 87px;
      opacity: 0; }
      @media only screen and (max-width: 768px) {
        .wrap .service_area .inner .u_run3 {
          top: auto;
          bottom: 30px;
          left: 50px;
          width: 45px;
          height: 52px; } }
    .wrap .service_area .inner .u_run4 {
      position: absolute;
      top: -80px;
      left: -20px;
      z-index: 3;
      width: 95px;
      height: 112px;
      opacity: 0; }
      @media only screen and (max-width: 768px) {
        .wrap .service_area .inner .u_run4 {
          top: auto;
          left: auto;
          right: 30px;
          bottom: 30px;
          width: 57px;
          height: 67px; } }
    .wrap .service_area .inner .u_run5 {
      position: absolute;
      top: -40px;
      right: 10px;
      z-index: 3;
      width: 65px;
      height: 87px;
      opacity: 0; }
      @media only screen and (max-width: 768px) {
        .wrap .service_area .inner .u_run5 {
          top: auto;
          right: auto;
          bottom: 30px;
          left: 40px;
          width: 39px;
          height: 52px; } }
    .wrap .service_area .inner .u_run6 {
      position: absolute;
      top: 300px;
      left: 75px;
      z-index: 3;
      width: 85px;
      height: 85px;
      opacity: 0; }
      @media only screen and (max-width: 768px) {
        .wrap .service_area .inner .u_run6 {
          top: auto;
          left: auto;
          right: 30px;
          bottom: 30px;
          width: 51px;
          height: 51px; } }
    .wrap .service_area .inner .u_run1.visible,
    .wrap .service_area .inner .u_run2.visible,
    .wrap .service_area .inner .u_run3.visible,
    .wrap .service_area .inner .u_run4.visible,
    .wrap .service_area .inner .u_run5.visible,
    .wrap .service_area .inner .u_run6.visible {
      -webkit-animation: fadeUp1 0.5s 1.0s ease-in-out;
      animation: fadeUp1 0.5s 1.0s ease-in-out;
      -webkit-animation-fill-mode: forwards;
      animation-fill-mode: forwards; }
  @media only screen and (max-width: 768px) {
    .wrap .service_area:last-of-type {
      padding-bottom: 10px;
      margin-bottom: -90px; } }
  .wrap .inner .btn a {
    opacity: 0; }
  .wrap .inner .btn a.visible {
    -webkit-animation: fadeUp2 1.0s 0.5s ease-in-out;
    animation: fadeUp2 1.0s 0.5s ease-in-out;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards; }

/*.wrap*/
@-webkit-keyframes fadeUp2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }
@keyframes fadeUp2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px); } }

@-webkit-keyframes fadeUp1 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transform: rotate(0);
    transform: rotate(0); } }

@keyframes fadeUp1 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transform: rotate(0);
    transform: rotate(0); } }

@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    top: -40px; }
  100% {
    opacity: 1;
    top: -70px; } }

@keyframes fadeUp {
  0% {
    opacity: 0;
    top: -40px; }
  100% {
    opacity: 1;
    top: -70px; } }

@-webkit-keyframes fadeUpSp {
  0% {
    opacity: 0;
    top: -10px; }
  100% {
    opacity: 1;
    top: -45px; } }

@keyframes fadeUpSp {
  0% {
    opacity: 0;
    top: -10px; }
  100% {
    opacity: 1;
    top: -45px; } }

@-webkit-keyframes en_anim {
  0% {
    opacity: 0;
    letter-spacing: 0.1em; }
  100% {
    opacity: 1;
    letter-spacing: 0.02em; } }

@keyframes en_anim {
  0% {
    opacity: 0;
    letter-spacing: 0.1em; }
  100% {
    opacity: 1;
    letter-spacing: 0.02em; } }

.contact_area {
  border-top: 1px solid #dddddd; }
