.show_sp {
  display: none !important;
}

.show_pc {
  display: block !important;
}

.top-aboutus-content {
  margin-left: 0;
}

.fade-in-company {
  position: static;
  top: 0;
}

.fade-in-about, .fade-in-service, .fade-in-company {
  text-align: center;
}

.top-company {
  margin-bottom: 0;
}

.box-cm01 {
  display: inline-block;
  margin: 0 auto;
  width: 800px;
  position: relative;
  z-index: 4;
  overflow: hidden;
}
.box-cm0101 {
  padding: 50px 80px 35px;
  background: url(../img/new/box_bg.png) repeat;
  display: inline-block;
  max-width: 91%;
  margin: 0 auto;
  width: 800px;
  position: relative;
  z-index: 4;
  overflow: hidden;
  text-align: left;
  -moz-box-shadow: 2px 2px 43px 0px rgba(24, 56, 95, 0.13);
       box-shadow: 2px 2px 43px 0px rgba(24, 56, 95, 0.13);
}
@media screen and (max-width: 767px) {
  .box-cm01 {
    padding: 35px 25px;
    width: 100%;
  }
}

.box-cm01 p {
  overflow: hidden;
  -webkit-transform: translate(-100%, 0);
     -moz-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  opacity: 0;
  -webkit-transition-delay: 0.5s;
     -moz-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.box-cm01 p span {
  -webkit-transform: translate(100%, 0);
     -moz-transform: translate(100%, 0);
      -ms-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  -webkit-transition-delay: 0.5s;
     -moz-transition-delay: 0.5s;
          transition-delay: 0.5s;
  display: block;
}

.box-cm01 p.active {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}

.box-cm01 p.active span {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}

.box-cm01 .btn_readmore a {
  font-size: 17px;
  font-weight: bold;
  color: #48bbad;
  position: relative;
  display: inline-block;
  padding-left: 45px;
  padding-top: 30px;
  padding-bottom: 30px;
  position: relative;
}

.box-cm01 .btn_readmore a:hover {
  text-decoration: none;
}

.box-cm01 .btn_readmore a:hover::after {
  -webkit-animation: btn_ef 1s ease forwards;
     -moz-animation: btn_ef 1s ease forwards;
          animation: btn_ef 1s ease forwards;
}

.box-cm01 .btn_readmore a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
     -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 59px;
  height: 61px;
  background: url(../img/new/btn_ic.png) center/100% 100% no-repeat;
  display: block;
}

.box-cm01 .btn_readmore a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 26px;
  margin-top: -5.5px;
  width: 7px;
  height: 11px;
  background: url(../img/new/ar.png) center/100% 100% no-repeat;
  display: block;
}

.box-cm01 .title {
  padding-right: 15px;
  overflow: hidden;
  -webkit-transform: translate(-100%, 0);
     -moz-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  opacity: 0;
}

.box-cm01 .title.active {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}

.box-cm01 .title.active h2 {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}

