@charset "UTF-8";
/* スタイル */
/*-------------- feature ---------------*/
.feature .message .image_wrap {
  color: #fff;
  position: relative; }
  .feature .message .image_wrap p.president {
    display: inline-block;
    font-size: 1.4rem;
    position: absolute;
    left: 0;
    bottom: 20px;
    padding: 5px 30px;
    background: #1a99d0;
    border-radius: 0 30px 30px 0; }
.feature .Philosophy,
.feature .mission{
  text-align: center; 
  margin: 0 auto 50px;}
  .feature .Philosophy h2 {
    text-align: center;
    margin: 0 0 30px;
    font-size: 2.4rem; }
  .feature .Philosophy p {
    text-align: left;
    display: inline-block;
    font-size: 2.6rem;
    line-height: 1.6; }
.feature .mission {
  text-align: center; }
  .feature .mission h2 {
    text-align: center;
    margin: 0 0 30px;
    font-size: 2.4rem; }
  .feature .mission ul {
    text-align: left;
    display: inline-block; }
    .feature .mission ul li {
      font-size: 2.6rem;
      line-height: 1.6; }

@media only screen and (max-width: 767px) {
  .feature .Philosophy h2 {
    margin: 0 0 10px;
    font-size: 1.6rem; }
  .feature .Philosophy p {
    font-size: 1.4rem; }
  .feature .mission h2 {
    margin: 0 0 10px;
    font-size: 1.6rem; }
  .feature .mission ul {
    text-align: left;
    display: inline-block; }
    .feature .mission ul li {
      font-family: "Zen Antique", serif;
      font-size: 1.4rem;
      margin-bottom: 0.5em; } }
