@charset "UTF-8";
@media screen and (max-width: 1024px) {
  .related {
    position: relative;
    padding: 0 0 50px; }
    .related:before {
      background: rgba(20, 27, 77, 0.1);
      content: '';
      width: 100%;
      height: calc(100% - 10px);
      position: absolute;
      z-index: 1;
      top: 10px;
      left: 0;
      display: block; }
    .related > .inner {
      position: relative;
      z-index: 2;
      width: 92%;
      margin: 0 auto;
      padding: 0 !important; }
      .related > .inner > h2 {
        color: #141b4d;
        font-family: 'Noto Serif JP', serif;
        font-size: 20px;
        font-weight: 900;
        letter-spacing: 0.05em;
        text-align: center;
        margin: 0 0 50px; }
      .related > .inner h3 {
        color: #141b4d;
        font-family: 'Noto Serif JP', serif;
        font-size: 17px;
        font-weight: 600;
        letter-spacing: 0.05em;
        position: relative;
        margin: 0 0 20px;
        line-height: 1.2; }
        .related > .inner h3:after {
          background: #141b4d;
          content: '';
          display: block;
          width: calc(100% - 12em);
          height: 1px;
          position: absolute;
          right: 0;
          top: 50%; }
      .related > .inner .ruby {
        color: #46505e;
        display: block;
        font-size: 12px;
        font-weight: bold;
        margin: 0 0 40px; }
        .related > .inner .ruby span {
          color: #fff;
          display: inline-block;
          background: #141b4d;
          vertical-align: middle;
          padding: 3px 1em;
          font-size: 12px;
          margin: 0 0 10px; }
      .related > .inner ul {
        margin: 0 0 70px; }
        .related > .inner ul li {
          max-width: 250px;
          margin: 0 auto 30px; }
          .related > .inner ul li:last-child {
            margin: 0 auto; }
          .related > .inner ul li a {
            display: block;
            margin: 0 0 10px; }
            .related > .inner ul li a .imgBox {
              display: block;
              width: 100%; }
              .related > .inner ul li a .imgBox img {
                display: block;
                width: 100%; }
          .related > .inner ul li .txtBox .name {
            color: #141b4d;
            display: block;
            font-family: 'Noto Serif JP', serif;
            font-size: 17px;
            font-weight: 600; }
          .related > .inner ul li .txtBox .info {
            color: #46505e;
            display: block;
            font-size: 12px;
            font-weight: bold;
            margin: 0 0 5px; }
        .related > .inner ul .solution-item {
          width: 250px; }
      .related > .inner .event-block {
        margin-bottom: 70px; }
        .related > .inner .event-block .inner {
          padding: 0 !important;
          width: 92%;
          margin: 0 auto 20px; }
          .related > .inner .event-block .inner img {
            width: 100%; }
          .related > .inner .event-block .inner a {
            display: block; }
      .related > .inner .banner-jmag {
        width: 100%;
        padding-bottom: 30px; }
        .related > .inner .banner-jmag .inner {
          width: 90%;
          margin-inline: auto; }
        .related > .inner .banner-jmag img {
          width: 100%; }
      .related > .inner .nextcareer-Link {
        background: url(../../../assets/img/people/reason/bg_next_sp.jpg) no-repeat;
        background-size: cover;
        width: 92%;
        min-height: 250px;
        margin: 0 auto; }
        .related > .inner .nextcareer-Link .inner {
          height: 250px;
          padding: 30px 0 0 !important; }
          .related > .inner .nextcareer-Link .inner h2 {
            color: #fff;
            font-family: 'Noto Serif JP', serif;
            font-size: 25px;
            line-height: 1.6;
            font-weight: 600;
            text-align: center;
            padding: 0 0 20px;
            margin: 0 0 20px;
            position: relative; }
            .related > .inner .nextcareer-Link .inner h2:after {
              background: #fff;
              content: '';
              display: block;
              width: 20px;
              height: 2px;
              position: absolute;
              bottom: 0;
              left: 50%;
              margin: 0 0 0 -10px; }
          .related > .inner .nextcareer-Link .inner p {
            color: #fff;
            font-size: 12px;
            text-align: center;
            margin: 0 0 30px; }
          .related > .inner .nextcareer-Link .inner a {
            background: #fff;
            color: #141b4d;
            display: block;
            width: 128px;
            line-height: 30px;
            height: 30px;
            margin: 0 auto;
            font-size: 10px;
            font-weight: bold;
            text-align: center;
            letter-spacing: 0.1em; }
      .related > .inner .nextblock .nextLink--next {
        background: url(../../../assets/img/people/reason/bg_next_sp.jpg) no-repeat;
        width: 92%;
        height: 250px;
        background-size: cover;
        margin: 0 auto 50px; }
      .related > .inner .nextblock .nextLink--campaign {
        background: url(../../../assets/img/people/reason/bg_campaign_sp.jpg) no-repeat;
        width: 92%;
        height: 250px;
        background-size: cover;
        margin: 0 auto 20px; }
      .related > .inner .nextblock .nextLink .inner {
        height: 250px;
        padding: 30px 0 0 !important; }
        .related > .inner .nextblock .nextLink .inner h2 {
          color: #fff;
          font-family: 'Noto Serif JP', serif;
          font-size: 25px;
          line-height: 1.6;
          font-weight: 600;
          text-align: center;
          padding: 0 0 20px;
          margin: 0 0 20px;
          position: relative; }
          .related > .inner .nextblock .nextLink .inner h2:after {
            background: #fff;
            content: '';
            display: block;
            width: 20px;
            height: 2px;
            position: absolute;
            bottom: 0;
            left: 50%;
            margin: 0 0 0 -10px; }
        .related > .inner .nextblock .nextLink .inner p {
          color: #fff;
          font-size: 12px;
          text-align: center;
          margin: 0 0 30px; }
        .related > .inner .nextblock .nextLink .inner a {
          background: #fff;
          color: #141b4d;
          display: block;
          width: 128px;
          line-height: 30px;
          height: 30px;
          margin: 0 auto;
          font-size: 10px;
          font-weight: bold;
          letter-spacing: 0.1em;
          position: relative;
          padding-left: 20px; }
          .related > .inner .nextblock .nextLink .inner a:after {
            background: url(../../../assets/img/index/ico_outside_02.svg) no-repeat;
            content: '';
            display: block;
            width: 16px;
            height: 10px;
            position: absolute;
            top: 50%;
            right: 15px;
            margin: -5px 0 0; }
        .related > .inner .nextblock .nextLink .inner .campaign-link {
          background: #141b4d;
          color: #fff;
          width: 130px;
          line-height: 35px;
          height: 35px;
          border-radius: 35px;
          padding-left: 10px;
          position: absolute;
          top: 190px;
          left: 70px; }
          .related > .inner .nextblock .nextLink .inner .campaign-link::after {
            background: url(../../../assets/img/index/ico_outside.svg) no-repeat;
            right: 10px; }
      .related > .inner .related__title {
        margin-bottom: 0;
        letter-spacing: 0.2em; }
        .related > .inner .related__title--staff::after {
          width: calc(100% - 12em); }
        .related > .inner .related__title--interview::after {
          width: calc(100% - 14em); }
        .related > .inner .related__title--division::after {
          width: calc(100% - 12em); }
        .related > .inner .related__title--podcast {
          letter-spacing: 0.06em; }
          .related > .inner .related__title--podcast::after {
            width: calc(100% - 9em); }
      .related > .inner .related__title--interview,
      .related > .inner .related__title--division {
        margin-bottom: 0; }
      .related > .inner .related__staff {
        position: relative;
        padding-top: 10px;
        overflow: hidden; }
        .related > .inner .related__staff .related__sliderNav {
          position: absolute;
          left: 0;
          top: 20px;
          width: 100%; }
        .related > .inner .related__staff .related__sliderCont {
          padding-top: 55px; }
        .related > .inner .related__staff .staff__ttl {
          display: inline-block;
          margin-bottom: 3px;
          font-size: 18px;
          color: #141b4d;
          letter-spacing: 0.075em;
          line-height: 1.5; }
        .related > .inner .related__staff .staff__name {
          display: inline-block;
          font-size: 14px;
          font-weight: bold;
          color: #46505e;
          letter-spacing: 0.075em;
          line-height: 1.5; }
        .related > .inner .related__staff .staff__info {
          display: inline-block;
          color: #46505e;
          font-size: 12px;
          line-height: 1.5; }
      .related > .inner .related__interview {
        position: relative; }
        .related > .inner .related__interview .related__title--sub {
          position: absolute;
          top: 15px;
          left: 0;
          color: #46505e;
          font-size: 14px;
          line-height: 1.5; }
        .related > .inner .related__interview .ttl {
          display: inline-block;
          font-size: 14px;
          font-weight: bold;
          color: #46505e;
          letter-spacing: 0.075em;
          line-height: 2; }
      .related > .inner .related__division {
        padding-top: 40px; }
        .related > .inner .related__division .ttl {
          font-size: 18px;
          color: #141b4d;
          line-height: 1.55556; }
      .related > .inner .related__podcast {
        padding-top: 40px;
        justify-content: space-between; }
        .related > .inner .related__podcast li {
          width: 290px; }
        .related > .inner .related__podcast a {
          margin-bottom: 0; }
        .related > .inner .related__podcast .txtBox {
          display: inline-block;
          margin-top: 15px; }
          .related > .inner .related__podcast .txtBox .ttl {
            font-weight: bold;
            font-size: 14px;
            color: #46505e; }
    .related .changerList .name {
      color: #141b4d;
      display: inline-block !important;
      background: #fff;
      font-size: 18px;
      padding: 0 10px;
      height: 28px;
      line-height: 28px;
      margin: 0 0 5px;
      letter-spacing: 0.075em; }
    .related .changerList .info {
      color: #141b4d;
      display: inline-block !important;
      background: #fff;
      font-size: 12px;
      padding: 0 10px;
      height: 22px;
      line-height: 22px;
      letter-spacing: 0.035em; }
    .related__title--business {
      margin: 0 0 40px !important; }
      .related__title--business::after {
        width: calc(100% - 23em) !important; }
    .related .txtBoxFlex {
      display: flex;
      align-items: start;
      justify-content: space-between;
      max-width: 100%;
      padding-left: 5px;
      padding-right: 35px; }
      .related .txtBoxFlex .txtBox--center {
        min-width: 80px;
        text-align: center; } }

@media screen and (min-width: 1025px) {
  .related {
    position: relative;
    padding: 0 0 100px; }
    .related:before {
      background: rgba(20, 27, 77, 0.1);
      content: '';
      width: 100%;
      height: calc(100% - 16px);
      position: absolute;
      z-index: 1;
      top: 16px;
      left: 0;
      display: block; }
    .related > .inner {
      position: relative;
      z-index: 2;
      width: 690px;
      margin: 0 auto;
      padding: 0 !important; }
      .related > .inner > h2 {
        color: #141b4d;
        font-family: 'Noto Serif JP', serif;
        font-size: 30px;
        font-weight: 900;
        letter-spacing: 0.05em;
        text-align: center;
        margin: 0 0 100px; }
      .related > .inner h3 {
        color: #141b4d;
        font-family: 'Noto Serif JP', serif;
        font-size: 20px;
        font-weight: 600;
        letter-spacing: 0.05em;
        position: relative;
        margin: 0 0 20px; }
        .related > .inner h3:after {
          background: #141b4d;
          content: '';
          display: block;
          width: calc(100% - 12em);
          height: 1px;
          position: absolute;
          right: 0;
          top: 50%; }
      .related > .inner h3.related__title--solution {
        margin-top: -80px; }
      .related > .inner .ruby {
        color: #46505e;
        display: block;
        font-size: 14px;
        font-weight: bold;
        margin: 0 0 40px; }
        .related > .inner .ruby span {
          color: #fff;
          display: inline-block;
          background: #141b4d;
          vertical-align: middle;
          padding: 3px 1em;
          font-size: 12px;
          margin: 0 1em 0 0; }
      .related > .inner .divisionList {
        gap: 0; }
      .related > .inner ul {
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 70px; }
        .related > .inner ul li {
          width: 210px;
          margin: 0 30px 30px 0; }
          .related > .inner ul li:last-child {
            margin: 0; }
          .related > .inner ul li:nth-child(3) {
            margin: 0 0 30px; }
          .related > .inner ul li a {
            display: block;
            margin: 0 0 10px; }
            .related > .inner ul li a .imgBox {
              display: block; }
              .related > .inner ul li a .imgBox img {
                display: block; }
          .related > .inner ul li .txtBox .name {
            color: #141b4d;
            display: block;
            font-family: 'Noto Serif JP', serif;
            font-size: 18px;
            font-weight: 600; }
            .related > .inner ul li .txtBox .name.min {
              letter-spacing: -0.05em; }
          .related > .inner ul li .txtBox .info {
            color: #46505e;
            display: block;
            font-size: 12px;
            font-weight: bold;
            margin: 0 0 5px; }
            .related > .inner ul li .txtBox .info.min {
              font-size: 10px; }
      .related > .inner .event-block {
        margin-bottom: 80px; }
        .related > .inner .event-block .inner {
          padding: 0 !important; }
          .related > .inner .event-block .inner img {
            width: 100%; }
          .related > .inner .event-block .inner a {
            display: block; }
      .related > .inner .banner-jmag {
        width: 100%;
        padding-bottom: 50px; }
        .related > .inner .banner-jmag .inner {
          width: 690px;
          padding: 0; }
        .related > .inner .banner-jmag img {
          width: 100%; }
      .related > .inner .nextcareer-Link {
        background: url(../../../assets/img/people/reason/bg_next_pc.jpg) no-repeat;
        width: 690px;
        height: 270px; }
        .related > .inner .nextcareer-Link .inner {
          height: 250px;
          padding: 66px 0 0 !important; }
          .related > .inner .nextcareer-Link .inner h2 {
            color: #fff;
            font-family: 'Noto Serif JP', serif;
            font-size: 28px;
            font-weight: 600;
            text-align: center;
            padding: 0 0 20px;
            margin: 0 0 20px;
            position: relative; }
            .related > .inner .nextcareer-Link .inner h2:after {
              background: #fff;
              content: '';
              display: block;
              width: 20px;
              height: 2px;
              position: absolute;
              bottom: 0;
              left: 50%;
              margin: 0 0 0 -10px; }
          .related > .inner .nextcareer-Link .inner p {
            color: #fff;
            font-size: 14px;
            text-align: center;
            margin: 0 0 40px; }
          .related > .inner .nextcareer-Link .inner a {
            background: #fff;
            color: #141b4d;
            display: block;
            width: 150px;
            line-height: 38px;
            height: 38px;
            margin: 0 auto;
            font-size: 10px;
            font-weight: bold;
            text-align: center;
            letter-spacing: 0.1em; }
      .related > .inner .nextblock .nextLink {
        margin: 0 auto;
        position: relative; }
        .related > .inner .nextblock .nextLink--next {
          background: url(../../../assets/img/people/reason/bg_next_pc.jpg) no-repeat;
          width: 330px;
          height: 270px;
          background-size: cover; }
        .related > .inner .nextblock .nextLink--campaign {
          background: url(../../../assets/img/people/reason/bg_campaign_pc.jpg) no-repeat;
          width: 330px;
          height: 270px;
          background-size: cover;
          margin-bottom: 30px; }
        .related > .inner .nextblock .nextLink .inner {
          height: 250px;
          padding: 35px 0 0 !important; }
          .related > .inner .nextblock .nextLink .inner h2 {
            color: #fff;
            font-family: 'Noto Serif JP', serif;
            font-size: 26px;
            font-weight: 600;
            text-align: center;
            padding: 0 0 20px;
            margin: 0 0 20px;
            position: relative;
            line-height: 1.5; }
            .related > .inner .nextblock .nextLink .inner h2:after {
              background: #fff;
              content: '';
              display: block;
              width: 20px;
              height: 2px;
              position: absolute;
              bottom: 0;
              left: 50%;
              margin: 0 0 0 -10px; }
          .related > .inner .nextblock .nextLink .inner p {
            color: #fff;
            font-size: 14px;
            text-align: center;
            margin: 0 0 40px; }
          .related > .inner .nextblock .nextLink .inner a {
            background: #fff;
            color: #141b4d;
            display: block;
            width: 160px;
            line-height: 38px;
            height: 38px;
            margin: 0 auto;
            font-size: 12px;
            font-weight: bold;
            letter-spacing: 0.1em;
            position: relative;
            padding-left: 30px; }
            .related > .inner .nextblock .nextLink .inner a::after {
              background: url(../../../assets/img/index/ico_outside_02.svg) no-repeat;
              content: '';
              display: block;
              width: 16px;
              height: 10px;
              position: absolute;
              top: 50%;
              right: 20px;
              margin: -5px 0 0; }
          .related > .inner .nextblock .nextLink .inner .campaign-link {
            background: #141b4d;
            color: #fff;
            width: 163px;
            line-height: 46px;
            height: 46px;
            border-radius: 23px;
            padding-left: 15px;
            position: absolute;
            bottom: 25px;
            left: 35px; }
            .related > .inner .nextblock .nextLink .inner .campaign-link::after {
              background: url(../../../assets/img/index/ico_outside.svg) no-repeat;
              right: 20px; }
      .related > .inner .related__title {
        margin-bottom: 0;
        letter-spacing: 0.2em; }
        .related > .inner .related__title--staff::after {
          width: calc(100% - 12em); }
        .related > .inner .related__title--interview::after {
          width: calc(100% - 14em); }
        .related > .inner .related__title--division::after {
          width: calc(100% - 12em); }
        .related > .inner .related__title--podcast {
          letter-spacing: 0.06em; }
          .related > .inner .related__title--podcast::after {
            width: calc(100% - 9em); }
      .related > .inner .related__title--interview,
      .related > .inner .related__title--division {
        margin-bottom: 0; }
      .related > .inner .related__staff {
        position: relative;
        padding-top: 10px;
        overflow: hidden; }
        .related > .inner .related__staff .related__sliderNav {
          position: absolute;
          left: 0;
          top: 20px;
          width: 100%; }
        .related > .inner .related__staff .related__sliderCont {
          padding-top: 55px; }
        .related > .inner .related__staff .staff__ttl {
          display: inline-block;
          margin-bottom: 3px;
          font-size: 18px;
          color: #141b4d;
          letter-spacing: 0.075em;
          line-height: 1.5; }
        .related > .inner .related__staff .staff__name {
          display: inline-block;
          font-size: 14px;
          font-weight: bold;
          color: #46505e;
          letter-spacing: 0.075em;
          line-height: 1.5; }
        .related > .inner .related__staff .staff__info {
          display: inline-block;
          color: #46505e;
          font-size: 12px;
          line-height: 1.5; }
      .related > .inner .related__interview {
        position: relative; }
        .related > .inner .related__interview .related__title--sub {
          position: absolute;
          top: 15px;
          left: 0;
          color: #46505e;
          font-size: 14px;
          line-height: 1.5; }
        .related > .inner .related__interview .ttl {
          display: inline-block;
          font-size: 14px;
          font-weight: bold;
          color: #46505e;
          letter-spacing: 0.075em;
          line-height: 2; }
      .related > .inner .related__division {
        padding-top: 40px; }
        .related > .inner .related__division .ttl {
          font-size: 18px;
          color: #141b4d;
          line-height: 1.55556; }
      .related > .inner .related__podcast {
        padding-top: 40px;
        justify-content: space-between; }
        .related > .inner .related__podcast li {
          width: 290px; }
        .related > .inner .related__podcast a {
          margin-bottom: 0; }
        .related > .inner .related__podcast .txtBox {
          display: inline-block;
          margin-top: 15px; }
          .related > .inner .related__podcast .txtBox .ttl {
            font-weight: bold;
            font-size: 14px;
            color: #46505e; }
    .related__title--business::after {
      width: calc(100% - 23em) !important; }
    .related .changerList .name {
      color: #141b4d;
      display: inline-block !important;
      background: #fff;
      font-size: 18px;
      padding: 0 10px;
      height: 28px;
      line-height: 28px;
      margin: 0 0 5px;
      letter-spacing: 0.075em; }
    .related .changerList .info {
      color: #141b4d;
      display: inline-block !important;
      background: #fff;
      font-size: 12px;
      padding: 0 10px;
      height: 22px;
      line-height: 22px;
      letter-spacing: 0.035em; }
    .related .txtBoxFlex {
      display: flex;
      align-items: start;
      justify-content: space-between;
      max-width: 100%;
      padding-left: 5px;
      padding-right: 35px; }
      .related .txtBoxFlex .txtBox--center {
        min-width: 80px;
        text-align: center; } }

.l-careervision {
  color: #141b4d;
  font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif;
  padding-bottom: 80px; }
  @media screen and (max-width: 1024px) {
    .l-careervision {
      padding-bottom: 50px; } }
  .l-careervision .inner {
    padding: 0 !important;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box; }
    @media screen and (max-width: 1024px) {
      .l-careervision .inner {
        width: 92%; } }
  .l-careervision .p-title {
    padding: 25px 0; }
    @media screen and (max-width: 1024px) {
      .l-careervision .p-title {
        padding: 17px 0 20px; } }
    .l-careervision .p-title p {
      font-size: 20px;
      text-align: center;
      position: relative; }
      @media screen and (max-width: 1024px) {
        .l-careervision .p-title p {
          font-size: 14px; } }
      .l-careervision .p-title p::before {
        content: '';
        width: 154px;
        height: 2px;
        background: -webkit-linear-gradient(0deg, #141b4d 0%, #181b4c 15.56%, #251c4a 31.69%, #391e46 48.08%, #562040 64.66%, #7c2339 81.37%, #a92730 97.99%, #af272f 100%);
        position: absolute;
        bottom: -10px;
        left: 50%;
        transform: translateX(-50%); }
        @media screen and (max-width: 1024px) {
          .l-careervision .p-title p::before {
            width: 106px;
            bottom: -6px; } }
    .l-careervision .p-title h1 {
      font-family: 'Noto Serif JP', serif;
      font-size: 28px;
      font-weight: 600;
      text-align: center;
      margin-top: 40px !important; }
      @media screen and (max-width: 1024px) {
        .l-careervision .p-title h1 {
          font-size: 18px;
          margin-top: 28px !important; } }
  .l-careervision .p-mv {
    position: relative;
    border-top: solid 2px #141b4d; }
    .l-careervision .p-mv img {
      width: 100%; }
  .l-careervision .p-information {
    position: absolute;
    bottom: 4.6875vw;
    left: 13.90625vw;
    color: #fff; }
    @media screen and (max-width: 1024px) {
      .l-careervision .p-information {
        bottom: 9.06667vw;
        left: 9.6vw;
        margin-top: 40px;
        width: auto; } }
    @media screen and (max-width: 1024px) {
      .l-careervision .p-information .p-catch {
        margin-bottom: 8vw;
        font-size: 5.06667vw;
        font-weight: bold;
        line-height: 1.73684; } }
    .l-careervision .p-information .p-name {
      font-size: 1.71875vw;
      font-weight: bold; }
      @media screen and (max-width: 1024px) {
        .l-careervision .p-information .p-name {
          font-size: 4vw; } }
    .l-careervision .p-information .p-join {
      margin-top: 2.65625vw;
      font-size: 1.09375vw;
      line-height: 1.71429; }
      @media screen and (max-width: 1024px) {
        .l-careervision .p-information .p-join {
          font-size: 3.2vw; } }
    .l-careervision .p-information .p-career {
      font-size: 1.09375vw;
      line-height: 1.71429; }
      @media screen and (max-width: 1024px) {
        .l-careervision .p-information .p-career {
          font-size: 3.2vw;
          line-height: 1.66667; } }

.p-first {
  padding: 100px 0;
  background: #e7e8ed; }
  @media screen and (max-width: 1024px) {
    .p-first {
      padding: 50px 0; } }
  .p-first h2 {
    background: -webkit-linear-gradient(0deg, #141b4d 0%, #181b4c 15.56%, #251c4a 31.69%, #391e46 48.08%, #562040 64.66%, #7c2339 81.37%, #a92730 97.99%, #af272f 100%);
    padding: 10px 23px;
    color: #fff;
    font-size: 20px;
    font-weight: bold; }
    @media screen and (max-width: 1024px) {
      .p-first h2 {
        padding: 10px;
        font-size: 16px; } }
    .p-first h2:not(:first-child) {
      margin-top: 100px; }
      @media screen and (max-width: 1024px) {
        .p-first h2:not(:first-child) {
          margin-top: 50px; } }
  .p-first .p-box {
    margin: 40px auto 0; }
    @media screen and (max-width: 1024px) {
      .p-first .p-box {
        margin-top: 25px; } }
    .p-first .p-box h3 {
      font-size: 24px;
      font-weight: bold;
      line-height: 1.75;
      margin: 0 auto 30px; }
      @media screen and (max-width: 1024px) {
        .p-first .p-box h3 {
          font-size: 16px;
          margin: 0 auto 15px; } }
    .p-first .p-box p {
      font-size: 14px;
      line-height: 2.14286;
      text-align: justify;
      margin-top: 30px; }
      @media screen and (max-width: 1024px) {
        .p-first .p-box p {
          font-size: 12px;
          margin-top: 20px; } }
    .p-first .p-box div {
      display: flex;
      gap: 32px; }
      @media screen and (max-width: 1024px) {
        .p-first .p-box div {
          flex-wrap: wrap;
          gap: 20px; } }
      .p-first .p-box div img {
        width: 100%;
        flex-shrink: 0; }
  .p-first .image-box {
    margin: 55px 0 0;
    max-width: 700px; }
    @media screen and (max-width: 1024px) {
      .p-first .image-box {
        margin-top: 20px; } }
    .p-first .image-box img {
      width: 100%; }
  .p-first .p-box2 {
    margin-top: 60px; }
    .p-first .p-box2 h4 {
      position: relative;
      font-size: 20px;
      font-weight: bold;
      letter-spacing: .15em;
      margin-bottom: 20px;
      margin-left: 40px; }
      @media screen and (max-width: 1024px) {
        .p-first .p-box2 h4 {
          font-size: 18px;
          margin-left: 30px; } }
      .p-first .p-box2 h4::before {
        position: absolute;
        top: 50%;
        left: -40px;
        transform: translateY(-50%);
        content: "";
        display: inline-block;
        background: #141b4d;
        height: 20px;
        width: 20px; }
        @media screen and (max-width: 1024px) {
          .p-first .p-box2 h4::before {
            height: 18px;
            width: 18px;
            left: -30px; } }
    .p-first .p-box2 p {
      font-size: 14px;
      line-height: 2.14286;
      margin-bottom: 30px; }
    .p-first .p-box2 a {
      color: #141b4d;
      text-decoration: underline; }
  .p-first .aboutBox {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px; }
    @media screen and (max-width: 1024px) {
      .p-first .aboutBox {
        display: block; } }
    .p-first .aboutBox__list {
      background: #fff;
      border-radius: 20px;
      padding: 30px 20px 20px; }
      @media screen and (max-width: 1024px) {
        .p-first .aboutBox__list {
          margin-bottom: 20px; } }
    .p-first .aboutBox .item__img {
      width: 87px;
      margin: 0 auto 35px; }
      .p-first .aboutBox .item__img img {
        width: 100%; }
    .p-first .aboutBox .item__ttl {
      font-size: 12px;
      line-height: 1.667;
      font-weight: bold;
      letter-spacing: -0.05em;
      text-align: center;
      margin-bottom: 10px; }
      .p-first .aboutBox .item__ttl--light-blue {
        color: #06acc1; }
      .p-first .aboutBox .item__ttl--blue {
        color: #0b2696; }
      .p-first .aboutBox .item__ttl--green {
        color: #44a047; }
      .p-first .aboutBox .item__ttl--unique {
        margin-top: -20px; }
    .p-first .aboutBox .item__txt {
      color: #505050;
      font-size: 14px;
      line-height: 1.5;
      text-align: center;
      font-weight: bold;
      margin-bottom: 0; }
  .p-first .systemMap {
    margin: 30px auto 60px; }
    .p-first .systemMap a {
      pointer-events: none; }
      @media screen and (max-width: 1024px) {
        .p-first .systemMap a {
          pointer-events: initial; } }
    @media screen and (max-width: 1024px) {
      .p-first .systemMap {
        margin: 30px auto 40px; } }
    .p-first .systemMap img {
      width: 100%; }

.p-second {
  padding: 100px 0;
  background: #141b4d; }
  @media screen and (max-width: 1024px) {
    .p-second {
      padding: 50px 0; } }
  .p-second h2 {
    border: solid 1px #fff;
    padding: 11px 23px;
    color: #fff;
    font-size: 20px;
    font-weight: bold; }
    @media screen and (max-width: 1024px) {
      .p-second h2 {
        padding: 10px;
        font-size: 16px;
        line-height: 1.5; } }
    .p-second h2:not(:first-child) {
      margin-top: 100px; }
  .p-second .p-box {
    margin: 40px auto 0; }
    @media screen and (max-width: 1024px) {
      .p-second .p-box {
        margin-top: 30px; } }
    .p-second .p-box h3 {
      color: #fff;
      font-size: 24px;
      font-weight: bold;
      line-height: 1.75;
      margin: 0 auto 30px; }
      @media screen and (max-width: 1024px) {
        .p-second .p-box h3 {
          font-size: 16px;
          margin: 0 auto 15px; } }
    .p-second .p-box p {
      color: #fff;
      font-size: 15px;
      line-height: 2;
      text-align: justify;
      margin-top: 30px; }
      @media screen and (max-width: 1024px) {
        .p-second .p-box p {
          font-size: 12px;
          margin-top: 20px; } }
    .p-second .p-box a {
      color: #fff;
      text-decoration: underline; }
    .p-second .p-box div {
      display: flex;
      gap: 32px; }
      @media screen and (max-width: 1024px) {
        .p-second .p-box div {
          flex-wrap: wrap;
          gap: 20px; } }
      .p-second .p-box div img {
        width: 100%;
        flex-shrink: 0; }
  .p-second .image-box {
    margin: 40px 0;
    max-width: 700px; }
    @media screen and (max-width: 1024px) {
      .p-second .image-box {
        margin: 25px 0; } }
    .p-second .image-box img {
      width: 100%; }

.careerVisonContent {
  color: #141b4d;
  margin: 40px auto 140px; }
  @media screen and (max-width: 1024px) {
    .careerVisonContent {
      margin-bottom: 70px; } }
  .careerVisonContent .inner {
    padding: 0 !important;
    max-width: 690px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box; }
    @media screen and (max-width: 1024px) {
      .careerVisonContent .inner {
        width: 92%; } }
  .careerVisonContent ul {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
    justify-content: center; }
    @media screen and (max-width: 1024px) {
      .careerVisonContent ul {
        gap: 30px;
        justify-content: center; } }
    .careerVisonContent ul li {
      width: calc(100% / 3 - 50px / 3);
      max-width: 250px; }
      @media screen and (max-width: 1024px) {
        .careerVisonContent ul li {
          width: 100%; } }
      .careerVisonContent ul li a {
        display: block; }
        .careerVisonContent ul li a img {
          width: 100%; }
      .careerVisonContent ul li .txtBox {
        margin-top: 10px; }
        .careerVisonContent ul li .txtBox h3 {
          font-family: 'Noto Serif JP', serif;
          font-size: 14px;
          line-height: 1.4; }
        .careerVisonContent ul li .txtBox .info {
          display: inline-block;
          font-size: 15px;
          line-height: 1.4;
          margin-top: 10px; }
          @media screen and (max-width: 1024px) {
            .careerVisonContent ul li .txtBox .info {
              font-size: 12px; } }
        .careerVisonContent ul li .txtBox .name {
          display: inline-block;
          font-size: 15px;
          line-height: 1.4; }
          @media screen and (max-width: 1024px) {
            .careerVisonContent ul li .txtBox .name {
              font-size: 12px; } }
    .careerVisonContent ul li.act {
      opacity: 0.5; }
      .careerVisonContent ul li.act a {
        pointer-events: none; }

.modal {
  display: none; }
  @media screen and (max-width: 1024px) {
    .modal {
      display: none;
      background: rgba(0, 20, 97, 0.8);
      width: 100%;
      height: 100%;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 99999;
      display: none;
      overflow: auto;
      padding: 0; }
      .modal .mask {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 1; }
      .modal .inner {
        background: #FFF;
        width: 100%;
        margin: 0 auto;
        padding: 40px 20px 40px;
        position: relative;
        top: 50%;
        left: 0;
        transform: translatey(-50%);
        z-index: 2; }
        .modal .inner a {
          position: absolute;
          right: 20px;
          top: 20px;
          background: #141b4d;
          display: block;
          width: 30px;
          height: 30px;
          margin: 0 auto; }
          .modal .inner a span {
            position: relative;
            display: block;
            height: 30px;
            width: 30px; }
            .modal .inner a span:before {
              background: #FFF;
              content: "";
              display: block;
              height: 1px;
              width: 25px;
              position: absolute;
              -ms-transform: rotate(45deg);
              -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
              top: 50%;
              left: 50%;
              margin: 0 0 0 -12px; }
            .modal .inner a span:after {
              background: #FFF;
              content: "";
              display: block;
              height: 1px;
              width: 25px;
              position: absolute;
              -ms-transform: rotate(-45deg);
              -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
              top: 50%;
              left: 50%;
              margin: 0 0 0 -12px; } }
