@font-face {
  font-family: 'Helvetica';
  src: url("../fonts/HelveticaNeueBold.otf") format("opentype");
  font-display: swap; }
/* alpha
------------------------------------------------- */
a.alpha img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

a.alpha:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-transition: .5s;
  -webkit-transition: .5s;
  -o-transition: .5s;
  -ms-transition: .5s;
  transition: .5s; }

/* mv
------------------------------------------------- */
.mv {
  width: 100%; }
  .mv__inner figure img {
    width: 100%;
    height: auto; }

/* article
------------------------------------------------- */
.recruit {
  font-size: 18px; }

@media (max-width: 760px) {
  .recruit {
    font-size: 16px; } }
.recruit .sec01 {
  width: 100%;
  padding: 200px 4vw 150px; }
  .recruit .sec01 h2 {
    background: url("../images/recruit/bg_h2_line.png") no-repeat left 40px;
    margin-bottom: 70px;
    padding-left: 100px;
    position: relative; }
    .recruit .sec01 h2 .no {
      position: absolute;
      top: 25px;
      left: 0;
      background: #fff;
      padding-right: 10px;
      color: #515457;
      font-size: 30px;
      font-weight: bold;
      font-family: 'Helvetica';
      letter-spacing: -0.05em;
      line-height: 1.0; }
    .recruit .sec01 h2 .h2_ja {
      position: absolute;
      top: 50%;
      right: 0;
      color: #f8b100;
      font-size: 32px;
      font-weight: bold;
      transform: translateY(-50%); }
  .recruit .sec01__cont {
    background: url("../images/recruit/img_about01.png") no-repeat left top/40% auto;
    padding-bottom: 8%; }
    .recruit .sec01__cont--inner {
      max-width: 1560px;
      margin: 0 auto; }
      .recruit .sec01__cont--inner .block {
        width: 55%;
        margin-left: auto;
        color: #515457; }
        .recruit .sec01__cont--inner .block h3 {
          margin-bottom: 30px;
          font-size: clamp(36px, 2.4vw, 48px);
          font-weight: bold;
          line-height: 1.4; }
        .recruit .sec01__cont--inner .block .txt p {
          margin-bottom: 20px;
          line-height: 1.8; }

@media (max-width: 760px) {
  .recruit .sec01 {
    padding: 15% 0; }
    .recruit .sec01 h2 {
      background: url("../images/recruit/bg_h2_line.png") no-repeat left 12px;
      margin-bottom: 7%;
      padding-left: 40px; }
      .recruit .sec01 h2 .no {
        top: 3px;
        left: 0;
        padding: 0 10px 0 5px;
        font-size: 20px; }
      .recruit .sec01 h2 figure img {
        width: auto;
        height: 70px; }
      .recruit .sec01 h2 .h2_ja {
        right: 10px;
        font-size: 16px; }
    .recruit .sec01__cont {
      background: none;
      padding-bottom: 0; }
      .recruit .sec01__cont--inner {
        max-width: 90%; }
        .recruit .sec01__cont--inner .block {
          width: 100%;
          margin: 0 auto 6%; }
          .recruit .sec01__cont--inner .block h3 {
            margin-bottom: 6%;
            font-size: 24px;
            line-height: 1.6; }
          .recruit .sec01__cont--inner .block .txt p {
            margin-bottom: 4%;
            line-height: 1.8; }
        .recruit .sec01__cont--inner figure {
          width: 60%;
          margin: 0 auto; } }
.recruit .sec02 {
  background: #f8b100;
  width: 100%;
  padding: 200px 4vw; }
  .recruit .sec02 h2 {
    background: url("../images/recruit/bg_h2_line.png") no-repeat left 40px;
    margin-bottom: 50px;
    padding-right: 100px;
    text-align: right;
    position: relative; }
    .recruit .sec02 h2 .no {
      position: absolute;
      top: 25px;
      right: 0;
      background: #f8b100;
      padding-left: 10px;
      color: #515457;
      font-size: 30px;
      font-weight: bold;
      font-family: 'Helvetica';
      letter-spacing: -0.05em;
      line-height: 1.0; }
    .recruit .sec02 h2 .h2_ja {
      position: absolute;
      top: 50%;
      left: 0;
      color: #fff;
      font-size: 32px;
      font-weight: bold;
      transform: translateY(-50%); }
  .recruit .sec02__inner {
    max-width: 1560px;
    margin: 0 auto; }
    .recruit .sec02__inner .type01 {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .recruit .sec02__inner .type01 li {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        border-top: 1px solid #515457;
        width: 48%;
        padding: 60px 0; }
        .recruit .sec02__inner .type01 li h3 {
          color: #515457;
          font-size: clamp(24px, 1.8vw, 32px);
          font-weight: bold;
          line-height: 0.8; }
          .recruit .sec02__inner .type01 li h3 span {
            font-size: clamp(13px, 1.2vw, 16px); }
        .recruit .sec02__inner .type01 li p {
          color: #515457;
          font-size: clamp(42px, 2.8vw, 64px);
          font-weight: bold; }
          .recruit .sec02__inner .type01 li p span {
            margin-right: 10px;
            color: #fff;
            font-size: clamp(100px, 5.8vw, 190px);
            font-family: 'Helvetica';
            letter-spacing: -0.01em;
            line-height: 0.8; }
    .recruit .sec02__inner .type02 {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .recruit .sec02__inner .type02 li {
        border-top: 1px solid #515457;
        width: 16%;
        padding: 60px 0; }
        .recruit .sec02__inner .type02 li:nth-child(4) p {
          text-align: center; }
        .recruit .sec02__inner .type02 li h3 {
          color: #515457;
          font-size: clamp(16px, 1.4vw, 24px);
          font-weight: bold;
          line-height: 1.2; }
          .recruit .sec02__inner .type02 li h3 span {
            font-size: clamp(13px, 1.2vw, 16px); }
        .recruit .sec02__inner .type02 li p {
          color: #515457;
          font-size: clamp(20px, 1.8vw, 30px);
          font-weight: bold; }
          .recruit .sec02__inner .type02 li p span {
            margin-right: 5px;
            color: #fff;
            font-size: clamp(50px, 4vw, 80px);
            font-family: 'Helvetica';
            letter-spacing: -0.01em;
            line-height: 1.2; }
    .recruit .sec02__inner .sub {
      text-align: right;
      color: #515457; }

@media (max-width: 760px) {
  .recruit .sec02 {
    padding: 15% 0; }
    .recruit .sec02 h2 {
      background: url("../images/recruit/bg_h2_line.png") no-repeat left 12px;
      margin-bottom: 8%;
      padding-right: 40px; }
      .recruit .sec02 h2 .no {
        top: 3px;
        right: 0;
        padding: 0 5px 0 10px;
        font-size: 20px; }
      .recruit .sec02 h2 figure img {
        width: auto;
        height: 70px; }
      .recruit .sec02 h2 .h2_ja {
        left: 10px;
        text-align: left;
        font-size: 16px;
        line-height: 1.2; }
    .recruit .sec02__inner {
      max-width: 90%; }
      .recruit .sec02__inner .type01 li {
        padding: 6% 0; }
        .recruit .sec02__inner .type01 li:nth-child(4) h3 {
          margin-bottom: 15%; }
        .recruit .sec02__inner .type01 li h3 {
          width: 100%;
          margin-bottom: 5%;
          font-size: 18px;
          line-height: 1.2; }
          .recruit .sec02__inner .type01 li h3 span {
            font-size: 12px; }
        .recruit .sec02__inner .type01 li p {
          width: 100%;
          text-align: center;
          font-size: 24px; }
          .recruit .sec02__inner .type01 li p span {
            margin-right: 8px;
            font-size: 60px;
            line-height: 1.2; }
      .recruit .sec02__inner .type02 li {
        width: 48%;
        padding: 6% 0; }
        .recruit .sec02__inner .type02 li:last-child {
          width: 100%;
          text-align: center; }
        .recruit .sec02__inner .type02 li h3 {
          font-size: 18px;
          font-weight: bold;
          line-height: 1.2; }
          .recruit .sec02__inner .type02 li h3 span {
            font-size: 12px; }
        .recruit .sec02__inner .type02 li p {
          text-align: center;
          font-size: 18px; }
          .recruit .sec02__inner .type02 li p span {
            margin-right: 5px;
            color: #fff;
            font-size: 50px;
            line-height: 1.2; }
      .recruit .sec02__inner .sub {
        font-size: 12px; } }
.recruit .sec03 {
  width: 100%;
  padding: 200px 4vw 0; }
  .recruit .sec03 h2 {
    background: url("../images/recruit/bg_h2_line.png") no-repeat left 40px;
    margin-bottom: 70px;
    padding-left: 100px;
    position: relative; }
    .recruit .sec03 h2 .no {
      position: absolute;
      top: 25px;
      left: 0;
      background: #fff;
      padding-right: 10px;
      color: #515457;
      font-size: 30px;
      font-weight: bold;
      font-family: 'Helvetica';
      letter-spacing: -0.05em;
      line-height: 1.0; }
    .recruit .sec03 h2 .h2_ja {
      position: absolute;
      top: 50%;
      right: 0;
      color: #f8b100;
      font-size: 32px;
      font-weight: bold;
      transform: translateY(-50%); }
  .recruit .sec03__inner ul {
    display: flex;
    flex-wrap: wrap; }
    .recruit .sec03__inner ul li {
      width: 20%; }
      .recruit .sec03__inner ul li img {
        width: 100%;
        height: auto; }

@media (max-width: 760px) {
  .recruit .sec03 {
    padding: 15% 0 0; }
    .recruit .sec03 h2 {
      background: url("../images/recruit/bg_h2_line.png") no-repeat left 12px;
      margin-bottom: 10%;
      padding-left: 40px; }
      .recruit .sec03 h2 .no {
        top: 3px;
        left: 0;
        padding: 0 10px 0 5px;
        font-size: 20px; }
      .recruit .sec03 h2 figure img {
        width: auto;
        height: 70px; }
      .recruit .sec03 h2 .h2_ja {
        top: 110%;
        right: 10px;
        font-size: 16px; }
    .recruit .sec03__inner ul li {
      width: 100%; } }
.recruit .sec04 {
  max-width: 100%;
  padding: 200px 4vw; }
  .recruit .sec04 h2 {
    background: url("../images/recruit/bg_h2_line.png") no-repeat left 46px;
    margin-bottom: 100px;
    padding-right: 100px;
    text-align: right;
    position: relative; }
    .recruit .sec04 h2 .no {
      position: absolute;
      top: 32px;
      right: 0;
      background: #fff;
      padding-left: 10px;
      color: #515457;
      font-size: 30px;
      font-weight: bold;
      font-family: 'Helvetica';
      letter-spacing: -0.05em;
      line-height: 1.0; }
    .recruit .sec04 h2 .h2_ja {
      position: absolute;
      top: 50%;
      left: 0;
      color: #f8b100;
      font-size: 32px;
      font-weight: bold;
      transform: translateY(-50%); }
  .recruit .sec04__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1560px;
    margin: 0 auto; }
    .recruit .sec04__inner figure {
      order: 2;
      width: 50%; }
      .recruit .sec04__inner figure img {
        width: 100%;
        height: auto; }
      .recruit .sec04__inner figure + div {
        order: 1;
        width: 40%;
        color: #515457; }
        .recruit .sec04__inner figure + div h3 {
          margin-bottom: 30px;
          font-size: clamp(36px, 2.4vw, 48px);
          font-weight: bold;
          line-height: 1.4; }
        .recruit .sec04__inner figure + div .txt p {
          margin-bottom: 20px;
          line-height: 1.8; }

@media (max-width: 760px) {
  .recruit .sec04 {
    padding: 15% 0; }
    .recruit .sec04 h2 {
      background: url("../images/recruit/bg_h2_line.png") no-repeat left 14px;
      margin-bottom: 10%;
      padding-right: 40px; }
      .recruit .sec04 h2 .no {
        top: 3px;
        right: 0;
        padding: 0 5px 0 10px;
        font-size: 20px; }
      .recruit .sec04 h2 figure img {
        width: auto;
        height: 70px; }
      .recruit .sec04 h2 .h2_ja {
        top: 110%;
        left: 10px;
        text-align: left;
        font-size: 16px;
        line-height: 1.2; }
    .recruit .sec04__inner {
      max-width: 100%; }
      .recruit .sec04__inner figure {
        width: 100%; }
        .recruit .sec04__inner figure + div {
          width: 90%;
          margin: 0 auto 5%; }
          .recruit .sec04__inner figure + div h3 {
            margin-bottom: 6%;
            font-size: 24px;
            line-height: 1.6; }
          .recruit .sec04__inner figure + div .txt p {
            margin-bottom: 4%; } }
.recruit .sec05 {
  background: #f8b100;
  width: 100%;
  padding: 200px 4vw; }
  .recruit .sec05 h2 {
    background: url("../images/recruit/bg_h2_line.png") no-repeat left 40px;
    margin-bottom: 30px;
    padding-left: 100px;
    position: relative; }
    .recruit .sec05 h2 .no {
      position: absolute;
      top: 25px;
      left: 0;
      background: #f8b100;
      padding-right: 10px;
      color: #515457;
      font-size: 30px;
      font-weight: bold;
      font-family: 'Helvetica';
      letter-spacing: -0.05em;
      line-height: 1.0; }
    .recruit .sec05 h2 .h2_ja {
      position: absolute;
      top: 50%;
      right: 0;
      color: #fff;
      font-size: 32px;
      font-weight: bold;
      transform: translateY(-50%); }
  .recruit .sec05__inner {
    max-width: 1560px;
    margin: 0 auto; }
    .recruit .sec05__inner ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .recruit .sec05__inner ul li {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        border-top: 1px solid #515457;
        width: 48%;
        margin-top: 200px;
        padding: 90px 0 0;
        position: relative;
        color: #515457; }
        .recruit .sec05__inner ul li:first-child .img {
          position: absolute;
          top: -190px;
          left: 0; }
        .recruit .sec05__inner ul li:last-child .img {
          position: absolute;
          top: -197px;
          left: 0; }
        .recruit .sec05__inner ul li h3 {
          width: 270px;
          padding-top: 10px;
          font-size: 70px;
          font-weight: bold;
          font-family: 'Helvetica';
          letter-spacing: -0.05em;
          line-height: 0.6; }
          .recruit .sec05__inner ul li h3 span {
            color: #fff;
            font-size: 32px; }
          .recruit .sec05__inner ul li h3 + div {
            width: calc(100% - 270px); }
            .recruit .sec05__inner ul li h3 + div h4 {
              margin-bottom: 15px;
              font-size: 30px;
              font-weight: bold;
              line-height: 1.4; }
            .recruit .sec05__inner ul li h3 + div p {
              line-height: 2.0; }

@media (max-width: 760px) {
  .recruit .sec05 {
    padding: 15% 0 10%; }
    .recruit .sec05 h2 {
      background: url("../images/recruit/bg_h2_line.png") no-repeat left 12px;
      margin-bottom: 10%;
      padding-left: 40px; }
      .recruit .sec05 h2 .no {
        top: 3px;
        left: 0;
        padding: 0 5px 0 10px;
        font-size: 20px; }
      .recruit .sec05 h2 figure img {
        width: auto;
        height: 70px; }
      .recruit .sec05 h2 .h2_ja {
        top: 110%;
        right: 10px;
        font-size: 16px; }
    .recruit .sec05__inner {
      max-width: 90%; }
      .recruit .sec05__inner ul li {
        width: 100%;
        margin-top: 50px;
        padding: 6% 0;
        position: relative; }
        .recruit .sec05__inner ul li:first-child .img {
          top: -40px;
          left: auto;
          right: 0;
          width: 154px; }
        .recruit .sec05__inner ul li:last-child .img {
          top: -40px;
          left: auto;
          right: 0;
          width: 120px; }
        .recruit .sec05__inner ul li h3 {
          width: 100%;
          margin-bottom: 0;
          padding-top: 0;
          font-size: 50px;
          line-height: 1.4; }
          .recruit .sec05__inner ul li h3 span {
            margin-left: 10px;
            font-size: 20px; }
          .recruit .sec05__inner ul li h3 + div {
            width: 100%; }
            .recruit .sec05__inner ul li h3 + div h4 {
              margin-bottom: 3%;
              font-size: 20px;
              line-height: 1.4; }
            .recruit .sec05__inner ul li h3 + div p {
              line-height: 1.8; } }
.recruit .sec06 {
  max-width: 100%;
  padding: 200px 4vw 0; }
  .recruit .sec06 h2 {
    background: url("../images/recruit/bg_h2_line.png") no-repeat left 40px;
    margin-bottom: 70px;
    padding-right: 100px;
    text-align: right;
    position: relative; }
    .recruit .sec06 h2 .no {
      position: absolute;
      top: 25px;
      right: 0;
      background: #fff;
      padding-left: 10px;
      color: #515457;
      font-size: 30px;
      font-weight: bold;
      font-family: 'Helvetica';
      letter-spacing: -0.05em;
      line-height: 1.0; }
    .recruit .sec06 h2 .h2_ja {
      position: absolute;
      top: 50%;
      left: 0;
      color: #f8b100;
      font-size: 32px;
      font-weight: bold;
      transform: translateY(-50%); }
  .recruit .sec06__inner {
    max-width: 1560px;
    margin: 0 auto; }
    .recruit .sec06__inner--faq {
      margin-bottom: 80px; }
      .recruit .sec06__inner--faq dl {
        border-top: 1px solid #515457;
        padding: 60px 0; }
        .recruit .sec06__inner--faq dl dt {
          margin-bottom: 30px;
          padding-left: 65px;
          color: #515457;
          font-size: 30px;
          font-weight: bold;
          position: relative;
          cursor: pointer; }
          .recruit .sec06__inner--faq dl dt:before {
            content: "Q.";
            position: absolute;
            top: 0;
            left: 0;
            color: #f8b100;
            font-size: 50px;
            font-family: 'Helvetica';
            line-height: 1.0; }
        .recruit .sec06__inner--faq dl dd {
          width: 80%;
          padding-left: 65px;
          color: #515457;
          position: relative; }
          .recruit .sec06__inner--faq dl dd:before {
            content: "A.";
            position: absolute;
            top: -5px;
            left: 0;
            font-size: 50px;
            font-family: 'Helvetica';
            line-height: 1.0; }
          .recruit .sec06__inner--faq dl dd .link {
            margin-top: 20px; }
            .recruit .sec06__inner--faq dl dd .link a {
              text-decoration: underline; }
              .recruit .sec06__inner--faq dl dd .link a span {
                padding-right: 25px;
                position: relative; }
                .recruit .sec06__inner--faq dl dd .link a span:after {
                  content: "";
                  position: absolute;
                  top: 50%;
                  right: 0;
                  background: url("../images/recruit/icon_blank.png") no-repeat center center/cover;
                  width: 18px;
                  height: 18px;
                  margin-top: 1px;
                  transform: translateY(-50%); }

@media (max-width: 760px) {
  .recruit .sec06 {
    padding: 15% 0 0; }
    .recruit .sec06 h2 {
      background: url("../images/recruit/bg_h2_line.png") no-repeat left 12px;
      margin-bottom: 8%;
      padding-right: 40px; }
      .recruit .sec06 h2 .no {
        top: 3px;
        right: 0;
        padding: 0 5px 0 10px;
        font-size: 20px; }
      .recruit .sec06 h2 figure img {
        width: auto;
        height: 70px; }
      .recruit .sec06 h2 .h2_ja {
        top: 50%;
        left: 10px;
        font-size: 16px; }
    .recruit .sec06__inner {
      max-width: 90%; }
      .recruit .sec06__inner--faq {
        margin-bottom: 8%; }
        .recruit .sec06__inner--faq dl {
          padding: 6% 0; }
          .recruit .sec06__inner--faq dl dt {
            margin-bottom: 3%;
            padding-left: 45px;
            font-size: 20px;
            line-height: 1.4; }
            .recruit .sec06__inner--faq dl dt:before {
              font-size: 30px;
              line-height: 1.0; }
          .recruit .sec06__inner--faq dl dd {
            width: 100%;
            padding-left: 45px; }
            .recruit .sec06__inner--faq dl dd:before {
              font-size: 30px;
              line-height: 1.0; }
            .recruit .sec06__inner--faq dl dd .link {
              margin-top: 4%; }
              .recruit .sec06__inner--faq dl dd .link a span {
                padding-right: 22px; }
                .recruit .sec06__inner--faq dl dd .link a span:after {
                  width: 15px;
                  height: 15px;
                  margin-top: 2px; } }
.recruit .pht_faq img {
  width: 100%;
  height: auto; }

.recruit .sec07 {
  max-width: 100%;
  padding: 160px 4vw 200px; }
  .recruit .sec07 h2 {
    background: url("../images/recruit/bg_h2_line.png") no-repeat left 40px;
    margin-bottom: 70px;
    padding-left: 100px;
    position: relative; }
    .recruit .sec07 h2 .no {
      position: absolute;
      top: 25px;
      left: 0;
      background: #fff;
      padding-right: 10px;
      color: #515457;
      font-size: 30px;
      font-weight: bold;
      font-family: 'Helvetica';
      letter-spacing: -0.05em;
      line-height: 1.0; }
    .recruit .sec07 h2 .h2_ja {
      position: absolute;
      top: 50%;
      right: 0;
      color: #f8b100;
      font-size: 32px;
      font-weight: bold;
      transform: translateY(-50%); }
  .recruit .sec07__inner {
    max-width: 1160px;
    margin: 0 auto; }
    .recruit .sec07__inner ul {
      display: flex;
      flex-wrap: wrap; }
      .recruit .sec07__inner ul li:first-child {
        width: 46%; }
      .recruit .sec07__inner ul li:nth-child(2) {
        width: 27%; }
      .recruit .sec07__inner ul li:nth-child(3) {
        width: 27%; }
      .recruit .sec07__inner ul li {
        color: #515457;
        font-size: 24px;
        line-height: 2.8; }

@media (max-width: 760px) {
  .recruit .sec07 {
    padding: 15% 0 0; }
    .recruit .sec07 h2 {
      background: url("../images/recruit/bg_h2_line.png") no-repeat left 12px;
      margin-bottom: 10%;
      padding-left: 40px; }
      .recruit .sec07 h2 .no {
        top: 3px;
        left: 0;
        padding: 0 5px 0 10px;
        font-size: 20px; }
      .recruit .sec07 h2 figure img {
        width: auto;
        height: 70px; }
      .recruit .sec07 h2 .h2_ja {
        top: 110%;
        right: 10px;
        font-size: 16px; }
    .recruit .sec07__inner {
      max-width: 90%; }
      .recruit .sec07__inner ul li:first-child {
        width: 65%; }
      .recruit .sec07__inner ul li:nth-child(2) {
        width: 30%; }
      .recruit .sec07__inner ul li:nth-child(3) {
        width: 0; }
      .recruit .sec07__inner ul li:nth-child(4) {
        width: 65%; }
      .recruit .sec07__inner ul li:nth-child(5) {
        width: 30%; }
      .recruit .sec07__inner ul li {
        font-size: 14px;
        line-height: 2.8; } }
.pc_dis {
  display: block; }

.sp_dis {
  display: none; }

@media (max-width: 760px) {
  .pc_dis {
    display: none; }

  .sp_dis {
    display: block; } }
