@charset "UTF-8";
/* Scss Document */
html {
  scroll-behavior: smooth; }

/*
---------------------------------------
entry-new-graduate01
---------------------------------------
*/
#entry-new-graduate01 .picBox {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem; }
  #entry-new-graduate01 .picBox .pic {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 3 / 2;
    object-fit: cover; }
  @media (max-width: 999px) {
    #entry-new-graduate01 .picBox {
      grid-template-columns: 1fr;
      gap: 1.5rem; }
      #entry-new-graduate01 .picBox .pic {
        width: 100%; } }
@media (max-width: 999px) {
  #entry-new-graduate01 .ttlBox1 .ttl {
    font-size: 2.2rem; } }

/*
---------------------------------------
entry-new-graduate02
---------------------------------------
*/
@media (max-width: 999px) {
  #entry-new-graduate02 {
    padding-bottom: 6rem; } }
#entry-new-graduate02 .ttl span {
  font-size: 6.4rem; }
  @media (max-width: 999px) {
    #entry-new-graduate02 .ttl span {
      font-size: 3.6rem; } }
#entry-new-graduate02 .boxs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem; }
  #entry-new-graduate02 .boxs .sttl {
    font-size: 2.4rem;
    text-align: center;
    font-weight: 500; }
    @media (max-width: 999px) {
      #entry-new-graduate02 .boxs .sttl {
        font-size: 1.8rem; } }
  #entry-new-graduate02 .boxs .stxt {
    font-size: 1.6rem; }
    @media (max-width: 999px) {
      #entry-new-graduate02 .boxs .stxt {
        font-size: 1.4rem; } }
  #entry-new-graduate02 .boxs .box {
    width: 100%;
    display: flex;
    flex-direction: column; }
    #entry-new-graduate02 .boxs .box .interviewBackBtnBox {
      margin-top: auto; }
  #entry-new-graduate02 .boxs .ico {
    margin: 0 auto 2rem;
    width: 10rem; }
  @media (max-width: 999px) {
    #entry-new-graduate02 .boxs {
      grid-template-columns: 1fr;
      gap: 3rem; }
      #entry-new-graduate02 .boxs .pic {
        width: 100%; }
      #entry-new-graduate02 .boxs .ico {
        margin: 0 auto 1rem;
        width: 8rem; } }

/*
---------------------------------------
entry-new-graduate03
---------------------------------------
*/
#entry-new-graduate03 {
  position: relative; }
  #entry-new-graduate03 .icoDeco {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 105rem;
    height: auto;
    z-index: 0; }
    @media (max-width: 999px) {
      #entry-new-graduate03 .icoDeco {
        position: absolute;
        top: 20rem;
        right: 0;
        width: 56rem;
        height: auto;
        z-index: 0;
        max-width: 200%; } }
  @media (max-width: 999px) {
    #entry-new-graduate03 {
      width: 100%;
      max-width: 56rem;
      margin: 0 auto 6rem; } }
  #entry-new-graduate03 .boxs {
    display: flex;
    align-items: stretch;
    gap: calc(160 / 1980 * 100%);
    width: 100%; }
    #entry-new-graduate03 .boxs .picBox {
      flex: 0 0 calc(840 / 1980 * 100%);
      min-width: 0; }
      #entry-new-graduate03 .boxs .picBox img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover; }
    #entry-new-graduate03 .boxs .box {
      flex: 0 0 calc(17.847rem + 26.658vw);
      min-width: 0;
      position: relative;
      z-index: 2; }
    @media (max-width: 999px) {
      #entry-new-graduate03 .boxs {
        flex-direction: column;
        gap: 2rem; }
        #entry-new-graduate03 .boxs .picBox {
          width: calc(300 / 375 * 100%);
          flex: auto;
          margin: 0 auto 2rem 0;
          overflow: hidden;
          width: 100%; }
          #entry-new-graduate03 .boxs .picBox img {
            width: 100%;
            height: auto; }
        #entry-new-graduate03 .boxs .box {
          width: 90%;
          flex: auto;
          margin: 0 auto;
          padding-top: 0;
          padding-bottom: 0; } }
  #entry-new-graduate03 .reasonBox {
    padding: 4.5rem 6rem;
    background: #F7F7F7; }
    #entry-new-graduate03 .reasonBox .reasonTtl {
      margin-bottom: 3rem;
      font-size: 3rem;
      line-height: 1.7;
      text-align: center; }
    #entry-new-graduate03 .reasonBox .reasonList {
      width: max-content;
      max-width: 100%;
      margin: 0 auto; }
      #entry-new-graduate03 .reasonBox .reasonList li {
        position: relative;
        padding-left: 4rem;
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 2; }
        #entry-new-graduate03 .reasonBox .reasonList li + li {
          margin-top: 1.2rem; }
        #entry-new-graduate03 .reasonBox .reasonList li::before {
          content: "";
          width: 2.6rem;
          height: 2.6rem;
          position: absolute;
          top: .5rem;
          left: 0;
          background: url("../img/ico_check_grade.svg") center/contain no-repeat; }
    @media (max-width: 999px) {
      #entry-new-graduate03 .reasonBox {
        padding: 3rem 2rem; }
        #entry-new-graduate03 .reasonBox .reasonTtl {
          margin-bottom: 2.4rem;
          font-size: 2.2rem; }
        #entry-new-graduate03 .reasonBox .reasonList {
          width: 100%; }
          #entry-new-graduate03 .reasonBox .reasonList li {
            padding-left: 3.4rem;
            font-size: 1.5rem;
            line-height: 1.7; }
            #entry-new-graduate03 .reasonBox .reasonList li + li {
              margin-top: 1.4rem; }
            #entry-new-graduate03 .reasonBox .reasonList li::before {
              width: 2.2rem;
              height: 2.2rem;
              top: .15rem; } }
  #entry-new-graduate03 .decoBox {
    position: relative; }
    @media (max-width: 999px) {
      #entry-new-graduate03 .decoBox {
        max-width: 42rem; } }
    #entry-new-graduate03 .decoBox .deco {
      text-align: center;
      font-size: 9.6vw;
      display: inline-block;
      background: linear-gradient(90deg, #266EE8 0%, #7E61E4 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      position: absolute;
      line-height: 1;
      z-index: 0;
      left: -12vw;
      top: 6vw;
      opacity: .1; }
      @media (max-width: 999px) {
        #entry-new-graduate03 .decoBox .deco {
          font-size: 4.8rem;
          top: 2rem;
          right: 0;
          left: -7rem; } }
    #entry-new-graduate03 .decoBox .pic2 {
      width: 56rem;
      height: auto;
      padding-top: 13vw; }
      @media (max-width: 999px) {
        #entry-new-graduate03 .decoBox .pic2 {
          width: calc(216 / 375 * 100%);
          padding-top: 5.4rem;
          margin: 0 0 0 auto; } }