/*-------------- service ---------------*/
.service .index_menu li {
  margin: 20px 0; }
  .service .index_menu li > * {
    color: #1a99d0;
    display: flex;
    background: #dbebf6;
    border-radius: 20px 0 0 20px;
    overflow: hidden;
    text-decoration: none;
    width: calc(100% + 40px); }
    .service .index_menu li > *:hover {
      opacity: 0.7;
      transition: 0.3s; }
    .service .index_menu li > *:hover img {
      transition: 0.3s;
      transform: scale(1.05); }
    .service .index_menu li > * .image_wrap {
      position: relative;
      overflow: hidden;
      width: 300px;
      height: 300px;
      transition: 0.3s;
      padding: 0; }
      .service .index_menu li > * .image_wrap .num {
        position: absolute;
        right: 0;
        bottom: -10px;
        z-index: 2;
        color: #fff;
        font-size: 15rem;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 200;
        line-height: 1;
        opacity: 0.5; }
        .service .index_menu li > * .image_wrap .num::before {
          content: "Service";
          transform: rotate(90deg);
          position: absolute;
          left: 9px;
          bottom: 56px;
          z-index: 2;
          font-size: 1.8rem;
          font-family: "Barlow Condensed", sans-serif;
          line-height: 1; }
      .service .index_menu li > * .image_wrap img {
        width: 100%;
        height: auto;
        transition: 0.3s; }
    .service .index_menu li > * .wrap {
      position: relative;
      width: calc(100% - 300px);
      padding: 20px;
      line-height: 1.8; }
      .service .index_menu li > * .wrap h3 {
        border-radius: 50px 0 0 50px;
        color: #fff;
        line-height: 1.1;
        padding: 13px 20px 13px 80px;
        margin-right: -20px; }
        .service .index_menu li > * .wrap h3.system_development {
          background: #1a99d0 url(../images/icon/icon-system.svg) no-repeat left 30px center; }
        .service .index_menu li > * .wrap h3.consulting {
          background: #1a99d0 url(../images/icon/icon-consulting.svg) no-repeat left 30px center; }
        .service .index_menu li > * .wrap h3.cloud_solutions {
          background: #1a99d0 url(../images/icon/icon-cloud.svg) no-repeat left 30px center; }
        .service .index_menu li > * .wrap h3 span:nth-child(1) {
          font-size: 2.2rem; }
        .service .index_menu li > * .wrap h3 span:nth-child(2) {
          display: block;
          font-size: 1.6rem;
          font-family: "Barlow Condensed", sans-serif; }
      .service .index_menu li > * .wrap > p {
        color: #333;
        line-height: 1.6;
        padding: 20px; }
      .service .index_menu li > * .wrap .btn {
        position: absolute;
        bottom: 30px;
        left: 0;
        right: 0;
        display: block;
        color: #1a99d0;
        padding: 10px 30px 10px;
        border-radius: 50px;
        width: 250px;
        text-align: center;
        margin: auto;
        font-size: 1.8rem;
        font-family: "Barlow Condensed", sans-serif;
        background: #fff url(../images/icon/icon-arrow-b.svg) no-repeat center right 20px; }
.service .h_system {
  background: url(../images/illust/illust-system.svg) no-repeat top center;
  background-size: auto 120px;
  padding-top: 130px;
  margin-top: 40px; }
.service .h_consulting {
  background: url(../images/illust/illust-consulting.svg) no-repeat top center;
  background-size: auto 120px;
  padding-top: 130px;
  margin-top: 40px; }
.service .h_cloud {
  background: url(../images/illust/illust-cloud.svg) no-repeat top center;
  background-size: auto 120px;
  padding-top: 130px;
  margin-top: 40px; }
.service .sys_list h3:not(.ttl) {
  width: 100%;
  color: #1a99d0;
  font-size: 1.8rem;
  text-align: center;
  margin: 30px 0 30px;
  padding-top: 110px; }
.service .sys_list .electric h3 {
  background: url(../images/illust/illust-electric.svg) no-repeat top center;
  background-size: auto 100px; }
.service .sys_list .water-resources h3 {
  background: url("../images/illust/illust-water-resources.svg") no-repeat top center;
  background-size: auto 100px; }
.service .sys_list .railway h3 {
  background: url("../images/illust/illust-railway.svg") no-repeat top center;
  background-size: auto 100px; }
.service .sys_list .automobile h3 {
  background: url("../images/illust/illust-automobile.svg") no-repeat top center;
  background-size: auto 100px; }
.service .sys_list .logistics h3 {
  background: url(../images/illust/illust-logistics.svg) no-repeat top center;
  background-size: auto 100px; }
.service .sys_list .image_processing h3 {
  background: url(../images/illust/illust-image_processing.svg) no-repeat top center;
  background-size: auto 100px; }
.service .sys_list .geography h3 {
  background: url(../images/illust/illust-geography.svg) no-repeat top center;
  background-size: auto 100px; }
.service .sys_list .communication h3 {
  background: url(../images/illust/illust-communication.svg) no-repeat top center;
  background-size: auto 100px; }
.service .sys_list .manufacturing h3 {
  background: url(../images/illust/illust-manufacturing.svg) no-repeat top center;
  background-size: auto 100px; }
.service .sys_list .infrastructure h3 {
  background: url(../images/illust/illust-infrastructure.svg) no-repeat top center;
  background-size: auto 100px; }
.service .sys_list h4 {
  text-align: center;
  font-size: 1.6rem; }
.service .sys_list .wrap {
  border: 4px solid #dbebf6;
  border-radius: 30px;
  padding: 30px; }
.service .sys_list li{
  position: relative;
}
.service .sys_list li span{
  position: absolute;
  left: -3%;
  color: #1066A3;
  font-weight: bold;
  padding: 5px 20px;
  background: #dbebf6;
}
.service .sys_list li p {
  line-height: 1.8;
}
.service .license_list{
  margin: 3em 0 0;
}
.service .license_list li{
  position: relative;
}
.service .license_list li a{
  display: block;
  padding: 40px 20px 90px;
  border: 1px solid #ddd;
  border-radius: 20px;
  text-decoration: none;
  transition: 0.3s;
  height: 100%;
}
.service .license_list li a:hover{
	opacity: 0.7;
}
.service .license_list li .image_wrap{
  width: 100%;
  margin: auto;
}
.service .license_list li .image_wrap img{
  display: block;
  margin: 0 auto;
}
.service .license_list li h3{
  color: #279bdd;
  border-bottom: 1px dotted #ddd;
  margin: 30px 0 10px;
  padding: 0.5em 0;
}
.service .license_list li p{
  color: #2b383e;
  font-size: 1.4rem;
  line-height: 1.6;
}
.service .license_list li .btn01{
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  z-index: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  color: #1a99d0;
  font-size: 1.6rem;
  font-weight: 700;
  height: 55px;
  line-height: 1.4;
  padding: 5px 50px;
  text-decoration: none;
  border: 1px solid #1a99d0;
  border-radius: 50px;
  background: #fff url(../images/icon/icon-arrow-b.svg) no-repeat right 15px center;
  background-size: 18px;
}
.service .license_list li .btn01::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: -20px;
  background: url(../images/icon/icon-circle-m-b.svg) no-repeat left center;
  background-size: 100% auto;
}
.service .license_list li .btn01:hover {
  color: #fff;
  background: #1a99d0 url(../images/icon/icon-arrow.svg) no-repeat right 15px center;
  background-size: 18px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.service .license_list li .btn01:hover::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: -20px;
  background: url(../images/icon/icon-circle-m-b-h.svg) no-repeat left center;
  background-size: 100% auto;
}
.service .ms365_lead {
  color: #1066A3;
  font-weight: bold;
  margin: 0 0 1.0rem;
}
.service .ms365_lead span {
  font-size: 2.3rem;
  letter-spacing: 0.1rem;
}
.service .ms365_lead p{
  font-size: 1.8rem;
  line-height: 1.6;
}
.service .number_list{
  padding: 20px 0 0;
}
.service .number_list li{
  position: relative;
  background: #f2faff;
  padding: 40px 20px 30px;
  border-radius: 20px;
}
.service .number_list li:before{
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  color: #279bdd;
  font-family: "Barlow", sans-serif;
  font-size: 4.8rem;
}
.service .number_list li:nth-child(1):before{
  content: "01";
}
.service .number_list li:nth-child(2):before{
  content: "02";
}
.service .number_list li:nth-child(3):before{
  content: "03";
}
.service .number_list h4{
  color: #1066A3;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  margin: 0 0 1.0rem;
}
.service .number_list p{
  line-height: 1.6;
}
.service .number_list small{
  line-height: 1.6;;
}
.service .comparison table tbody td:nth-of-type(1):not(.last){
  background: #FDFFC4;
}
.service .comparison table em{
  font-weight: bold;
  color: #09017F;
}
.service .plan_list li:not(li ul li) {
  padding: 40px 20px 10px;
  border: 1px solid #ddd;
  border-radius: 20px;	
}
.service .plan_list li h4{
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
.service .plan_list li,
.service .plan_list li p{
  font-size: 1.4rem;
  line-height: 1.6;
}
.service .plan_list li .plan_info {
  min-height: calc(1.6em * 18);
}
.service .plan_list li .plan_price {
  color: #279bdd;
  font-size: 4.0rem;
  line-height: 1.6;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  text-align: center;
  border-bottom: 1px dotted #ddd;
  margin: 10px 0 20px;
  padding: 0 0 1.0rem;
}
.service .plan_list li .plan_price span {
  font-size: 2.0rem;
}
.service .plan_list li .plan_price span:last-child {
  color: #2b383e;
  font-size: 1.6rem;
  margin: 0 0 0 10px;
}
.service .plan_list li h5{
  font-size: 1.6rem;
  text-align: center;
  font-weight: bold;
  border-top: 1px dotted #ddd;
  margin: 2.0rem 0;
  padding: 2.0rem 0 0;
}
.service .plan_list li .icon_list {
  text-align: center;
}
.service .plan_list li .icon_list p{
  font-size: 1.2rem;
}
.service .worries_list li:not(li ul li) {
  position: relative;
  display: inline-block;
  padding: 0 20px 20px;
  margin-top: 70px;
  border: 1px solid #ddd;
  border-radius: 10px;
  box-sizing: border-box;
}
.service .worries_list li:not(li ul li):nth-child(3n){
  margin:70px 0 30px 0;
}
.service .worries_list li:not(li ul li) :after{
  content: '';           /* 疑似要素に必須 */
  position: absolute;    /* 相対位置に指定 */
  bottom: 0;             /* 下から0pxの位置に指定。 */
  left: 50%;             /* 左から50%の位置に指定 */
  width: 15px;           /* 四角形の横幅を指定 */
  height: 15px;          /* 四角形の高さを指定 */
  background: #FFF;      /* 背景色を指定 */
  border-right: 1px solid #ddd; /* 右側にborder */
  border-bottom: 1px solid #ddd;/* 下側にborder */
  transform: translate(-50%,55%) rotate(45deg); /* 表示位置を左方向に半分戻し、下方向に移動。かつ45度時計回りに回転 */
  transform-origin:center center; /* 回転の基準位置を中心に指定 */
}
.service .worries_list li .image_wrap{
  width: 120px;
  margin: -70px auto 10px;
}
.service .step_list{
  margin: 50px 0;
}
.service .step_list li:not(li ul li) {
  position: relative;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  margin-left: 40px;
  margin-bottom: 30px;
  padding: 32px 30px 32px 100px;
}
.service .step_list li div:not(.step):not(.text_wrap){
  display: flex;
  align-items: center;
}
.service .step_list li div h5{
  flex: 1;
  color: #1066A3;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding-right: 2.0rem;
}
.service .step_list li div .text_wrap{
  flex: 3;
}
.service .step_list li div .text_wrap h6{
  position: relative;
  font-size: 1.6rem;
  font-weight: bold;
  color: #1066A3;
  border-top: 1px dotted #ddd;
  padding-top: 10px;
  margin-top: 10px;
}
.service .step_list li div .text_wrap p{
  line-height: 1.6;
}
.service .step_list li .step{
  width: 80px;
  height: 80px;
  border-radius: 50px;
  background-color: #1a99d0;
  color: #fff;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-size: 3.5rem;
  line-height: 1;
  text-align: center;
  position: absolute;
  left: -40px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.service .step_list li .step span{
  font-size: 1.4rem;
  display: block;
  padding-top: 16px;
}
.service .netsuite ul.feature li{
	position: relative;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 20px;
}
.service .netsuite ul.feature li .image_wrap{
	width: 120px;
	margin: auto;
}
.service .netsuite ul.feature li p{
	color: #1a99d0;
	text-align: center;
	font-size: 2rem;
	font-weight: 500;
	margin: 0.5em 0 0;
}
.service .flow{
	display: flex;
	flex-wrap: wrap;
	gap:20px;
	counter-reset: number; /* カウンターの初期化 */
	margin: 50px 0 30px;
}
.service .flow li{
	position: relative;
	width: calc((100% - 80px) / 5);
/*	height: 120px;*/
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	border: solid 1px #1a99d0;
	border-radius: 30px;
	padding: 30px 20px;
}
.service .flow li h4{
	font-size: 1.8rem;
	color: #1066A3;
	margin-bottom: 10px;
}
.service .flow li p{
	font-size: 1.6rem;
	line-height: 1.2;
}
.service .flow.col4 li{
	width: calc((100% - 120px) / 4);
}
.service .flow li:before{
	display: block;
    font-family: "Barlow", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    width: 50px;
    height: 50px;
    line-height: 50px;
    counter-increment: number 1;
    content: counter(number);
    position: absolute;
    top: -25px;
    left: 0;
    color: #fff;
    background: #1a99d0;
    border-radius: 50%;
}
.service .item_list{
	display: flex;
	flex-wrap: wrap;
	gap:40px;
}
.service .item_list li{
	width: calc((100% - 80px) / 3);
	display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 30px 20px;
    border: 1px solid #ddd;
    border-radius: 20px;
}
.service.servicenow .lead_wrap {
	margin-bottom: 50px;
}
.service.servicenow .lead_wrap .lead_sub{
	font-size: 2.4rem;
	margin-bottom: 24px;
}
.service.servicenow .lead_wrap p{
	text-align: center;
	font-weight: 600;
}
.service.servicenow .lead_wrap .copy{
	color: #1a99d0;
	font-size: 2.2rem;
}

@media only screen and (max-width: 767px) {
  .service .index_menu li {
    margin: 20px 0; }
    .service .index_menu li > * {
      display: block;
      max-width: 320px;
      border-radius: 20px;
      width: 100%;
      margin: auto; }
      .service .index_menu li > * .image_wrap {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 100%; }
        .service .index_menu li > * .image_wrap .num {
          position: absolute;
          right: -9px;
          bottom: -14px;
          font-size: 15rem; }
          .service .index_menu li > * .image_wrap .num::before {
            content: "Service";
            position: absolute;
            left: 11px;
            bottom: 58px;
            font-size: 1.6rem; }
      .service .index_menu li > * .wrap {
        position: relative;
        width: 100%;
        padding: 10px 15px 70px;
        line-height: 1.8; }
        .service .index_menu li > * .wrap h3 {
          border-radius: 50px 0 0 50px;
          color: #fff;
          line-height: 1.1;
          padding: 13px 20px 13px 80px;
          margin-right: -20px; }
          .service .index_menu li > * .wrap h3.system_development {
            background: #1a99d0 url(../images/icon/icon-system.svg) no-repeat left 30px center; }
          .service .index_menu li > * .wrap h3.consulting {
            background: #1a99d0 url(../images/icon/icon-consulting.svg) no-repeat left 30px center; }
          .service .index_menu li > * .wrap h3.cloud_solutions {
            background: #1a99d0 url(../images/icon/icon-cloud.svg) no-repeat left 30px center; }
          .service .index_menu li > * .wrap h3 span:nth-child(1) {
            font-size: 1.6rem; }
          .service .index_menu li > * .wrap h3 span:nth-child(2) {
            font-size: 1.2rem; }
        .service .index_menu li > * .wrap > p {
          color: #333;
          line-height: 1.5;
          padding: 10px 0 0; }
        .service .index_menu li > * .wrap .btn {
          position: absolute;
          bottom: 20px;
          left: 0;
          right: 0;
          padding: 5px 20px 5px;
          width: 200px;
          font-size: 1.6rem; }
  .service .h_system {
    background: url(../images/illust/illust-system.svg) no-repeat top center;
    background-size: auto 100px;
    padding-top: 105px;
    margin-top: 20px; }
  .service .h_consulting {
    background: url(../images/illust/illust-consulting.svg) no-repeat top center;
    background-size: auto 100px;
    padding-top: 105px;
    margin-top: 20px; }
  .service .h_cloud {
    background: url(../images/illust/illust-cloud.svg) no-repeat top center;
    background-size: auto 100px;
    padding-top: 105px;
    margin-top: 20px; }
  .service .sys_list h3:not(.ttl) {
    width: 100%;
    color: #1a99d0;
    font-size: 1.5rem;
    text-align: center;
    margin: 40px 0 10px;
    padding-top: 65px; }
  .service .sys_list .electric h3 {
    background: url(../images/illust/illust-electric.svg) no-repeat top center;
    background-size: auto 60px; }
  .service .sys_list .water-resources h3 {
    background: url("../images/illust/illust-water-resources.svg") no-repeat top center;
    background-size: auto 60px; }
  .service .sys_list .railway h3 {
    background: url("../images/illust/illust-railway.svg") no-repeat top center;
    background-size: auto 60px; }
  .service .sys_list .automobile h3 {
    background: url("../images/illust/illust-automobile.svg") no-repeat top center;
    background-size: auto 60px; }
  .service .sys_list .logistics h3 {
    background: url(../images/illust/illust-logistics.svg) no-repeat top center;
    background-size: auto 60px; }
  .service .sys_list .image_processing h3 {
    background: url(../images/illust/illust-image_processing.svg) no-repeat top center;
    background-size: auto 60px; }
  .service .sys_list .geography h3 {
    background: url(../images/illust/illust-geography.svg) no-repeat top center;
    background-size: auto 60px; }
  .service .sys_list .communication h3 {
    background: url(../images/illust/illust-communication.svg) no-repeat top center;
    background-size: auto 60px; }
  .service .sys_list .manufacturing h3 {
    background: url(../images/illust/illust-manufacturing.svg) no-repeat top center;
    background-size: auto 60px; }
  .service .sys_list .infrastructure h3 {
    background: url(../images/illust/illust-infrastructure.svg) no-repeat top center;
    background-size: auto 60px; }
  .service .sys_list h4 {
    font-size: 1.3rem; }
  .service .sys_list .wrap {
    border-radius: 20px;
    padding: 15px; }
  .service .sys_list li p {
    line-height: 1.6;
    font-size: 1.2rem; }
  .service .sys_list .btn01 {
    margin: 20px 0 0; }
.service .license_list{
	margin: 2em 0;	
}
.service .license_list li q{
  margin: 0 0 10px;
  padding: 40px 20px 80px;
}
.service .license_list li .image_wrap {
  width: 80%;
}
.service .license_list li h3{
  margin: 10px 0;
}
.service .number_list{
  padding: 20px 0 0;
}
.service .number_list li{
  padding: 50px 15px 20px;
  border-radius: 20px;
}
.service .number_list li:before{
  top: 10px;
  font-size: 2.4rem;
}
.service .number_list h4{
  font-size: 1.6rem;
}
.service .number_list p{
  line-height: 1.6;
}
.service .comparison{
  overflow: auto;
  width: 100%;
  
}
.service .comparison table{
  margin: 0;
  border-spacing: 0;		
}
.service .comparison table th:nth-of-type(1){
 width: 25%;
}
.service .comparison table td:nth-of-type(1){
 width: 37.5%;
}
.service .comparison table td:nth-of-type(2){
 width: 37.5%;
}
.service .comparison table
.service .comparison td{
}

.service .plan_list li h4{
  font-size: 1.6rem;
}
.service .plan_list li .plan_info {
  min-height: 0;
}
.service .plan_list li .plan_price {
  font-size: 3.2rem;
  margin: 10px 0;
}
.service .plan_list li .plan_price span {
  font-size: 1.4rem;
}
.service .plan_list li .plan_price span:last-child {
  color: #2b383e;
  font-size: 1.2rem;
  margin: 0 0 0 10px;
}
.service .plan_list li .icon_list li img{
  width: 40%;
  height: auto;
}
.service .worries_list li:not(li ul li) {
  margin-top: 50px;
}
.service .worries_list li:not(li ul li):nth-child(2n){
  margin:70px 0 10px 0;
}
.service .worries_list li:not(li ul li):nth-child(3n){
  margin:70px 0 40px 0;
}
.service .worries_list li:not(li ul li) :after{
  content: '';           /* 疑似要素に必須 */
  position: absolute;    /* 相対位置に指定 */
  bottom: 0;             /* 下から0pxの位置に指定。 */
  left: 50%;             /* 左から50%の位置に指定 */
  width: 15px;           /* 四角形の横幅を指定 */
  height: 15px;          /* 四角形の高さを指定 */
  background: #FFF;      /* 背景色を指定 */
  border-right: 1px solid #ddd; /* 右側にborder */
  border-bottom: 1px solid #ddd;/* 下側にborder */
  transform: translate(-50%,55%) rotate(45deg); /* 表示位置を左方向に半分戻し、下方向に移動。かつ45度時計回りに回転 */
  transform-origin:center center; /* 回転の基準位置を中心に指定 */
}
.service .worries_list li .image_wrap{
  width: 35%;
  margin: -50px auto 10px;
}
.service .step_list{
  margin: 60px 0;	
}
.service .step_list li:not(li ul li) {
  margin-left: 0;
  margin-bottom: 50px;
  padding: 50px 20px 30px;
}
.service .step_list li div:not(.step):not(.text_wrap){
  display: block;
}
.service .step_list li div h5{
  font-size: 1.5rem;
  padding-right: 0;
  margin-bottom: 10px;
  text-align: center;
}
.service .step_list li div .text_wrap h6{
  font-size: 1.4rem;
}
.service .step_list li .step{
  width: 70px;
  height: 70px;
  font-size: 3.2rem;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}
.service .step_list li .step span{
  padding-top: 13px;
}
  .service .netsuite ul.feature li .image_wrap{
  	width: 100px;
  	margin: auto;
  }
  .service .netsuite ul.feature li p{
  	font-size: 1.6rem;
  	margin: 0.3em 0 0;
	}
.service .flow{
	gap:20px;
	margin: 30px 0;
}
.service .flow li,
.service .flow.col4 li{
	display: flex;
	align-items: flex-start;
	width: 100%;
/*	height: 50px;*/
	padding: 10px 10px 10px 50px;
}
.service .flow li h4{
	font-size: 1.4rem;
	margin-bottom: 0;
}
.service .flow li p{
	font-size: 1.3rem;
}
.service .flow li:before{
    font-size: 1.3rem;
    width: 30px;
    height: 30px;
    line-height: 30px;
    top: 50%;
  	transform: translateY(-50%);
    left: 10px;
    border-radius: 50%;
}
.service .item_list{
	gap:10px;
}
.service .item_list li{
	width: 100%;
    padding: 30px 20px 20px;
    border-radius: 20px;
}
.service .item_list li figure{
	width: 80px;
}
.service .license_list li .btn01{
position: absolute;
bottom: 20px;
left: 0;
right: 0;
margin: auto;
text-align: center;
font-size: 1.3rem;
padding: 0 40px;
text-decoration: none;
border: 1px solid #1a99d0;
border-radius: 50px;
background: #fff url(../images/icon/icon-arrow-b.svg) no-repeat right 15px center;
background-size: 18px;
min-width: 150px;
height: 45px;
}
.service .license_list li .btn01::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: -15px;
    background: url(../images/icon/icon-circle-m-b.svg) no-repeat left center;
    background-size: 100% auto;
}
.service .license_list li .btn01:hover {
    color: #fff;
    background: #1a99d0 url(../images/icon/icon-arrow.svg) no-repeat right 15px center;
    background-size: 18px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.service .license_list li .btn01:hover::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: -15px;
    background: url(../images/icon/icon-circle-m-b-h.svg) no-repeat left center;
    background-size: 100% auto;
}
.service.servicenow .lead_wrap {
	margin-bottom: 24px;
}
.service.servicenow .lead_wrap .lead_sub{
	font-size: 1.6rem;
	margin-bottom: 16px;
}
.service.servicenow .lead_wrap p{
	text-align: center;
}
.service.servicenow .lead_wrap .copy{
	color: #1a99d0;
	font-size: 1.5rem;
}
}

/*-------------- products ---------------*/
.products .index_menu_col3 {
  display: flex;
  flex-wrap: wrap; }
  .products .index_menu_col3 li {
    width: calc((100% - 30px) / 3);
    margin: 0 15px 15px 0; }
    .products .index_menu_col3 li:nth-child(3n) {
      margin: 0 0 15px 0; }
    .products .index_menu_col3 li > * {
      height: 100%;
      display: block;
      color: #fff;
      background: #bfdff5;
      border-radius: 20px;
      overflow: hidden;
      text-decoration: none; }
      .products .index_menu_col3 li > *:hover {
        opacity: 0.7;
        transition: 0.3s; }
      .products .index_menu_col3 li > * .image_wrap {
        padding: 0; }
        .products .index_menu_col3 li > * .image_wrap img {
          width: 100%;
          height: auto; }
      .products .index_menu_col3 li > * .wrap {
        position: relative;
        width: 100%;
        padding: 0 0 100px;
        line-height: 1.5; }
        .products .index_menu_col3 li > * .wrap h3 {
          background: #1a99d0;
          padding: 10px;
          text-align: center;
          line-height: 1.3; }
          .products .index_menu_col3 li > * .wrap h3 span:nth-child(1) {
            font-size: 2rem; }
        .products .index_menu_col3 li > * .wrap > p {
          color: #333;
          line-height: 1.6;
          padding: 20px 20px 0; }
        .products .index_menu_col3 li > * .wrap .btn {
          position: absolute;
          bottom: 30px;
          left: 0;
          right: 0;
          display: block;
          color: #1a99d0;
          padding: 8px 30px 8px;
          border-radius: 50px;
          width: 200px;
          text-align: center;
          margin: auto;
          font-size: 1.8rem;
          font-family: "Barlow Condensed", sans-serif;
          background: #fff url(../images/icon/icon-arrow-b.svg) no-repeat center right 20px; }
.products .co2_measure h2 {
  background: url(../images/illust/illust-co2.svg) no-repeat top center;
  background-size: 140px;
  padding-top: 130px;
  margin-top: 100px; }
.products .co2_measure_lead{
  color: #1066A3;
  text-align: center;
}
.products .co2_measure_lead span{
  background: linear-gradient(to bottom, #00A8FF 0%, #1066A3 100%);
  -webkit-background-clip: text;
  color: transparent;
  display: block;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-size: 4.0rem;
  letter-spacing: 0.1em;
}
.products .co2_measure_lead p{
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.5;
}
.products .topics_area{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.products .topics_area li{
  width: calc(100% / 2 - 20px);
}
.products .topics_area li a{
  display: flex;
  text-decoration: none;
}
.products .topics_area li a:hover{
	opacity: 0.7;
	transition: 0.3s;
}
.products .topics_area li a .image_wrap{
  padding-top:0; 
}
.products .topics_area li a .text_wrap{
  margin: 0 0 0 20px; 
}
.products .topics_area li a .text_wrap span{
  display: block;
  background-color: #b7e0ef;
  color: #1066A3;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: bold;
  padding: 2px 10px;
  margin: 0 0 10px;
}
.products .topics_area li a .text_wrap h5{
  font-size: 1.8rem;
  font-weight: bold;
}
.products .topics_area li a .text_wrap p{
  line-height: 1.5;
  color: #2b383e;
}
.products .display li{
  position: relative;
}
.products .display li .display_label{
  position: absolute;
  top: 10px;
  left: -3%;
  background-color: #FFF200;
  color: #1066A3;
  font-weight: bold;
  padding: 5px 20px;
}
.products .gauge01,
.products .gauge02,
.products .gauge03,
.products .gauge04,
.products .gauge05 {
  display: inline-block;
  vertical-align: middle;
  width: 200px;
  height: 25px;
  margin: 0 20px 0 0;
}
.products .gauge01{
  background-color: #7c007c;
}
.products .gauge02{
  background-color: #fe0000;
}
.products .gauge03{
  background-color: #fda600;
}
.products .gauge04{
  background-color: #0afe4f;
}
.products .gauge05{
  background-color: #0001fb;
}
.products .connection ul {
  display: flex;
  flex-wrap: wrap; }
  .products .connection ul li {
    width: calc(100% / 3 - 10px);
    margin: 5px; }
    .products .connection ul li a {
      display: block;
      background: #f2faff url(../images/icon/icon_blank.svg) no-repeat right 15px center;
      padding: 15px 35px 15px 15px;
      height: 100%;
      text-decoration: none;
      border-radius: 15px; }
      .products .connection ul li a:hover {
        opacity: 0.7;
        transform: 0.3s; }
      .products .connection ul li a h4 {
        font-size: 1.4rem;
        color: #333;
        text-align: center;
        border-radius: 20px;
        line-height: 1.4; }
      .products .connection ul li a p {
        font-size: 1.4rem;
        color: #333;
        line-height: 1.5;
        padding: 5px  0 0; }
.products .socket_debugger h2 {
  color: #1a99d0;
  font-size: 2.4rem;
  text-align: center;
  padding: 150px 0 20px;
  margin-top: 100px;
  background: url(../images/illust/illust-socket-debugger.svg) no-repeat top center;
  background-size: 100px; }
.products .socket_debugger .btn01 a {
  background: #fff url(../images/icon/icon_blank.svg) no-repeat right 15px center; }
  .products .socket_debugger .btn01 a:hover {
    background: #1a99d0 url(../images/icon/icon_blank_w.svg) no-repeat right 15px center; }
.products .timeline {
  display: flex;
  flex-wrap: wrap;
  border-top: 4px solid #c3ddea;
  border-bottom: 4px solid #c3ddea;
  margin: 50px 0; }
  .products .timeline dt {
    text-align: right;
    color: #1a99d0;
    font-weight: 700;
    width: 40%;
    padding: 50px 0 50px 0; }
    .products .timeline dt p::after {
      content: "";
      width: 100px;
      height: 5px;
      background: #c3ddea;
      display: inline-block;
      margin: 0 0 5px 20px;
      border-radius: 5px 0 0  5px; }
  .products .timeline dd {
    position: relative;
    border-left: 20px solid #c3ddea;
    width: 60%;
    padding: 50px 0 50px 50px; }
    .products .timeline dd img {
      display: block;
      border-radius: 20px; }
    .products .timeline dd p {
      padding: 1em 0 0; }
.products .introduction_example {
  display: flex;
  margin-top: 30px; }
  .products .introduction_example li {
    text-align: center;
    padding: 30px 20px;
    border: 1px solid #bfdff5;
    border-radius: 20px; }
    .products .introduction_example li img {
      margin-top: 20px; }
    .products .introduction_example li span {
      font-weight: 700; }

@media only screen and (max-width: 767px) {
  .products .index_menu_col3 {
    display: block; }
    .products .index_menu_col3 li {
      width: 100%;
      max-width: 320px;
      margin: 0 auto 15px; }
      .products .index_menu_col3 li:nth-child(3n) {
        margin: 0 auto 15px; }
      .products .index_menu_col3 li > * {
        display: block;
        color: #fff;
        border-radius: 20px;
        overflow: hidden;
        text-decoration: none; }
        .products .index_menu_col3 li > *:hover {
          opacity: 0.7;
          transition: 0.3s; }
        .products .index_menu_col3 li > * .image_wrap img {
          width: 100%;
          height: auto; }
        .products .index_menu_col3 li > * .wrap {
          position: relative;
          width: 100%;
          padding: 0 0 70px;
          line-height: 1.8; }
          .products .index_menu_col3 li > * .wrap h3 {
            line-height: 1.3; }
            .products .index_menu_col3 li > * .wrap h3 span:nth-child(1) {
              font-size: 1.6rem; }
          .products .index_menu_col3 li > * .wrap > p {
            padding: 10px 10px 0;
            line-height: 1.5; }
          .products .index_menu_col3 li > * .wrap .btn {
            position: absolute;
            bottom: 20px;
            left: 0;
            right: 0;
            padding: 5px 20px 5px;
            width: 200px;
            font-size: 1.6rem; }
  .products .gauge01,
  .products .gauge02,
  .products .gauge03,
  .products .gauge04,
  .products .gauge05 {
    width: 100px;
  }
  .products .connection ul {
    display: block; }
    .products .connection ul li {
      width: 100%;
      margin: 0 0 10px; }
      .products .connection ul li a p {
        font-size: 1.2rem; }
  .products .co2_measure h2 {
    font-size: 1.5rem;
    margin: 50px 0 30px;
    background: url(../images/illust/illust-co2.svg) no-repeat top center;
    background-size: 110px;
    padding-top: 100px; }
  .products .co2_measure_lead span{
    font-size: 2.5rem;
    letter-spacing: 0.05em;
  }
  .products .co2_measure_lead p{
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .products .topics_area{
    display: block;
	margin: 30px 0 10px;
  }
  .products .topics_area li{
    width: 100%;
	margin: 0 0 10px;
  }
  .products .topics_area li a .image_wrap{
    width: 30%; 
  }
  .products .topics_area li a .text_wrap{
	display: block;
	width: 68%;
	margin: 0 0 0 10px;
  }
  .products .topics_area li a .text_wrap span{
    margin: 0 0 5px;
  }
  .products .topics_area li a .text_wrap h5{
    font-size: 1.5rem;
  }
  .products .topics_area li a .text_wrap p{
    display: none;
  }
	
  .products .socket_debugger h2 {
    font-size: 1.5rem;
    margin: 50px 0 30px;
    padding: 110px 0 15px;
    background: url(../images/illust/illust-socket-debugger.svg) no-repeat top center;
    background-size: 80px; }
    .products .socket_debugger h2::after {
      content: "";
      width: 60px;
      height: 3px; }
  .products .socket_debugger .btn01 a {
    background: #fff url(../images/icon/icon_blank.svg) no-repeat right 15px center; }
    .products .socket_debugger .btn01 a:hover {
      background: #1a99d0 url(../images/icon/icon_blank_w.svg) no-repeat right 15px center; }
  .products .timeline {
    display: block;
    border-top: 4px solid #c3ddea;
    border-bottom: 4px solid #c3ddea;
    margin: 30px 0; }
    .products .timeline dt {
      text-align: left;
      width: 100%;
      padding: 20px 0 0 20px;
      border-left: 20px solid #c3ddea; }
      .products .timeline dt p {
        margin-left: -30px; }
      .products .timeline dt p::before {
        content: "";
        width: 60px;
        height: 5px;
        background: #c3ddea;
        display: inline-block;
        margin: 0 20px 2px 0;
        border-radius: 0 5px 5px 0; }
      .products .timeline dt p::after {
        display: none; }
    .products .timeline dd {
      position: relative;
      width: 100%;
      padding: 20px 0 20px 20px; }
      .products .timeline dd img {
        display: block;
        border-radius: 15px; } }
/*-------------- csr ---------------*/
.csr .iframe_wrap{
	height: auto;
}
.csr #thought {
  margin: 70px 0 0; }
  .csr #thought h2 {
    background: linear-gradient(to bottom, #1f3759 0%, #1e81b2 100%);
    -webkit-background-clip: text;
    color: transparent;
    margin: 0 0 30px;
    text-align: center;
    font-size: 2.8rem;
    letter-spacing: 0.1em; }
    .csr #thought h2::before {
      content: "";
      display: inline-block;
      width: 100px;
      height: 1px;
      background: #1a99d0;
      margin-right: 1em;
      margin-bottom: 0.3em; }
    .csr #thought h2::after {
      content: "";
      display: inline-block;
      width: 100px;
      height: 1px;
      background: #1a99d0;
      margin-left: 1em;
      margin-bottom: 0.3em; }
  .csr #thought p {
    text-align: center;
    font-size: 2rem;
    line-height: 2.5;
    letter-spacing: 0.1em; }
.csr #arena h2 {
  background: url(../images/illust/illust-arena.svg) no-repeat top center;
  background-size: 160px;
  padding-top: 175px;
  margin-top: 100px; }
.csr #hall h2 {
  background: url(../images/illust/illust-hall.svg) no-repeat top center;
  background-size: 160px;
  padding-top: 120px;
  margin-top: 100px; }
.csr #sports h2 {
  background: url(../images/illust/illust-sports.svg) no-repeat top center;
  background-size: 160px;
  padding-top: 120px;
  margin-top: 100px; }
.csr #sports ul.sponser_list {
  margin: 3em 0 0; }
  .csr #sports ul.sponser_list li {
    position: relative;
    padding: 20px 20px 85px;
    border: 1px solid #ddd;
    border-radius: 20px; }
    .csr #sports ul.sponser_list li h3 {
      border-bottom: 1px dotted #ddd;
      margin: 1em 0;
      padding: 0.5em 0; }
      .csr #sports ul.sponser_list li h3 span:nth-child(1) {
        line-height: 1;
        display: block;
        font-size: 1.6rem; }
      .csr #sports ul.sponser_list li h3 span:nth-child(2) {
        color: #1a99d0;
        font-family: "Barlow Condensed", sans-serif;
        display: block;
        font-size: 1.4rem; }
    .csr #sports ul.sponser_list li .image_wrap {
      width: 200px;
      margin: auto; }
    .csr #sports ul.sponser_list li p {
      font-size: 1.4rem;
      line-height: 1.6; }
    .csr #sports ul.sponser_list li .btn01 {
      position: absolute;
      bottom: 20px;
      left: 0;
      right: 0;
      margin: auto; }
.csr #contribution h2 {
  background: url(../images/illust/illust-contribution.svg) no-repeat top center;
  background-size: 160px;
  padding-top: 120px;
  margin-top: 100px; }
