#key {
  position: relative;
  padding: 50px 0 155px; }
  #key:before {
    content: url("../img/recruit/eclip_deco1.png");
    position: absolute;
    top: 112px;
    right: calc(50% + 80px); }
  #key:after {
    content: url("../img/recruit/key_decor.png");
    position: absolute;
    top: 212px;
    left: calc(50% + 80px); }
  #key h1 {
    position: absolute;
    top: 66px;
    width: calc(50% - 20px);
    right: 50%;
    max-width: 540px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2; }
    #key h1 span {
      font-size: 64px;
      letter-spacing: 0.08em;
      font-weight: 500;
      text-transform: uppercase;
      display: inline-block; }
      #key h1 span::first-letter {
        color: #65B3C3; }
  #key .tit {
    max-width: 444px;
    margin-bottom: 30px;
    margin-left: calc(50% + 84px); }
    @media screen and (max-width: 1100px) {
      #key .tit {
        margin-left: 0;
        float: right;
        margin-right: 20px; } }
  #key .photo {
    max-width: 1020px;
    margin-left: calc(50% - 337px);
    position: relative;
    z-index: 3; }
    @media screen and (max-width: 1366px) {
      #key .photo {
        float: right;
        margin-left: 0; } }
    @media screen and (max-width: 767px) {
      #key .photo {
        float: none;
        flex-wrap: wrap; }
        #key .photo li {
          width: 100%; } }
  @media screen and (max-width: 999px) {
    #key {
      padding-top: 85px; }
      #key h1 {
        top: 30px; } }
  @media screen and (max-width: 767px) {
    #key {
      padding: 0 20px 80px; }
      #key h1 {
        position: static;
        width: auto;
        font-size: 20px; }
        #key h1 span {
          font-size: 40px; }
      #key .tit {
        float: none;
        margin: 20px 0 30px; } }

.elementor-image-box-img {
  border-radius: 16px; }

main {
  position: relative;
  z-index: 1; }
  main:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 550px;
    background: linear-gradient(180deg, white 0%, white 88%, rgba(224, 253, 239, 0) 100%);
    z-index: -1; }
  main:after {
    content: '';
    position: absolute;
    top: 385px;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, #DFF1FD 0%, #E0F1FD 9%, #EEEDFF 100%);
    z-index: -2; }

#sec1 {
  font-size: 16px;
  line-height: 34px;
  letter-spacing: 0; }
  #sec1 .elementor-image-box-title {
    font-size: 32px;
    line-height: 1.6;
    letter-spacing: 0.08em;
    padding-bottom: 24px;
    font-weight: 700;
    text-align: left; }
  #sec1 .elementor-image-box-img {
    position: relative;
    overflow: visible;
    margin-bottom: 50px !important; }
    #sec1 .elementor-image-box-img img {
      border-radius: 16px !important;
      position: relative; }
    #sec1 .elementor-image-box-img:before {
      content: '';
      background: url("../img/recruit/recruit_deco1.png") no-repeat 0 bottom/100%;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: -54px;
      z-index: 1; }
  @media screen and (max-width: 767px) {
    #sec1 .elementor-image-box-img {
      margin-bottom: 17vw !important; }
    #sec1 .elementor-image-box-title {
      font-size: 24px; } }

.bg_white {
  padding: 40px 0;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1; }
  .bg_white:before {
    content: '';
    background-color: #fff;
    border-radius: 24px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1; }
  .bg_white .elementor-widget:not(:last-child) {
    margin-bottom: 0; }
  @media screen and (max-width: 1120px) {
    .bg_white {
      padding-left: 20px !important;
      padding-right: 20px !important; } }

