@charset "UTF-8";
/* スタイル */
.home {
  /*-------------- mainvisual ---------------*/
  /*-------------- feature_area ---------------*/
  /*-------------- service_area ---------------*/
  /*-------------- products_area ---------------*/
  /*-------------- csr_area ---------------*/
  /*-------------- recruit_area ---------------*/
  /*-------------- company_area ---------------*/
  /*-------------- information_area ---------------*/ }
  .home .mainvisual {
    min-width: 1280px;
    background: url(../images/background/bg_mainvisual.jpg) no-repeat bottom center; }
    .home .mainvisual .inner {
      position: relative;
      max-width: 1560px;
      min-width: 1280px;
      margin-left: auto;
      padding: 0 40px 5% 70px; }
      .home .mainvisual .inner .wrap {
        width: 35%;
        position: absolute;
        bottom: 40%;
        left: 0;
        z-index: 3; }
        .home .mainvisual .inner .wrap .catch {
          position: relative;
          z-index: 3;
          margin-left: -20%; }
          .home .mainvisual .inner .wrap .catch img {
            display: block;
            width: 100%;
            height: auto; }
        .home .mainvisual .inner .wrap .lead {
          white-space: nowrap;
          display: block;
          display: flex;
          align-items: center;
          color: #1a99d0;
          font-size: 1.5vw;
          font-weight: 700;
          font-size: clamp(2rem, 2.4rem, 1.5vw);
          letter-spacing: 0.2em;
          padding: 1% 15px 1%  0;
          margin: -13px 0 0 10%;
          background: RGBA(255, 255, 255, 0.7); }
          .home .mainvisual .inner .wrap .lead::before {
            content: "";
            width: 80px;
            height: 1px;
            background: #1a99d0;
            margin-right: 2%; }
      .home .mainvisual .inner ul {
        position: relative;
        background: #fff; }
        .home .mainvisual .inner ul li {
          border-radius: 100px 0 0 0;
          overflow: hidden;
          background: #fff; }
        .home .mainvisual .inner ul::after {
          content: "";
          position: absolute;
          left: -32px;
          bottom: -20px;
          width: 280px;
          height: 188px;
          background: url(../images/illust/illust-mv.svg) no-repeat;
          background-size: 100% auto; }
  @media only screen and (max-width: 767px) {
    .home .mainvisual {
      min-width: 100%;
      background: #5ebae4;
      background-size: 100% auto; }
      .home .mainvisual .inner {
        max-width: 100%;
        min-width: 100%;
        padding: 70px 10px 30px 0; }
        .home .mainvisual .inner .wrap {
          width: 50%;
          position: absolute;
          bottom: 13px;
          left: 0; }
          .home .mainvisual .inner .wrap .lead {
            display: inline-flex;
            position: initial;
            width: auto;
            font-size: 1.3rem !important;
            padding: 5px 10px 5px 0;
            margin: 5px 0 0 0;
            letter-spacing: 0.1em;
            background: RGBA(255, 255, 255, 1); }
            .home .mainvisual .inner .wrap .lead::before {
              content: "";
              width: 30px;
              height: 1px;
              background: #1a99d0;
              margin-right: 10px; }
          .home .mainvisual .inner .wrap .catch {
            width: 100%;
            position: initial;
            margin-left: -15%; }
            .home .mainvisual .inner .wrap .catch img {
              width: 100%;
              height: auto; }
        .home .mainvisual .inner ul {
          background: none;
          margin-left: 0; }
          .home .mainvisual .inner ul::after {
            content: "";
            position: absolute;
            left: initial;
            right: -5px;
            bottom: -10%;
            width: 30%;
            height: auto;
            padding-top: 20.5%;
            background: url(../images/illust/illust-mv.svg) no-repeat;
            background-size: 100% auto; }
          .home .mainvisual .inner ul li {
            border-radius: 0 20px 20px 0;
            overflow: hidden; } }
  .home .feature_area {
    background: #f8f7f5 url(../images/background/bg_feature.jpg) no-repeat top center;
    height: 940px;
    padding-top: 50px; }
    .home .feature_area .inner {
      width: 1280px;
      margin: auto; }
      .home .feature_area .inner h2 {
        position: relative;
        z-index: 2;
        background: url(../images/feature01.png) no-repeat top center;
        padding-top: 150px; }
        .home .feature_area .inner h2 a {
          font-family: "Zen Antique", serif;
          font-weight: normal;
          font-size: 2.4rem;
          text-decoration: none;
          color: #2b383e;
          padding-left: 560px; }
          .home .feature_area .inner h2 a span:nth-child(1) {
            position: relative;
            z-index: 1; }
          .home .feature_area .inner h2 a span:nth-child(2) {
            position: relative;
            z-index: 0;
            display: inline-block;
            color: #1a99d0;
            font-size: 6rem;
            background: linear-gradient(to bottom, #37a7d6 0%, #37a7d6 30%, #60c6f0 80%, #60c6f0 100%);
            -webkit-background-clip: text;
            color: transparent;
            padding: 1px;
            filter: drop-shadow(-1px 0px 2px white) drop-shadow(-1px 0px 5px white) drop-shadow(-1px 0px 10px white); }
            .home .feature_area .inner h2 a span:nth-child(2)::first-letter {
              font-size: 8rem; }
      .home .feature_area .inner .wrap {
        position: relative;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 80%, white 100%), url(../images/feature02.jpg) no-repeat;
        min-height: 530px;
        margin: -130px 0 0 -160px;
        padding: 140px 0 0 820px; }
        .home .feature_area .inner .wrap::after {
          content: "";
          position: absolute;
          top: 50px;
          right: 15px;
          width: 200px;
          height: 232px;
          background: url(../images/illust/illust-feature.svg) no-repeat; }
        .home .feature_area .inner .wrap .lead {
          margin: 0 0 0 -100px; }
          .home .feature_area .inner .wrap .lead span {
            display: inline-block;
            color: #fff;
            font-weight: 700;
            font-size: 2.2rem;
            line-height: 1;
            letter-spacing: 0.1em;
            padding: 15px 20px 18px;
            margin-bottom: 5px;
            background: #1a99d0;
            box-shadow: 5px 5px 0px 0px white; }
        .home .feature_area .inner .wrap > p {
          width: 580px;
          margin: 80px 0 40px; }
        .home .feature_area .inner .wrap .btn a {
          display: inline-flex;
          align-items: center;
          color: #1a99d0;
          font-size: 1.8rem;
          font-family: "Barlow Condensed", sans-serif;
          height: 70px;
          padding-left: 35px;
          text-decoration: none;
          background: url(../images/icon/icon-circle-m.svg) no-repeat left center;
          background-size: auto 100%; }
          .home .feature_area .inner .wrap .btn a:hover {
            opacity: 0.7;
            transition: 0.3s; }
          .home .feature_area .inner .wrap .btn a::after {
            content: "";
            width: 80px;
            height: 1px;
            background: #1a99d0;
            margin-left: 10px; }
  @media only screen and (max-width: 767px) {
    .home .feature_area {
      background: #fff url(../images/background/bg_feature-sp.jpg) no-repeat top center;
      background-size: 100% auto;
      height: auto;
      padding: 10px 20px 70px; }
      .home .feature_area .inner {
        width: 100%; }
        .home .feature_area .inner h2 {
          position: relative;
          z-index: 2;
          background: url(../images/feature01.png) no-repeat top center;
          background-size: 80% auto;
          padding-top: 13%; }
          .home .feature_area .inner h2 a {
            display: block;
            font-size: 2rem;
            text-align: center;
            padding: 0; }
            .home .feature_area .inner h2 a span:nth-child(2) {
              font-size: 3rem;
              filter: drop-shadow(-1px 0px 2px white) drop-shadow(-1px 0px 5px white) drop-shadow(-1px 0px 10px white); }
              .home .feature_area .inner h2 a span:nth-child(2)::first-letter {
                font-size: 4rem; }
        .home .feature_area .inner .wrap {
          position: relative;
          background: none;
          min-height: auto;
          margin: 0;
          padding: 0 0 75%; }
          .home .feature_area .inner .wrap::before {
            display: block;
            position: absolute;
            bottom: 0;
            left: -20px;
            content: "";
            width: calc(100% + 20px);
            padding-top: 70%;
            background: url(../images/feature02.jpg) no-repeat;
            background-size: 100% auto;
            border-radius: 0 20px 20px 0; }
          .home .feature_area .inner .wrap::after {
            display: none; }
          .home .feature_area .inner .wrap .lead {
            white-space: nowrap;
            text-align: left;
            margin: 20px 0 20px -25px; }
            .home .feature_area .inner .wrap .lead::after {
              display: none; }
            .home .feature_area .inner .wrap .lead span {
              font-size: 1.4rem;
              padding: 10px 20px 12px;
              margin-bottom: 5px; }
          .home .feature_area .inner .wrap > p {
            position: relative;
            width: 100%;
            padding-right: 120px;
            margin: 30px 0 15px 0; }
            .home .feature_area .inner .wrap > p::after {
              content: "";
              position: absolute;
              bottom: -0;
              right: -10px;
              width: 120px;
              height: 139px;
              background: url(../images/illust/illust-feature.svg) no-repeat;
              background-size: 100% auto; }
          .home .feature_area .inner .wrap .btn a {
            font-size: 1.4rem;
            height: 50px;
            padding-left: 15px;
            text-decoration: none;
            background: url(../images/icon/icon-circle-m.svg) no-repeat left center;
            background-size: 30px; }
            .home .feature_area .inner .wrap .btn a:hover {
              opacity: 0.7;
              transition: 0.3s; }
            .home .feature_area .inner .wrap .btn a::after {
              content: "";
              width: 40px;
              height: 1px;
              background: #1a99d0;
              margin-left: 10px; } }
  .home .service_area {
    background: #fff url(../images/background/bg_service.jpg) no-repeat top center; }
    .home .service_area .inner {
      position: relative;
      width: 1200px;
      min-height: 970px;
      margin: auto; }
      .home .service_area .inner::after {
        content: "";
        position: absolute;
        top: -40px;
        right: 50px;
        width: 372px;
        height: 292px;
        background: url(../images/illust/illust-service.svg) no-repeat; }
      .home .service_area .inner h2 a {
        display: inline-block;
        text-decoration: none;
        position: relative;
        min-height: 116px; }
        .home .service_area .inner h2 a span:nth-child(1) {
          background: linear-gradient(to bottom, #37a7d6 0%, #37a7d6 30%, #60c6f0 80%, #60c6f0 100%);
          -webkit-background-clip: text;
          color: transparent;
          font-size: 12rem;
          font-family: "Barlow Condensed", sans-serif;
          font-weight: 700;
          line-height: 1;
          padding: 1px; }
        .home .service_area .inner h2 a span:nth-child(2) {
          display: flex;
          align-items: center;
          color: #1a99d0;
          font-size: 1.6rem;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 700;
          letter-spacing: 0.1em; }
          .home .service_area .inner h2 a span:nth-child(2)::before {
            content: "";
            width: 60px;
            height: 1px;
            background: #1a99d0;
            margin-right: 10px; }
      .home .service_area .inner > p {
        padding: 70px 0 70px; }
      .home .service_area .inner ol {
        display: flex;
        align-items: flex-start;
        counter-reset: item; }
        .home .service_area .inner ol li {
          width: calc(100% / 3);
          background: #1a99d0; }
          .home .service_area .inner ol li:hover {
            background: #39b3e8;
            transition: 0.3s; }
          .home .service_area .inner ol li a {
            display: block;
            color: #fff;
            text-decoration: none; }
            .home .service_area .inner ol li a:hover .image_wrap img {
              transition: 0.3s;
              transform: scale(1.05); }
            .home .service_area .inner ol li a .image_wrap {
              position: relative;
              overflow: hidden; }
              .home .service_area .inner ol li a .image_wrap img {
                display: block;
                width: 100%;
                height: auto;
                transition: 0.3s; }
              .home .service_area .inner ol li a .image_wrap .num {
                position: absolute;
                right: -16px;
                bottom: -12px;
                z-index: 2;
                font-size: 24rem;
                font-family: "Barlow Condensed", sans-serif;
                font-weight: 200;
                line-height: 1;
                opacity: 0.5; }
                .home .service_area .inner ol li a .image_wrap .num::before {
                  content: "Service";
                  transform: rotate(90deg);
                  position: absolute;
                  left: 30px;
                  bottom: 95px;
                  z-index: 2;
                  font-size: 1.8rem;
                  font-family: "Barlow Condensed", sans-serif;
                  line-height: 1; }
            .home .service_area .inner ol li a .text_wrap {
              height: 100px;
              line-height: 1.3;
              display: flex;
              align-items: center; }
              .home .service_area .inner ol li a .text_wrap::before {
                content: "";
                display: inline-block;
                width: 100px;
                height: 100px;
                background: #60c6f0;
                border-radius: 0 0 40px 0; }
              .home .service_area .inner ol li a .text_wrap p {
                margin-left: 23px; }
                .home .service_area .inner ol li a .text_wrap p span:nth-child(1) {
                  display: block;
                  font-size: 2.2rem; }
                .home .service_area .inner ol li a .text_wrap p span:nth-child(2) {
                  display: block;
                  font-size: 1.3rem;
                  font-family: "Barlow Condensed", sans-serif; }
            .home .service_area .inner ol li a:hover .text_wrap::before {
              background-color: #93ddfb;
              transition: 0.3s; }
          .home .service_area .inner ol li:nth-child(1) .text_wrap::before {
            background: #60c6f0 url(../images/icon/icon-system.svg) no-repeat center; }
          .home .service_area .inner ol li:nth-child(2) {
            margin-top: 50px; }
            .home .service_area .inner ol li:nth-child(2) .text_wrap::before {
              background: #60c6f0 url(../images/icon/icon-consulting.svg) no-repeat center; }
          .home .service_area .inner ol li:nth-child(3) {
            margin-top: 100px; }
            .home .service_area .inner ol li:nth-child(3) .text_wrap::before {
              background: #60c6f0 url(../images/icon/icon-cloud.svg) no-repeat center; }
.home .service_area .inner .solution{
	background: #f8f9fb;
	padding: 40px 60px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 60px 0 100px;
	border-radius: 30px;
}
.home .service_area .inner .solution h3{
	width: 30%;
}
.home .service_area .inner .solution h3 span:nth-child(1){
	background: linear-gradient(to bottom, #37a7d6 0%, #37a7d6 30%, #60c6f0 80%, #60c6f0 100%);
    -webkit-background-clip: text;
    color: transparent;
    font-size: 6rem;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 700;
    line-height: 1;
    padding: 1px;
}
.home .service_area .inner .solution h3 span:nth-child(2){
	display: block;
	display: flex;
    align-items: center;
    color: #1a99d0;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.home .service_area .inner .solution h4{
	font-family: "Barlow Condensed", sans-serif;
	font-weight: normal;
	font-size: 2.4rem;
	margin-top: 10px;
}
.home .service_area .inner .solution ul{
	width: 70%;
	display: flex;
	flex-wrap: wrap;
	gap: 60px
}
.home .service_area .inner ul li{
	width: calc((100% - 60px) / 2);	
}
.home .service_area .inner ul li a{
	text-decoration: none;
	transition: 0.3s;
}
.home .service_area .inner ul li a:hover{
	opacity: 0.7;
}
.home .service_area .inner ul li a img{
	display: block;
    width: 100%;
    height: auto;
    transition: 0.3s;
}
.home .service_area .inner ul li a p{
	color: #2b383e;
	font-size: 1.4rem;
}
  @media only screen and (max-width: 767px) {
    .home .service_area {
      background: #fff url(../images/background/bg_service-sp.jpg) no-repeat bottom center;
      background-size: 100% auto; }
      .home .service_area .inner {
        position: relative;
        width: 100%;
        min-height: 970px;
        padding: 30px 20px;
        margin: auto; }
        .home .service_area .inner::after {
          content: "";
          position: absolute;
          top: -40px;
          right: 15px;
          width: 180px;
          height: 141px;
          background: url(../images/illust/illust-service.svg) no-repeat;
          background-size: 100% auto; }
        .home .service_area .inner h2 a {
          display: inline-block;
          min-height: 90px;
          line-height: 1.6; }
          .home .service_area .inner h2 a span:nth-child(1) {
            font-size: 4rem; }
          .home .service_area .inner h2 a span:nth-child(2) {
            font-size: 1.2rem; }
            .home .service_area .inner h2 a span:nth-child(2)::before {
              content: "";
              width: 30px; }
        .home .service_area .inner > p {
          padding: 0 0 30px; }
        .home .service_area .inner ol {
          display: block; }
          .home .service_area .inner ol li {
            max-width: 320px;
            width: calc(100% - 50px);
            margin: auto; }
            .home .service_area .inner ol li a .image_wrap .num {
              position: absolute;
              right: -9px;
              bottom: -14px;
              font-size: 15rem; }
              .home .service_area .inner ol li a .image_wrap .num::before {
                content: "Service";
                position: absolute;
                left: 15px;
                bottom: 60px;
                font-size: 1.6rem; }
            .home .service_area .inner ol li a .text_wrap {
              height: 60px; }
              .home .service_area .inner ol li a .text_wrap::before {
                content: "";
                width: 60px;
                height: 60px;
                border-radius: 0 0 20px 0; }
              .home .service_area .inner ol li a .text_wrap p {
                margin-left: 15px; }
                .home .service_area .inner ol li a .text_wrap p span:nth-child(1) {
                  font-size: 1.4rem; }
                .home .service_area .inner ol li a .text_wrap p span:nth-child(2) {
                  font-size: 1.2rem; }
            .home .service_area .inner ol li:nth-child(2) {
              margin-top: 10px; }
            .home .service_area .inner ol li:nth-child(3) {
              margin-top: 10px; } 
.home .service_area .inner .solution{
	padding: 30px 20px;
	margin: 30px 0 0px;
	border-radius: 30px;
}
.home .service_area .inner .solution h3{
	width: 100%;
	margin-bottom: 20px;
}
.home .service_area .inner .solution h3 span:nth-child(1){
    font-size: 3rem;
}
.home .service_area .inner .solution h3 span:nth-child(2){
    font-size: 1.2rem;
}
.home .service_area .inner .solution h4{
	font-size: 1.6rem;
}
.home .service_area .inner .solution ul{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.home .service_area .inner ul li{
	width: 100%;	
}
.home .service_area .inner ul li a p{
	font-size: 1.3rem;
}
}
  .home .products_area {
    background: #fff url(../images/background/bg_products.jpg) no-repeat bottom center; }
    .home .products_area .inner {
      position: relative;
      width: 1200px;
      min-height: 700px;
      margin: auto;
      padding-top: 100px; }
      .home .products_area .inner::after {
        content: "";
        position: absolute;
        top: 55px;
        right: 30px;
        width: 380px;
        height: 298px;
        background: url(../images/illust/illust-products.svg) no-repeat; }
      .home .products_area .inner h2 a {
        display: inline-block;
        text-decoration: none;
        position: relative;
        min-height: 116px; }
        .home .products_area .inner h2 a span:nth-child(1) {
          background: linear-gradient(to bottom, #37a7d6 0%, #37a7d6 30%, #60c6f0 80%, #60c6f0 100%);
          -webkit-background-clip: text;
          color: transparent;
          font-size: 12rem;
          font-family: "Barlow Condensed", sans-serif;
          font-weight: 700;
          line-height: 1;
          padding: 1px; }
        .home .products_area .inner h2 a span:nth-child(2) {
          display: flex;
          align-items: center;
          color: #1a99d0;
          font-size: 1.6rem;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 700;
          letter-spacing: 0.1em; }
          .home .products_area .inner h2 a span:nth-child(2)::before {
            content: "";
            width: 60px;
            height: 1px;
            background: #1a99d0;
            margin-right: 10px; }
      .home .products_area .inner > p {
        padding: 70px 0 70px; }
      .home .products_area .inner ul {
        display: flex;
		gap:10px;
	   }
        .home .products_area .inner ul > * {
			width: calc((100% - 20px) / 3);
		}
        .home .products_area .inner ul li a {
          position: relative;
          display: flex;
		  flex-direction: column;
          color: #1a99d0;
          font-size: 2rem;
          font-weight: bold;
          letter-spacing: 0.05em;
          align-items: center;
          background: #fff url(../images/icon/icon-circle-m-b.svg) no-repeat center right 20px;
/*          width: 580px;*/
          text-decoration: none;
          padding: 10px;
          box-shadow: 10px 10px 0px 0px #f0f2f6;
          transition: 0.3s; }
          .home .products_area .inner ul li a span {
            display: inline-block;
/*            margin-left: 30px; */
}
          .home .products_area .inner ul li a::after {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            content: "";
            width: 40px;
            height: 1px;
            background: #1a99d0;
            margin: auto;
            transition: 0.1s; }
          .home .products_area .inner ul li a:hover {
            color: #fff;
            background: #1a99d0 url(../images/icon/icon-circle-m-b-h.svg) no-repeat center right 20px;
            box-shadow: 10px 10px 0px 0px #d8f2fd;
            transition: 0.1s; }
          .home .products_area .inner ul li a:hover::after {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            content: "";
            width: 40px;
            height: 1px;
            background: #f1f8fb;
            margin: auto;
            transition: 0.1s; }
        /*
          Remorator310/Socket Debuggerへの外部リンクは、common.jsが
          target="_blank"かつimgを含むaに自動で.noiconを付与する(fw.cssの
          汎用「外部リンクアイコン」を打ち消すための仕組み)影響で、このカード
          自体の背景(丸いアイコン)まで消えてしまう。legacyではリンク先の
          target属性が"_balnk"という綴りミスだったため、この自動付与が
          発火せず結果的に問題が起きていなかった(移植時にtypoを修正した
          副作用でここだけ顕在化した)。カード自体の背景を優先させる。
        */
        .home .products_area .inner ul li a.noicon {
          background: #fff url(../images/icon/icon-circle-m-b.svg) no-repeat center right 20px !important; }
        .home .products_area .inner ul li a.noicon:hover {
          background: #1a99d0 url(../images/icon/icon-circle-m-b-h.svg) no-repeat center right 20px !important; }
  @media only screen and (max-width: 767px) {
    .home .products_area {
      background: #fff url(../images/background/bg_products-sp.jpg) no-repeat bottom center;
      background-size: 100% auto; }
      .home .products_area .inner {
        position: relative;
        width: 100%;
        min-height: 700px;
        margin: auto;
        padding: 70px 20px 30px; }
        .home .products_area .inner::after {
          content: "";
          content: "";
          position: absolute;
          top: 25px;
          right: 15px;
          width: 170px;
          height: 133px;
          background: url(../images/illust/illust-products.svg) no-repeat;
          background-size: 100% auto; }
        .home .products_area .inner h2 a {
          display: inline-block;
          min-height: 90px;
          line-height: 1.6; }
          .home .products_area .inner h2 a span:nth-child(1) {
            font-size: 4rem; }
          .home .products_area .inner h2 a span:nth-child(2) {
            font-size: 1.2rem; }
            .home .products_area .inner h2 a span:nth-child(2)::before {
              content: "";
              width: 30px; }
        .home .products_area .inner > p {
          padding: 30px 0 30px; }
        .home .products_area .inner ul {
          display: block; }
          .home .products_area .inner ul > * {
            width: 100%;
            margin: 0 0 15px; }
          .home .products_area .inner ul li a {
/*            display: block;*/
            font-size: 1.4rem;
            background: #fff url(../images/icon/icon-circle-m-b.svg) no-repeat center right 10px;
            background-size: 30px;
            width: 100%;
/*            text-align: center;*/
            padding: 15px;
            box-shadow: 5px 5px 0px 0px #f0f2f6;
            line-height: 1; }
            .home .products_area .inner ul li a img {
              display: block;
              width: 240px;
              height: auto;
              margin-bottom: 10px; }
            .home .products_area .inner ul li a span {
              display: inline-block;
              margin-left: 0; }
            .home .products_area .inner ul li a::after {
              width: 25px; }
            .home .products_area .inner ul li a:hover {
              background-size: 30px;
              box-shadow: 5px 5px 0px 0px #d8f2fd; }
            .home .products_area .inner ul li a:hover::after {
              width: 35px; }
          .home .products_area .inner ul li a.noicon {
            background: #fff url(../images/icon/icon-circle-m-b.svg) no-repeat center right 10px !important;
            background-size: 30px !important; }
          .home .products_area .inner ul li a.noicon:hover {
            background: #1a99d0 url(../images/icon/icon-circle-m-b-h.svg) no-repeat center right 10px !important;
            background-size: 30px !important; } }
  .home .csr_area {
    background: #fff url(../images/background/bg_csr.jpg) no-repeat bottom center; }
    .home .csr_area .inner {
      position: relative;
      width: 1200px;
      min-height: 830px;
      margin: auto;
      padding-top: 120px; }
      .home .csr_area .inner::after {
        content: "";
        position: absolute;
        top: 230px;
        left: 0;
        width: 305px;
        height: 192px;
        background: url(../images/illust/illust-csr.svg) no-repeat; }
      .home .csr_area .inner h2 {
        text-align: center; }
        .home .csr_area .inner h2 a {
          display: inline-block;
          text-decoration: none;
          position: relative;
          min-height: 116px; }
          .home .csr_area .inner h2 a span:nth-child(1) {
            background: linear-gradient(to bottom, #37a7d6 0%, #37a7d6 30%, #60c6f0 80%, #60c6f0 100%);
            -webkit-background-clip: text;
            color: transparent;
            font-size: 12rem;
            font-family: "Barlow Condensed", sans-serif;
            font-weight: 700;
            line-height: 1;
            padding: 1px; }
          .home .csr_area .inner h2 a span:nth-child(2) {
            display: flex;
            align-items: center;
            justify-content: center;
            color: #1a99d0;
            font-size: 1.6rem;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 700;
            letter-spacing: 0.1em; }
            .home .csr_area .inner h2 a span:nth-child(2)::before {
              content: "";
              width: 60px;
              height: 1px;
              background: #1a99d0;
              margin-right: 10px; }
      .home .csr_area .inner > p {
        text-align: center;
        padding: 70px 0 100px; }
      .home .csr_area .inner ul {
        width: 960px;
        margin: auto;
        display: flex;
        flex-wrap: wrap; }
/*
        .home .csr_area .inner ul > * {
          width: calc((100% - 20px) / 2);
          margin: 0 20px 20px 0; }
        .home .csr_area .inner ul > *:nth-child(2) {
          margin: 0 0 20px 0; }
		.home .csr_area .inner ul li:nth-child(n+3) {
		  width: calc((100% - 20px) / 3);
          margin: 0 10px 20px 0; }
		.home .csr_area .inner ul > li:last-child {
		  margin: 0 0 10px 0; }
*/
        .home .csr_area .inner ul > * {
          width: calc((100% - 20px) / 3);
          margin: 0 10px 20px 0; }
        .home .csr_area .inner ul > *:nth-child(3n) {
          margin: 0 0 20px 0; }
        .home .csr_area .inner ul li a {
          position: relative;
          display: flex;
          color: #1a99d0;
          font-size: 1.8rem;
          font-weight: bold;
          letter-spacing: 0.1em;
          align-items: center;
          background: #fff url(../images/icon/icon-circle-m-b.svg) no-repeat center right 20px;
          line-height: 100px;
          text-decoration: none;
          padding: 0 30px;
          box-shadow: 8px 8px 0px 0px #1a99d0; }
          .home .csr_area .inner ul li a::after {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            content: "";
            width: 40px;
            height: 1px;
            background: #1a99d0;
            margin: auto; }
          .home .csr_area .inner ul li a:hover {
            color: #fff;
            background: #1a99d0 url(../images/icon/icon-circle-m-b-h.svg) no-repeat center right 20px;
            box-shadow: 10px 10px 0px 0px #d8f2fd;
            transition: 0.1s; }
          .home .csr_area .inner ul li a:hover::after {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            content: "";
            width: 40px;
            height: 1px;
            background: #d8f2fd;
            margin: auto;
            transition: 0.1s; }
  @media only screen and (max-width: 767px) {
    .home .csr_area {
      background: #fff url(../images/background/bg_csr-sp.jpg) no-repeat bottom center;
      background-size: 100% auto; }
      .home .csr_area .inner {
        position: relative;
        width: 100%;
        min-height: auto;
        margin: auto;
        padding: 30px 20px 200px; }
        .home .csr_area .inner::after {
          content: "";
          position: absolute;
          top: 25px;
          left: initial;
          right: 15px;
          width: 130px;
          height: 82px;
          background: url(../images/illust/illust-csr.svg) no-repeat;
          background-size: 100% auto; }
        .home .csr_area .inner h2 {
          display: inline-block;
          text-align: left; }
          .home .csr_area .inner h2 a {
            display: inline-block;
            min-height: 90px;
            line-height: 1.6; }
            .home .csr_area .inner h2 a span:nth-child(1) {
              font-size: 4rem; }
            .home .csr_area .inner h2 a span:nth-child(2) {
              font-size: 1.2rem; }
              .home .csr_area .inner h2 a span:nth-child(2)::before {
                content: "";
                width: 30px; }
        .home .csr_area .inner > p {
          text-align: left;
          padding: 10px 0 20px; }
          .home .csr_area .inner > p br {
            display: none; }
        .home .csr_area .inner ul {
          width: 100%;
          display: block; }
          .home .csr_area .inner ul > * {
            width: 100%;
            margin: 0 0 10px; }
          .home .csr_area .inner ul > *:nth-child(2n) {
            margin: 0 0 10px 0; }
		  .home .csr_area .inner ul li:nth-child(n+3) {
			width: 100%;
			margin: 0 0 10px; }
          .home .csr_area .inner ul li a {
            font-size: 1.4rem;
            width: 100%;
            line-height: 50px;
            padding: 0 30px;
            margin: auto;
            background: #fff url(../images/icon/icon-circle-m-b.svg) no-repeat center right 20px;
            background-size: 30px;
            box-shadow: 5px 5px 0px 0px #1a99d0; }
            .home .csr_area .inner ul li a::after {
              width: 35px; }
            .home .csr_area .inner ul li a:hover {
              color: #fff;
              background: #1a99d0 url(../images/icon/icon-circle-m-b-h.svg) no-repeat center right 20px;
              background-size: 30px;
              box-shadow: 5px 5px 0px 0px #d8f2fd; }
            .home .csr_area .inner ul li a:hover::after {
              width: 35px; } }
  .home .recruit_area {
    background: #37a7d6 url(../images/background/bg_recruit.jpg) no-repeat bottom center; }
    .home .recruit_area .inner {
      position: relative;
      width: 1200px;
      height: 2040px;
      margin: auto;
      padding-top: 80px; }
      .home .recruit_area .inner::before {
        content: "";
        position: absolute;
        top: -170px;
        right: -15px;
        width: 232px;
        height: 280px;
        background: url(../images/illust/illust-recruit01.svg) no-repeat; }
      .home .recruit_area .inner::after {
        position: absolute;
        top: 150px;
        right: -199px;
        z-index: 0;
        content: "";
        background: url(../images/recruit01.jpg) no-repeat;
        width: 1140px;
        height: 640px; }
      .home .recruit_area .inner h2 {
        position: relative;
        z-index: 1; }
        .home .recruit_area .inner h2 a {
          text-decoration: none;
          min-height: 116px; }
          .home .recruit_area .inner h2 a span:nth-child(1) {
            background: linear-gradient(to bottom, #85d4f5 0%, #85d4f5 20%, #fff 80%, #fff 100%);
            -webkit-background-clip: text;
            color: transparent;
            font-size: 12rem;
            font-family: "Barlow Condensed", sans-serif;
            font-weight: 700;
            line-height: 1;
            padding: 1px; }
          .home .recruit_area .inner h2 a span:nth-child(2) {
            display: flex;
            align-items: center;
            color: #fff;
            font-size: 1.6rem;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 700;
            letter-spacing: 0.1em; }
            .home .recruit_area .inner h2 a span:nth-child(2)::before {
              content: "";
              width: 60px;
              height: 1px;
              background: #fff;
              margin-right: 10px; }
      .home .recruit_area .inner .lead {
        position: relative;
        z-index: 1;
        margin-top: 90px; }
        .home .recruit_area .inner .lead span {
          display: inline-block;
          color: #1a99d0;
          font-weight: 700;
          font-size: 2.2rem;
          line-height: 1;
          padding: 15px 20px 18px;
          margin-bottom: 5px;
          background: #fff;
          box-shadow: 5px 5px 0px 0px #1a99d0; }
      .home .recruit_area .inner .wrap {
        position: relative;
        z-index: 1;
        background: linear-gradient(180deg, white 0%, white 500px, rgba(255, 255, 255, 0) 100%);
        border-radius: 80px 80px 0 0;
        width: 1200px;
        margin: 260px auto 0;
        text-align: center; }
        .home .recruit_area .inner .wrap::after {
          content: "";
          position: absolute;
          top: -110px;
          left: 40px;
          width: 190px;
          height: 220px;
          background: url(../images/illust/illust-recruit02.svg) no-repeat; }
		.home .recruit_area .inner .wrap .text_wrap {
		  width: 85%;
		  margin: 0 auto;
		  padding: 50px 0 0;}
		.home .recruit_area .inner .wrap .text_wrap > p {
          display: inline-block;
		  text-align: left;}
		.home .recruit_area .inner .wrap .text_wrap .btn a{
		  width: 600px;
		  height: 70px;
		  font-size: 1.8rem;
		}
		.home .recruit_area .inner .wrap ul.menu {
		  width: 85%;
		  display: -webkit-box;
		  display: -ms-flexbox;
		  display: flex;
		  -webkit-box-pack: center;
			  -ms-flex-pack: center;
				  justify-content: center;
		  border-right: 1px solid #1a99d0;
		  margin: 80px auto 0;
		}
		.home .recruit_area .inner .wrap ul.menu li {
		  width: calc(100% / 4);
		  border-left: 1px solid #1a99d0;
		}
		.home .recruit_area .inner .wrap ul.menu li a {
		  display: block;
		  text-decoration: none;
		  text-align: center;
		  -webkit-transition: 0.3s;
		  transition: 0.3s;
		}
		.home .recruit_area .inner .wrap ul.menu li a::before {
		  display: block;
		  content: "";
		  width: 100px;
		  height: 100px;
		  margin: auto;
		  border-radius: 50%;
		  -webkit-transition: 0.05s;
		  transition: 0.05s;
		}
		.home .recruit_area .inner .wrap ul.menu li a p {
		  font-size: 1.6rem;
		  font-weight: bold;
		  margin-top: 20px;
		}
		.home .recruit_area .inner .wrap ul.menu li:nth-child(1) a::before {
		  background: rgb(241, 248, 251) url(../images/icon/icon-movie.svg) no-repeat center;
		  background-size: 30% auto;
		}
		.home .recruit_area .inner .wrap ul.menu li:nth-child(2) a::before {
		  background: rgb(241, 248, 251) url(../images/icon/icon-training.svg) no-repeat center;
		  background-size: 30% auto;
		}
		.home .recruit_area .inner .wrap ul.menu li:nth-child(3) a::before {
		  background: rgb(241, 248, 251) url(../images/icon/icon-environment.svg) no-repeat center;
		  background-size: 30% auto;
		}
		.home .recruit_area .inner .wrap ul.menu li:nth-child(4) a::before {
		  background: rgb(241, 248, 251) url(../images/icon/icon-application.svg) no-repeat center;
		  background-size: 30% auto;
		}
		.home .recruit_area .inner .wrap ul.menu li:hover a::before {
		  background-size: 35% auto;
		}
		.home .recruit_area .inner .wrap ul.menu li:hover a {
		  opacity: 0.7;
		}
        .home .recruit_area .inner .wrap .btn {
          margin-top: 40px; }
          .home .recruit_area .inner .wrap .btn a {
            position: relative;
            z-index: 1;
            display: inline-flex;
            justify-content: center;
            align-items: center;
            color: #1a99d0;
            font-size: 1.8rem;
            font-family: "Barlow Condensed", sans-serif;
            height: 55px;
            padding: 5px 50px 5px 80px;
            text-decoration: none;
            border: 1px solid #1a99d0;
            border-radius: 50px;
            background: #fff;
            min-width: 280px; }
            .home .recruit_area .inner .wrap .btn a::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; }
            .home .recruit_area .inner .wrap .btn a::after {
              display: inline-block;
              content: "";
              width: 50px;
              height: 1px;
              background: #1a99d0;
              margin-left: 10px; }
            .home .recruit_area .inner .wrap .btn a:hover {
              color: #fff;
              background: #1a99d0;
              transition: 0.3s; }
              .home .recruit_area .inner .wrap .btn a: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; }
              .home .recruit_area .inner .wrap .btn a:hover::after {
                background: #fff; }
        .home .recruit_area .inner .wrap .member h3 {
          position: relative;
          display: inline-block;
          margin: 50px 0 20px; }
          .home .recruit_area .inner .wrap .member h3::before {
            content: "";
            position: absolute;
            bottom: 10px;
            left: -35px;
            z-index: 1;
            width: 63px;
            height: 154px;
            background: url(../images/illust/illust-recruit03.svg) no-repeat; }
          .home .recruit_area .inner .wrap .member h3::after {
            content: "";
            position: absolute;
            bottom: 10px;
            right: -35px;
            z-index: 1;
            width: 63px;
            height: 154px;
            background: url(../images/illust/illust-recruit04.svg) no-repeat; }
          .home .recruit_area .inner .wrap .member h3 p {
            position: relative;
            display: inline-block;
            text-decoration: none;
            text-align: center; }
            .home .recruit_area .inner .wrap .member h3 p::before {
              display: block;
              content: "Member";
              line-height: 1;
              color: #f1f8fb;
              font-size: 24rem;
              font-family: "Barlow Condensed", sans-serif;
              font-weight: 700; }
            .home .recruit_area .inner .wrap .member h3 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; }
        .home .recruit_area .inner .wrap .member ul {
          width: 1080px;
          margin: auto;
		  display: flex;
		  justify-content: center;}
          .home .recruit_area .inner .wrap .member ul .slick-prev:before, .home .recruit_area .inner .wrap .member ul .slick-next:before {
            width: 100px;
            height: 100px;
            background-size: 100% auto; }
          .home .recruit_area .inner .wrap .member ul .slick-prev {
            top: 0;
            bottom: 0;
            left: -50px;
            margin: auto; }
          .home .recruit_area .inner .wrap .member ul .slick-next {
            top: 0;
            bottom: 0;
            right: -50px;
            margin: auto; }
          .home .recruit_area .inner .wrap .member ul .slick-arrow {
            transition: 0.1s; }
          .home .recruit_area .inner .wrap .member ul .slick-arrow:hover {
            transition: 0.1s;
            transform: scale(1.1); }
          .home .recruit_area .inner .wrap .member ul li a {
            position: relative;
            display: block;
            width: 320px;
            margin: auto;
            text-align: center;
            text-decoration: none; }
            .home .recruit_area .inner .wrap .member ul li a:hover img {
              transition: 0.3s;
              border: 20px solid #dff2fa; }
/*
            .home .recruit_area .inner .wrap .member ul li a:hover .type {
              color: #1a99d0;
              background: #dff2fa;
              transition: 0.3s; }
*/
			.home .recruit_area .inner .wrap .member ul li a:hover p{
			  opacity: 0.7;
			  transition: 0.3s;
			}
            .home .recruit_area .inner .wrap .member ul li a img {
              width: 100%;
              height: auto;
              border-radius: 50%;
              border: 20px solid #fff;
              transition: 0.3s; }
            .home .recruit_area .inner .wrap .member ul li a p {
              margin-top: 10px;
			  font-size: 2rem;
			  color: #2b383e;}
			.home .recruit_area .inner .wrap .member ul li a p span{
			  color: #1a99d0;
			}
/*
              .home .recruit_area .inner .wrap .member ul li a p .type {
                display: inline-block;
                color: #1a99d0;
                font-size: 1.4rem;
                font-weight: bold;
                line-height: 1;
                padding: 12px 20px;
                background: #f8f9fb;
                border-radius: 30px;
                transition: 0.3s; }
              .home .recruit_area .inner .wrap .member ul li a p .name {
                color: #000000;
                display: block;
                font-size: 1.8rem;
                font-weight: bold; }
*/
        .home .recruit_area .inner .wrap .member .btn {
          margin-top: 60px; }
          .home .recruit_area .inner .wrap .member .btn a {
            font-size: 1.6rem;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 700; }
  @media only screen and (max-width: 767px) {
    .home .recruit_area {
      background: #d5f7ff url(../images/background/bg_recruit-sp.jpg) no-repeat top center;
      background-size: 100% auto; }
      .home .recruit_area .inner {
        width: 100%;
        height: auto;
        padding: 30px 20px 0; }
        .home .recruit_area .inner::before {
          content: "";
          position: absolute;
          top: -100px;
          right: 20px;
          width: 170px;
          height: 205px;
          background: url(../images/illust/illust-recruit01.svg) no-repeat;
          background-size: 100% auto; }
        .home .recruit_area .inner::after {
          position: absolute;
          top: 260px;
          right: 0;
          content: "";
          background: url(../images/recruit01.jpg) no-repeat;
          background-size: 100% auto;
          width: 100%;
          height: auto;
          padding-top: 56%; }
        .home .recruit_area .inner h2 a {
          display: inline-block;
          min-height: 90px;
          line-height: 1.6; }
          .home .recruit_area .inner h2 a span:nth-child(1) {
            font-size: 4rem; }
          .home .recruit_area .inner h2 a span:nth-child(2) {
            font-size: 1.2rem; }
            .home .recruit_area .inner h2 a span:nth-child(2)::before {
              content: "";
              width: 30px; }
        .home .recruit_area .inner .lead {
          text-align: left;
          margin: 0 0 20px -25px; }
          .home .recruit_area .inner .lead span {
            font-size: 1.4rem;
            padding: 10px 20px 12px;
            margin-bottom: 5px; }
        .home .recruit_area .inner .wrap {
          background: #fff;
          border-radius: 15px 15px 0 0;
          width: 100%;
          margin: 60% auto 0;
          padding: 20px; }
          .home .recruit_area .inner .wrap::after {
            display: none; }
	  	.home .recruit_area .inner .wrap .text_wrap {
		  width: 100%;
		  margin: 0 auto;
		  padding: 0;}
          .home .recruit_area .inner .wrap > p {
            position: relative;
            padding: 0 0 0 80px;
            line-height: 1.5;
            background: url(../images/illust/illust-recruit02.svg) no-repeat;
            min-height: 80px;
            background-size: auto 80px; }
		  .home .recruit_area .inner .wrap .text_wrap .btn a{
			  width: 100%;
			  height: 45px;
			  font-size: 1.4rem;
			}
            .home .recruit_area .inner .wrap > p br {
              display: none; }
          .home .recruit_area .inner .wrap ul.menu {
            width: 100%;
			flex-wrap: wrap;
   			border: none;
            margin: 20px auto 0; }
            .home .recruit_area .inner .wrap ul.menu li {
              width: calc(100% / 2 - 10px);
			  border-left: none;
			  margin: 5px;
			  border-radius: 10px;
			  border: 1px solid #98dcfa;}
              .home .recruit_area .inner .wrap ul.menu li:nth-child(n+5):nth-child(-n+7) {
                width: 100%; }
              .home .recruit_area .inner .wrap ul.menu li a {
	  			text-align: center;
    			padding: 10px;}
                .home .recruit_area .inner .wrap ul.menu li a:hover {
                  background: #dff2fa url(../images/icon/icon-circle-s.svg) no-repeat left 10px center;
                  background-size: 10px; }
	          .home .recruit_area .inner .wrap ul.menu li a p {
                font-size: 1.2rem;
	            margin-top: 10px;}
          .home .recruit_area .inner .wrap .btn {
            margin: 30px 0; }
            .home .recruit_area .inner .wrap .btn a {
              font-size: 1.4rem;
              min-width: auto;
              height: 45px;
              padding: 5px 20px 5px 50px;
              background: #fff; }
              .home .recruit_area .inner .wrap .btn a::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; }
              .home .recruit_area .inner .wrap .btn a::after {
                width: 30px; }
              .home .recruit_area .inner .wrap .btn a:hover {
                color: #fff;
                background: #1a99d0;
                transition: 0.3s; }
                .home .recruit_area .inner .wrap .btn a: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; }
                .home .recruit_area .inner .wrap .btn a:hover::after {
                  background: #fff; }
          .home .recruit_area .inner .wrap .member h3 {
            position: relative;
            display: inline-block;
            margin: 60px 0 30px; }
            .home .recruit_area .inner .wrap .member h3::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; }
            .home .recruit_area .inner .wrap .member h3::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; }
            .home .recruit_area .inner .wrap .member h3 p::before {
              font-size: 6rem; }
            .home .recruit_area .inner .wrap .member h3 p span {
              display: block;
              position: initial;
              transform: initial;
              padding-bottom: 5px;
              font-size: 1.2rem; }
          .home .recruit_area .inner .wrap .member ul {
			display: block;
            max-width: 320px;
            width: 100%;
            margin: auto; }
            .home .recruit_area .inner .wrap .member ul .slick-prev:before, .home .recruit_area .inner .wrap .member ul .slick-next:before {
              width: 60px;
              height: 60px; }
            .home .recruit_area .inner .wrap .member ul .slick-prev {
              top: 0;
              bottom: 0;
              left: -40px;
              margin: auto; }
            .home .recruit_area .inner .wrap .member ul .slick-next {
              top: 0;
              bottom: 0;
              right: -40px;
              margin: auto; }
            .home .recruit_area .inner .wrap .member ul .slick-arrow:hover {
              opacity: 0.7;
              transform: scale(1); }
            .home .recruit_area .inner .wrap .member ul li a {
              position: relative;
              display: block;
              width: 90%;
              margin: auto;
              text-align: center;
              text-decoration: none; }
              .home .recruit_area .inner .wrap .member ul li a:hover img {
                transition: 0.3s;
                border: 20px solid #dff2fa; }
              .home .recruit_area .inner .wrap .member ul li a:hover .type {
                color: #1a99d0;
                background: #dff2fa;
                transition: 0.3s; }
              .home .recruit_area .inner .wrap .member ul li a img {
                width: 100%;
                height: auto;
                border-radius: 50%;
                border: 20px solid #fff;
                transition: 0.3s; }
              .home .recruit_area .inner .wrap .member ul li a p {
				margin-top: -10px;
	  			font-size: 1.5rem;}
                .home .recruit_area .inner .wrap .member ul li a p .type {
                  font-size: 1.1rem; }
                .home .recruit_area .inner .wrap .member ul li a p .name {
                  font-size: 1.4rem; }
          .home .recruit_area .inner .wrap .member .btn {
            margin: 30px 0; }
            .home .recruit_area .inner .wrap .member .btn a {
              font-size: 1.4rem; } }
  .home .company_area {
    background: #fff url(../images/background/bg_company.jpg) no-repeat bottom center; }
    .home .company_area .inner {
      position: relative;
      width: 1200px;
      height: 790px;
      margin: auto;
      padding-top: 110px; }
      .home .company_area .inner .wrap {
        position: absolute;
        right: 0; }
        .home .company_area .inner .wrap h2 {
          position: relative; }
          .home .company_area .inner .wrap h2 a {
            text-decoration: none;
            min-height: 116px; }
            .home .company_area .inner .wrap h2 a span:nth-child(1) {
              background: linear-gradient(to bottom, #37a7d6 0%, #37a7d6 30%, #60c6f0 80%, #60c6f0 100%);
              -webkit-background-clip: text;
              color: transparent;
              font-size: 10rem;
              font-family: "Barlow Condensed", sans-serif;
              font-weight: 700;
              line-height: 1;
              padding: 1px; }
            .home .company_area .inner .wrap h2 a span:nth-child(2) {
              display: flex;
              align-items: center;
              color: #1a99d0;
              font-size: 1.6rem;
              font-family: "Noto Sans JP", sans-serif;
              font-weight: 700;
              letter-spacing: 0.1em; }
              .home .company_area .inner .wrap h2 a span:nth-child(2)::before {
                content: "";
                width: 60px;
                height: 1px;
                background: #1a99d0;
                margin-right: 10px; }
        .home .company_area .inner .wrap .lead {
          margin-top: 110px; }
          .home .company_area .inner .wrap .lead span {
            display: inline-block;
            color: #fff;
            font-weight: 700;
            font-size: 2.2rem;
            line-height: 1;
            padding: 15px 20px 18px;
            margin-bottom: 5px;
            background: #1a99d0;
            box-shadow: 5px 5px 0px 0px white; }
      .home .company_area .inner ul {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
        border-radius: 80px 80px 0 0;
        width: 1200px;
        height: 120px;
        margin: auto; }
        .home .company_area .inner ul li {
          width: calc(87% / 3 - 17px);
          margin: 0 7px; }
          .home .company_area .inner ul li a {
            display: block;
            color: #2b383e;
            font-weight: bold;
            text-decoration: none;
            padding: 16px 48px;
            background: #f8f9fb url(../images/icon/icon-circle-s.svg) no-repeat left 20px center;
            transition: 0.3s; }
            .home .company_area .inner ul li a:hover {
              background: #dff2fa url(../images/icon/icon-circle-s.svg) no-repeat left 20px center;
              transition: 0.3s; }
  @media only screen and (max-width: 767px) {
    .home .company_area {
      background: #9fd1ec url(../images/background/bg_company-sp.jpg) no-repeat top center;
      background-size: 100% auto; }
      .home .company_area .inner {
        width: 100%;
        height: auto;
        padding: 30px 20px 0; }
        .home .company_area .inner .wrap {
          text-align: right;
          position: initial; }
          .home .company_area .inner .wrap h2 a {
            display: inline-block;
            min-height: 90px;
            line-height: 1.6; }
            .home .company_area .inner .wrap h2 a span:nth-child(1) {
              font-size: 4rem; }
            .home .company_area .inner .wrap h2 a span:nth-child(2) {
              font-size: 1.2rem; }
              .home .company_area .inner .wrap h2 a span:nth-child(2)::before {
                content: "";
                width: 30px; }
          .home .company_area .inner .wrap .lead {
            text-align: left;
            margin: 20px 0 20px -25px; }
            .home .company_area .inner .wrap .lead span {
              font-size: 1.4rem;
              padding: 10px 20px 12px;
              margin-bottom: 5px; }
        .home .company_area .inner ul {
          display: block;
          position: initial;
          border-radius: 15px 15px 0 0;
          width: 100%;
          height: auto;
          padding: 25px 20px 15px; }
          .home .company_area .inner ul li {
            width: 100%;
            margin: 0 0 5px; }
            .home .company_area .inner ul li a {
              padding: 10px 35px;
              background: #f8f9fb url(../images/icon/icon-circle-s.svg) no-repeat left 15px center;
              background-size: 15px; }
              .home .company_area .inner ul li a:hover {
                background: #dff2fa url(../images/icon/icon-circle-s.svg) no-repeat left 15px center;
                background-size: 15px; } }
  .home .information_area {
    background: #fff url(../images/background/bg_information.jpg) no-repeat bottom center; }
    .home .information_area .inner {
      width: 1200px;
      height: 650px;
      margin: auto;
      padding-top: 110px; }
      .home .information_area .inner h2 a {
        display: block;
        position: relative;
        min-height: 116px;
        background: url(../images/illust/illust-info.svg) no-repeat;
        background-size: 141px 116px;
        padding: 15px 0 0 170px;
        margin-left: 22px;
        text-decoration: none; }
        .home .information_area .inner h2 a span:nth-child(1) {
          background: linear-gradient(to bottom, #37a7d6 0%, #37a7d6 30%, #60c6f0 80%, #60c6f0 100%);
          -webkit-background-clip: text;
          color: transparent;
          font-size: 6rem;
          font-family: "Barlow Condensed", sans-serif;
          font-weight: 500;
          line-height: 1;
          padding: 1px; }
        .home .information_area .inner h2 a span:nth-child(2) {
          display: flex;
          align-items: center;
          color: #1a99d0;
          font-size: 1.6rem;
          font-family: "Noto Sans JP", sans-serif;
          font-weight: 700;
          letter-spacing: 0.1em; }
          .home .information_area .inner h2 a span:nth-child(2)::before {
            content: "";
            width: 60px;
            height: 1px;
            background: #1a99d0;
            margin-right: 10px; }
      .home .information_area .inner dl {
        display: flex;
        flex-wrap: wrap;
        border-top: 1px solid #fff;
        background: RGBA(255, 255, 255, 0.3);
        margin-top: 45px;
        overflow-y: auto;
        max-height: 210px; }
        .home .information_area .inner dl::-webkit-scrollbar {
          width: 8px; }
        .home .information_area .inner dl::-webkit-scrollbar-track {
          background: #fff; }
        .home .information_area .inner dl::-webkit-scrollbar-thumb {
          background: linear-gradient(to bottom, #37a7d6 0%, #37a7d6 30%, #60c6f0 80%, #60c6f0 100%); }
        .home .information_area .inner dl dt {
          display: flex;
          align-items: flex-start;
          color: #1a99d0;
          width: 16%;
          padding: 20px 0 20px 40px;
          border-bottom: 1px solid #fff; }
        .home .information_area .inner dl dd {
          display: flex;
          align-items: center;
          width: 84%;
          padding: 20px 16px 20px 0;
          border-bottom: 1px solid #fff; }
      .home .information_area .inner .btn {
        margin-top: 50px;
        text-align: center; }
        .home .information_area .inner .btn a {
          font-size: 1.8rem;
          font-family: "Barlow Condensed", sans-serif;
          position: relative;
          z-index: 1;
          display: inline-flex;
          justify-content: center;
          align-items: center;
          color: #1a99d0;
          height: 55px;
          padding: 5px 50px 5px 80px;
          text-decoration: none;
          border: 1px solid #1a99d0;
          border-radius: 50px;
          background: #fff;
          min-width: 280px; }
          .home .information_area .inner .btn a::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; }
          .home .information_area .inner .btn a::after {
            display: inline-block;
            content: "";
            width: 50px;
            height: 1px;
            background: #1a99d0;
            margin-left: 10px; }
          .home .information_area .inner .btn a:hover {
            color: #fff;
            background: #1a99d0;
            transition: 0.3s; }
            .home .information_area .inner .btn a: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; }
            .home .information_area .inner .btn a:hover::after {
              background: #fff; }
  @media only screen and (max-width: 767px) {
    .home .information_area {
      background: #fff url(../images/background/bg_information-sp.jpg) no-repeat bottom center;
      background-size: 100% auto; }
      .home .information_area .inner {
        width: 100%;
        height: auto;
        padding: 30px 20px; }
        .home .information_area .inner h2 a {
          min-height: 90px;
          background-size: 100px auto;
          padding: 15px 0 0 120px;
          margin-left: 0;
          line-height: 1.2; }
          .home .information_area .inner h2 a span:nth-child(1) {
            font-size: 4rem; }
          .home .information_area .inner h2 a span:nth-child(2) {
            font-size: 1.2rem; }
            .home .information_area .inner h2 a span:nth-child(2)::before {
              content: "";
              width: 30px; }
        .home .information_area .inner dl {
          display: block;
          margin-top: 20px; }
          .home .information_area .inner dl dt {
            justify-content: flex-start;
            font-size: 1.2rem;
            width: 100%;
            padding: 10px 10px 0;
            border-bottom: none; }
          .home .information_area .inner dl dd {
            width: 100%;
            font-size: 1.2rem;
            line-height: 1.5;
            padding: 0 10px 10px 10px; }
        .home .information_area .inner .btn {
          margin: 30px 0; }
          .home .information_area .inner .btn a {
            font-size: 1.4rem;
            min-width: auto;
            height: 45px;
            padding: 5px 20px 5px 50px;
            background: #fff; }
            .home .information_area .inner .btn a::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; }
            .home .information_area .inner .btn a::after {
              width: 30px; }
            .home .information_area .inner .btn a:hover {
              color: #fff;
              background: #1a99d0;
              transition: 0.3s; }
              .home .information_area .inner .btn a: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; }
              .home .information_area .inner .btn a:hover::after {
                background: #fff; } }