.csr #contribution .contribution_list {
  margin: 2em 0 0; }
  .csr #contribution .contribution_list li {
    text-align: center;
    font-weight: 700;
    border: 2px dotted #c3ddea;
    border-radius: 50px;
    padding: 10px; }
.csr #competition h2 {
  background: url(../images/illust/illust-competition.svg) no-repeat top center;
  background-size: 80px;
  padding-top: 150px;
  margin-top: 100px; }
.csr #covid h2 {
  background: url(../images/illust/illust-consulting.svg) no-repeat top center;
  background-size: 170px;
  padding-top: 150px;
  margin-top: 100px; }

@media only screen and (max-width: 767px) {
  .csr #thought {
    margin: 20px 0 30px; }
    .csr #thought h2 {
      margin: 0 0 20px;
      font-size: 1.6rem;
      font-weight: 700; }
      .csr #thought h2::before {
        content: "";
        width: 30px;
        margin-right: 8px; }
      .csr #thought h2::after {
        content: "";
        width: 30px;
        margin-left: 8px; }
    .csr #thought p {
      padding: 0 10px;
      text-align: left;
      font-size: 1.4rem;
      line-height: 2; }
    .csr #thought::after {
      content: "";
      width: 150px;
      height: 15px;
      background-size: 150px 15px;
      margin: 50px auto 0; }
  .csr #arena h2 {
    background: url(../images/illust/illust-arena.svg) no-repeat top center;
    background-size: 120px;
    padding-top: 130px;
    margin-top: 50px; }
  .csr #arena .iframe_wrap{
    height: 300px;}
  .csr #arena iframe {
    height: 300px; }
  .csr #sports h2 {
    background: url(../images/illust/illust-sports.svg) no-repeat top center;
    background-size: 120px;
    padding-top: 85px;
    margin-top: 50px; }
  .csr #sports ul.sponser_list {
    margin: 2em 0; }
    .csr #sports ul.sponser_list li h3 {
      margin: 1em 0; }
      .csr #sports ul.sponser_list li h3 span:nth-child(1) {
        font-size: 1.4rem; }
      .csr #sports ul.sponser_list li h3 span:nth-child(2) {
        font-size: 1.2rem; }
    .csr #sports ul.sponser_list li p {
      line-height: 1.5; }
    .csr #sports ul.sponser_list li .btn01 {
      position: absolute;
      bottom: 20px;
      left: 0;
      right: 0;
      margin: auto; }
  .csr #contribution h2 {
    background: url(../images/illust/illust-contribution.svg) no-repeat top center;
    background-size: 120px;
    padding-top: 85px;
    margin-top: 50px; }
  .csr #contribution .contribution_list {
    margin: 2em 0 0; }
    .csr #contribution .contribution_list li {
      text-align: center;
      font-weight: 700;
      border: 2px dotted #c3ddea;
      border-radius: 50px;
      padding: 10px; }
  .csr #competition h2 {
    background: url(../images/illust/illust-competition.svg) no-repeat top center;
    background-size: 55px;
    padding-top: 100px;
    margin-top: 50px; } 
  .csr #covid h2 {
    background: url(../images/illust/illust-consulting.svg) no-repeat top center;
    background-size: 130px;
    padding-top: 110px;
    margin-top: 50px; }}
