@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
主な仕事内容
---------------------------------------------------------------------------------------------------------------------
*/
#content {
  max-width: 1200px;
  width: 90%;
  margin: auto;
  padding: 60px 0; }
  @media (min-width: 1200px) {
    #content {
      padding: 120px 0; } }
  #content .customer-service {
    margin-top: 50px; }
    @media (min-width: 768px) {
      #content .customer-service {
        display: flex; } }
    @media (min-width: 1200px) {
      #content .customer-service {
        margin: 100px auto 0; } }
    @media (min-width: 768px) {
      #content .customer-service .txt-L {
        width: 50%;
        padding-right: 5%; } }
    #content .customer-service .txt-L h2 {
      font-size: 1.25em;
      font-feature-settings: "palt";
      letter-spacing: 0.04em;
      line-height: 1.4em; }
      @media (min-width: 768px) {
        #content .customer-service .txt-L h2 {
          font-size: 1.75em; } }
      @media (min-width: 1200px) {
        #content .customer-service .txt-L h2 {
          font-size: 2.25em; } }
    #content .customer-service .txt-L p {
      margin: 5px 0 0 0; }
      @media (min-width: 1200px) {
        #content .customer-service .txt-L p {
          margin: 10px 0 0 0; } }
    #content .customer-service .txt-L ul {
      margin-top: 20px; }
      @media (min-width: 1200px) {
        #content .customer-service .txt-L ul {
          margin-top: 40px; } }
      #content .customer-service .txt-L ul li {
        margin-bottom: 30px; }
        @media (min-width: 1200px) {
          #content .customer-service .txt-L ul li {
            margin-bottom: 60px; } }
        #content .customer-service .txt-L ul li:last-child {
          margin-bottom: 0; }
        #content .customer-service .txt-L ul li h3 {
          position: relative;
          font-size: 1.125em;
          line-height: 1.4em;
          padding-left: 15px;
          color: #1E58DE; }
          @media (min-width: 768px) {
            #content .customer-service .txt-L ul li h3 {
              font-size: 1.35em; } }
          @media (min-width: 1200px) {
            #content .customer-service .txt-L ul li h3 {
              font-size: 1.75em; } }
          #content .customer-service .txt-L ul li h3::before {
            content: "";
            position: absolute;
            left: 0;
            top: 2px;
            bottom: 0;
            display: flex;
            margin: auto;
            width: 10px;
            height: 10px;
            background-color: #1E58DE;
            border-radius: 50%;
            transition: .5s; }
        #content .customer-service .txt-L ul li p {
          margin: 5px 0 0 0; }
          @media (min-width: 1200px) {
            #content .customer-service .txt-L ul li p {
              margin: 10px 0 0 0; } }
    #content .customer-service .photo-R {
      margin-top: 20px; }
      @media (min-width: 768px) {
        #content .customer-service .photo-R {
          width: 50%;
          margin-top: 0; } }
      #content .customer-service .photo-R img {
        border-radius: 5px; }
        @media (min-width: 1024px) {
          #content .customer-service .photo-R img {
            border-radius: 10px; } }
  #content .sales {
    margin: 50px auto 0; }
    @media (min-width: 1200px) {
      #content .sales {
        margin: 100px auto 0; } }
    #content .sales .common-txt {
      max-width: 800px;
      width: 100%; }
      #content .sales .common-txt p {
        text-align: center; }
  #content .ceo-speech {
    max-width: 800px;
    margin: 40px auto 0; }
    @media (min-width: 1200px) {
      #content .ceo-speech {
        max-width: 1000px; } }

