/*
** import core file
*/
/*==================================================

** index
==================================================*/
#mainvisual .mainslider .slide-item {
  height: 678px;
  position: relative; }
  #mainvisual .mainslider .slide-item .pht {
    height: 100%; }
    #mainvisual .mainslider .slide-item .pht img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      font-family: 'object-fit: cover;'; }
  #mainvisual .mainslider .slide-item .catchbox {
    position: absolute;
    left: 5.8%;
    bottom: 100px;
    z-index: 9;
    width: 100%; }
    #mainvisual .mainslider .slide-item .catchbox p {
      margin: 0;
      font-size: 4.5rem;
      font-weight: 700;
      line-height: 1.6;
      color: #fff;
      text-shadow: 0 0 18px rgba(0, 0, 0, 0.3);
      letter-spacing: 0.03em; }
      #mainvisual .mainslider .slide-item .catchbox p span {
        opacity: 1;
        left: 0;
        transform: scale(1);
        line-height: 1.2;
        position: relative;
        display: inline-block; }
    #mainvisual .mainslider .slide-item .catchbox .en1 {
      position: relative;
      font-size: 4.8rem;
      line-height: 1.3;
      margin-bottom: -10px; }
    #mainvisual .mainslider .slide-item .catchbox .bracket:before {
      content: "";
      position: absolute;
      display: block;
      background: no-repeat center center/contain;
      width: 16px;
      height: 31px; }
    #mainvisual .mainslider .slide-item .catchbox .bracket.left {
      padding-left: 20px; }
      #mainvisual .mainslider .slide-item .catchbox .bracket.left:before {
        top: 14px;
        left: 0;
        background-image: url("../img/recruit/recruit_ico_bracket_l.svg"); }
    #mainvisual .mainslider .slide-item .catchbox .bracket.right:before {
      bottom: 0;
      right: -16px;
      background-image: url("../img/recruit/recruit_ico_bracket_r.svg"); }
  #mainvisual .mainslider .slide-item .centerbox {
    top: 130px;
    left: auto;
    bottom: auto; }
  #mainvisual .mainslider .slide-item .pass-txt {
    opacity: 1; }