/*-------------- company ---------------*/
.company .adr {
  line-height: 1.5;
  margin: 0 0 1em; }
.company .map .iframe_wrap {
  width: 100%;
  height: 400px; }
.company dl.executive {
  display: flex;
  flex-wrap: wrap;}
  .company dl.executive dt {
      width: 18rem;
      padding: 0;}
  .company dl.executive dd {
      width: calc(100% - 18rem);
      padding: 0;}
.company #qualification ul.list_d li{
	margin: 0 0 0.5em;
}
.company ul.column3{
column-count: 3;
column-gap: 50px;
}

/*社員保有資格例*/
.company .license_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 48px;
}
.company .license_list > div {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 2px 0;
}
.company .license_list dt {
  position: relative;
  padding: 0 1em;
  font-weight: 500;
  line-height: 1.2;
}

/* 「・」をCSSで付ける */
.company .license_list dt::before {
  content: "・";
  position: absolute;
  left: 0;
}

.company .license_list dd {
  margin: 0;
  white-space: nowrap;
  text-align: right;
  line-height: 1.2;
}
.company .license_list {
  margin: 0;
}
.company .license_list div + div {
  margin-top: 2px;
}

@media only screen and (max-width: 767px) {
.company .map .iframe_wrap {
  height: 200px; }
.company dl.executive {
  display: block;}
  .company dl.executive dt {
      width: 100%;}
  .company dl.executive dd {
    width: 100%;
    margin-block-end: 10px;}
.company ul.column3{
column-count: 1;
column-gap: 0;
}
.company .license_wrap {
grid-template-columns: 1fr;
column-gap: 0;
}
}
/*-------------- recruit ---------------*/
.recruit .bw01,
.recruit .bw02,
.recruit .bw03{
  position: relative;
  width: 1920px;
  padding: 80px 0;
  margin: 0;
  transform: translateX(-380px);
}
.recruit .bw01{
  background: #fff;
}
.recruit .bw02{
  background: #f1f9fe;
}
.recruit .bw03{
  background: #e3f4ff;
}
.recruit .bw01 > .inner,
.recruit .bw02 > .inner,
.recruit .bw03 > .inner{
  width: 1200px;
  margin: auto;
  padding: 0 40px;
}
.recruit .bw01 h2,
.recruit .bw02 h2,
.recruit .bw03 h2{
  display: block;
  color: #1a99d0;
  font-size: 3.2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0 0 60px 0;
  padding: 60px 0 63px;
}
.recruit .bw01 h2{
  background: url(../images/icon/icon-h2-circle02.svg) no-repeat top center;
  background-size: auto 100%;
}
.recruit .bw02 h2,
.recruit .bw03 h2{
  background: url(../images/icon/icon-h2-circle01.svg) no-repeat top center;
  background-size: auto 100%;
}
.recruit ul.slide_member {
  width: 1080px;
  margin: auto; }
  .recruit ul.slide_member .slick-prev:before, .recruit ul.slide_member .slick-next:before {
    width: 100px;
    height: 100px;
    background-size: 100% auto; }
  .recruit ul.slide_member .slick-prev {
    top: 0;
    bottom: 0;
    left: -50px;
    margin: auto; }
  .recruit ul.slide_member .slick-next {
    top: 0;
    bottom: 0;
    right: -50px;
    margin: auto; }
  .recruit ul.slide_member .slick-arrow {
    transition: 0.1s; }
  .recruit ul.slide_member .slick-arrow:hover {
    transition: 0.1s;
    transform: scale(1.1); }
  .recruit ul.slide_member li a {
    position: relative;
    display: block;
    width: 320px;
    margin: auto;
    text-align: center;
    text-decoration: none; }
    .recruit ul.slide_member li a:hover img {
      transition: 0.3s;
      border: 20px solid #b9e3ff; }
    .recruit ul.slide_member li a:hover .type {
      color: #1a99d0;
      background: #fff;
      transition: 0.3s; }
    .recruit ul.slide_member li a img {
      width: 100%;
      height: auto;
      border-radius: 50%;
      border: 20px solid #fff;
      transition: 0.3s; }
    .recruit ul.slide_member li a p {
      margin-top: 10px;
	  font-size: 2rem;
	  color: #2b383e; }
	.recruit ul.slide_member li a p span{
	  color: #1a99d0;}
/*
      .recruit ul.slide_member li a p .type {
        display: inline-block;
        color: #1a99d0;
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 1;
        padding: 12px 20px;
        background: #fff;
        border-radius: 30px;
        transition: 0.3s; }
      .recruit ul.slide_member li a p .name {
        color: #000000;
        display: block;
        font-size: 1.8rem;
        font-weight: bold; }
*/
.recruit .intro {
  margin: 20px 0 50px; }
  .recruit .intro > * {
    width: 100%; }
  .recruit .intro .image_wrap {
    margin-left: -40px; }
    .recruit .intro .image_wrap img {
      border-radius: 0 50px 50px 0; }
  .recruit .intro .text_wrap {
    width: 100%;
    padding: 0 0 0 50px; }
    .recruit .intro .text_wrap .lead {
      width: 100%;
      display: block;
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.8;
      text-align: left;
      padding: 20px 0;
      margin: 0 0 20px;
      border-bottom: 4px dotted #bfdff5;
      background: none; }
    .recruit .intro .text_wrap .name {
      font-size: 1.6rem;
      font-weight: 700;
      margin-left: 0.5em; }
    .recruit .intro .text_wrap .type {
      width: calc(100% + 60px );
      display: inline-block;
      color: #FFF;
      background: #1a99d0;
      text-align: center;
      border-radius: 30px 0 0 30px;
      padding: 10px 30px 10px 50px;
      margin: 50px 0 0 -20px; }
    .recruit .intro .text_wrap .career {
      font-size: 1.6rem;
      line-height: 1.8;
      font-weight: 700;
      margin: 0 0 30px; }
    .recruit .intro .text_wrap .prof {
      font-size: 1.4rem;
      line-height: 1.8;
      margin: 0 0 30px; }
    .recruit .intro .text_wrap p {
      line-height: 1.5; }
.recruit .catch {
  position: relative;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 50px 0 50px;
  padding: 0 0 30px; }
.recruit .voice {
  padding: 40px;
  border-radius: 40px;
  margin: 10px 0 50px; }
.recruit .voice:nth-child(even) {
  background: #fff;}
.recruit .voice:nth-child(odd) {
  background: #f6fbff;}
  .recruit .voice h2 {
    margin: 0 0 70px; }
  .recruit .voice .image_wrap {
    position: relative;
    z-index: 1; }
    .recruit .voice .image_wrap img {
      border-radius: 20px;
      box-shadow: 6px 6px 0px #dbebf6; }
.recruit .member_list ul li a {
  color: #333;
  display: block;
  border: 1px solid #bfdff5;
  border-radius: 20px;
  padding: 15px;
  text-decoration: none;
  height: 100%; }
  .recruit .member_list ul li a:hover {
    opacity: 0.7;
    transition: 0.3s; }
  .recruit .member_list ul li a img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 15px; }
  .recruit .member_list ul li a h3 {
    line-height: 1.5;
    padding: 0.5em 0  1em; }
    .recruit .member_list ul li a h3 .type {
      display: block;
      color: #FFF;
      background: #1a99d0;
      border-radius: 20px;
      padding: 5px 20px;
      margin-bottom: 0.5em;
      font-size: 1.4rem;
      text-align: center; }
    .recruit .member_list ul li a h3 .name {
      display: block;
      text-align: center;
      font-size: 1.8rem; }
  .recruit .member_list ul li a p {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: 0; }
  .recruit #member{
	text-align: center;
  }
    .recruit #member h2{
	  position: relative;
	  background: none;
      display: inline-block;
      margin: 0 0 20px;
      padding: 0;}
    .recruit #member h2::before {
      content: "";
      position: absolute;
      bottom: 10px;
      left: -35px;
      z-index: 1;
      width: 63px;
      height: 154px;
      background: url(../images/illust/illust-recruit03.svg) no-repeat; }
    .recruit #member h2::after {
      content: "";
      position: absolute;
      bottom: 10px;
      right: -35px;
      z-index: 1;
      width: 63px;
      height: 154px;
      background: url(../images/illust/illust-recruit04.svg) no-repeat; }
      .recruit #member h2 p {
        position: relative;
        display: inline-block;
        text-decoration: none;
        text-align: center; }
      .recruit #member h2 p::before {
        display: block;
        content: "Member";
        line-height: 1;
        color: #f1f8fb;
        font-size: 24rem;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700; }
        .recruit #member h2 p span {
          position: absolute;
          top: 140px;
          left: 50%;
          transform: translateX(-50%);
          white-space: nowrap;
          margin: auto;
          padding-bottom: 5px;
          display: inline-block;
          color: #1a99d0;
          text-decoration: none;
          font-size: 2.4rem;
          line-height: 1;
          font-weight: bold;
          border-bottom: 1px solid #1a99d0; }