/*
---------------------------------------------------------------------------------------------------------------------
評価・報酬制度
---------------------------------------------------------------------------------------------------------------------
*/
#evaluation {
  position: relative;
  background-color: #fff;
  padding: 60px 0 0;
  border-radius: 20px;
  margin-top: -20px; }
  @media (min-width: 1200px) {
    #evaluation {
      padding: 120px 0 0;
      border-radius: 40px;
      margin-top: -40px; } }
  #evaluation .evaluation-1in {
    max-width: 1200px;
    width: 90%;
    margin: auto; }
    #evaluation .evaluation-1in .common-txt {
      width: 100%; }
  #evaluation .ceo-speech {
    max-width: 800px;
    margin: 40px auto 0;
    width: 90%; }
    @media (min-width: 1200px) {
      #evaluation .ceo-speech {
        max-width: 1000px; } }
  #evaluation .evaluation-2in {
    max-width: 1200px;
    width: 90%;
    margin: 60px auto 0; }
    @media (min-width: 1200px) {
      #evaluation .evaluation-2in {
        margin: 120px auto 0; } }
    #evaluation .evaluation-2in .contents-box {
      margin-bottom: 60px; }
      @media (min-width: 1200px) {
        #evaluation .evaluation-2in .contents-box {
          margin-bottom: 120px; } }
      #evaluation .evaluation-2in .contents-box:last-child {
        margin-bottom: 0; }
      #evaluation .evaluation-2in .contents-box .title .no {
        display: flex;
        align-items: center;
        color: #1E58DE;
        margin: 0 0 5px 0; }
        #evaluation .evaluation-2in .contents-box .title .no h5 {
          font-family: "Bebas Neue", sans-serif;
          margin: 5px 10px 0 0; }
        #evaluation .evaluation-2in .contents-box .title .no h5, #evaluation .evaluation-2in .contents-box .title .no h6 {
          font-size: 1.0em;
          line-height: 1.0em; }
          @media (min-width: 768px) {
            #evaluation .evaluation-2in .contents-box .title .no h5, #evaluation .evaluation-2in .contents-box .title .no h6 {
              font-size: 1.125em; } }
          @media (min-width: 1200px) {
            #evaluation .evaluation-2in .contents-box .title .no h5, #evaluation .evaluation-2in .contents-box .title .no h6 {
              font-size: 1.35em; } }
      #evaluation .evaluation-2in .contents-box .title h2 {
        font-size: 1.25em;
        line-height: 1.4em;
        font-feature-settings: "palt";
        letter-spacing: 0.04em; }
        @media (min-width: 768px) {
          #evaluation .evaluation-2in .contents-box .title h2 {
            font-size: 1.75em; } }
        @media (min-width: 1200px) {
          #evaluation .evaluation-2in .contents-box .title h2 {
            font-size: 2.25em; } }
      #evaluation .evaluation-2in .contents-box .title p {
        margin: 5px 0 0 0; }
        @media (min-width: 1200px) {
          #evaluation .evaluation-2in .contents-box .title p {
            margin: 10px 0 0 0; } }
      #evaluation .evaluation-2in .contents-box ul {
        margin: 30px auto 0; }
        @media (min-width: 768px) {
          #evaluation .evaluation-2in .contents-box ul {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px; } }
        @media (min-width: 1024px) {
          #evaluation .evaluation-2in .contents-box ul {
            gap: 40px; } }
        @media (min-width: 1200px) {
          #evaluation .evaluation-2in .contents-box ul {
            gap: 60px;
            margin: 60px auto 0; } }
        #evaluation .evaluation-2in .contents-box ul li {
          margin-bottom: 40px; }
          #evaluation .evaluation-2in .contents-box ul li:last-child {
            margin-bottom: 0; }
          @media (min-width: 768px) {
            #evaluation .evaluation-2in .contents-box ul li {
              margin-bottom: 0; } }
          #evaluation .evaluation-2in .contents-box ul li h3 {
            font-size: 1.125em;
            line-height: 1.2em;
            font-feature-settings: "palt";
            letter-spacing: 0.04em;
            color: #1E58DE;
            border-bottom: 2px solid #000;
            padding-bottom: 10px; }
            @media (min-width: 768px) {
              #evaluation .evaluation-2in .contents-box ul li h3 {
                font-size: 1.35em; } }
            @media (min-width: 1200px) {
              #evaluation .evaluation-2in .contents-box ul li h3 {
                font-size: 1.75em; } }
          #evaluation .evaluation-2in .contents-box ul li p {
            text-align: justify;
            margin: 5px 0 0 0; }
            @media (min-width: 1200px) {
              #evaluation .evaluation-2in .contents-box ul li p {
                margin: 10px 0 0 0; } }

