#contentArea {
  overflow: hidden; }

#mainArea {
  position: relative; }

#btnArrow {
  opacity: 0;
  position: absolute;
  top: 260px;
  left: 50%;
  z-index: 999;
  margin-left: -12px;
  cursor: pointer;
  -webkit-animation-name: btnArrowBounce, btnArrowAppear;
          animation-name: btnArrowBounce, btnArrowAppear;
  -webkit-animation-duration: 4s, 1s;
          animation-duration: 4s, 1s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-iteration-count: infinite, 1;
          animation-iteration-count: infinite, 1;
  -webkit-animation-delay: 4s, 5s;
          animation-delay: 4s, 5s;
  -webkit-animation-fill-mode: none, forwards;
          animation-fill-mode: none, forwards; }
  #btnArrow img {
    width: 24px;
    height: 14px; }

#service {
  position: relative;
  width: 100%;
  background-image: url(../images/top/bg_sp_service.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
  #service .container {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    height: 100%;
    margin: 0 auto;
    padding: 32px 4vw 0; }
    #service .container h2 {
      width: 197px;
      height: 32px;
      margin: 0 auto 10px;
      background-image: url(../images/top/h2_sp_service.png);
      background-size: 197px 32px;
      background-repeat: no-repeat;
      color: transparent; }
    #service .container p.caption {
      text-align: center;
      font-size: 12px;
      margin: 0 auto 22px; }
    #service .container p.catch {
      font-size: 12px;
      text-align: left;
      color: #282828;
      margin: 0 auto 24px;
      color: #fff;
      text-align: center; }
    #service .container p.text {
      display: block;
      font-size: 12px;
      line-height: 1.8;
      margin: 0 auto;
      color: #fff;
      margin-bottom: 24px; }
  #service .btnArea {
    position: relative;
    top: auto; }
    #service .btnArea li {
      box-sizing: border-box;
      display: block;
      width: 100%;
      height: 40px;
      line-height: 40px;
      font-size: 12px;
      color: #fff;
      text-align: left;
      background-image: url(../images/shared/sp_gt.png);
      background-position: right 50%;
      background-repeat: no-repeat;
      background-size: 21px 12px; }
      #service .btnArea li a {
        display: block;
        width: 100%;
        height: 100%;
        color: #fff;
        padding-left: 9vw; }
      #service .btnArea li.ec {
        background-color: #f88277; }
        #service .btnArea li.ec span {
          font-family: 'Roboto', sans-serif;
          font-weight: bold;
          letter-spacing: .2em; }
      #service .btnArea li.other {
        background-color: #2ea5c7; }

#news {
  height: auto;
  background-color: #fff; }
  #news .container {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    height: 100%;
    margin: 0 auto;
    padding: 32px 4vw 0;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 13px; }
    #news .container h2 {
      color: #282828;
      font-family: 'Roboto', sans-serif;
      font-size: 13px;
      font-weight: bold;
      letter-spacing: .2em;
      margin: 0 4vw 14px; }
      #news .container h2 span {
        font-size: 8px;
        font-weight: normal;
        margin-left: 2%;
        color: #98979a; }
    #news .container ul li a {
      display: block;
      color: #282828;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
      width: 100%;
      height: 25px;
      line-height: 25px;
      font-size: 12px;
      box-sizing: border-box;
      padding: 0 4vw; }
      #news .container ul li a span {
        margin-right: 4vw;
        margin-right: 6%; }
    #news .container ul li:nth-of-type(odd) a {
      background-color: #e7e7e7; }
    #news .container ul li:nth-of-type(even) a {
      background-color: #fff; }

#company {
  position: relative;
  width: 100%;
  height: auto;
  background-image: url(../images/top/bg_sp_company.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
  #company .container {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    height: 100%;
    margin: 0 auto;
    padding: 32px 4vw 0;
    padding-bottom: 13px; }
    #company .container h2 {
      width: 197px;
      height: 32px;
      margin: 0 auto 10px;
      background-image: url(../images/top/h2_sp_company.png);
      background-size: 197px 32px;
      background-repeat: no-repeat;
      color: transparent; }
    #company .container p.caption {
      text-align: center;
      font-size: 12px;
      margin: 0 auto 22px;
      margin-bottom: 72px; }
    #company .container p.catch {
      font-size: 12px;
      text-align: left;
      color: #282828;
      margin: 0 auto 24px;
      line-height: 1.8; }