.recruit #training .inner .training_list{
  margin: 50px 0; }
  .recruit #training .inner .training_list > li {
    font-size: 1.4rem;
    border-radius: 20px;
    background: #f6fbff;
    padding: 20px;
    border: 1px dotted #b9e3ff; }
    .recruit #training .inner .training_list > li h5 {
      color: #1a99d0;
      font-size: 1.8rem;
      display: block;
      border-radius: 30px;
      padding: 5px 10px;
      text-align: center;
      margin-bottom: 1em; }
    .recruit #training .inner .training_list > li P {
      line-height: 1.6; }
      .recruit #training .inner table tbody th {
        padding: 20px 26px }
.recruit #environment .inner .environment_list {
  margin: 50px 0; }
  .recruit #environment .inner .environment_list > li {
    font-size: 1.4rem;
    border-radius: 20px;
    background: #f6fbff;
    padding: 20px;
    border: 1px dotted #b9e3ff; }
    .recruit #environment .inner .environment_list > li h5 {
      color: #1a99d0;
      font-size: 1.8rem;
      display: block;
      border-radius: 30px;
      padding: 5px 10px;
      text-align: center;
      margin-bottom: 1em; }
    .recruit #environment .inner .environment_list > li P {
      line-height: 1.6; }
.recruit #faq {
  position: relative;
  background: #fff;
  margin: 0;
  padding: 50px 0 100px; }
  .recruit #faq h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    color: #1a99d0;
    font-size: 2.4rem;
    text-align: center;
    margin: 20px auto 50px;
    background: url(../images/icon/icon-h2-circle02.svg) no-repeat top center;
    background-size: 200px; }
  .recruit #faq .inner {
    width: 1160px;
    margin: auto; }
    .recruit #faq .inner dl {
      padding-top: 20px; }
      .recruit #faq .inner dl dt {
        font-size: 1.8rem;
        font-weight: 700;
        background: url(../images/icon/icon-q.svg) no-repeat left 10px center;
        background-size: 30px auto;
        border-radius: 30px;
        padding: 10px 0 10px 55px; }
      .recruit #faq .inner dl dd {
        border-bottom: 1px dotted #c3ddea;
        background: url(../images/icon/icon-a.svg) no-repeat left 10px top 5px;
        background-size: 30px auto;
        padding-left: 55px;
        padding-bottom: 20px;
        margin-bottom: 20px; }