/*
---------------------------------------------------------------------------------------------------------------------
キャリアパス
---------------------------------------------------------------------------------------------------------------------
*/
#career {
  position: relative;
  background-color: #fff;
  padding: 60px 0 80px;
  border-radius: 20px;
  margin-top: -20px; }
  @media (min-width: 1200px) {
    #career {
      padding: 120px 0;
      border-radius: 40px;
      margin-top: -40px; } }
  #career .career-graph {
    max-width: 1200px;
    margin: 60px auto 0; }
    @media (min-width: 1200px) {
      #career .career-graph {
        margin: 120px auto 0; } }
    #career .career-graph .txt {
      position: relative;
      top: 20px;
      left: 0;
      width: 90%;
      margin: auto; }
      @media (min-width: 768px) {
        #career .career-graph .txt {
          top: 50px; } }
      @media (min-width: 1200px) {
        #career .career-graph .txt {
          top: 100px; } }
    #career .career-graph .graph {
      overflow: scroll;
      padding: 0 5%; }
      @media (min-width: 768px) {
        #career .career-graph .graph {
          overflow: hidden;
          width: 90%;
          margin: auto; } }
      #career .career-graph .graph .graph-in {
        min-width: 600px; }
  #career .senior {
    max-width: 1000px;
    margin: 60px auto 0;
    width: 90%; }
    @media (min-width: 1200px) {
      #career .senior {
        margin: 120px auto 0; } }
    #career .senior .midashi h2 {
      font-size: 1.25em;
      line-height: 1.2em; }
      @media (min-width: 768px) {
        #career .senior .midashi h2 {
          font-size: 1.75em; } }
      @media (min-width: 1200px) {
        #career .senior .midashi h2 {
          font-size: 2.25em; } }
    #career .senior .midashi p {
      font-size: 0.9em;
      line-height: 1.6em;
      margin: 10px 0 0 0; }
      @media (min-width: 768px) {
        #career .senior .midashi p {
          font-size: 1.0em; } }
      @media (min-width: 1200px) {
        #career .senior .midashi p {
          font-size: 1.125em; } }
    #career .senior .senior-list {
      margin-top: 40px; }
      @media (min-width: 1200px) {
        #career .senior .senior-list {
          margin-top: 80px; } }
      #career .senior .senior-list .senior-box {
        margin-bottom: 40px;
        padding-bottom: 40px;
        border-bottom: 1px solid #AFAFAF; }
        @media (min-width: 768px) {
          #career .senior .senior-list .senior-box {
            display: flex; } }
        @media (min-width: 1200px) {
          #career .senior .senior-list .senior-box {
            padding-bottom: 80px;
            margin-bottom: 80px; } }
        #career .senior .senior-list .senior-box:last-child {
          border-bottom: none;
          padding-bottom: 0;
          margin-bottom: 0; }
        #career .senior .senior-list .senior-box .senior-L {
          display: none; }
          @media (min-width: 768px) {
            #career .senior .senior-list .senior-box .senior-L {
              display: block;
              width: 260px; } }
          #career .senior .senior-list .senior-box .senior-L img {
            border-radius: 10px; }
        @media (min-width: 768px) {
          #career .senior .senior-list .senior-box .senior-R {
            width: calc(100% - 260px);
            padding-left: 20px; } }
        @media (min-width: 1200px) {
          #career .senior .senior-list .senior-box .senior-R {
            padding-left: 60px; } }
        #career .senior .senior-list .senior-box .senior-R .txt-area {
          display: flex; }
          #career .senior .senior-list .senior-box .senior-R .txt-area .sp-thumbnail {
            width: 100px; }
            @media (min-width: 768px) {
              #career .senior .senior-list .senior-box .senior-R .txt-area .sp-thumbnail {
                display: none; } }
            #career .senior .senior-list .senior-box .senior-R .txt-area .sp-thumbnail img {
              border-radius: 10px; }
          #career .senior .senior-list .senior-box .senior-R .txt-area .copy-name {
            width: calc(100% - 100px);
            padding-left: 10px; }
            @media (min-width: 768px) {
              #career .senior .senior-list .senior-box .senior-R .txt-area .copy-name {
                width: 100%;
                padding: 0; } }
            #career .senior .senior-list .senior-box .senior-R .txt-area .copy-name h3 {
              font-size: 1.0em;
              line-height: 1.4em; }
              @media (min-width: 768px) {
                #career .senior .senior-list .senior-box .senior-R .txt-area .copy-name h3 {
                  font-size: 1.125em; } }
              @media (min-width: 1200px) {
                #career .senior .senior-list .senior-box .senior-R .txt-area .copy-name h3 {
                  font-size: 1.35em; } }
            #career .senior .senior-list .senior-box .senior-R .txt-area .copy-name .people-name {
              margin-top: 10px; }
              @media (min-width: 1200px) {
                #career .senior .senior-list .senior-box .senior-R .txt-area .copy-name .people-name {
                  margin-top: 20px; } }
              #career .senior .senior-list .senior-box .senior-R .txt-area .copy-name .people-name h5 {
                margin: -6px 0 0 4px; }
                @media (min-width: 1200px) {
                  #career .senior .senior-list .senior-box .senior-R .txt-area .copy-name .people-name h5 {
                    margin: -6px 0 0 10px; } }
        #career .senior .senior-list .senior-box .senior-R .career-flow {
          padding: 0 0 10px 0;
          margin-top: 10px; }
          @media (min-width: 768px) {
            #career .senior .senior-list .senior-box .senior-R .career-flow {
              margin-top: 20px;
              padding: 0 0 20px 0; } }

