@charset "UTF-8";

@media screen and (max-width: 767px) {
  input {
    width: 100%;
  }
  textarea {
    width: 100%;
    min-height: 69.33333333333333vw;
  }
  ::placeholder {
    color: #a0a0a0;
    font-size: 3.466666666666667vw;
  }
  .form {
    margin-bottom: 0;
    margin-inline: 5.333333333333333vw;
    padding-bottom: 22.4vw;
  }
  .form .title {
    padding-left: 0;
  }
  .center {
    text-align: left;
  }
  .center a {
    color: #245428;
    text-decoration: underline;
  }
  .step {
    margin: 10.666666666666666vw auto;
    background-image: url(../../img/recruit/flow-nyuryoku_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 46.4vw;
    height: 10.933333333333334vw;
  }
  .form-wrapper {
    margin: 0 auto;
    width: 100%;
  }
  .form-table tr {
    display: flex;
    flex-direction: column;
  }
  .form-table tr {
    padding: 4.266666666666667vw 0;
    border-bottom: 1px solid #e6e6e6;
  }
  .form-table th {
    font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', sans-serif;
    font-size: 3.466666666666667vw;
    font-weight: 700;
    padding-bottom: 3.6vw;
  }
  .must th::before {
    font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', sans-serif;
    content: '必 須';
    background-color: #245428;
    color: #fff;
    padding: 0.4vw 1.4666666666666666vw;
    font-size: 3.2vw;
    font-weight: 700;
    margin-right: 1.8666666666666667vw;
  }
  .neednot th::before {
    font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', sans-serif;
    content: '任 意';
    background-color: #bdbdbd;
    color: #fff;
    padding: 0.4vw 1.4666666666666666vw;
    font-size: 3.2vw;
    font-weight: 700;
    margin-right: 1.8666666666666667vw;
  }
  .w600 {
    padding: 4vw 2.1333333333333333vw;
    width: 100%;
    background-color: #f0f0f0;
  }
  .w223 {
    width: 50%;
    padding: 4vw 2.1333333333333333vw;
    background-color: #f0f0f0;
  }
  .adress .w223 {
    margin-bottom: 3.2vw;
  }
  .mb16 {
    margin-bottom: 3.2vw;
  }
  .resume-btn {
    width: 37.333333333333336vw;
    border-radius: 50rem;
    display: inline-block;
    position: relative;
    background-color: #f0f0f0;
    cursor: pointer;
    padding-block: 0.9em;
    color: #245428;
    font-weight: 700;
  }
  .resume input {
    opacity: 0;
  }
  .resume_tmp_title {
    white-space: nowrap;
    text-align: center;
    width: 100%;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 3.466666666666667vw;
  }
  .resume input[type='file'] {
    opacity: 0;
    position: absolute;
    top: 0;
  }
  .indent {
    font-size: 3.0666666666666664vw;
  }
  .eg {
    margin-top: 4.266666666666667vw;
    line-height: 2;
  }
  input[type='checkbox'] {
    appearance: checkbox;
    width: 6.4vw;
    height: 6.4vw;
  }
  .check {
    padding-top: 8.533333333333333vw;
    font-size: 3.466666666666667vw;
  }
  .check-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6.4vw;
  }
  .check label {
    font-weight: 700;
  }
  .check .link {
    display: block;
    color: #245428;
    text-decoration: underline;
    padding-left: 20.266666666666666vw;
  }
  .link-btn {
    margin: 0 auto;
    display: table;
  }
  .entry-btn {
    padding-top: 10.666666666666666vw;
  }
  .entry-btn :where(a, span) {
    display: inline-flex;
    align-items: center;
    gap: 16vw;
    padding: 4.266666666666667vw 7.466666666666667vw;
    background: #245428;
    color: #fff;
    font-size: 3.466666666666667vw;
  }
  .entry-btn :where(a, span)::after {
    content: '';
    background-image: url(../../img/recruit/sp_entry_arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 3.7333333333333334vw;
    height: 1.3333333333333333vw;
  }

  /* contact-about */
  .form-table {
    width: 100%;
  }
  .contact-about {
    margin-inline: 5.333333333333333vw;
  }
  .contact-about-text {
    width: 100%;
    margin-bottom: 6.4vw;
  }
  .tell-icon {
    display: flex;
    gap: 2.1333333333333333vw;
    align-items: center;
    justify-content: center;
    color: #245428;
    font-family: Crimson Text;
    font-size: 7.466666666666667vw;
    font-weight: 700;
  }
  .tell-icon::before {
    content: '';
    background-image: url(../../img/contact/tel-icon_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 8.666666666666666vw;
    height: 8.666666666666666vw;
  }
  .center .sp_center {
    text-align: center;
    margin: 0 auto;
    padding-top: 2.1333333333333333vw;
  }

  /* confirm */

  .confirm {
    margin: 10.666666666666666vw auto;
    background-image: url(../../img/recruit/flow-confirm_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 46.4vw;
    height: 10.933333333333334vw;
  }
  .confirm-list li {
    padding-top: 44.266666666666666;
    padding-bottom: 2.1333333333333333vw;
    border-bottom: 1px solid #e6e6e6;
  }
  .confirm-list li:first-child {
    padding-top: 0;
  }
  .confirm-list li p:first-child {
    font-weight: 700;
    padding-bottom: 2.1333333333333333vw;
  }
  .return-btn :where(a, button) {
    padding-top: 6.4vw;
    color: #245428;
    display: flex;
    gap: 2.1333333333333333vw;
    align-items: center;
    margin-inline: auto;
    justify-content: center;
    font-size: 3.466666666666667vw;
  }
  .return-btn :where(a, button)::before {
    content: '';
    background-image: url(../../img/recruit/return-arrow_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 3.7333333333333334vw;
    height: 1.3333333333333333vw;
  }

  /* comp */
  .comp {
    margin: 10.666666666666666vw auto;
    background-image: url(../../img/recruit/flow-comp_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 46.4vw;
    height: 10.933333333333334vw;
  }
}
