main section h1 {
  margin-bottom: 84px; }
  @media only screen and (max-width: 768px) {
    main section h1 {
      margin-bottom: 8vw; } }
  main section h1 img {
    width: 100%; }

main section h2 {
  text-align: left;
  font-size: 24px;
  font-weight: bold;
  color: #003594;
  margin-bottom: 40px;
  padding: 0 16px; }
  @media only screen and (max-width: 768px) {
    main section h2 {
      font-size: 4.2vw;
      padding: 0; } }

main section h3 {
  text-align: left;
  font-size: 24px;
  font-weight: bold;
  color: #003594;
  border-bottom: 1px solid #000;
  margin-bottom: 20px;
  padding: 0 16px; }
  main section h3 .mid {
    font-size: 18px;
    font-weight: bold;
    color: #003594; }
    @media only screen and (max-width: 768px) {
      main section h3 .mid {
        font-size: 3.4vw; } }
  main section h3 .small {
    font-size: 12px;
    font-weight: bold;
    color: #003594; }
    @media only screen and (max-width: 768px) {
      main section h3 .small {
        font-size: 3.4vw; } }
  @media only screen and (max-width: 768px) {
    main section h3 {
      font-size: 4.2vw;
      padding: 0; } }

main section p.description {
  margin-bottom: 40px;
  text-align: left; }
  @media only screen and (max-width: 768px) {
    main section p.description {
      margin-bottom: 4vw; } }

main section .wrap {
  margin-bottom: 50px;
  padding: 0 15px;
  text-align: left; }
  @media only screen and (max-width: 768px) {
    main section .wrap {
      margin-bottom: 5vw;
      padding: 0; } }
  main section .wrap .job_cat {
    font-size: 24px;
    font-weight: bold;
    color: #404040;
    padding: 0 0;
    text-align: center;
    margin-top: 60px;
    margin-bottom: 30px;
    border-bottom: 1px solid #404040;
    letter-spacing: 5px; }
    @media only screen and (max-width: 768px) {
      main section .wrap .job_cat {
        font-size: 5.2vw;
        letter-spacing: 2px;
        padding: 0;
        margin-top: 40px;
        margin-bottom: 30px; } }
  main section .wrap .job_name_bt {
    font-size: 24px;
    line-height: 30px;
    font-weight: bold;
    color: #FFF;
    padding: 10px 0;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 0px;
    background: #1D2C83;
    cursor: pointer; }
    @media only screen and (max-width: 768px) {
      main section .wrap .job_name_bt {
        font-size: 4.2vw;
        padding: 10px 0;
        margin-top: 10px;
        margin-bottom: 0px; } }
    main section .wrap .job_name_bt.parttime {
      background: #376CAA; }
    main section .wrap .job_name_bt .mid {
      font-size: 20px;
      color: #fff;
      font-weight: bold; }
      @media only screen and (max-width: 768px) {
        main section .wrap .job_name_bt .mid {
          font-size: 3.4vw; } }
    main section .wrap .job_name_bt .small {
      font-size: 14px;
      line-height: 20px;
      color: #fff; }
      @media only screen and (max-width: 768px) {
        main section .wrap .job_name_bt .small {
          font-size: 3.4vw; } }
    main section .wrap .job_name_bt .att {
      font-size: 13px;
      line-height: 20px;
      color: rgba(255, 255, 255, 0.8);
      margin: 2px auto 0px auto;
      padding: 0;
      box-sizing: border-box;
      display: block; }
      @media only screen and (max-width: 768px) {
        main section .wrap .job_name_bt .att {
          font-size: 3.4vw; } }
  main section .wrap .job_open_bt {
    height: 30px;
    text-align: center;
    margin-top: 0px;
    background: #F4F4F4 url(../img/recruit/mid/bt_open.jpg) center center;
    background-size: auto 100%; }
    main section .wrap .job_open_bt.bt_close {
      background: #F4F4F4 url(../img/recruit/mid/bt_close.jpg) center center;
      background-size: auto 100%; }
    @media only screen and (max-width: 768px) {
      main section .wrap .job_open_bt {
        height: 20px;
        font-size: 4.2vw;
        padding: 5px 0;
        margin-top: 0px;
        margin-bottom: 20px; } }
  main section .wrap .tablewrap {
    width: 100%;
    padding: 20px 0;
    display: block; }
    main section .wrap .tablewrap.dso_no {
      display: none; }
    @media only screen and (max-width: 768px) {
      main section .wrap .tablewrap {
        padding: 10px 0; } }
    main section .wrap .tablewrap.is-open {
      display: block; }
    main section .wrap .tablewrap.is-close {
      display: none; }
    main section .wrap .tablewrap table {
      width: 100%;
      border-collapse: collapse; }
      main section .wrap .tablewrap table tr td {
        border: 1px solid #404040;
        padding: 13px 20px;
        vertical-align: top; }
        @media only screen and (max-width: 768px) {
          main section .wrap .tablewrap table tr td {
            padding: 1.5vw 3vw;
            font-size: 3.4vw; } }
        main section .wrap .tablewrap table tr td:first-child {
          background-color: #F4F3F9;
          width: 20%; }
          @media only screen and (max-width: 768px) {
            main section .wrap .tablewrap table tr td:first-child {
              width: 35%; } }
        main section .wrap .tablewrap table tr td.title1 {
          background-color: #E6F6FF;
          font-weight: bold;
          font-size: 1.1em;
          width: 20%; }
          @media only screen and (max-width: 768px) {
            main section .wrap .tablewrap table tr td.title1 {
              font-size: 3.4vw;
              width: 25%; } }
  main section .wrap ul {
    margin-top: 20px; }
    @media only screen and (max-width: 768px) {
      main section .wrap ul {
        margin-top: 2vw; } }
    main section .wrap ul.disc {
      list-style-type: disc;
      margin-top: 0;
      margin-left: 30px; }
  main section .wrap .formwrap {
    width: 70%;
    margin: 40px auto 0; }
    @media only screen and (max-width: 768px) {
      main section .wrap .formwrap {
        width: 100%;
        margin: 4vw auto 0; } }
    main section .wrap .formwrap dl {
      width: 100%; }
      main section .wrap .formwrap dl dt,
      main section .wrap .formwrap dl dd {
        font-size: 16px; }
      main section .wrap .formwrap dl dt {
        font-weight: bold; }
        main section .wrap .formwrap dl dt span {
          font-size: 12px;
          position: relative;
          top: -3px; }
      main section .wrap .formwrap dl dd input[type=email],
      main section .wrap .formwrap dl dd input[type=text],
      main section .wrap .formwrap dl dd textarea {
        width: 100%;
        font-size: 16px;
        padding: 12px 20px;
        box-sizing: border-box;
        border-radius: 8px;
        border: 1px solid #CACACA; }
    main section .wrap .formwrap .btnwrap {
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      margin-top: 40px; }
      @media only screen and (max-width: 768px) {
        main section .wrap .formwrap .btnwrap {
          flex-wrap: wrap;
          flex-direction: column;
          margin-top: 4vw; } }
      main section .wrap .formwrap .btnwrap button {
        width: 48%;
        display: block;
        background-color: #003480;
        border: 0;
        border-radius: 8px;
        color: #FFF;
        font-size: 16px;
        padding: 20px; }
        @media only screen and (max-width: 768px) {
          main section .wrap .formwrap .btnwrap button {
            width: 100%;
            font-size: 3.6vw;
            padding: 4vw 0; } }
        main section .wrap .formwrap .btnwrap button.submit {
          position: relative; }
          @media only screen and (max-width: 768px) {
            main section .wrap .formwrap .btnwrap button.submit {
              margin-top: 4vw; } }
          main section .wrap .formwrap .btnwrap button.submit::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 1.5rem;
            width: 10px;
            height: 10px;
            border-top: 1px solid #FFF;
            border-right: 1px solid #FFF;
            transform: translateY(-50%) rotate(45deg);
            display: block; }

main section.sec1 .content {
  padding-top: 65px;
  padding-bottom: 50px; }
  @media only screen and (max-width: 768px) {
    main section.sec1 .content {
      padding-top: 0;
      padding-bottom: 5vw; } }

main section.sec2 .content {
  padding-bottom: 120px; }
  @media only screen and (max-width: 768px) {
    main section.sec2 .content {
      padding-bottom: 12vw; } }

main .sp_only_ib {
  display: none; }
  @media only screen and (max-width: 768px) {
    main .sp_only_ib {
      display: inline-block; } }

main .vspace50 {
  clear: both;
  height: 50px; }