/*
---------------------------------------------------------------------------------------------------------------------
教育制度
---------------------------------------------------------------------------------------------------------------------
*/
#education {
  position: relative;
  background-color: #fff;
  padding: 60px 0;
  border-radius: 20px;
  margin-top: -20px; }
  @media (min-width: 1200px) {
    #education {
      padding: 120px 0;
      border-radius: 40px;
      margin-top: -40px; } }
  #education .common-txt {
    text-align: center; }
  #education .growth-in {
    max-width: 1200px;
    width: 90%;
    margin: 30px auto 0; }
    @media (min-width: 768px) {
      #education .growth-in {
        display: flex;
        margin: 60px auto 0; } }
    @media (min-width: 1200px) {
      #education .growth-in {
        margin: 120px auto 0; } }
    @media (min-width: 768px) {
      #education .growth-in .growth-txt {
        width: 50%; } }
    #education .growth-in .growth-txt h2 {
      font-size: 1.35em;
      line-height: 1.4em; }
      @media (min-width: 768px) {
        #education .growth-in .growth-txt h2 {
          font-size: 1.75em; } }
      @media (min-width: 1200px) {
        #education .growth-in .growth-txt h2 {
          font-size: 2.25em; } }
    #education .growth-in .growth-ph {
      margin-top: 20px; }
      @media (min-width: 768px) {
        #education .growth-in .growth-ph {
          width: 50%;
          padding-left: 4%;
          margin-top: 0; } }
      #education .growth-in .growth-ph .growth-ph-in {
        position: sticky;
        top: 100px; }
  #education #flow-area {
    position: relative; }
    #education #flow-area h2 {
      margin: 0 0 30px 0; }
      @media (min-width: 1200px) {
        #education #flow-area h2 {
          margin: 0 0 60px 0; } }
    @media (min-width: 1024px) {
      #education #flow-area ul.timeline {
        padding-left: 100px; } }
    #education #flow-area ul.timeline.aqua li dl dt h3 {
      color: #1E58DE; }
    #education #flow-area ul.timeline.aqua .border-line {
      background: #1E58DE; }
    #education #flow-area ul.timeline.aqua li::after {
      background: #1E58DE; }
    #education #flow-area ul.timeline li {
      /*線の起点とするためrelativeを設定*/
      position: relative;
      list-style: none;
      padding-bottom: 30px; }
      @media (min-width: 768px) {
        #education #flow-area ul.timeline li {
          padding-bottom: 60px; } }
      #education #flow-area ul.timeline li:last-child {
        padding-bottom: 0; }
      #education #flow-area ul.timeline li dl {
        margin: 0 0 0 30px; }
        #education #flow-area ul.timeline li dl dt {
          position: relative; }
          #education #flow-area ul.timeline li dl dt .time {
            display: flex;
            align-items: center;
            margin-bottom: 10px; }
            @media (min-width: 1024px) {
              #education #flow-area ul.timeline li dl dt .time {
                position: absolute;
                top: 4px;
                left: 0;
                left: -130px; } }
            #education #flow-area ul.timeline li dl dt .time h4 {
              font-size: 1.0em; }
              @media (min-width: 1024px) {
                #education #flow-area ul.timeline li dl dt .time h4 {
                  font-size: 1.125em; } }
          #education #flow-area ul.timeline li dl dt h3 {
            font-size: 1.125em;
            line-height: 1.2em; }
            @media (min-width: 768px) {
              #education #flow-area ul.timeline li dl dt h3 {
                font-size: 1.35em; } }
            @media (min-width: 1200px) {
              #education #flow-area ul.timeline li dl dt h3 {
                font-size: 1.75em; } }
        #education #flow-area ul.timeline li dl dd p {
          font-size: 0.9em;
          line-height: 1.8em;
          text-align: justify;
          margin-top: 5px; }
          @media (min-width: 1024px) {
            #education #flow-area ul.timeline li dl dd p {
              font-size: 1.0em;
              margin-top: 10px; } }
      #education #flow-area ul.timeline li .border-line {
        position: absolute;
        top: 15px;
        left: 5px;
        width: 2px;
        height: 0; }
        @media (min-width: 1024px) {
          #education #flow-area ul.timeline li .border-line {
            top: 25px; } }
      #education #flow-area ul.timeline li::after {
        content: '';
        position: absolute;
        top: 6px;
        left: 0;
        width: 12px;
        height: 12px;
        color: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center; }
        @media (min-width: 1024px) {
          #education #flow-area ul.timeline li::after {
            top: 15px; } }
  #education .flow-sab {
    margin-top: 20px; }
    #education .flow-sab .litxt {
      margin-bottom: 20px; }
      @media (min-width: 1200px) {
        #education .flow-sab .litxt {
          margin-bottom: 40px; } }
      #education .flow-sab .litxt:last-child {
        margin-bottom: 0; }
      #education .flow-sab .litxt h4 {
        position: relative;
        font-size: 0.9em;
        line-height: 1.4em;
        color: #1E58DE;
        padding-left: 15px; }
        @media (min-width: 768px) {
          #education .flow-sab .litxt h4 {
            font-size: 1.0em; } }
        @media (min-width: 1200px) {
          #education .flow-sab .litxt h4 {
            font-size: 1.125em; } }
        #education .flow-sab .litxt h4::before {
          content: "";
          position: absolute;
          left: 0;
          top: 2px;
          bottom: 0;
          display: flex;
          margin: auto;
          width: 10px;
          height: 10px;
          background-color: #1E58DE;
          border-radius: 50%;
          transition: .5s; }
      #education .flow-sab .litxt h6 {
        font-size: 0.8em;
        font-weight: normal;
        line-height: 1.6em;
        text-align: justify; }
        @media (min-width: 768px) {
          #education .flow-sab .litxt h6 {
            font-size: 0.9em; } }
        @media (min-width: 1200px) {
          #education .flow-sab .litxt h6 {
            font-size: 1.0em; } }
  #education #support {
    margin-top: 100px; }
    @media (min-width: 1200px) {
      #education #support {
        margin-top: 200px; } }
    #education #support h2 {
      margin: 0 0 10px 0; }
      @media (min-width: 1200px) {
        #education #support h2 {
          margin: 0 0 20px 0; } }
    #education #support .flow-sab {
      margin-top: 20px; }
      @media (min-width: 1200px) {
        #education #support .flow-sab {
          margin-top: 40px; } }