#sec2 {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 32px; }
  #sec2 .elementor-widget-image-box {
    position: relative;
    min-height: 430px;
    margin-bottom: 64px;
    z-index: 1; }
    #sec2 .elementor-widget-image-box:before {
      content: url("../img/recruit/recruit_cir1.png");
      position: absolute;
      top: -140px;
      left: calc(50% - 290px);
      z-index: -1; }
    #sec2 .elementor-widget-image-box.img_l:before {
      content: url("../img/recruit/recruit_cir2.png");
      position: absolute;
      top: -120px;
      left: calc(50% - 210px);
      z-index: -1; }
    #sec2 .elementor-widget-image-box.img_l .elementor-image-box-wrapper {
      justify-content: flex-end !important;
      min-height: 420px; }
    #sec2 .elementor-widget-image-box.img_l .elementor-image-box-img {
      right: auto;
      left: 0; }
  #sec2 .object-fit {
    position: relative; }
    #sec2 .object-fit .elementor-image-box-img {
      height: 432px; }
      @media screen and (min-resolution: 999px) {
        #sec2 .object-fit .elementor-image-box-img img {
          object-fit: cover;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          height: 100%;
          width: 100%; } }
  #sec2 .elementor-image-box-wrapper {
    min-height: 432px;
    display: flex !important;
    align-items: flex-end !important; }
  #sec2 .elementor-image-box-img {
    position: absolute;
    top: 0;
    right: 0;
    width: 57.41% !important;
    max-width: 620px;
    margin: 0 !important; }
  #sec2 .elementor-image-box-title {
    font-weight: 700;
    font-size: 32px;
    line-height: 1.25;
    text-align: left;
    letter-spacing: 0.1em;
    padding-bottom: 15px; }
    #sec2 .elementor-image-box-title span {
      font-family: "Hind", sans-serif;
      font-weight: 500;
      font-style: normal;
      letter-spacing: 0.04em;
      color: #65B3C3;
      font-size: 100px;
      position: absolute;
      left: 50px;
      top: 0;
      transform: translateY(-50%); }
  #sec2 .elementor-image-box-content {
    background-color: #fff;
    border-radius: 16px;
    position: relative;
    z-index: 1;
    width: 57.41% !important;
    max-width: 620px;
    padding: 50px;
    position: relative; }
    @media screen and (max-width: 1140px) {
      #sec2 .elementor-image-box-content {
        padding: 50px 20px; }
        #sec2 .elementor-image-box-content .elementor-image-box-title span {
          left: 20px; } }
  @media screen and (max-width: 999px) {
    #sec2 .elementor-image-box-title {
      font-size: 26px; }
      #sec2 .elementor-image-box-title span {
        font-size: 80px; } }
  @media screen and (max-width: 767px) {
    #sec2 {
      padding: 30px 0 1px; }
      #sec2 .elementor-widget-image-box {
        margin-bottom: 40px; }
        #sec2 .elementor-widget-image-box:before {
          top: 0px;
          left: -210px;
          transform: scale(0.7); }
        #sec2 .elementor-widget-image-box.img_l:before {
          left: auto;
          right: -250px;
          transform: scale(0.6);
          top: -110px; }
      #sec2 .object-fit .elementor-image-box-img {
        height: auto !important; }
      #sec2 .elementor-image-box-wrapper {
        flex-wrap: wrap; }
        #sec2 .elementor-image-box-wrapper .elementor-image-box-img, #sec2 .elementor-image-box-wrapper .elementor-image-box-content {
          width: 100% !important;
          max-width: 100% !important; }
        #sec2 .elementor-image-box-wrapper .elementor-image-box-content {
          padding: 30px 0px 0;
          background: none; }
        #sec2 .elementor-image-box-wrapper .elementor-image-box-title {
          font-size: 22px; }
          #sec2 .elementor-image-box-wrapper .elementor-image-box-title span {
            font-size: 60px;
            left: 0; }
        #sec2 .elementor-image-box-wrapper .elementor-image-box-img {
          position: static;
          margin-bottom: 40px !important; } }