.box-cm01 .title.active h2::before {
  -webkit-animation: arrowlong01 1s ease forwards;
     -moz-animation: arrowlong01 1s ease forwards;
          animation: arrowlong01 1s ease forwards;
  -webkit-animation-delay: 0.3s;
     -moz-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.box-cm01 .title.active h2::after {
  -webkit-animation: arrowlong02 1s ease forwards;
     -moz-animation: arrowlong02 1s ease forwards;
          animation: arrowlong02 1s ease forwards;
  -webkit-animation-delay: 0.3s;
     -moz-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.box-cm01 h2 {
  position: relative;
  opacity: 0;
  display: inline-block;
  margin-bottom: 15px;
  padding-bottom: 15px;
  -webkit-transform: translate(100%, 0);
     -moz-transform: translate(100%, 0);
      -ms-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}

.box-cm01 h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  opacity: 0;
  background: -webkit-gradient(linear, left top, right top, from(#3db7a8), to(#133283));
  background: -webkit-linear-gradient(left, #3db7a8 0%, #133283 100%);
  background: -moz- oldlinear-gradient(left, #3db7a8 0%, #133283 100%);
  background: linear-gradient(to right, #3db7a8 0%, #133283 100%);
}

.box-cm01 h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  opacity: 0;
  border-bottom: 12px solid #133283;
  border-right: 12px solid transparent;
}

.box-cm01 h2 small {
  display: block;
  font-size: 14px;
  color: #3cb5a8;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-bottom: 14px;
}

@media screen and (max-width: 767px) {
  .box-cm01 h2 small {
    font-size: 13px;
  }
}

.box-cm01 h2 span {
  display: block;
  font-weight: bold;
  font-size: 38px;
  background: -webkit-gradient(linear, left top, right top, from(#3db7a8), to(#133283));
  background: -webkit-linear-gradient(left, #3db7a8 0%, #133283 100%);
  background: -moz- oldlinear-gradient(left, #3db7a8 0%, #133283 100%);
  background: linear-gradient(to right, #3db7a8 0%, #133283 100%);
  -moz-background-clip: text;
       background-clip: text;
  color: transparent;
}

@media screen and (max-width: 767px) {
  .box-cm01 h2 span {
    font-size: 25px;
  }
}

main.gray-color {
  background-color: #f4f4f4;
}

.fade-in-news.show-fade-in {
  opacity: 1;
}

.fade-in-news {
  opacity: 0;
  -webkit-transition: 2s;
  -moz-transition: 2s;
  transition: 2s;
}

.top-news {
  padding: 130px 0 260px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top-news {
    padding: 100px 0;
  }
}

.top-news * {
  padding: 0;
  margin: 0;
}

.top-news h2 {
  text-align: center;
  background: -webkit-gradient(linear, left bottom, left top, from(#133283), to(#3db7a8));
  background: -webkit-linear-gradient(bottom, #133283 0%, #3db7a8 100%);
  background: -moz- oldlinear-gradient(bottom, #133283 0%, #3db7a8 100%);
  background: linear-gradient(to top, #133283 0%, #3db7a8 100%);
  -moz-background-clip: text;
       background-clip: text;
  color: transparent;
  font-size: 58px;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .top-news h2 {
    font-size: 38px;
  }
}

.top-news ul {
  display: inline-block;
  background-color: #fff;
  list-style: none;
  padding: 40px 130px 40px 60px;
  width: 917px;
  max-width: 91%;
}

@media screen and (max-width: 767px) {
  .top-news ul {
    padding: 25px;
  }
}

.top-news ul li {
  list-style: none;
}

/*.top-news ul li + li {
  margin-top: 15px;
}*/

@media screen and (max-width: 767px) {
  .top-news ul li + li {
    margin-top: 0;
  }
}

.top-news ul li  {
  text-align: left;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  color: #000;
	border-bottom: 1px solid #929292;
	padding: 12px 0;
	line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .top-news ul li  {
    display: block;
    padding: 12px 0;
    border-bottom: 1px solid #929292;
  }
}

.top-news ul li  time {
  width: 120px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 15px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .top-news ul li  time {
    width: 100%;
    display: block;
    font-size: 15px;
  }
}

.top-news ul li  p {
  font-size: 16px;
  line-height: 1.8;
  width: -webkit-calc(100% - 120px);
  width: -moz-calc(100% - 120px);
  width: calc(100% - 120px);
}

@media screen and (max-width: 767px) {
  .top-news ul li  p {
    width: 100%;
    display: block;
    font-size: 13px;
  }
}

.about-ctn {
  padding-top: 110px;
}

.about-ctn-inner {
  width: 940px;
  margin: 0 auto;
  max-width: 86%;
}

.about-ctn .title {
  overflow: hidden;
  -webkit-transform: translate(-100%, 0);
     -moz-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}

.about-ctn .title h2, .about-ctn .title h3 {
  display: block;
  -webkit-transform: translate(100%, 0);
     -moz-transform: translate(100%, 0);
      -ms-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}

.about-ctn .effect.active .title {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
     -moz-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.about-ctn .effect.active .title h2, .about-ctn .effect.active .title h3 {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
     -moz-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.about-ctn .text_ef {
  overflow: hidden;
  -webkit-transform: translate(-100%, 0);
     -moz-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}

.about-ctn .text_ef span {
  display: block;
  -webkit-transform: translate(100%, 0);
     -moz-transform: translate(100%, 0);
      -ms-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  line-height: 1.5;
}

.about-ctn .effect.active .text_ef {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
     -moz-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.about-ctn .effect.active .text_ef span {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
     -moz-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.about-ctn .about-top {
  text-align: center;
  position: relative;
  margin: 0 auto;
}

.about-ctn .about-top * {
  margin: 0;
  padding: 0;
}

.about-ctn .about-top--inner {
  padding: 40px 10px;
  background: #fff;
  z-index: 4;
  -moz-box-shadow: -3px 2px 21px 2px rgba(24, 56, 95, 0.11);
       box-shadow: -3px 2px 21px 2px rgba(24, 56, 95, 0.11);
}

.about-ctn .about-top::after {
  content: "";
  position: absolute;
  top: -200px;
  left: -900px;
  width: 1061px;
  height: 731px;
  background: url(../img/new/about_bg2.png) center/100% 100% no-repeat;
  display: block;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-top::after {
    top: initial;
    bottom: -70px;
    left: -6%;
    width: 159px;
    height: 150px;
    background: url(../img/new/about_bg2_sp.png) center/100% 100% no-repeat;
  }
}

.about-ctn .about-top::before {
  content: "";
  position: absolute;
  top: -320px;
  right: -300px;
  width: 829px;
  height: 622px;
  background: url(../img/new/about_bg1.png) center/100% 100% no-repeat;
  display: block;
  z-index: -1;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-top::before {
    background: url(../img/new/about_bg1_sp.png) center/100% 100% no-repeat;
    width: 197px;
    height: 147px;
    right: -6%;
    top: -120px;
  }
}

.about-ctn .about-top h2 {
  line-height: 1.5;
  font-weight: bold;
  font-size: 0;
  margin-bottom: 10px;
}

.about-ctn .about-top h2 small {
  display: block;
  font-size: 17px;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.5;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-top h2 small {
    font-size: 14px;
  }
}

.about-ctn .about-top h2 span {
  color: #3cb5a8;
  line-height: 1.5;
  font-size: 48px;
  letter-spacing: 0.1em;
  display: block;
}

.about-ctn .about-top h2 span em {
  font-style: normal;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-top h2 span {
    font-size: 28px;
  }
}

.about-ctn .about-top p {
  letter-spacing: 0.06em;
  font-size: 19px;
  line-height: 1.84211;
  display: inline-block;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-top p {
    font-size: 14px;
  }
  .about-ctn .about-top p br {
    display: none;
  }
}

.about-ctn .about-list {
  padding-bottom: 150px;
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-list {
    padding-bottom: 75px;
  }
}

.about-ctn .about-list * {
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-list {
    margin: 40px auto 0;
  }
}

.about-ctn .about-list .about-item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
     -moz-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-list .about-item {
    display: block;
  }
}

.about-ctn .about-list .about-item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
     -moz-box-orient: horizontal;
     -moz-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.about-ctn .about-list .about-item:nth-child(even) .txt {
  padding-left: 0;
  padding-right: 50px;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-list .about-item:nth-child(even) .txt {
    padding-right: 0;
  }
}

.about-ctn .about-list .about-item + .about-item {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-list .about-item + .about-item {
    margin-top: 30px;
  }
}

.about-ctn .about-list .about-item.st2 .txt {
  border-bottom-color: #68e3da;
}

.about-ctn .about-list .about-item.st2 .txt h3 {
  color: #68e3da;
}

.about-ctn .about-list .about-item.st3 .txt {
  border-bottom-color: #3ea5db;
}

.about-ctn .about-list .about-item.st3 .txt h3 {
  color: #3ea5db;
}

.about-ctn .about-list .about-item > figure {
  width: 34.3%;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-list .about-item > figure {
    width: 100%;
    width: 138px;
    margin: 0 auto 12px;
  }
}

.about-ctn .about-list .about-item > figure img {
  max-width: 100%;
  width: 100%;
}

.about-ctn .about-list .about-item .txt {
  width: 65.7%;
  text-align: left;
  padding-left: 50px;
  border-bottom: 4px solid #45c476;
  padding-bottom: 60px;
}

.about-ctn .about-list .about-item .txt img {
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-list .about-item .txt {
    width: 100%;
    padding-left: 0;
    padding-bottom: 25px;
  }
}

.about-ctn .about-list .about-item .txt h3 {
  font-size: 42px;
  font-weight: bold;
  color: #53ab82;
  line-height: 1.5;
  text-align: left;
  margin-bottom: 15px;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-list .about-item .txt h3 {
    font-size: 26px;
  }
}

.about-ctn .about-list .about-item .txt p {
  font-weight: bold;
  font-size: 17px;
  line-height: 1.82353;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-list .about-item .txt p {
    font-size: 14px;
  }
}

.about-ctn .about-list .about-item .txt .about_text1 {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .about-ctn .about-list .about-item .txt .about_text1 {
    margin-bottom: 10px;
  }
}

.service-ctn {
  position: relative;
  padding-bottom: 180px;
  padding-top: 110px;
}

.service-ctn * {
  padding: 0;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .service-ctn {
    padding: 50px 0;
  }
}

.service-ctn::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 487px;
  height: 1000px;
  background: url(../img/new/service_bg1.png) center/100% 100% no-repeat;
  display: block;
}

@media screen and (max-width: 767px) {
  .service-ctn::before {
    width: 100%;
    height: 100%;
    background: url(../img/new/service_bg1_sp.png) center/100% 100% no-repeat;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
    bottom: initial;
    top: -200px;
  }
}

.service-ctn::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 618px;
  height: 1451px;
  background: url(../img/new/service_bg2.png) center/100% 100% no-repeat;
  display: block;
}

@media screen and (max-width: 767px) {
  .service-ctn::after {
    display: none;
  }
}

.service-ctn-inner {
  width: 900px;
  margin: 0 auto;
  max-width: 86%;
}

.service-ctn .title {
  /*overflow: hidden;*/
  -webkit-transform: translate(-100%, 0);
     -moz-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}

.service-ctn .title h2, .service-ctn .title h3 {
  display: block;
  -webkit-transform: translate(100%, 0);
     -moz-transform: translate(100%, 0);
      -ms-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}

.service-ctn .effect.active .title {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
     -moz-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.service-ctn .effect.active .title h2, .service-ctn .effect.active .title h3 {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
     -moz-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.service-ctn .text_ef {
  overflow: hidden;
  -webkit-transform: translate(-100%, 0);
     -moz-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
}

.service-ctn .text_ef span {
  display: block;
  -webkit-transform: translate(100%, 0);
     -moz-transform: translate(100%, 0);
      -ms-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -moz-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, -moz-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  line-height: 1.5;
}

.service-ctn .effect.active .text_ef {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
     -moz-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.service-ctn .effect.active .text_ef span {
  -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
     -moz-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.service-ctn .service-item {
  position: relative;
}

.service-ctn .service-item + .service-item {
  margin-top: 150px;
}

@media screen and (max-width: 767px) {
  .service-ctn .service-item + .service-item {
    margin-top: 50px;
  }
}

.service-ctn .service-item.st2::before {
  background-image: url(../img/new/service_img2.png);
  width: 264px;
  height: 262px;
}

@media screen and (max-width: 767px) {
  .service-ctn .service-item.st2::before {
    position: static;
    width: 189px;
    height: 187px;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
    margin: 0 auto;
  }
}

.service-ctn .service-item.st2 h2 span {
  background: -webkit-gradient(linear, left bottom, left top, from(#940097), to(#2800f4));
  background: -webkit-linear-gradient(bottom, #940097 0%, #2800f4 100%);
  background: -moz- oldlinear-gradient(bottom, #940097 0%, #2800f4 100%);
  background: linear-gradient(to top, #940097 0%, #2800f4 100%);
  -moz-background-clip: text;
       background-clip: text;
}

.service-ctn .service-item.st2 h2 span::before {
  background-image: url(../img/new/service_ic2.png);
}

.service-ctn .service-item.st2 h2 small {
  color: #0028a2;
}

.service-ctn .service-item::before {
  content: "";
  position: absolute;
  right: 0;
  top: -112px;
  width: 301px;
  height: 249px;
  display: block;
  background-image: url(../img/new/service_img1.png);
  background-repeat: no-repeat;
  -moz-background-size: 100% 100%;
       background-size: 100% 100%;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .service-ctn .service-item::before {
    position: static;
    width: 215px;
    height: 178px;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
    margin: 0 auto;
  }
}

.service-ctn .service-item h2 {
  font-size: 0;
  line-height: 0;
  margin-bottom: 20px;
}

.service-ctn .service-item h2 span {
  line-height: 1.5;
  display: block;
  background: -webkit-gradient(linear, left bottom, left top, from(#123988), to(#3db9a7));
  background: -webkit-linear-gradient(bottom, #123988 0%, #3db9a7 100%);
  background: -moz- oldlinear-gradient(bottom, #123988 0%, #3db9a7 100%);
  background: linear-gradient(to top, #123988 0%, #3db9a7 100%);
  -moz-background-clip: text;
       background-clip: text;
  color: transparent;
  font-size: 58px;
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.service-ctn .service-item h2 span::before {
  content: "";
  width: 331px;
    height: 81px;
  margin-right: 20px;
  background-image: url(../img/new/service_ic1.png);
  background-repeat: no-repeat;
  -moz-background-size: 100% 100%;
       background-size: 100% 100%;
  display: block;
  margin-top: -12px;
}

@media screen and (max-width: 767px) {
  .service-ctn .service-item h2 span::before {
    width: 260px;
    height: 64px;
    margin-top: 10px;
	  margin-bottom: 15px;
  }
}

@media screen and (max-width: 767px) {
  .service-ctn .service-item h2 span {
    font-size: 56px;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
           /* justify-content: center;*/
  }
}

.service-ctn .service-item h2 small {
  display: block;
  font-size: 37px;
  font-weight: bold;
  color: #13579d;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .service-ctn .service-item h2 small {
    font-size: 19px;
	  font-weight: bold;
  }
}

.service-ctn .service-item p {
  font-size: 18px;
  line-height: 1.77778;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .service-ctn .service-item p {
    font-size: 13px;
  }
  .service-ctn .service-item p br {
    display: none;
  }
}

.company-ctn {
  padding: 160px 0 90px;
}

.company-ctn * {
  padding: 0;
  margin: 0;
}

.company-ctn-inner {
  width: 900px;
  margin: 0 auto;
  max-width: 86%;
}

.company-ctn h3 {
  text-align: left;
  margin-bottom: 30px;
  font-size: 24px;
  font-weight: bold;
  color: #303030;
}

@media screen and (max-width: 767px) {
  .company-ctn h3 {
    font-size: 18px;
  }
}

.company-ctn .dlist dl {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  color: #303030;
  border-bottom: 1px solid #000;
}

.company-ctn .dlist dl dt {
  font-weight: 400;
  width: 130px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-bottom: 1px solid #000;
  padding: 20px 0;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .company-ctn .dlist dl dt {
    font-size: 12px;
    width: 80px;
    padding: 15px 0;
  }
}

.company-ctn .dlist dl dd {
  font-weight: 400;
  width: 100%;
  border: 0;
  padding: 20px 0 20px 35px;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .company-ctn .dlist dl dd {
    font-size: 12px;
    padding: 15px 0 15px 5px;
  }
}

.company-ctn .dlist dl dd a {
  color: #000;
}

.company-ctn .dlist dl dd .link_map {
  background-color: #000;
  color: #fff;
  -moz-border-radius: 9999px;
       border-radius: 9999px;
  font-size: 14px;
  display: -webkit-inline-box;
  display: -moz-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 7px 30px;
  margin-left: 40px;
}

@media screen and (max-width: 767px) {
  .company-ctn .dlist dl dd .link_map {
    margin-left: 10px;
    font-size: 12px;
    margin-top: 10px;
  }
}

.box-company {
  width: 655px;
}

footer {
  padding: 0 0 10px;
  height: auto;
}

footer .copyright {
  text-align: center;
  color: #fff;
	font-size: 12px;
}

@media screen and (max-width: 768px) {
  .show_pc {
    display: none !important;
  }
  .show_sp {
    display: block !important;
  }
  .top-service p, .top-service h3, .top-service .arrow-svg img {
    float: none;
    margin-left: 0;
  }
  .box-cm01 p {
    line-height: 2;
  }
  .about-ctn .about-top--inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  .about-ctn h2 span em {
    display: none;
  }
  footer {
    padding: 0 0 10px;
    height: auto;
  }
  footer .copyright {
    text-align: center;
    color: #fff;
  }
}

@-webkit-keyframes arrowlong01 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}

@-moz-keyframes arrowlong01 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}

@keyframes arrowlong01 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}

@-webkit-keyframes arrowlong02 {
  0% {
    left: 0;
    opacity: 0;
  }
  20% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 1;
  }
}

@-moz-keyframes arrowlong02 {
  0% {
    left: 0;
    opacity: 0;
  }
  20% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 1;
  }
}

@keyframes arrowlong02 {
  0% {
    left: 0;
    opacity: 0;
  }
  20% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 1;
  }
}

@-webkit-keyframes btn_ef {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  20% {
    -webkit-transform: translateX(2px);
            transform: translateX(2px);
  }
  40% {
    -webkit-transform: translateX(-2px);
            transform: translateX(-2px);
  }
  60% {
    -webkit-transform: translateX(2px);
            transform: translateX(2px);
  }
  80% {
    -webkit-transform: translateX(-2px);
            transform: translateX(-2px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@-moz-keyframes btn_ef {
  0% {
    -moz-transform: translateX(0);
         transform: translateX(0);
  }
  20% {
    -moz-transform: translateX(2px);
         transform: translateX(2px);
  }
  40% {
    -moz-transform: translateX(-2px);
         transform: translateX(-2px);
  }
  60% {
    -moz-transform: translateX(2px);
         transform: translateX(2px);
  }
  80% {
    -moz-transform: translateX(-2px);
         transform: translateX(-2px);
  }
  100% {
    -moz-transform: translateX(0);
         transform: translateX(0);
  }
}

@keyframes btn_ef {
  0% {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
            transform: translateX(0);
  }
  20% {
    -webkit-transform: translateX(2px);
       -moz-transform: translateX(2px);
            transform: translateX(2px);
  }
  40% {
    -webkit-transform: translateX(-2px);
       -moz-transform: translateX(-2px);
            transform: translateX(-2px);
  }
  60% {
    -webkit-transform: translateX(2px);
       -moz-transform: translateX(2px);
            transform: translateX(2px);
  }
  80% {
    -webkit-transform: translateX(-2px);
       -moz-transform: translateX(-2px);
            transform: translateX(-2px);
  }
  100% {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
            transform: translateX(0);
  }
}

.effect {
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  transition: all 1s ease;
}

.delay_03 {
  -webkit-transition: all 1s ease 0.3s;
  -moz-transition: all 1s ease 0.3s;
  transition: all 1s ease 0.3s;
}

.delay_06 {
  -webkit-transition: all 1s ease 0.6s;
  -moz-transition: all 1s ease 0.6s;
  transition: all 1s ease 0.6s;
}

.delay_09 {
  -webkit-transition: all 1s ease 0.9s;
  -moz-transition: all 1s ease 0.9s;
  transition: all 1s ease 0.9s;
}

.delay_12 {
  -webkit-transition: all 1s ease 1.2s;
  -moz-transition: all 1s ease 1.2s;
  transition: all 1s ease 1.2s;
}

.delay_15 {
  -webkit-transition: all 1s ease 1.5s;
  -moz-transition: all 1s ease 1.5s;
  transition: all 1s ease 1.5s;
}

.fadeIn {
  opacity: 0;
  -webkit-transform: translateY(4%);
     -moz-transform: translateY(4%);
      -ms-transform: translateY(4%);
          transform: translateY(4%);
  -webkit-transition-duration: .8s;
     -moz-transition-duration: .8s;
          transition-duration: .8s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -moz-transition-property: opacity, transform, -moz-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform, -moz-transform;
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
     -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
          transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fadeIn.active {
  opacity: 1;
  -webkit-transform: translateY(0);
     -moz-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

.slideUp {
  -webkit-transform: translate3d(0, 50px, 0);
     -moz-transform: translate3d(0, 50px, 0);
          transform: translate3d(0, 50px, 0);
  opacity: 0;
}

.slideUp.active {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.slideDown {
  -webkit-transform: translate3d(0, -50px, 0);
     -moz-transform: translate3d(0, -50px, 0);
          transform: translate3d(0, -50px, 0);
  opacity: 0;
}

.slideDown.active {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.slideToRight {
  -webkit-transform: translate3d(-100px, 0, 0);
     -moz-transform: translate3d(-100px, 0, 0);
          transform: translate3d(-100px, 0, 0);
  opacity: 0;
}

.slideToRight.active {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.slideToLeft {
  -webkit-transform: translate3d(100px, 0, 0);
     -moz-transform: translate3d(100px, 0, 0);
          transform: translate3d(100px, 0, 0);
  opacity: 0;
}

.slideToLeft.active {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