/*
---------------------------------------------------------------------------------------------------------------------
福利厚生
---------------------------------------------------------------------------------------------------------------------
*/
#welfare {
  position: relative;
  background-color: #fff;
  padding: 60px 0;
  border-radius: 20px;
  margin-top: -20px; }
  @media (min-width: 1200px) {
    #welfare {
      padding: 120px 0;
      border-radius: 40px;
      margin-top: -40px; } }
  #welfare .common-txt p {
    text-align: center; }
  #welfare .welfare-in {
    max-width: 1200px;
    width: 90%;
    margin: 60px auto 0; }
    @media (min-width: 1200px) {
      #welfare .welfare-in {
        margin: 120px auto 0; } }
    #welfare .welfare-in .welfare-box {
      width: 100%;
      margin-bottom: 50px; }
      @media (min-width: 1200px) {
        #welfare .welfare-in .welfare-box {
          margin-bottom: 100px; } }
      #welfare .welfare-in .welfare-box:last-child {
        margin-bottom: 0; }
      #welfare .welfare-in .welfare-box .txt {
        margin-bottom: 15px; }
        @media (min-width: 1024px) {
          #welfare .welfare-in .welfare-box .txt {
            display: flex;
            align-items: center; } }
        @media (min-width: 1200px) {
          #welfare .welfare-in .welfare-box .txt {
            margin-bottom: 30px; } }
        #welfare .welfare-in .welfare-box .txt .title {
          display: flex;
          align-items: center;
          margin-right: 10px; }
          @media (min-width: 1200px) {
            #welfare .welfare-in .welfare-box .txt .title {
              margin-right: 20px; } }
          #welfare .welfare-in .welfare-box .txt .title img {
            width: 40px;
            margin-right: 10px; }
            @media (min-width: 1200px) {
              #welfare .welfare-in .welfare-box .txt .title img {
                width: 50px; } }
          #welfare .welfare-in .welfare-box .txt .title h3 {
            font-size: 1.125em;
            line-height: 1.4em; }
            @media (min-width: 768px) {
              #welfare .welfare-in .welfare-box .txt .title h3 {
                font-size: 1.35em; } }
            @media (min-width: 1200px) {
              #welfare .welfare-in .welfare-box .txt .title h3 {
                font-size: 1.75em; } }
      @media (min-width: 768px) {
        #welfare .welfare-in .welfare-box ul {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          gap: 10px; } }
      @media (min-width: 1024px) {
        #welfare .welfare-in .welfare-box ul {
          gap: 20px; } }
      @media (min-width: 1200px) {
        #welfare .welfare-in .welfare-box ul {
          gap: 30px; } }
      #welfare .welfare-in .welfare-box ul li {
        background-color: #f1f5fb;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        margin-bottom: 10px;
        padding: 15px 10px; }
        @media (min-width: 768px) {
          #welfare .welfare-in .welfare-box ul li {
            height: 80px;
            padding: 0 10px;
            margin-bottom: 0; } }
        @media (min-width: 1200px) {
          #welfare .welfare-in .welfare-box ul li {
            border-radius: 20px;
            height: 100px; } }
        #welfare .welfare-in .welfare-box ul li:last-child {
          margin-bottom: 0; }
        #welfare .welfare-in .welfare-box ul li p {
          font-size: 0.8em;
          font-weight: bold;
          font-feature-settings: "palt";
          letter-spacing: 0.04em;
          line-height: 1.4em; }
          @media (min-width: 1200px) {
            #welfare .welfare-in .welfare-box ul li p {
              font-size: 1.0em; } }