/*
---------------------------------------
新卒エントリーフォーム追加
---------------------------------------
*/
.cf7 .choiceRow dt {
  align-items: center; }
.cf7 .choiceRow dd {
  align-items: flex-start; }
  .cf7 .choiceRow dd .wpcf7-radio {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem; }
.cf7 .jobInterestRow dd .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .8rem; }
.cf7 .formNote {
  margin-top: 1rem;
  color: #999;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6; }
.cf7 .requiredText {
  margin-left: .5rem;
  color: #e99;
  font-size: 1.2rem;
  font-weight: 400;
  white-space: nowrap; }
.cf7 .optionalText {
  margin-left: .5rem;
  color: #777;
  font-size: 1.2rem;
  font-weight: 400;
  white-space: nowrap; }
.cf7 .currentAddressBox {
  width: 100%;
  /*.formNote{
      margin-left:11.5rem;
  }*/ }
  .cf7 .currentAddressBox .addressRowInner {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1.5rem; }
    .cf7 .currentAddressBox .addressRowInner + .addressRowInner {
      margin-top: .8rem; }
    .cf7 .currentAddressBox .addressRowInner > p {
      margin: 0; }
  .cf7 .currentAddressBox .addressLabel {
    width: 10rem;
    flex: 0 0 10rem; }
    .cf7 .currentAddressBox .addressLabel > p {
      margin: 0;
      display: flex;
      align-items: center;
      flex-wrap: nowrap;
      gap: .3rem;
      white-space: nowrap; }
    .cf7 .currentAddressBox .addressLabel br {
      display: none; }
  .cf7 .currentAddressBox .prefectureSelect {
    width: 13rem;
    flex: 0 0 13rem;
    display: block; }
    .cf7 .currentAddressBox .prefectureSelect .wpcf7-form-control-wrap {
      width: 100%;
      display: block; }
  .cf7 .currentAddressBox .cityInput {
    width: 100%;
    max-width: 40rem;
    display: block; }
    .cf7 .currentAddressBox .cityInput .wpcf7-form-control-wrap {
      width: 100%;
      display: block; }
    .cf7 .currentAddressBox .cityInput input {
      width: 100%; }
.cf7 .schoolInfoBox {
  width: 100%; }
  .cf7 .schoolInfoBox .schoolTypeBox {
    margin-bottom: 2.5rem; }
    .cf7 .schoolInfoBox .schoolTypeBox > p {
      margin: 0; }
    .cf7 .schoolInfoBox .schoolTypeBox .wpcf7-radio {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: .7rem; }
  .cf7 .schoolInfoBox .schoolFieldRow {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 2rem; }
    .cf7 .schoolInfoBox .schoolFieldRow + .schoolFieldRow {
      margin-top: 1rem; }
  .cf7 .schoolInfoBox .schoolFieldLabel {
    width: 16rem;
    flex: 0 0 16rem; }
    .cf7 .schoolInfoBox .schoolFieldLabel > p {
      margin: 0;
      display: flex;
      align-items: center;
      flex-wrap: nowrap;
      gap: .3rem;
      white-space: nowrap; }
    .cf7 .schoolInfoBox .schoolFieldLabel br {
      display: none; }
  .cf7 .schoolInfoBox .schoolFieldInput {
    width: 23rem;
    flex: 0 0 23rem; }
    .cf7 .schoolInfoBox .schoolFieldInput > p {
      margin: 0; }
    .cf7 .schoolInfoBox .schoolFieldInput .wpcf7-form-control-wrap {
      width: 100%;
      display: block; }
    .cf7 .schoolInfoBox .schoolFieldInput input {
      width: 100%; }
  .cf7 .schoolInfoBox .graduationRow {
    align-items: center; }
  .cf7 .schoolInfoBox .graduationInputs {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    min-width: 0; }
    .cf7 .schoolInfoBox .graduationInputs > p {
      margin: 0;
      display: flex;
      align-items: center;
      flex-wrap: nowrap;
      gap: .8rem;
      white-space: nowrap; }
    .cf7 .schoolInfoBox .graduationInputs br {
      display: none; }
    .cf7 .schoolInfoBox .graduationInputs .graduationInput {
      width: 8rem;
      flex: 0 0 8rem;
      display: block; }
      .cf7 .schoolInfoBox .graduationInputs .graduationInput.month {
        width: 7rem;
        flex: 0 0 7rem; }
      .cf7 .schoolInfoBox .graduationInputs .graduationInput .wpcf7-form-control-wrap {
        width: 100%;
        display: block; }
      .cf7 .schoolInfoBox .graduationInputs .graduationInput input {
        width: 100%;
        height: 4rem;
        padding: .5rem 1rem;
        border: 1px solid #ccc;
        border-radius: 0;
        background: #fff;
        box-sizing: border-box; }
    .cf7 .schoolInfoBox .graduationInputs .unit {
      flex: 0 0 auto; }
  .cf7 .schoolInfoBox .formNote {
    margin-top: 1.5rem; }
.cf7 .otherRow dt {
  min-height: 18rem; }
@media (max-width: 999px) {
  .cf7 .choiceRow dt br {
    display: none; }
  .cf7 .formNote {
    font-size: 1.1rem; }
  .cf7 .requiredText,
  .cf7 .optionalText {
    margin-left: .3rem;
    font-size: 1.1rem; }
  .cf7 .currentAddressBox .addressRowInner {
    gap: 1rem; }
  .cf7 .currentAddressBox .addressLabel {
    width: 9rem;
    flex: 0 0 9rem;
    font-size: 1.3rem; }
  .cf7 .currentAddressBox .prefectureSelect {
    width: 13rem;
    flex: 0 0 13rem; }
  .cf7 .currentAddressBox .cityInput {
    width: calc(100% - 10rem);
    max-width: none;
    flex: 1 1 auto; }
  .cf7 .currentAddressBox .formNote {
    margin-left: 0; }
  .cf7 .schoolInfoBox .schoolTypeBox {
    margin-bottom: 2rem; }
  .cf7 .schoolInfoBox .schoolFieldRow {
    gap: 1rem; }
  .cf7 .schoolInfoBox .schoolFieldLabel {
    width: 13rem;
    flex: 0 0 13rem;
    font-size: 1.2rem; }
  .cf7 .schoolInfoBox .schoolFieldInput {
    width: calc(100% - 14rem);
    flex: 1 1 auto; }
  .cf7 .schoolInfoBox .graduationInputs {
    flex: 1 1 auto;
    min-width: 0; }
    .cf7 .schoolInfoBox .graduationInputs > p {
      gap: .4rem; }
    .cf7 .schoolInfoBox .graduationInputs .graduationInput {
      width: 6.5rem;
      flex: 0 0 6.5rem; }
      .cf7 .schoolInfoBox .graduationInputs .graduationInput.month {
        width: 5.5rem;
        flex: 0 0 5.5rem; }
      .cf7 .schoolInfoBox .graduationInputs .graduationInput input {
        height: 4rem;
        padding: .5rem; }
  .cf7 .otherRow dt {
    min-height: 0; }
    .cf7 .otherRow dt br {
      display: none; } }

#contact {
  scroll-margin-top: 16rem; }
  @media (max-width: 999px) {
    #contact {
      scroll-margin-top: 8rem; } }
