@charset "UTF-8";
/*ファーストビュー*/
.mainvisual {
  width: 100%;
  height: 100%; }
  .mainvisual .mainvisual-area {
    height: 100vh;
    position: relative; }
    .mainvisual .mainvisual-area .ashirai_01 {
      width: 431px;
      height: 513px;
      position: absolute;
      top: 0;
      left: 0;
      clip-path: polygon(0 0, 0 68%, 74% 0);
      background-color: #144f7e; }
    .mainvisual .mainvisual-area .mainvisual-message {
      position: absolute;
      top: 31%;
      left: 12%;
      z-index: 2; }
      .mainvisual .mainvisual-area .mainvisual-message P:first-child {
        font-size: 1.8vw;
        font-family: "Noto Serif Japanese", serif;
        padding-left: 8px;
        padding-bottom: 4vw;
        letter-spacing: 0.2rem; }
      .mainvisual .mainvisual-area .mainvisual-message P:nth-child(2) {
        font-size: 2vw;
        font-family: "Noto Serif Japanese", serif;
        font-weight: 600;
        background: linear-gradient(100deg, #6daac7 0%, #8c98cf 100%);
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent;
        letter-spacing: 0.1rem;
        padding-bottom: 1.5vw; }
      .mainvisual .mainvisual-area .mainvisual-message P:nth-child(3) {
        font-size: 4vw;
        font-weight: 600;
        font-family: "Noto Serif Japanese", serif;
        background: linear-gradient(191deg, #6daac7 0%, #8c98cf 100%);
        color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent;
        letter-spacing: 0.2rem;
        padding-bottom: 3.6vw; }
      .mainvisual .mainvisual-area .mainvisual-message P:nth-child(4) {
        font-size: 1.5vw;
        font-family: "Noto Serif Japanese", serif;
        padding-left: 8px;
        letter-spacing: 0.2rem; }
    .mainvisual .mainvisual-area .mainvisual-image_pc {
      display: block;
      width: 67%;
      position: absolute;
      bottom: -24%;
      right: 0; }
    .mainvisual .mainvisual-area .mainvisual-image_sp {
      display: none; }

@media screen and (max-width: 999px) {
  .mainvisual .mainvisual-area .mainvisual-image_pc {
    display: block;
    width: 80%;
    position: absolute;
    bottom: -10%;
    right: 0; }
  .mainvisual .mainvisual-area .mainvisual-image_sp {
    display: none; } }
@media screen and (max-width: 520px) {
  .mainvisual .mainvisual-area .ashirai_01 {
    width: 33%;
    height: 22%; }
  .mainvisual .mainvisual-area .mainvisual-message {
    top: 21%;
    left: 12%; }
    .mainvisual .mainvisual-area .mainvisual-message p:first-child {
      font-size: 4vw;
      padding-bottom: 8vw;
      letter-spacing: 0.08rem; }
    .mainvisual .mainvisual-area .mainvisual-message p:nth-child(2) {
      font-size: 4.4vw;
      letter-spacing: 0rem;
      padding-bottom: 4vw; }
    .mainvisual .mainvisual-area .mainvisual-message p:nth-child(3) {
      font-size: 7.5vw;
      letter-spacing: 0.17rem;
      padding-bottom: 7.7vw;
      margin-left: -15px; }
    .mainvisual .mainvisual-area .mainvisual-message p:last-child {
      font-size: 3.8vw;
      padding-left: 8px;
      letter-spacing: 0.08rem; }
  .mainvisual .mainvisual-area .mainvisual-image_pc {
    display: none; }
  .mainvisual .mainvisual-area .mainvisual-image_sp {
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0%;
    right: 0; } }
/*ファーストビュー終了*/
/*アバウト*/
.about {
  width: 80%;
  margin: 0 auto;
  padding-top: 14%; }
  .about h2 {
    padding-left: 6%;
    position: relative;
    z-index: 1; }
  .about .about-area {
    display: flex;
    flex-direction: row;
    align-items: start;
    margin-top: -4%; }
    .about .about-area .mayurasu-image {
      width: 23%; }
    .about .about-area .about-discription {
      width: 77%;
      padding-top: 10%;
      padding-left: 14%;
      box-sizing: border-box; }
      .about .about-area .about-discription h3 {
        line-height: 1.75;
        background: linear-gradient(180deg, #7298b9 0%, #838caf 100%);
        color: transparent;
        font-weight: 600;
        letter-spacing: 0.17rem;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent; }
        .about .about-area .about-discription h3:first-child {
          padding-bottom: 3.5vw; }
      .about .about-area .about-discription p {
        font-weight: 400;
        letter-spacing: 0.05rem;
        line-height: 1.9; }
        .about .about-area .about-discription p:nth-child(2) {
          padding-bottom: 2.4vw; }
        .about .about-area .about-discription p:nth-child(3) {
          padding-bottom: 3.8vw; }
        .about .about-area .about-discription p:nth-child(4) {
          padding-bottom: 2.4vw; }
        .about .about-area .about-discription p:nth-child(5) {
          padding-bottom: 3.8vw; }
      .about .about-area .about-discription h3:last-child {
        line-height: 1.75; }

@media screen and (max-width: 520px) {
  .about {
    width: 100%;
    padding-top: 10%; }
    .about h2 {
      padding-left: 16px; }
      .about h2 span {
        display: inline-block;
        max-width: 100%;
        font-size: min(45px, 14vw);
        letter-spacing: 0.08rem; }
    .about .about-area .mayurasu-image {
      width: 28%; }
    .about .about-area .about-discription {
      width: 72%;
      padding: 6% 5% 0% 5%; }
      .about .about-area .about-discription h3 {
        position: relative;
        z-index: 2;
        font-size: 5.5vw;
        letter-spacing: 0.08rem; }
        .about .about-area .about-discription h3:first-child {
          padding-bottom: 6vw; }
        .about .about-area .about-discription h3:last-child {
          width: 100%;
          font-size: 5.5vw;
          margin-left: 0px; }
      .about .about-area .about-discription p {
        font-size: 3vw;
        line-height: 1.75;
        letter-spacing: 0.02rem; }
        .about .about-area .about-discription p:nth-child(2) {
          padding-bottom: 4vw; }
          .about .about-area .about-discription p:nth-child(2) .sp-none {
            display: none; }
        .about .about-area .about-discription p:nth-child(3) {
          padding-bottom: 5vw; }
          .about .about-area .about-discription p:nth-child(3) .pc-none {
            display: block; }
          .about .about-area .about-discription p:nth-child(3) .sp-none {
            display: none; }
        .about .about-area .about-discription p:nth-child(4) {
          padding-bottom: 3vw; }
        .about .about-area .about-discription p:nth-child(5) {
          z-index: 1;
          position: relative;
          padding-bottom: 5.8vw; }
          .about .about-area .about-discription p:nth-child(5) .sp-none {
            display: none; } }
/*アバウト終了*/
/*サービス*/
.service {
  background-image: linear-gradient(0deg, #d2e3f3 45%, #ffffff);
  padding: 12% 0; }
  .service .service-bg {
    position: relative;
    width: 90%;
    margin: 0 0 0 auto;
    background-color: #144f7e;
    border-radius: 13% 0px 0px 13% / 16% 0px 0px 16%; }
    .service .service-bg h2 {
      position: absolute;
      top: -2.1%;
      right: 10%;
      z-index: 1;
      color: #144f7e; }
      .service .service-bg h2 span {
        margin-top: -4.8%;
        color: #fff; }
    .service .service-bg .ashirai_02 {
      width: 36%;
      height: 50%;
      position: absolute;
      bottom: 93%;
      right: 0;
      clip-path: polygon(100% 0, 0% 100%, 100% 100%);
      background-image: linear-gradient(30deg, #9dafed, #ffffff); }
    .service .service-bg .service-area {
      position: relative; }
      .service .service-bg .service-area .mayurasu-service-image {
        position: absolute;
        top: 16%;
        left: 3%;
        width: 60%; }
      .service .service-bg .service-area .service-discription {
        display: block;
        text-align: right;
        padding: 13% 10% 32%;
        box-sizing: border-box; }
        .service .service-bg .service-area .service-discription h3:first-child {
          padding-bottom: 3.5vw; }
          .service .service-bg .service-area .service-discription h3:first-child br {
            display: none; }
        .service .service-bg .service-area .service-discription h3:nth-child(2) {
          margin-right: -20px;
          letter-spacing: 0.3rem;
          line-height: 1.75; }
        .service .service-bg .service-area .service-discription h3:nth-child(3) {
          padding-bottom: 4.3vw;
          margin-top: -6px; }
        .service .service-bg .service-area .service-discription .service-discription_p {
          letter-spacing: 0.08rem;
          line-height: 1.75;
          padding-bottom: 5vw;
          color: #fff; }
        .service .service-bg .service-area .service-discription .arrow {
          justify-content: flex-end; }
          .service .service-bg .service-area .service-discription .arrow .circle-bg {
            margin-right: 1vw; }

@media screen and (max-width: 520px) {
  .service {
    padding: 20% 0;
    background-image: linear-gradient(0deg, #c8daf4 45%, #ffffff); }
    .service .service-bg {
      width: 95%;
      border-radius: 25% 0px 0px 25% / 13% 0px 0px 13%; }
      .service .service-bg h2 {
        top: -2%;
        right: 3%; }
        .service .service-bg h2 span {
          font-size: max(52px, 12vw);
          margin-top: -2.7%; }
      .service .service-bg .ashirai_02 {
        width: 56%;
        height: 34%;
        bottom: 95.5%; }
      .service .service-bg .service-area .mayurasu-service-image {
        position: absolute;
        top: 40%;
        left: 3%;
        width: 94%; }
      .service .service-bg .service-area .service-discription {
        text-align: left;
        padding: 17% 0 16% 40%;
        box-sizing: border-box; }
        .service .service-bg .service-area .service-discription h3:first-child {
          font-size: 5.8vw;
          padding-bottom: 6vw;
          margin-left: 0px;
          line-height: 1.3; }
          .service .service-bg .service-area .service-discription h3:first-child br {
            display: block; }
        .service .service-bg .service-area .service-discription h3:nth-child(2) {
          font-size: 5.3vw;
          letter-spacing: 0.3rem;
          margin-right: 0px;
          margin-left: 0px;
          padding-bottom: 0.5vw; }
        .service .service-bg .service-area .service-discription h3:nth-child(3) {
          font-size: 5.3vw;
          margin-left: 0px;
          padding-bottom: 7vw; }
        .service .service-bg .service-area .service-discription .service-discription_p {
          font-size: 2.7vw;
          letter-spacing: 0.08rem;
          line-height: 1.75;
          padding-bottom: 111vw;
          color: #fff; }
        .service .service-bg .service-area .service-discription .arrow {
          justify-content: flex-end;
          bottom: 10vw;
          margin-right: 8.8vw; } }
/*サービス終了*/
/*会社情報*/
.company {
  width: 100%;
  background-image: url("../img/top_company_bg.jpg");
  background-size: cover; }
  .company .company-bg {
    padding-left: 10%;
    padding-bottom: 4%; }
    .company .company-bg h2 {
      margin-top: -1.7%;
      padding-bottom: 3.6vw; }
      .company .company-bg h2 span {
        margin-top: -6.2%; }
    .company .company-bg h3 {
      line-height: 1.9;
      padding-bottom: 4vw; }
    .company .company-bg .company-button {
      display: flex;
      flex-direction: row; }
      .company .company-bg .company-button a {
        width: 23%; }
        .company .company-bg .company-button a .arrow:first-child {
          margin-right: 12%; }

@media screen and (max-width: 520px) {
  .company {
    background-image: url("../img/company_bg_sp.jpg"); }
    .company .company-bg {
      padding-left: 5%;
      padding-bottom: 60%; }
      .company .company-bg h2 {
        margin-top: -3.2%;
        padding-bottom: 14.6%; }
        .company .company-bg h2 span {
          font-size: 12vw;
          margin-top: -7%; }
      .company .company-bg h3 {
        font-size: 3.8vw; }
      .company .company-bg .company-button {
        display: inherit;
        position: relative; }
        .company .company-bg .company-button a {
          position: absolute;
          top: 40px;
          left: 7%; }
          .company .company-bg .company-button a:last-child {
            top: 120px; }
          .company .company-bg .company-button a .arrow {
            width: 150px;
            left: 1vw;
            bottom: -5vw; }
            .company .company-bg .company-button a .arrow:first-child {
              margin-right: 0%; } }
/*会社情報終了*/
/*企業一覧*/
.partners {
  background: #d2e1f4; }
  .partners .partners-area {
    position: relative;
    width: 80%;
    margin: 0 auto;
    padding: 9.4% 0 9.3%; }
    .partners .partners-area h2 {
      display: block;
      text-align: center; }
      .partners .partners-area h2 span {
        color: #144f7e;
        margin-top: -4px; }
    .partners .partners-area .arrow {
      position: absolute;
      top: 37%;
      right: 0%; }
      .partners .partners-area .arrow a {
        display: flex;
        align-items: center;
        text-decoration: none;
        flex-direction: row; }
        .partners .partners-area .arrow a .circle-bg {
          margin-right: 1vw;
          background: linear-gradient(to bottom, #86c9ff, #d9d1f7); }
        .partners .partners-area .arrow a p {
          color: #144f7e;
          font-weight: 500; }
    .partners .partners-area .partners-list-box {
      padding-top: 7vw;
      display: -webkit-inline-flex;
      display: inline-flex;
      -webkit-flex-direction: row-reverse;
      flex-direction: row-reverse;
      -webkit-flex-wrap: wrap-reverse;
      flex-wrap: wrap-reverse;
      -webkit-justify-content: flex-end;
      justify-content: flex-end;
      -webkit-align-items: stretch;
      align-items: stretch;
      -webkit-align-content: stretch;
      align-content: stretch; }
      .partners .partners-area .partners-list-box .partners-list {
        -webkit-flex: 0 1 18.4%;
        flex: 0 1 18.4%;
        margin-right: 2%;
        margin-bottom: 2%; }
        .partners .partners-area .partners-list-box .partners-list:nth-child(n+1):nth-child(-n+5) {
          margin-bottom: 0%; }
        .partners .partners-area .partners-list-box .partners-list:nth-child(1) {
          margin-right: 0%; }
        .partners .partners-area .partners-list-box .partners-list:nth-child(6) {
          margin-right: 0%; }

@media screen and (max-width: 520px) {
  .partners .partners-area {
    position: relative;
    width: 90%;
    padding: 20% 0; }
    .partners .partners-area .arrow {
      position: absolute;
      top: 20%;
      bottom: inherit;
      right: 3.8vw; }
    .partners .partners-area .partners-list-box {
      padding-top: 32vw;
      display: -webkit-inline-flex;
      display: inline-flex;
      -webkit-flex-direction: row-reverse;
      flex-direction: row-reverse;
      -webkit-flex-wrap: wrap-reverse;
      flex-wrap: wrap-reverse;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      -webkit-align-items: baseline;
      align-items: baseline;
      -webkit-align-content: flex-start;
      align-content: flex-start; }
      .partners .partners-area .partners-list-box .partners-list {
        -webkit-flex: 0 1 47.5%;
        flex: 0 1 47.5%;
        margin-right: 0%;
        margin-bottom: 5%;
        /*&:nth-child(even){
        margin-right: 5%;
        }*/ }
        .partners .partners-area .partners-list-box .partners-list:nth-child(1) {
          margin-right: 52.5%; }
        .partners .partners-area .partners-list-box .partners-list:nth-child(n+3):nth-child(-n+13):nth-child(odd) {
          margin-right: 5%; }
        .partners .partners-area .partners-list-box .partners-list:last-child {
          margin-bottom: 0%; }
      .partners .partners-area .partners-list-box .partners-list:nth-child(n+1):nth-child(-n+5) {
        margin-bottom: 5%; } }
/*企業一覧終了*/
/*お知らせ*/
.news {
  width: 80%;
  margin: 0 auto;
  padding: 13.4% 0 9.3%; }
  .news .title-area {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: relative; }
    .news .title-area h2 {
      margin-left: 4%; }
      .news .title-area h2 span {
        margin-top: -16px;
        color: #144f7e;
        letter-spacing: 0.4rem; }
    .news .title-area .ashirai_03 {
      width: 16vw;
      height: 25vw;
      position: absolute;
      top: -60%;
      left: 0;
      clip-path: polygon(0 0, 0 68%, 74% 0);
      background-color: #aebbe3;
      z-index: -1; }
    .news .title-area .arrow .circle-bg {
      background: linear-gradient(to bottom, #86c9ff, #d9d1f7); }
    .news .title-area .arrow p {
      color: #144f7e;
      font-weight: 500; }
  .news .news-area {
    width: 70%;
    margin: 5vw auto 2vw; }
    .news .news-area .news-list {
      display: flex;
      flex-direction: row;
      width: 100%;
      margin: 0 auto;
      align-items: center;
      padding-bottom: 24px;
      border-bottom: solid 0.8px #e7e6e6;
      margin-bottom: 24px;
      font-size: 1vw;
      letter-spacing: 0.02rem;
      font-weight: 500; }
      .news .news-area .news-list .text {
        width: 80%;
        text-align: left;
        color: #144f7e;
        padding-left: 4px; }
      .news .news-area .news-list .label {
        color: #144f7e;
        font-size: 0.9vw;
        font-weight: 500;
        letter-spacing: 0.09vw;
        padding: 3px 8px;
        background-color: #d1ebff;
        margin-right: 12px; }
      .news .news-area .news-list .date {
        color: #b1b1b1;
        font-size: 0.9vw;
        font-weight: 400; }
      .news .news-area .news-list:last-child {
        margin-bottom: 0px; }

@media screen and (max-width: 520px) {
  .news {
    width: 90%;
    padding-top: 20%;
    padding-bottom: 16%; }
    .news .title-area h2 span {
      margin-top: -5px; }
    .news .title-area .ashirai_03 {
      top: -40%;
      clip-path: polygon(0 0, 0 68%, 90% 0); }
    .news .title-area .arrow {
      top: 14vw;
      right: 3.8vw;
      bottom: inherit; }
    .news .news-area {
      width: 80%;
      margin: 16vw auto 2vw; }
      .news .news-area .news-list {
        display: block;
        font-size: 2.8vw;
        text-align: right;
        padding-bottom: 8px;
        margin-bottom: 16px; }
        .news .news-area .news-list .text {
          width: 100%;
          font-size: 13px;
          padding-bottom: 12px; }
        .news .news-area .news-list .label {
          display: inline-block;
          font-size: 2vw;
          font-weight: 600;
          margin-right: 4px; }
        .news .news-area .news-list .date {
          display: inline-block;
          font-size: 2.8vw; } }