@media only screen and (max-width: 767px) {
  .recruit .bw01,
  .recruit .bw02,
  .recruit .bw03{
    width: calc(100% + 50px);
	transform: initial;
	margin: 0 0 0 -25px;
	padding: 30px 20px 30px;
  }
    .recruit .bw01 > .inner,
    .recruit .bw02 > .inner,
    .recruit .bw03 > .inner{
      width: 100%;
      margin: auto;
      padding: 0;
    }
      .recruit .bw01 h2,
      .recruit .bw02 h2,
      .recruit .bw03 h2{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #1a99d0;
        font-size: 1.6rem;
        margin: 0 0 30px;
        padding: 0;
		min-width: 90px;
		min-height: 80px;
      }
      .recruit .bw01 h2{
        background: url(../images/icon/icon-h2-circle02.svg) no-repeat top center;
        background-size: auto 80px;
      }
      .recruit .bw02 h2,
      .recruit .bw03 h2{
        background: url(../images/icon/icon-h2-circle01.svg) no-repeat top center;
        background-size: auto 80px;
      }
.recruit #member ul {
  max-width: 380px;
  width: 100%;
  padding: 0 10px;
  margin: auto; }
  .recruit #member ul .slick-prev:before, .recruit #member ul .slick-next:before {
    width: 60px;
    height: 60px; }
  .recruit #member ul .slick-prev {
    top: 0;
    bottom: 0;
    left: -15px;
    margin: auto; }
  .recruit #member ul .slick-next {
    top: 0;
    bottom: 0;
    right: -15px;
    margin: auto; }
  .recruit #member ul .slick-arrow:hover {
    opacity: 0.7;
    transform: scale(1); }
  .recruit #member ul li a {
    position: relative;
    display: block;
    width: 100%;
    margin: auto;
    text-align: center;
    text-decoration: none; }
    .recruit #member ul li a:hover img {
      transition: 0.3s;
      border: 20px solid #dff2fa; }
    .recruit #member ul li a:hover .type {
      color: #1a99d0;
      background: #dff2fa;
      transition: 0.3s; }
	.recruit #member ul li a p {
      margin-top: -10px;
	  font-size: 1.6rem;}
  .recruit .intro {
    display: block;
    margin-top: 20px;
    margin-bottom: 0;
    padding-bottom: 15px;
    background-size: 150px 15px; }
    .recruit .intro .image_wrap {
      width: calc(100% + 15px);
      margin-left: -15px; }
      .recruit .intro .image_wrap img {
        border-radius: 0 20px 20px 0; }
    .recruit .intro .text_wrap {
      width: 100%;
      padding: 20px 0 0 0; }
      .recruit .intro .text_wrap .lead {
        font-size: 1.5rem;
        line-height: 1.6;
        padding: 10px 0 20px;
        margin: 0 0 15px;
        border-bottom: 3px dotted #bfdff5; }
      .recruit .intro .text_wrap .name {
        font-size: 1.4rem; }
      .recruit .intro .text_wrap .type {
        width: calc(100% + 15px);
        display: inline-block;
        color: #FFF;
        background: #1a99d0;
        text-align: center;
        border-radius: 30px 0 0 30px;
        padding: 10px 30px 10px 30px;
        margin: 0 -15px 0 0; }
      .recruit .intro .text_wrap .career {
        font-size: 1.4rem;
        line-height: 1.6;
        margin: 0 0 10px; }
      .recruit .intro .text_wrap .prof {
        font-size: 1.4rem;
        line-height: 1.6;
        margin: 0; }
  .recruit .voice {
    padding: 15px 15px 25px;
    margin: 20px 0 35px;
    border-radius: 20px; }
    .recruit .voice h2 {
      margin: 0 0 30px; }
    .recruit .voice .text_wrap {
      padding: 0 0 20px; }
      .recruit .voice .text_wrap p br {
        display: none; }
    .recruit .voice .image_wrap {
      position: relative;
      z-index: 1;
      margin: auto; }
      .recruit .voice .image_wrap img {
        display: block;
        width: calc(100% - 20px);
        margin: auto;
        border-radius: 15px;
        box-shadow: 4px 4px 0px #dbebf6; }
    .recruit #member{
      text-align: center;}
    .recruit #member h2{
	  position: relative;
      display: inline-block;
      margin: 0 0 30px; }
    .recruit #member h2::before {
      content: "";
      position: absolute;
      bottom: -15px;
      left: -45px;
      width: 40px;
      height: 98px;
      background: url(../images/illust/illust-recruit03.svg) no-repeat; 
	  background-size: 100% auto; }
    .recruit #member h2::after {
      content: "";
      position: absolute;
      bottom: -15px;
      right: -40px;
      width: 40px;
      height: 98px;
      background: url(../images/illust/illust-recruit04.svg) no-repeat; 
	  background-size: 100% auto; }
      .recruit #member h2 p::before {
        font-size: 6rem;}
        .recruit #member h2 p span {
          position: initial;
          transform: initial;
          padding-bottom: 5px;
          font-size: 1.2rem; }
  .recruit .member_list ul li a h3 .type {
    font-size: 1.1rem; }
  .recruit .member_list ul li a h3 .name {
    font-size: 1.6rem; }
  .recruit .member_list ul li a p {
    font-size: 1.3rem; }
  .recruit #training .inner .training_list {
    margin: 50px 0; }
    .recruit #training .inner .training_list > li {
      font-size: 1.2rem;
      padding: 15px; }
      .recruit #training .inner .training_list > li h5 {
        font-size: 1.4rem;
        margin-bottom: 0.5em; }
  .recruit #environment .inner .environment_list {
    margin: 50px 0; }
    .recruit #environment .inner .environment_list > li {
      font-size: 1.2rem;
      padding: 15px; }
      .recruit #environment .inner .environment_list > li h5 {
        font-size: 1.4rem;
        margin-bottom: 0.5em; }
      .recruit #environment .inner .environment_list > li P {
        font-size: 1.2rem; }
  .recruit #faq {
    position: relative;
    background: #fff;
    width: 100%;
    margin: 0;
    padding: 30px 0 30px; }
    .recruit #faq h2 {
      height: 80px;
      font-size: 1.5rem;
      margin: 10px auto 40px;
      background: url(../images/icon/icon-h2-circle02.svg) no-repeat top center;
      background-size: 80px; }
    .recruit #faq .inner {
      width: 100%;
      margin: auto; }
      .recruit #faq .inner dl {
        padding-top: 0; }
        .recruit #faq .inner dl dt {
          font-size: 1.4rem;
          line-height: 1.5;
          background: url(../images/icon/icon-q.svg) no-repeat left center;
          background-size: auto;
          background-size: 25px auto;
          border-radius: 30px;
          padding: 10px 20px 10px 35px; }
        .recruit #faq .inner dl dd {
          background: url(../images/icon/icon-a.svg) no-repeat left top 5px;
          background-size: 25px auto;
          padding-left: 35px;
          padding-bottom: 10px;
          margin-bottom: 10px; } }