#recruit {
  position: relative;
  width: 100%;
  background-color: #f1f1f1; }
  #recruit .container {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    height: 100%;
    margin: 0 auto;
    padding: 32px 4vw 0;
    padding-bottom: 13px; }
    #recruit .container h2 {
      width: 197px;
      height: 32px;
      margin: 0 auto 10px;
      background-image: url(../images/top/h2_sp_recruit.png);
      background-size: 197px 32px;
      background-repeat: no-repeat;
      color: transparent; }
    #recruit .container p.caption {
      text-align: center;
      font-size: 12px;
      margin: 0 auto 22px; }
    #recruit .container p.catch {
      font-size: 12px;
      text-align: left;
      color: #282828;
      margin: 0 auto 24px;
      line-height: 1.8; }

@media only screen and (min-width: 800px) {
  #contentArea {
    overflow: visible; }
  #btnArrow {
    top: 700px;
    margin-left: -24px; }
    #btnArrow img {
      width: 48px;
      height: 28px; }
  #service {
    height: 560px;
    margin-bottom: 80px;
    background-image: url(../images/top/bg_service.jpg); }
    #service .container {
      padding: 60px 2vw 0; }
      #service .container h2 {
        width: 394px;
        height: 64px;
        margin: 0 auto 22px;
        background-image: url(../images/top/h2_service.png);
        background-size: auto; }
      #service .container p.caption {
        font-size: 16px;
        margin-bottom: 54px; }
      #service .container p.catch {
        font-size: 22px;
        text-align: center;
        line-height: 1.4; }
      #service .container p.text {
        font-size: 16px;
        line-height: 1.8; }
    #service .btnArea {
      position: absolute;
      top: 560px;
      left: 0;
      display: table;
      width: 100%;
      height: 80px;
      padding-left: 0; }
      #service .btnArea li {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        width: 50%;
        height: 100%;
        font-size: 20px;
        padding-left: 0;
        box-sizing: border-box;
        background-image: none;
        -webkit-transition: all 300ms linear;
        transition: all 300ms linear; }
        #service .btnArea li a {
          line-height: 80px;
          padding-left: 0; }
        #service .btnArea li:hover {
          font-size: 24px; }
  #news {
    position: relative;
    width: 100%;
    height: 470px;
    background-color: #f1f1f1; }
    #news .container {
      padding: 60px 2vw 0; }
      #news .container h2 {
        font-size: 30px;
        margin: 0 20px 24px 0; }
        #news .container h2 span {
          font-size: 16px; }
      #news .container ul li a {
        height: 56px;
        line-height: 56px;
        font-size: 14px;
        padding: 0 2vw; }
        #news .container ul li a span {
          margin-right: 6vw; }
      #news .container ul li:nth-of-type(even) a {
        background-color: #f1f1f1; }
      #news .container ul li:hover span.title {
        text-decoration: underline; }
  #company {
    height: 456px;
    background-image: url(../images/top/bg_company.jpg); }
    #company .container {
      padding: 60px 2vw 0; }
      #company .container h2 {
        width: 394px;
        height: 64px;
        margin: 0 auto 22px;
        background-image: url(../images/top/h2_company.png);
        background-size: auto; }
      #company .container p.caption {
        font-size: 16px;
        margin-bottom: 54px; }
      #company .container p.catch {
        font-size: 22px;
        text-align: center;
        line-height: 1.4; }
  #recruit {
    height: 412px; }
    #recruit .container {
      padding: 60px 2vw 0;
      padding-bottom: 0; }
      #recruit .container h2 {
        width: 394px;
        height: 64px;
        margin: 0 auto 22px;
        background-image: url(../images/top/h2_recruit.png);
        background-size: auto; }
      #recruit .container p.caption {
        font-size: 16px;
        margin-bottom: 54px; }
      #recruit .container p.catch {
        font-size: 22px;
        text-align: center;
        line-height: 1.4; } }

@-webkit-keyframes btnArrowBounce {
  0%,
  60% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  80% {
    -webkit-transform: translateY(-24px);
            transform: translateY(-24px); } }

@keyframes btnArrowBounce {
  0%,
  60% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  80% {
    -webkit-transform: translateY(-24px);
            transform: translateY(-24px); } }

@-webkit-keyframes btnArrowAppear {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes btnArrowAppear {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
