@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
メインビジュアル
---------------------------------------------------------------------------------------------------------------------
*/
#recruitment-page {
  max-width: 1000px;
  width: 90%;
  margin: auto;
  /*
  ---------------------------------------------------------------------------------------------------------------------
  応募の流れ
  ---------------------------------------------------------------------------------------------------------------------
  */ }
  #recruitment-page .midashi {
    margin-bottom: 20px;
    border-left: 8px solid #17ADAA;
    padding-left: 8px;
    height: 20px;
    display: flex; }
    @media (min-width: 1024px) {
      #recruitment-page .midashi {
        height: 28px; } }
    #recruitment-page .midashi h2 {
      font-size: 1.25em;
      font-feature-settings: "palt";
      letter-spacing: 0.04em;
      line-height: 0.9em; }
      @media (min-width: 1024px) {
        #recruitment-page .midashi h2 {
          font-size: 1.75em; } }
  #recruitment-page .contents-area {
    padding: 50px 0 0; }
    @media (min-width: 1024px) {
      #recruitment-page .contents-area {
        padding: 100px 0 0; } }
    #recruitment-page .contents-area.last {
      margin-bottom: 40px; }
      @media (min-width: 1024px) {
        #recruitment-page .contents-area.last {
          margin-bottom: 100px; } }
    @media (min-width: 1024px) {
      #recruitment-page .contents-area .demand {
        display: flex; } }
    @media (min-width: 1024px) {
      #recruitment-page .contents-area .demand .photo {
        width: 40%; } }
    #recruitment-page .contents-area .demand .photo .photo-in {
      position: sticky;
      top: 100px; }
      #recruitment-page .contents-area .demand .photo .photo-in img {
        border-radius: 5px; }
        @media (min-width: 1024px) {
          #recruitment-page .contents-area .demand .photo .photo-in img {
            border-radius: 10px; } }
    #recruitment-page .contents-area .demand .txt-area {
      margin: 10px 0 0 0; }
      @media (min-width: 1024px) {
        #recruitment-page .contents-area .demand .txt-area {
          width: 60%;
          padding-left: 3%;
          margin: 45px 0 0 0; } }
      #recruitment-page .contents-area .demand .txt-area p {
        font-size: 0.9em;
        line-height: 1.8em;
        margin-bottom: 10px; }
        @media (min-width: 768px) {
          #recruitment-page .contents-area .demand .txt-area p {
            font-size: 1.0em;
            margin-bottom: 20px; } }
      #recruitment-page .contents-area .demand .txt-area h3 {
        font-size: 1.125em;
        line-height: 1.4em; }
        @media (min-width: 768px) {
          #recruitment-page .contents-area .demand .txt-area h3 {
            font-size: 1.25em; } }
      #recruitment-page .contents-area .demand .txt-area ul {
        margin-bottom: 20px; }
        #recruitment-page .contents-area .demand .txt-area ul:last-child {
          margin-bottom: 0; }
        #recruitment-page .contents-area .demand .txt-area ul li {
          font-size: 0.9em;
          line-height: 1.8em;
          font-feature-settings: "palt";
          letter-spacing: 0.04em; }
          @media (min-width: 768px) {
            #recruitment-page .contents-area .demand .txt-area ul li {
              font-size: 1.0em; } }
    #recruitment-page .contents-area .table-different {
      margin-bottom: 20px; }
      #recruitment-page .contents-area .table-different h3 {
        font-size: 0.9em;
        font-weight: bold;
        line-height: 1.8em;
        color: #777777; }
        @media (min-width: 1024px) {
          #recruitment-page .contents-area .table-different h3 {
            font-size: 1.0em; } }
      #recruitment-page .contents-area .table-different table.type2 {
        background-color: #fff;
        border-collapse: collapse;
        /* セルの線を重ねる */
        width: 100%;
        margin-top: 4px; }
        @media (min-width: 1024px) {
          #recruitment-page .contents-area .table-different table.type2 {
            width: inherit; } }
        #recruitment-page .contents-area .table-different table.type2 th, #recruitment-page .contents-area .table-different table.type2 td {
          border: 1px solid #CBCBCB;
          padding: 10px;
          font-size: 0.9em; }
          @media (min-width: 1024px) {
            #recruitment-page .contents-area .table-different table.type2 th, #recruitment-page .contents-area .table-different table.type2 td {
              font-size: 1.0em; } }
        #recruitment-page .contents-area .table-different table.type2 th {
          background-color: rgba(23, 173, 170, 0.1);
          height: 40px;
          width: 25%; }
          @media (min-width: 1024px) {
            #recruitment-page .contents-area .table-different table.type2 th {
              width: 200px; } }
          #recruitment-page .contents-area .table-different table.type2 th.ue {
            background-color: rgba(23, 173, 170, 0.3); }
        #recruitment-page .contents-area .table-different table.type2 td {
          text-align: center; }
          @media (min-width: 1024px) {
            #recruitment-page .contents-area .table-different table.type2 td {
              width: 200px; } }
          #recruitment-page .contents-area .table-different table.type2 td.ue {
            font-weight: bold;
            background-color: rgba(23, 173, 170, 0.3); }
      #recruitment-page .contents-area .table-different ul {
        margin-top: 4px; }
        #recruitment-page .contents-area .table-different ul li {
          font-size: 0.8em;
          line-height: 1.8em;
          font-feature-settings: "palt";
          color: #777777; }
          @media (min-width: 1024px) {
            #recruitment-page .contents-area .table-different ul li {
              font-size: 0.9em; } }
    #recruitment-page .contents-area table.type1 {
      border-collapse: collapse;
      width: 100%;
      border-bottom: 1px solid #CBCBCB; }
      #recruitment-page .contents-area table.type1 th, #recruitment-page .contents-area table.type1 td {
        display: block; }
        @media (min-width: 768px) {
          #recruitment-page .contents-area table.type1 th, #recruitment-page .contents-area table.type1 td {
            display: table-cell; } }
      #recruitment-page .contents-area table.type1 th {
        font-size: 0.9em;
        font-weight: bold;
        text-align: left;
        line-height: 1.8em;
        vertical-align: top;
        color: #000;
        padding: 25px 0 0;
        border-top: 1px solid #CBCBCB; }
        @media (min-width: 768px) {
          #recruitment-page .contents-area table.type1 th {
            padding: 20px 0;
            width: 140px; } }
        @media (min-width: 1024px) {
          #recruitment-page .contents-area table.type1 th {
            font-size: 1.0em; } }
      #recruitment-page .contents-area table.type1 td {
        font-size: 0.9em;
        line-height: 1.8em;
        padding: 0 0 30px 0; }
        @media (min-width: 768px) {
          #recruitment-page .contents-area table.type1 td {
            border-top: 1px solid #CBCBCB;
            padding: 20px 0 20px 20px; } }
        @media (min-width: 1024px) {
          #recruitment-page .contents-area table.type1 td {
            font-size: 1.0em; } }
        #recruitment-page .contents-area table.type1 td p {
          margin-bottom: 30px; }
        #recruitment-page .contents-area table.type1 td ul {
          margin-bottom: 30px; }
          #recruitment-page .contents-area table.type1 td ul:last-child {
            margin-bottom: 0; }
          #recruitment-page .contents-area table.type1 td ul li {
            font-size: 0.9em;
            line-height: 1.8em; }
            @media (min-width: 1024px) {
              #recruitment-page .contents-area table.type1 td ul li {
                font-size: 1.0em; } }
            #recruitment-page .contents-area table.type1 td ul li a {
              transition: .5s; }
              #recruitment-page .contents-area table.type1 td ul li a:hover {
                color: #1BADAA; }
            #recruitment-page .contents-area table.type1 td ul li.tume {
              font-feature-settings: "palt";
              letter-spacing: 0.05em; }
        #recruitment-page .contents-area table.type1 td .small {
          font-size: 0.8em;
          color: #777; }
    #recruitment-page .contents-area .contact-address {
      border-top: 1px solid #CBCBCB;
      border-bottom: 1px solid #CBCBCB;
      padding-bottom: 20px; }
      #recruitment-page .contents-area .contact-address ul {
        padding-top: 20px; }
        #recruitment-page .contents-area .contact-address ul li {
          margin-bottom: 10px; }
  #recruitment-page #flow {
    padding-top: 80px; }
    @media (min-width: 1024px) {
      #recruitment-page #flow {
        padding-top: 80px; } }
    #recruitment-page #flow #flow-area {
      position: relative;
      border-top: 1px solid #CBCBCB;
      padding-top: 20px; }
      @media (min-width: 1024px) {
        #recruitment-page #flow #flow-area {
          padding-top: 40px; } }
      #recruitment-page #flow #flow-area .flow-in {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        #recruitment-page #flow #flow-area .flow-in .timeline li {
          /*線の起点とするためrelativeを設定*/
          position: relative;
          list-style: none;
          padding: 0 0 10px 0; }
          #recruitment-page #flow #flow-area .flow-in .timeline li dl {
            margin: 0 0 20px 1.5em; }
            @media (min-width: 768px) {
              #recruitment-page #flow #flow-area .flow-in .timeline li dl {
                display: flex;
                align-items: center;
                margin: 0 0 20px 1.5em; } }
            #recruitment-page #flow #flow-area .flow-in .timeline li dl dt {
              font-size: 1.25em;
              font-weight: bold;
              margin-right: 25px; }
              @media (min-width: 768px) {
                #recruitment-page #flow #flow-area .flow-in .timeline li dl dt {
                  font-size: 1.4em; } }
            #recruitment-page #flow #flow-area .flow-in .timeline li dl dd {
              font-size: 0.8em; }
              @media (min-width: 768px) {
                #recruitment-page #flow #flow-area .flow-in .timeline li dl dd {
                  font-size: 1.0em; } }
          #recruitment-page #flow #flow-area .flow-in .timeline li .border-line {
            position: absolute;
            top: 0.7em;
            left: 0.25em;
            width: 2px;
            height: 0;
            background: #000; }
            @media (min-width: 768px) {
              #recruitment-page #flow #flow-area .flow-in .timeline li .border-line {
                top: 0.5em; } }
          #recruitment-page #flow #flow-area .flow-in .timeline li::after {
            content: '';
            position: absolute;
            top: 0.5em;
            left: 0;
            width: 10px;
            height: 10px;
            background: #000;
            border-radius: 50%; }