/*-------------- contact ---------------*/
.contact table {
  font-size: 1.4rem;
  margin: 50px auto 20px;
  border-collapse: separate;
  border-spacing: 0 10px;
  border-bottom: 0; }
  .contact table tbody th {
    width: 25%;
    border: none;
    border-radius: 10px 0 0 10px; }
  .contact table tbody td {
    border: none;
    border-radius: 0 10px 10px 0;
    background: #f8f9fb; }
.contact h3.cap {
  position: relative;
  text-align: left;
  color: #333;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 10px 10px 10px 10px;
  margin-left: 50px;
  width: 100%; }
  .contact h3.cap::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -50px;
    margin: auto;
    content: "";
    width: 50px;
    height: 1px;
    background: #1a99d0; }
.contact .terms {
  border: 1px solid #dbebf6;
  border-radius: 20px 0 0 20px;
  padding: 20px;
  height: 270px;
  font-size: 14px;
  overflow-y: scroll; }
  .contact .terms::-webkit-scrollbar {
    width: 8px; }
  .contact .terms::-webkit-scrollbar-track {
    background: #eee; }
  .contact .terms::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, #37a7d6 0%, #37a7d6 30%, #60c6f0 80%, #60c6f0 100%);
    height: 50px; }
.contact .submit_area {
  text-align: center;
  padding: 20px 0; }
  .contact .submit_area p.check {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px; }
.contact .thanks {
  width: 1000px;
  margin: 50px auto; }
  .contact .thanks p.catch {
    font-size: 2.4rem;
    margin-bottom: 15px; }

@media only screen and (max-width: 767px) {
  .contact table {
    margin: 20px 0;
    border: none;
    border-spacing: 0 10px; }
    .contact table tbody th {
      display: block;
      width: 100%;
      text-align: left;
      border: none;
      border-radius: 10px 10px 0 0;
      padding: 10px 10px 5px; }
    .contact table tbody td {
      display: block;
      width: 100%;
      text-align: left;
      border: none;
      border-radius: 0 0 10px 10px;
      padding: 0 10px 10px; }
  .contact h3.cap {
    font-size: 1.3rem;
    line-height: 1.3;
    padding: 5px 10px 8px 10px;
    margin-left: 30px; }
    .contact h3.cap::before {
      left: -30px;
      width: 30px; }
  .contact .terms {
    border-radius: 10px;
    padding: 10px;
    height: 200px;
    font-size: 1.2rem;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; }
  .contact .submit_area {
    text-align: center;
    padding: 20px 0 0; }
    .contact .submit_area p.check {
      text-align: left;
      line-height: 1.3;
      justify-content: flex-start; }
  .contact .thanks {
    width: 100%;
    padding: 20px 20px 0;
    margin: auto; }
    .contact .thanks p.catch {
      font-size: 1.5rem;
      line-height: 1.3;
      margin-bottom: 10px; } }
/*-------------- sitemap ---------------*/
.sitemap main h3 {
  color: #1a99d0;
  font-size: 1.6rem; }
.sitemap main dl {
  margin-bottom: 2em; }
  .sitemap main dl dt a {
    position: relative;
    color: #333;
    display: block;
    font-weight: bold;
    background: #dff2fa url(../images/icon/icon-arrow-b.svg) no-repeat center right 10px;
    border-radius: 10px;
    padding: 10px 20px;
    margin-bottom: 10px;
    text-decoration: none; }
  .sitemap main dl dd ul li a {
    position: relative;
    color: #333;
    display: block;
    font-weight: bold;
    background: #fff url(../images/icon/icon-arrow-b.svg) no-repeat center right 10px;
    border: 2px dotted #ddd;
    border-radius: 8px;
    padding: 10px 20px;
    text-decoration: none; }
    .sitemap main dl dd ul li a:hover {
      transition: 0.3s;
      opacity: 0.7; }
    .sitemap main dl dd ul li a[target="_blank"] {
      display: block;
      padding-right: 40px;
      background: url(../images/icon/icon_blank.svg) no-repeat right 10px center; }

@media only screen and (max-width: 767px) {
  .sitemap dl dt a {
    border-radius: 8px;
    padding: 8px 20px; }
  .sitemap dl dd ul li a {
    border: 1px dotted #ddd;
    border-radius: 8px;
    padding: 8px 20px; } }
/*-------------- health ---------------*/
.certification ul {
  margin-top: 4em;
  text-align: center; }
  .certification ul li {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border: 1px solid #eee;
    border-radius: 15px;
    padding: 15px; }
    .certification ul li h4 {
      font-size: 1.4rem;
      line-height: 1.3;
      margin: 0.5em 0; }
    .certification ul li p {
      font-size: 1.2rem; }
    .certification ul li img {
      width: 100%;
      height: auto; }
    .certification ul li a {
      color: #333;
      text-decoration: none; }
      .certification ul li a:hover {
        opacity: 0.7;
        transition: 0.3s; }

@media only screen and (max-width: 767px) {
  .certification ul {
    padding: 0 20px;
    margin-top: 2em; }
    .certification ul li {
      padding: 10px; }
      .certification ul li h4 {
        font-size: 1.4rem; }
      .certification ul li img {
        width: 100%;
        height: auto; } }
/*-------------- information ---------------*/
.information dl.news_list {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px dotted #ccc; }
  .information dl.news_list dt {
    width: 150px;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 10px;
    border-top: 1px dotted #ccc; }
  .information dl.news_list dd {
    width: calc(100% - 170px);
    font-size: 1.4rem;
    line-height: 1.5;
    border-top: 1px dotted #ccc;
    padding: 10px 0; }
.information .news_article .date {
  text-align: right;
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a99d0;
  border-bottom: 1px dotted #b9e3ff;
  padding-bottom: 10px; }
.information .news_article p {
  margin: 0 0 2em; }
.information .news_article img {
  margin: 2em 0; }
.information .news_article .link_list {
  margin: 5em 0 0;
  padding-top: 2em;
  border-top: 1px dotted #b9e3ff; }
  .information .news_article .link_list li {
    font-size: 1.4rem;
    line-height: 1.3;
    margin-bottom: 1.5em;
    word-break: break-all; }

@media only screen and (max-width: 767px) {
  .information dl.news_list {
    display: block;
    flex-wrap: wrap;
    border-bottom: 1px dotted #ccc; }
    .information dl.news_list dt {
      width: 100%;
      font-size: 1.2rem;
      padding: 10px 0 0; }
    .information dl.news_list dd {
      width: 100%;
      font-size: 1.2rem;
      border-top: none;
      padding: 0 0 10px; }
  .information .news_article .date {
    font-size: 1.2rem; }
  .information .news_article p {
    margin: 0 0 1em; }
  .information .news_article img {
    margin: 1em 0; }
  .information .news_article .link_list {
    margin: 3em 0 0;
    padding-top: 1em; }
    .information .news_article .link_list li {
      font-size: 1.2rem; } }


/*-------------- クラウド導入サービス --------------*/
.text_flex {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 auto;
}
.list_flex {
	display: flex;
	align-items: flex-start;
	margin: 0 auto;
}
.text_flex .text {
	margin: 0 20px 20px 0;
	text-align: justify;
	width: 65%;
}
.price {
	font-size: 1.5rem;
	text-align: center;
	border: solid 3px #b7e0ef;
	border-radius: 10px;
	margin: 5px 10px;
}
.price span {
	font-size: 2.5rem;
	font-weight: bold;
	margin-left: 50px;
}
.price .small {
	font-size: 1.4rem;
	font-weight: normal;
}
.text_flex .price {
	width: 30%;
}
.line_dt {
	border-top: dotted 2px;
	margin-top: 18px;
}
.contents {
	border: solid 2px #b7e0ef;
	border-radius: 5px;
	width: 48%;
	margin: 10px 0;
}
.contents .work_table dt {
	background: #b7e0ef;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	padding: 10px;
}
.contents .work_table dt span {
	margin-left: 20px;
	background: #fff;
	padding: 8px 20px;
}
.contents .work_table dd,
.contents .contents_sub {
	padding: 10px 20px;
}
.w80ct img{
	width: 80%;
	margin-bottom: 70px;
}
.btn01 .sp_br {
	display: none;
}

@media only screen and (max-width: 767px) {
	.text_flex .text {
		margin: 0 0 20px;
	}
	.text_flex .price {
		font-size: 1.3rem;
		width: 33%;
		padding: 5px 0;
		margin: 5px 0;
	}
	.price span{
		display: block;
		font-size: 1.4rem;
		font-weight: bold;
		margin: 0 auto;
	}
	.text_flex .price .small {
		font-size: 1rem;
	}
	.list_flex,
	.contents_wrap .text_flex{
		display: block;
	}
	.list_flex .ml2 {
		margin-left: 0!important;
	}
	.line_dt {
		margin-top: 0;
	}
	.contents {
		width: 100%;
	}
	.contents .work_table dt {
		font-size: 1.3rem;
	}
	.contents .work_table dt span {
		margin-left: 15px;
		padding: 5px 15px;
	}
	.contents .work_table dd {
		padding: 10px;
	}
	.w80ct img {
		width: 100%;
		margin-bottom: 40px;
	}
	.btn01 .sp_br {
		display: block;
	}
}

.block .price {
	margin: 5px 60px;
}
.block .price span{
	margin-left: 30px;
}

@media only screen and (max-width: 767px) {
	.app_ic img {
		width: 70%;
		margin: 30px 0 5px;
	}
	.block .price span {
		margin-left: 0;
	}
}
.ic_block {
	width: 600px;
	margin-left: 40px;
}
.ic_block li div p {
	font-size: 1.3rem;
}
.sp_tb {
	display: none;
}
@media only screen and (max-width: 767px) {
	.ic_block {
		margin: 0 auto;
	}
	.ic_block img {
		width: 15%;
	}
	.pc_tb {
		display: none;
	}
	.sp_tb {
		display: block;
	}
}