.recruit_banner {
  justify-content: space-between;
  position: relative; }
  .recruit_banner:before {
    content: url("../img/recruit/key_decor.png");
    position: absolute;
    top: -28px;
    left: -470px;
    z-index: -1; }
  .recruit_banner.ext:before {
    top: -28px;
    left: auto;
    right: -470px;
    z-index: -1; }
  .recruit_banner li {
    background: url("../img/recruit/recruit_bnr1.jpg") no-repeat center/cover;
    border-radius: 16px;
    width: calc((100% - 30px)/3);
    border: 10px solid #fff;
    transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease; }
    .recruit_banner li a {
      padding: 10px;
      display: block;
      aspect-ratio: 0.9217;
      position: relative;
      color: #65B3C3;
      text-decoration: none !important; }
      .recruit_banner li a span {
        border-bottom-left-radius: 16px;
        border-bottom-right-radius: 16px;
        letter-spacing: 0;
        font-size: 24px;
        font-weight: 500;
        position: absolute;
        left: -10px;
        bottom: -10px;
        right: -10px;
        padding: 22px 22px;
        background-color: #fff;
        z-index: 1;
        transition: all .3s ease;
        -moz-transition: all .3s ease;
        -webkit-transition: all .3s ease; }
        @media screen and (max-width: 999px) {
          .recruit_banner li a span {
            font-size: 20px;
            padding: 10px 22px; } }
        .recruit_banner li a span:before {
          content: '';
          position: absolute;
          right: 22px;
          top: 50%;
          transform: translateY(-50%);
          z-index: 1;
          width: 0;
          height: 0;
          border-top: 6px solid transparent;
          border-left: 10px solid;
          border-bottom: 6px solid transparent; }
    .recruit_banner li:nth-child(2) {
      background: url("../img/recruit/recruit_bnr2.jpg") no-repeat center/cover; }
    .recruit_banner li:nth-child(3) {
      background: url("../img/recruit/recruit_bnr3.jpg") no-repeat center/cover; }
    .recruit_banner li:hover {
      border: 10px solid #65B3C3; }
      .recruit_banner li:hover a {
        color: #fff; }
        .recruit_banner li:hover a span {
          background-color: #65B3C3; }
  @media screen and (max-width: 767px) {
    .recruit_banner {
      flex-wrap: wrap;
      gap: 20px 0; }
      .recruit_banner li {
        width: 100%; } }


.photo-bnr {
    max-width: 1080px;
    margin: 50px auto 0;
    position: relative;
    z-index: 3;
}

.photo-end {
  padding: 100px 0 90px; }
  @media screen and (max-width: 767px) {

.photo-bnr {
    margin: 50px 20px 0;
}

    .photo-end {
      padding: 30px 0 40px; } }

#greeting {
  padding: 24px 0 80px;
  font-size: 16px; }
  #greeting .elementor-widget:not(:last-child) {
    margin-bottom: 0; }
  #greeting .elementor-image-box-title {
    text-align: left;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.08em; }
    #greeting .elementor-image-box-title .t {
      font-size: 24px;
      font-weight: 700;
      letter-spacing: 0.08em; }
  @media screen and (max-width: 767px) {
    #greeting {
      padding-bottom: 40px; }
      #greeting .elementor-image-box-title {
        font-size: 22px; }
        #greeting .elementor-image-box-title .t {
          font-size: 16px; } }

.elementor-section {
  letter-spacing: 0.08em; }

#recruit_qa {
  font-size: 16px;
  padding: 24px 0 70px;
  position: relative;
  z-index: 1; }
  #recruit_qa:after {
    content: url("../img/recruit/eclip_deco1.png");
    position: absolute;
    bottom: 39px;
    right: calc(50% + 200px);
    z-index: -2; }
  #recruit_qa .elementor-image-box-title {
    text-align: left;
    font-size: 24px;
    line-height: 1.6;
    position: relative;
    padding: 0 10px 0 110px;
    display: flex;
    align-items: center;
    min-height: 115px;
    margin-bottom: 24px; }
    #recruit_qa .elementor-image-box-title:before {
      content: '';
      background: url("../img/recruit/recruit_qa.png") no-repeat 0 0/100%;
      width: 82px;
      height: 115px;
      position: absolute;
      top: 0;
      left: 0; }
  @media screen and (max-width: 767px) {
    #recruit_qa {
      padding-bottom: 30px; }
      #recruit_qa .elementor-image-box-title {
        font-size: 20px;
        padding: 0 10px 0 66px;
        display: flex;
        min-height: 94px;
        margin-bottom: 12px; }
        #recruit_qa .elementor-image-box-title:before {
          width: 60px;
          height: 115px; } }

.bg_decor_circle1 {
  position: relative; }
  .bg_decor_circle1:before {
    content: url("../img/recruit/eclip_deco1.png");
    position: absolute;
    top: 380px;
    left: calc(50% + 200px); }

.bg_decor_circle2 {
  position: relative; }
  .bg_decor_circle2:before {
    content: url("../img/recruit/eclip_deco2.png");
    position: absolute;
    bottom: -150px;
    left: -490px;
    z-index: -1; }

.bg_decor_circle3 {
  position: relative; }
  .bg_decor_circle3:after {
    content: url("../img/recruit/eclip_deco1.png");
    position: absolute;
    bottom: -390px;
    left: -380px;
    z-index: -2; }

