@charset "UTF-8";

/*
	##### DNP RECRUITING #####
	/recruit/newgraduates/support/css/support_sp.css
*/


/* --------------------------------------------------
RECRUIT
-------------------------------------------------- */

.main-ttl-area {
  display: block;
  width: 100%;
  padding-top: calc(196 / 750 * 100vw);
  padding-bottom: calc(80 / 750 * 100vw);
  text-align: center;

  & .page-ttl {
    font-size: calc(40 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: calc(24 / 750 * 100vw);
  }
  & .en {
    font-size: calc(18 / 750 * 100vw);
    font-weight: 400;
    letter-spacing: .08em
  }
}

.fv-area {
  display: block;
  width: calc(700 / 750 * 100vw);
  margin: 0 auto calc(80 / 750 * 100vw);

   & .topic-path {
    display: none;
   }
   & .image-box {
    width: 100%;
    height: calc(400 / 750 * 100vw);
    border-radius: calc(28 / 750 * 100vw);
    overflow: hidden
   }
}


.support-area {
  display: block;
  width: 100%;
  overflow: hidden;

  & .inner {
    width: calc(725 / 750 * 100vw);
    margin-left: auto;
    background-color: var(--color3);
    border-radius: calc(30 / 750 * 100vw) 0 0 calc(30 / 750 * 100vw);
    padding: calc(160 / 750 * 100vw) calc(30 / 750 * 100vw) calc(170 / 750 * 100vw);
    margin-top: calc(100 / 750 * 100vw);
    position: relative;

    &::before {
      content: '';
      display: block;
      width: calc(410 / 750 * 100vw);
      height: calc(101 / 750 * 100vw);
      background: url(/recruit/newgraduates/shared/images/bg-orn-rt.svg) no-repeat right bottom / cover;
      position: absolute;
      top: calc(-100 / 750 * 100vw);
      right: 0;
      z-index: -1;
    }
  }
}

.info-sec-ttl {
  font-feature-settings: "palt";
  color: var(--car-color);
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: calc(80 / 750 * 100vw);

  & .sec-ttl {
    font-size: calc(54 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .06em
  }
}

.category {
  position: relative;
  z-index: +1;

  & .category-name {
    font-feature-settings: "palt";
    font-size: calc(40 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--car-color);
    margin-bottom: calc(36 / 750 * 100vw);

    &::before {
      content: '';
      display: inline-block;
      width: calc(16 / 750 * 100vw);
      height: calc(16 / 750 * 100vw);
      border-radius: 50%;
      background-color: currentColor;
      vertical-align: middle;
      margin-right: calc(15 / 750 * 100vw);
      transform: translateY(-25%);
    }
  }
}
.category + .category {
  margin-top: calc(170 / 750 * 100vw);
}


.cat-list {
  font-feature-settings: "palt";
  display: block;
  width: 100%;

  & + & {
    margin-top: calc(30 / 750 * 100vw);
  }
}

.acc-trigger-case,
.txt-case {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: calc(170 / 750 * 100vw);
  padding: calc(45 / 750 * 100vw) calc(50 / 750 * 100vw);
  border-radius: calc(30 / 750 * 100vw);
  background-color: #fff;
  position: relative;

  &.acc-trigger-case {
    padding-right: calc(110 / 750 * 100vw);
    cursor: pointer;
    transition: border-radius .1s linear .3s;
  }
  &.is-open.acc-trigger-case {
    border-radius: calc(30 / 750 * 100vw) calc(30 / 750 * 100vw) 0 0;
    transition: border-radius .1s;
  }
  & .trigger-name {
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: calc(17 / 750 * 100vw);
    width: 100%;
    height: 100%;
  }
  & .cat-ttl {
    font-size: calc(28 / 750 * 100vw);
    font-weight: 700;
    color: var(--car-color);
  }
  & .cat-des {
    font-size: calc(28 / 750 * 100vw);
    line-height: 1.75
  }
  & button {
    display: block;
    width: calc(60 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    border-radius: 50%;
    background: #fff url(/recruit/newgraduates/support/images/ico-plus.svg) no-repeat center / cover;
    position: absolute;
    right: calc(35 / 750 * 100vw);
    top: 50%;
    transform: translateY(-50%)
  }
  &.is-open button {
    background-image: url(/recruit/newgraduates/support/images/ico-minus.svg);
  }
}

.detail-area {
  display: none;
  width: 100%;
  padding: 0 calc(50 / 750 * 100vw) calc(30 / 750 * 100vw);
  background-color: #fff;
  border-radius: 0 0 calc(30 / 750 * 100vw) calc(30 / 750 * 100vw);

  & .detail-list {
    display: block;
    width: 100%;

    & > tbody {
      display: block;
      width: 100%;
    }
    & .detail {
      display: flex;
      flex-direction: column;
      width: 100%;
    }
  }
}
.detail-txt,
.detail-ttl {
  display: block;
  width: 100%;
}
.detail-ttl {
  padding: calc(50 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
  border-top: 1px solid #d5d5d5;
  font-size: calc(28 / 750 * 100vw);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 2;
}

.detail-txt {
  padding-bottom: calc(40 / 750 * 100vw);
  font-size: calc(26 / 750 * 100vw);
  letter-spacing: .05em;
  line-height: 1.9230769230769231;
  text-align: justify;

  & .note {
    line-height: 1.75;
    padding-left: 1em;
    text-indent: -1em;
  }
}
.des-txt + .des-ttl {
  margin-top: 2em;
}

.results {
  display: flex;
  column-gap: 1em;

  & thead {
    color: #969696;
  }

  & tr {
    display: flex;
    flex-direction: column;

    & th {
      font-weight: 400;
    }
  }
}



.welfare-area {
  overflow: hidden;
}


.more-contents-bttn-area {
  margin-top: calc(170 / 750 * 100vw);
  margin-bottom: calc(82 / 750 * 100vw);
}

.more.contents-bttn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(204 / 750 * 100vw);
  width: 100%;
  color: #fff;
  background-color: var(--pro-color1);
  background-image: linear-gradient(#b1505e 1px, transparent 0), linear-gradient(90deg, #b1505e 1px, transparent 0);
  background-position: center;
  background-size: calc(18 / 750 * 100vw) calc(18 / 750 * 100vw);
  border-radius: calc(30 / 750 * 100vw) 0 0 calc(30 / 750 * 100vw);
  overflow: hidden;
  position: relative;

  &::after {
    position: absolute;
    right: calc(50 / 750 * 100vw);
    content: '';
    display: block;
    width: calc(60 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    border-radius: 50%;
    background: no-repeat center center / contain;
    background-color: #fff;
    background-image: url(/recruit/newgraduates/shared/images/bttn-popup_p1.svg);
}

  & .jp {
    font-size: calc(36 / 750 * 100vw);
    font-weight: 700;
    font-feature-settings: "palt";
    letter-spacing: .08em;
    line-height: 1.3888888888888888;
    text-indent: calc(-82 / 750 * 100vw);

    &::before {
      content: '';
      display: inline-block;
      width: calc(60 / 750 * 100vw);
      height: calc(2 / 750 * 100vw);
      background-color: #fff;
      margin-right: calc(22 / 750 * 100vw);
      vertical-align: middle;
    }
  }
}


.facility-area {
  display: block;
  background-color: var(--color3);
  padding-bottom: calc(220 / 750 * 100vw);
  margin-bottom: calc(260 / 750 * 100vw);

  & .inner {
    width: calc(725 / 750 * 100vw);
    margin-right: auto;
    background-color: #fff;
    border-radius: 0 calc(30 / 750 * 100vw) calc(30 / 750 * 100vw) 0;
    padding: calc(240 / 750 * 100vw) 0 calc(170 / 750 * 100vw);
    position: relative;
    overflow: hidden;
  }
}
.facilities-block {
  display: block;
  width: calc(630 / 750 * 100vw);
  margin-inline: auto;
}

.facilities {
  font-feature-settings: "palt";

  & + & {
    margin-top: calc(100 / 750 * 100vw);
  }

  & .fac-name {
    font-size: calc(40 / 750 * 100vw);
    font-weight: 700;
    color: var(--car-color);
    margin-bottom: calc(30 / 750 * 100vw);
  }
  & .fac-txt {
    font-size: calc(28 / 750 * 100vw);
    line-height: 2;
    margin-bottom: calc(20 / 750 * 100vw);
    text-align: justify;
  }
}
.facility-list ul {
  display: block;
}
.facility-list ul li {
  display: block;

  & + & {
    margin-top: calc(30 / 750 * 100vw);
  }
  & > img,
  & figure {
    display: block;
    border-radius: calc(30 / 750 * 100vw);
    overflow: hidden;
    position: relative;

    & figcaption {
      display: inline-block;
      position: absolute;
      bottom: 0;
      left: 0;
      font-size: calc(26 / 750 * 100vw);
      background-color: var(--pro-color1);
      color: #fff;
      line-height: calc(50 / 750 * 100vw);
      padding: 0 .75em 0 1.25em;
    }
  }
  & .des-txt {
    display: block;
    padding: .5em 0;
    font-size: calc(28 / 750 * 100vw);
    line-height: 1.4285714285714286
  }
}