#mainvisual .mainslider .slick-active .catchbox p {
  letter-spacing: 0.03em; }
  #mainvisual .mainslider .slick-active .catchbox p span {
    opacity: 0;
    -webkit-animation: fadein-txt 1s ease 0s 1 normal forwards;
    animation: fadein-txt 1s ease 0s 1 normal forwards; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(1) {
      animation-delay: 0.08s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(2) {
      animation-delay: 0.16s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(3) {
      animation-delay: 0.24s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(4) {
      animation-delay: 0.32s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(5) {
      animation-delay: 0.4s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(6) {
      animation-delay: 0.48s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(7) {
      animation-delay: 0.56s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(8) {
      animation-delay: 0.64s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(9) {
      animation-delay: 0.72s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(10) {
      animation-delay: 0.8s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(11) {
      animation-delay: 0.88s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(12) {
      animation-delay: 0.96s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(13) {
      animation-delay: 1.04s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(14) {
      animation-delay: 1.12s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(15) {
      animation-delay: 1.2s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(16) {
      animation-delay: 1.28s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(17) {
      animation-delay: 1.36s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(18) {
      animation-delay: 1.44s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(19) {
      animation-delay: 1.52s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(20) {
      animation-delay: 1.6s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(21) {
      animation-delay: 1.68s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(22) {
      animation-delay: 1.76s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(23) {
      animation-delay: 1.84s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(24) {
      animation-delay: 1.92s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(25) {
      animation-delay: 2s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(26) {
      animation-delay: 2.08s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(27) {
      animation-delay: 2.16s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(28) {
      animation-delay: 2.24s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(29) {
      animation-delay: 2.32s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(30) {
      animation-delay: 2.4s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(31) {
      animation-delay: 2.48s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(32) {
      animation-delay: 2.56s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(33) {
      animation-delay: 2.64s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(34) {
      animation-delay: 2.72s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(35) {
      animation-delay: 2.8s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(36) {
      animation-delay: 2.88s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(37) {
      animation-delay: 2.96s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(38) {
      animation-delay: 3.04s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(39) {
      animation-delay: 3.12s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(40) {
      animation-delay: 3.2s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(41) {
      animation-delay: 3.28s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(42) {
      animation-delay: 3.36s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(43) {
      animation-delay: 3.44s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(44) {
      animation-delay: 3.52s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(45) {
      animation-delay: 3.6s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(46) {
      animation-delay: 3.68s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(47) {
      animation-delay: 3.76s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(48) {
      animation-delay: 3.84s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(49) {
      animation-delay: 3.92s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(50) {
      animation-delay: 4s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(51) {
      animation-delay: 4.08s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(52) {
      animation-delay: 4.16s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(53) {
      animation-delay: 4.24s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(54) {
      animation-delay: 4.32s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(55) {
      animation-delay: 4.4s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(56) {
      animation-delay: 4.48s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(57) {
      animation-delay: 4.56s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(58) {
      animation-delay: 4.64s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(59) {
      animation-delay: 4.72s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(60) {
      animation-delay: 4.8s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(61) {
      animation-delay: 4.88s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(62) {
      animation-delay: 4.96s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(63) {
      animation-delay: 5.04s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(64) {
      animation-delay: 5.12s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(65) {
      animation-delay: 5.2s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(66) {
      animation-delay: 5.28s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(67) {
      animation-delay: 5.36s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(68) {
      animation-delay: 5.44s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(69) {
      animation-delay: 5.52s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(70) {
      animation-delay: 5.6s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(71) {
      animation-delay: 5.68s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(72) {
      animation-delay: 5.76s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(73) {
      animation-delay: 5.84s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(74) {
      animation-delay: 5.92s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(75) {
      animation-delay: 6s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(76) {
      animation-delay: 6.08s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(77) {
      animation-delay: 6.16s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(78) {
      animation-delay: 6.24s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(79) {
      animation-delay: 6.32s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(80) {
      animation-delay: 6.4s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(81) {
      animation-delay: 6.48s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(82) {
      animation-delay: 6.56s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(83) {
      animation-delay: 6.64s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(84) {
      animation-delay: 6.72s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(85) {
      animation-delay: 6.8s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(86) {
      animation-delay: 6.88s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(87) {
      animation-delay: 6.96s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(88) {
      animation-delay: 7.04s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(89) {
      animation-delay: 7.12s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(90) {
      animation-delay: 7.2s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(91) {
      animation-delay: 7.28s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(92) {
      animation-delay: 7.36s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(93) {
      animation-delay: 7.44s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(94) {
      animation-delay: 7.52s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(95) {
      animation-delay: 7.6s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(96) {
      animation-delay: 7.68s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(97) {
      animation-delay: 7.76s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(98) {
      animation-delay: 7.84s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(99) {
      animation-delay: 7.92s; }
    #mainvisual .mainslider .slick-active .catchbox p span:nth-of-type(100) {
      animation-delay: 8s; }
#mainvisual .mainslider .slick-active .pass-bar:before {
  -webkit-animation: passbar 1s ease 1s 1 normal forwards;
  animation: passbar 1s ease 1s 1 normal forwards; }
#mainvisual .mainslider .slick-active .pass-txt {
  opacity: 0;
  -webkit-animation: passtxt 0.8s ease 1s 1 normal forwards;
  animation: passtxt 0.8s ease 1s 1 normal forwards; }

#recruitList {
  width: 980px; }
  #recruitList p {
    line-height: 1.5; }
  #recruitList .recruitsec h3 {
    margin-top: 0; }
    #recruitList .recruitsec h3 img {
      height: 60px; }
  #recruitList .recruitsec .recruitlist .recruitttl {
    display: block;
    width: 100%;
    border-bottom: 1px solid #52b848;
    padding: 16px 50px 16px 36px;
    font-size: 2.0rem;
    font-weight: 500;
    cursor: pointer;
    position: relative; }
    #recruitList .recruitsec .recruitlist .recruitttl:before, #recruitList .recruitsec .recruitlist .recruitttl:after {
      content: "";
      display: block;
      background: #52b848;
      position: absolute;
      width: 24px;
      height: 2px;
      right: 16px;
      top: 0;
      bottom: 0;
      margin: auto;
      transition: 0.6s; }
    #recruitList .recruitsec .recruitlist .recruitttl:after {
      transform: rotate(90deg); }
    #recruitList .recruitsec .recruitlist .recruitttl.open:after {
      transform: rotate(0deg);
      transition: 0.8s; }
    #recruitList .recruitsec .recruitlist .recruitttl span:before {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      background: #52b848;
      width: 23px;
      height: 4px;
      left: 0; }
  #recruitList .recruitsec .recruitlist dd {
    display: none;
    padding-bottom: 19px; }
  #recruitList .recruitsec .recruittbl tr {
    border-bottom: 1px dashed #52b848; }
  #recruitList .recruitsec .recruittbl th {
    color: #52b848;
    width: 160px;
    line-height: 1.5; }
  #recruitList .recruitsec .recruittbl td {
    padding: 20px 0; }
    #recruitList .recruitsec .recruittbl td p {
      margin: 0;
      padding: 0 0 0 20px;
      position: relative; }
      #recruitList .recruitsec .recruittbl td p:before {
        content: "";
        display: block;
        width: 2px;
        height: 20px;
        background: #52b848;
        position: absolute;
        top: 3px;
        left: 0; }
      #recruitList .recruitsec .recruittbl td p + p {
        margin-top: 16px; }
  #recruitList .recruitsec .not {
    margin-top: 44px; }
    #recruitList .recruitsec .not p {
      font-size: 2.4rem;
      font-weight: 500;
      text-align: center; }
      #recruitList .recruitsec .not p br {
        display: none; }
  #recruitList .recruitsec + .recruitsec {
    margin-top: 120px; }
  #recruitList .recruitcontact {
    background: #fbfbfb;
    padding: 44px 60px 48px 60px;
    margin-top: 40px; }
    #recruitList .recruitcontact h5 {
      line-height: 1.5;
      color: #52b848;
      margin-top: 0;
      letter-spacing: 0em; }
    #recruitList .recruitcontact p {
      line-height: 1.5;
      margin-top: 18px;
      text-align: center; }

#recruitForm .toptxt {
  padding: 0 0 0 1em;
  margin: 0 0 24px; }
#recruitForm input,
#recruitForm select,
#recruitForm textarea {
  border-radius: 0;
  border-color: #52b848; }
#recruitForm select {
  max-width: 360px;
  background: url("../img/recruit/recruit_ico_select_bk.svg") no-repeat right 17px center/14px 10px;
  padding: 0 45px 0 17px;
  line-height: 1.5; }
  #recruitForm select:disabled {
    background-color: #f7f7f7;
    color: #ccc; }
#recruitForm .radiolist li + li {
  margin: 0 0 0 16px; }
#recruitForm .radiolist input {
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0; }
#recruitForm .radiolist label {
  display: block;
  border: 1px solid #52b848;
  border-radius: 0;
  background: #fff;
  padding: 4px 15px 6px 42px;
  position: relative;
  cursor: pointer; }
  #recruitForm .radiolist label:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border: 1px solid #ddd;
    border-radius: 100%;
    box-shadow: 0 0 0 3px #fff inset;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 12px;
    transition: all 0.4s; }
  #recruitForm .radiolist label.mfp_checked:before {
    background: #52b848; }
#recruitForm .doblist span + span input {
  margin: 0 8px; }
#recruitForm .doblist input {
  width: 110px;
  margin-right: 8px; }
#recruitForm .filelist li + li {
  margin-top: 16px; }
#recruitForm .filelist dt {
  width: 120px;
  font-weight: 500; }
#recruitForm .filelist dd {
  width: calc(100% - 120px); }
#recruitForm .filelist label {
  position: relative;
  display: inline-block;
  border-radius: 5px;
  color: #fff;
  text-align: center;
  width: 184px;
  padding: 8px 10px;
  margin-right: 8px;
  background: #ccc;
  cursor: pointer;
  transition: all 0.4s; }
  #recruitForm .filelist label:hover {
    background: #52b848; }
#recruitForm .filelist input {
  opacity: 0;
  padding: 0;
  position: absolute;
  left: 0;
  top: 0;
  height: 0;
  width: 0; }
#recruitForm .note {
  position: relative;
  padding-left: 16px; }
  #recruitForm .note:before {
    content: "*";
    position: absolute;
    top: 0;
    left: 0; }

@media screen and (max-width: 600px) {
  #mainvisual .mainslider .slide-item {
    height: 160vw; }
    #mainvisual .mainslider .slide-item .catchbox {
      left: 5%;
      bottom: 17.5vw; }
      #mainvisual .mainslider .slide-item .catchbox p {
        font-size: 8vw; }
      #mainvisual .mainslider .slide-item .catchbox .en1 {
        font-size: 7.8vw;
        line-height: 1.3;
        margin-bottom: -10px; }
      #mainvisual .mainslider .slide-item .catchbox .bracket:before {
        width: 10px;
        height: 20px; }
      #mainvisual .mainslider .slide-item .catchbox .bracket.left {
        padding-left: 12px; }
        #mainvisual .mainslider .slide-item .catchbox .bracket.left:before {
          top: 6px; }
      #mainvisual .mainslider .slide-item .catchbox .bracket.right:before {
        bottom: 5px;
        right: -12px; }
    #mainvisual .mainslider .slide-item .centerbox {
      top: 60px;
      left: auto;
      bottom: auto; }

  #recruitList {
    width: 90%; }
    #recruitList .recruitsec h3 img {
      height: 48px; }
    #recruitList .recruitsec .recruittbl th {
      width: 100%; }
    #recruitList .recruitsec .recruittbl td {
      padding: 6px 0 20px; }
      #recruitList .recruitsec .recruittbl td p + p {
        margin-top: 12px; }
    #recruitList .recruitsec .not {
      margin-top: 40px; }
      #recruitList .recruitsec .not p {
        font-size: 1.8rem; }
        #recruitList .recruitsec .not p br {
          display: inherit; }
    #recruitList .recruitsec + .recruitsec {
      margin-top: 90px; }
    #recruitList .recruitcontact {
      padding: 44px 5% 48px 5%;
      margin-top: 40px; }
      #recruitList .recruitcontact h5 {
        font-size: 1.7rem; }
      #recruitList .recruitcontact p {
        font-size: 1.4rem; }

  #recruitForm select {
    max-width: 100%; }
  #recruitForm .doblist span:nth-child(3) input {
    margin: 16px 8px 0 0; }
  #recruitForm .addresslist dt, #recruitForm .addresslist dd {
    width: 100%; }
  #recruitForm .filelist dt, #recruitForm .filelist dd, #recruitForm .filelist label {
    width: 100%; }
  #recruitForm .filelist dd {
    margin-top: 8px; }
  #recruitForm .filelist .filename {
    margin-top: 6px;
    display: block; } }