#schedule {
  position: relative; }
  #schedule .elementor-container {
    max-width: 1200px;
    padding: 0; }
  #schedule .group .gr {
    justify-content: space-between;
    display: flex;
    align-items: flex-end;
    gap: 50px; }
    #schedule .group .gr.gr2 {
      position: relative; }
      #schedule .group .gr.gr2:before {
        content: url("../img/recruit/eclip_deco2.png");
        position: absolute;
        top: -500px;
        right: calc(50% + 110px);
        z-index: -1; }
    #schedule .group .gr.ext {
      align-items: flex-start; }
      #schedule .group .gr.ext .time-line {
        margin-bottom: 0; }
  #schedule .group .time-line {
    position: relative;
    width: 60.84%;
    max-width: 730px;
    margin-bottom: 40px; }
    #schedule .group .time-line .start {
      max-width: 240px;
      width: 75%; }
    #schedule .group .time-line .end {
      max-width: 273px;
      width: 95%;
      margin: 0 0 0 22px; }
    #schedule .group .time-line .item {
      background-color: #fff;
      border-radius: 40px;
      padding: 40px 60px 48px;
      font-size: 16px;
      position: relative; }
      #schedule .group .time-line .item dt {
        font-size: 24px;
        font-weight: 500;
        letter-spacing: 0.08em;
        padding: 7px 0 4px; }
      #schedule .group .time-line .item .photo img {
        border-radius: 24px; }
      #schedule .group .time-line .item .tit img {
        width: 112px;
        height: auto;
        position: absolute;
        left: 0;
        top: 27px; }
      #schedule .group .time-line .item .tit span {
        letter-spacing: 0.08em;
        line-height: 46px;
        font-size: 32px;
        display: inline-block;
        position: relative;
        z-index: 1; }
        #schedule .group .time-line .item .tit span:before {
          content: '';
          background: url("../img/recruit/tag.png") no-repeat 0 0/100% 100%;
          width: 136px;
          height: 46px;
          position: absolute;
          left: -30px;
          top: -0px;
          z-index: -1; }
        #schedule .group .time-line .item .tit span.w1:before {
          width: 118px; }
      #schedule .group .time-line .item .top {
        padding: 0 0 24px 145px;
        position: relative; }
      #schedule .group .time-line .item .decor1 {
        max-width: 93px;
        position: absolute;
        bottom: 0;
        left: -65px;
        z-index: 4;
        width: 13%; }
      #schedule .group .time-line .item .decor2 {
        max-width: 164px;
        width: 22.5%;
        position: absolute;
        top: 0;
        right: -17%;
        z-index: 4; }
      #schedule .group .time-line .item .decor3 {
        max-width: 185px;
        position: absolute;
        bottom: 0;
        left: -14.6%;
        z-index: 4;
        width: 25.4%; }
      #schedule .group .time-line .item .decor4 {
        position: absolute;
        bottom: 0;
        z-index: 6;
        width: 24.521%;
        left: 0;
        transform: translateX(-100%); }
    #schedule .group .time-line.ext {
      width: 328px;
      margin-left: 60px; }
      #schedule .group .time-line.ext .item {
        padding: 40px;
        margin-bottom: 48px;
        z-index: 2; }
        #schedule .group .time-line.ext .item .tit {
          padding: 64px 0 11px 144px; }
          #schedule .group .time-line.ext .item .tit img {
            top: 0; }
        #schedule .group .time-line.ext .item .top {
          padding: 0; }
    #schedule .group .time-line.time2 .item:before {
      content: '';
      position: absolute;
      border-top: 60px solid #d2e0fc;
      width: 200px;
      top: 54%;
      left: 0;
      transform: translate(-100%, -50%);
      width: 100px; }
    #schedule .group .time-line.time3:after {
      content: '';
      position: absolute;
      border-top: 60px solid #d2e0fc;
      width: 100px;
      top: 320px;
      right: 0;
      transform: translateX(100%);
      width: 100px; }
    #schedule .group .time-line.time3:before {
      content: '';
      background: url("../img/recruit/line1.png") no-repeat 0 0/100%;
      width: 256px;
      height: 171px;
      position: absolute;
      top: -40px;
      right: 0;
      transform: translateX(100%); }
    #schedule .group .time-line.time4 {
      margin-left: 0;
      margin-right: 60px;
      z-index: 4; }
      @media screen and (max-width: 1200px) {
        #schedule .group .time-line.time4 {
          margin-right: 0; } }
    #schedule .group .time-line.time5 {
      justify-content: space-between;
      display: flex;
      width: 100%;
      max-width: 100%; }
      #schedule .group .time-line.time5:before {
        content: '';
        position: absolute;
        border-left: 60px solid #d2e0fc;
        top: 0%;
        right: 165px;
        transform: translateY(-100%);
        height: 100px; }
      #schedule .group .time-line.time5:after {
        content: url("../img/recruit/key_decor.png");
        position: absolute;
        top: -162px;
        right: -540px;
        z-index: -1; }
      #schedule .group .time-line.time5 .item {
        width: 60.84%;
        max-width: 730px; }
        #schedule .group .time-line.time5 .item:before {
          content: '';
          background: url("../img/recruit/line2.png") no-repeat 0 0/100%;
          width: 256px;
          height: 171px;
          position: absolute;
          bottom: -40px;
          left: 0;
          transform: translateX(-100%); }
      #schedule .group .time-line.time5 .sub {
        max-width: 357px;
        width: 30%;
        margin: 40px 0 0 60px; }
        @media screen and (max-width: 1200px) {
          #schedule .group .time-line.time5 .sub {
            margin-left: 30px; } }
    #schedule .group .time-line.time6 {
      justify-content: space-between;
      display: flex;
      width: 100%;
      max-width: 100%; }
      #schedule .group .time-line.time6:after {
        content: url("../img/recruit/eclip_deco1.png");
        position: absolute;
        top: -650px;
        right: calc(50% + -10px);
        z-index: -1; }
      #schedule .group .time-line.time6 .item {
        width: 60.84%;
        max-width: 730px;
        order: -1; }
        #schedule .group .time-line.time6 .item:after {
          content: '';
          background: url("../img/recruit/line3.png") no-repeat 0 0/100%;
          width: 256px;
          height: 171px;
          position: absolute;
          bottom: -40px;
          right: 0;
          transform: translateX(100%); }
      #schedule .group .time-line.time6 .sub {
        max-width: 357px;
        width: 30%;
        margin: 40px 60px 0 0px; }
        @media screen and (max-width: 1200px) {
          #schedule .group .time-line.time6 .sub {
            margin-right: 30px; } }
    #schedule .group .time-line.time7 .item:before {
      content: '';
      position: absolute;
      border-top: 60px solid #d2e0fc;
      top: 50%;
      left: 0;
      transform: translate(-100%, -50%);
      width: 100px; }
    #schedule .group .time-line.time8 {
      margin-top: -60px;
      order: -1; }
  @media screen and (max-width: 1200px) {
    #schedule .group .time-line .item {
      padding: 30px 20px 30px;
      border-radius: 30px; }
    #schedule .group .time-line.ext {
      margin-left: 0px; }
      #schedule .group .time-line.ext .item {
        padding: 30px 20px; } }
  @media screen and (max-width: 767px) {
    #schedule .group {
      position: relative;
      z-index: 1; }
      #schedule .group:before {
        content: '';
        position: absolute;
        top: 200px;
        bottom: 0;
        border-left: 30px solid #d2e0fc;
        z-index: -1;
        left: calc(50% - 15px); }
      #schedule .group .gr {
        display: block; }
      #schedule .group .time-line {
        width: 100%;
        max-width: 100%;
        display: block !important; }
        #schedule .group .time-line .start {
          width: 56%; }
        #schedule .group .time-line .end {
          width: 57%; }
        #schedule .group .time-line.ext {
          width: 100%;
          max-width: 100%; }
        #schedule .group .time-line .sub {
          position: static !important;
          width: 65% !important;
          margin: 0 auto 20px !important; }
        #schedule .group .time-line .item {
          width: 100% !important;
          max-width: 100% !important;
          padding: 30px 20px 30px;
          border-radius: 20px;
          margin-bottom: 0 !important; }
          #schedule .group .time-line .item .decor1 {
            bottom: -15px;
            left: -10px; }
          #schedule .group .time-line .item .decor2 {
            right: 0%; }
          #schedule .group .time-line .item .decor3 {
            width: 23%;
            bottom: -15vw;
            left: 0; }
          #schedule .group .time-line .item .decor4 {
            bottom: -40vw;
            left: auto;
            right: 0;
            transform: none; }
          #schedule .group .time-line .item .top {
            padding: 0 0 20px; }
          #schedule .group .time-line .item dt {
            text-align: center;
            font-size: 22px;
            padding-bottom: 10px; }
          #schedule .group .time-line .item .photo img {
            border-radius: 16px; }
          #schedule .group .time-line .item .tit {
            padding: 17px 0 18px 124px !important; }
            #schedule .group .time-line .item .tit span {
              line-height: 40px;
              font-size: 30px; }
            #schedule .group .time-line .item .tit img {
              width: 80px;
              top: 0; }
        #schedule .group .time-line.time8 {
          margin-top: 20px; }
        #schedule .group .time-line.time7 .item:before, #schedule .group .time-line.time6 .item:after, #schedule .group .time-line.time5 .item:before, #schedule .group .time-line.time5:before, #schedule .group .time-line.time3:before, #schedule .group .time-line.time3:after, #schedule .group .time-line.time2 .item:before {
          display: none; } }

#table_price {
  z-index: 2; }
  #table_price .elementor-widget:not(:last-child) {
    margin-bottom: 0; }