@charset "UTF-8";

/*
	##### DNP RECRUITING #####
	/recruit/newgraduates/about/css/about_sp.css
*/


/* --------------------------------------------------
about
-------------------------------------------------- */

main {
  padding-top: 0;
}

.recruit-about-page {
  overflow: hidden;
  padding-top: 0;
  background: url(/recruit/newgraduates/about/images/bg-1.jpg) repeat left top / calc(800 / 750 * 100vw) calc(400 / 750 * 100vw);
  margin-bottom: calc(200 / 750 * 100vw);
}

.first-sec {
  position: relative;
}

.mv-area {
  display: flex;
  flex-direction: column-reverse;
  width: 100%;

  & .topic-path {
    display: none;
  }

  & .main-ttl-set {
    padding-top: calc(130 / 750 * 100vw);

    & .main-ttl {
      display: block;
      width: calc(508 / 750 * 100vw);
      height: auto;
      margin: 0 auto;
    }
  }
  & .main-img {
    display: block;
    width: 100%;
    height: calc(557 / 750 * 100vw);
    border-radius: 0 0 0 calc(120 / 750 * 100vw);
    overflow: hidden;

    & img {
      max-width: none;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
}

.sec-intro {
  display: block;
  width: 100%;
  padding-top: calc(270/ 750 * 100vw);
  padding-bottom: calc(380 / 750 * 100vw);
  background: url(/recruit/newgraduates/about/images/sec-footer-illst-1_sp.webp) no-repeat left bottom / 100% auto;
  position: relative;

  & .inner {
    position: relative;
    z-index: +1;
    display: flex;
    flex-direction: column;

    & .intro-ttl-set {
      display: block;
      width: 80vw;
      margin: 0 auto;
      position: relative;
    }

    & .intro-ttl {
      font-size: calc(76 / 750 * 100vw);
      font-weight: 700;
      letter-spacing: .06em;
      line-height: 1.5526315789473684;

      & + p {
        font-feature-settings: "palt";
        font-size: calc(28 / 750 * 100vw);
        font-weight: 500;
        letter-spacing: .06em;
        line-height: 2;
        margin-top: calc(58 / 750 * 100vw);
      }
    }

    & .reading-time {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      font-size: calc(22 / 750 * 100vw);
      font-weight: 500;
      line-height: calc(51 / 750 * 100vw);
      width: calc(221 / 750 * 100vw);
      height: calc(51 / 750 * 100vw);
      background-color: #fff;
      border: solid calc(2 / 750 * 100vw) #1e1e1e;
      position: absolute;
      right: 0;
      bottom: 0
    }

    & .anchor-link-plates {
      counter-reset: num;
      display: block;
      width: 100%;
      height: calc(1142 / 750 * 100vw);
      margin-top: calc(75 / 750 * 100vw);
      position: relative;

      & li {
        counter-increment: num;
        display: block;
        width: calc(403 / 750 * 100vw);
        height: calc(403 / 750 * 100vw);
        position: absolute;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;

        &:nth-child(1) {
          top: 0;
          left: calc(90 / 750 * 100vw);
          background-image: url(/recruit/newgraduates/about/images/plate-1_pc.svg);
        }
        &:nth-child(2) {
          top: calc(378 / 750 * 100vw);
          right: calc(25 / 750 * 100vw);
          background-image: url(/recruit/newgraduates/about/images/plate-2_pc.svg);
        }
        &:nth-child(3) {
          top: calc(740 / 750 * 100vw);
          left: calc(70 / 750 * 100vw);
          background-image: url(/recruit/newgraduates/about/images/plate-3_pc.svg);
        }
        & a {
          display: flex;
          justify-content: center;
          align-items: center;
          padding-top: calc(110 / 750 * 100vw);
          padding-bottom: calc(73 / 750 * 100vw);
          width: 100%;
          height: 100%;
          border-radius: 50%;
          overflow: hidden;
          font-feature-settings: "palt";
          font-size: calc(30 / 750 * 100vw);
          font-weight: 700;
          letter-spacing: .06em;
          line-height: 1.6666666666666667;
          text-align: center;
          color: #fff;
          position: relative;

          &::before {
            content: "Chapter " counter(num);
            font-family: "Mulish", sans-serif;
            font-size: calc(22 / 750 * 100vw);
            letter-spacing: .04em;
            color: currentColor;
            text-align: center;
            display: inline-block;
            padding: .5em 1em;
            background-image: radial-gradient(#fff 33%, transparent 0);
            background-size: calc(10 / 750 * 100vw) calc(10 / 750 * 100vw);
            background-repeat: repeat-x;
            background-position: left bottom;
            position: absolute;
            top: calc(60 / 750 * 100vw);
          }
          &::after {
            content: '';
            display: inline-block;
            width: calc(18 / 750 * 100vw);
            height: calc(18 / 750 * 100vw);
            border: solid #fff;
            border-width: 0 calc(2 / 750 * 100vw) calc(2 / 750 * 100vw) 0;
            position: absolute;
            left: 50%;
            transform: translateX(-50%) rotate(45deg);
            bottom: calc(73 / 750 * 100vw);
          }
        }
      }
    }
  }
  & .cloud {
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    &.cloud-1 {
      width: calc(232 / 750 * 100vw);
      height: calc(154 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-1_sp.svg);
      top: calc(221 / 750 * 100vw);
      left: calc(480 / 750 * 100vw);
      animation: clouds 3s ease-in-out infinite;
    }
    &.cloud-2 {
      width: calc(197 / 750 * 100vw);
      height: calc(105 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-2_sp.svg);
      top: calc(497 / 750 * 100vw);
      left: calc(-22 / 750 * 100vw);
      animation: clouds 4s ease-in-out infinite;
    }
    &.cloud-3 {
      width: calc(135 / 750 * 100vw);
      height: calc(72 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-3_sp.svg);
      top: calc(639 / 750 * 100vw);
      left: calc(547 / 750 * 100vw);
      animation: clouds 5s ease-in-out infinite;
    }
    &.cloud-4 {
      width: calc(147 / 750 * 100vw);
      height: calc(76 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-4_sp.svg);
      top: calc(821 / 750 * 100vw);
      left: calc(40 / 750 * 100vw);
      animation: clouds 3.5s ease-in-out infinite;
    }
    &.cloud-5 {
      width: calc(154 / 750 * 100vw);
      height: calc(86 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-5_sp.svg);
      top: calc(998 / 750 * 100vw);
      left: calc(647 / 750 * 100vw);
      animation: clouds 4.5s ease-in-out infinite;
    }
    &.cloud-6 {
      width: calc(232 / 750 * 100vw);
      height: calc(154 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-6_sp.svg);
      top: calc(1173 / 750 * 100vw);
      left: calc(35 / 750 * 100vw);
      animation: clouds 5.5s ease-in-out infinite;
    }
    &.cloud-7 {
      width: calc(196 / 750 * 100vw);
      height: calc(104 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-7_sp.svg);
      top: calc(1476 / 750 * 100vw);
      left: calc(503 / 750 * 100vw);
      animation: clouds 3.5s ease-in-out infinite;
    }
    &.cloud-8 {
      width: calc(154 / 750 * 100vw);
      height: calc(86 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-8_sp.svg);
      top: calc(1618 / 750 * 100vw);
      left: calc(-42 / 750 * 100vw);
      animation: clouds 4s ease-in-out infinite;
    }
    &.cloud-9 {
      width: calc(233 / 750 * 100vw);
      height: calc(154 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-9_sp.svg);
      top: calc(1698 / 750 * 100vw);
      left: calc(590 / 750 * 100vw);
      animation: clouds 4.5s ease-in-out infinite;
    }
  }
}
@keyframes clouds {
  0% {
    transform: translate(1%, -12%) scale(1)
  }
  50% {
    transform: translate(-1%, 12%) scale(1.05)
  }
  100% {
    transform: translate(1%, -12%) scale(1)
  }
}
.bounce,
.bounce-w {
  opacity: 0;
}
.bounce.start {
  animation: bounce .75s ease-in-out .1s both;
  animation-delay: calc(var(--el-delayed) * .1s);
}
.bounce-w.start {
  animation: wide-bounce 1s ease-in-out .1s both;
  animation-delay: calc(var(--el-delayed) * .1s);
}
@keyframes bounce {
  0% {
    opacity: 0;
    scale: .35
  }
  20% {
    scale: 1.05
  }
  40% {
    scale: .9
  }
  60% {
    opacity: 1;
    scale: 1.03
  }
  80% {
    scale: .97
  }
  100% {
    opacity: 1;
    scale: 1
  }
}
@keyframes wide-bounce {
  0% {
    opacity: 0;
    scale: .3
  }
  20% {
    scale: 2.5
  }
  40% {
    scale: .9
  }
  60% {
    opacity: 1;
    scale: 1.03
  }
  80% {
    scale: .97
  }
  100% {
    opacity: 1;
    scale: 1
  }
}




.sec-ttl-block {
  display: block;
  width: 100%;
  padding: calc(25 / 750 * 100vw);

  & .sec-ttl-set {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    color: #fff;
    font-feature-settings: "palt";
    padding-top: calc(50 / 750 * 100vw);

    & .en {
      font-size: calc(20 / 750 * 100vw);
      letter-spacing: .04em;
      display: inline-block;
      padding: .5em 1em calc(20 / 750 * 100vw);
      margin-bottom: calc(40 / 750 * 100vw);
      background-image: radial-gradient(#fff 33%, transparent 0);
      background-size: calc(10 / 750 * 100vw) calc(10 / 750 * 100vw);
      background-repeat: repeat-x;
      background-position: left bottom;
      --el-index: 3;
    }
    & .jp {
      font-size: calc(46 / 750 * 100dvw);
      font-weight: 700;
      letter-spacing: .06em;
      line-height: 1.391304347826087;
      --el-index: 6;
    }
  }
}




.second-sec {
  background: url(/recruit/newgraduates/about/images/bg-2.jpg) repeat left top / calc(800 / 750 * 100vw) calc(400 / 750 * 100vw);
  margin-bottom: calc(110 / 750 * 100vw);
  padding-bottom: calc(224 / 750 * 100vw);
  position: relative;

  &::after {
    content: '';
    display: block;
    width: 100%;
    height: calc(140 / 750 * 100vw);
    background: url(/recruit/newgraduates/about/images/bg-1.jpg) repeat left top / calc(800 / 750 * 100vw) calc(400 / 750 * 100vw);
    -webkit-mask: url(/recruit/newgraduates/about/images/mask-ex_sp.svg) no-repeat center bottom / 100% auto;
    mask: url(/recruit/newgraduates/about/images/mask-ex_sp.svg) no-repeat center bottom / 100% auto;
    position: absolute;
    bottom: -1px;
    left: 0;
  }

  & .sec-ttl-block {
    height: calc(350 / 750 * 100vw);
    background-color: #008746;
    background-image: repeating-linear-gradient(135deg, #2b964e, #2b964e calc(2.8 / 750 * 100vw), transparent 0, transparent calc(7 / 750 * 100vw));

    & .sec-ttl-set {
      font-feature-settings: "pwid";
      padding-top: calc(57 / 750 * 100vw);
      background-color: #008746;
    }
  }
}

.lead {
  font-feature-settings: "palt";
  font-size: calc(34 / 750 * 100vw);
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.8823529411764706;
  text-align: center;

  & p + p {
    margin-top: 2em;
  }
}

.brand-statement {
  font-feature-settings: "palt";
  display: block flow-root;
  padding-bottom: calc(200 / 750 * 100vw);

  & .statement-ttl-block {
    display: block;
    width: 100%;
    padding-top: calc(165 / 750 * 100vw);
    position: relative;

    & .ttl-circle {
      display: block;
      width: calc(550 / 750 * 100vw);
      height: calc(550 / 750 * 100vw);
      text-align: center;
      margin: 0 auto;
      border-radius: 50%;
      position: relative;

      &::after,
      &::before {
        content: '';
        display: block;
        border-radius: 50%;
        overflow: hidden;
        position: absolute;
        left: 50%;
        top: 50%;
        translate: -50% -50%;
      }
      &::before {
        background-color: rgba(0, 135, 70, .5);
        width: calc(500 / 750 * 100vw);
        height: calc(500 / 750 * 100vw);
      }
      &::after {
        background-color: rgba(0, 135, 70, .3);
        width: calc(550 / 750 * 100vw);
        height: calc(550 / 750 * 100vw);
      }
    }
    & .ttl-set {
      display: block;
      width: calc(550 / 750 * 100vw);
      height: calc(550 / 750 * 100vw);
      text-align: center;
      background-color: #fff;
      background-clip: content-box;
      border: solid calc(50 / 750 * 100vw) transparent;
      border-radius: 50%;
      overflow: hidden;
      position: relative;
      z-index: +10;
      --el-index: 10;

      & .sub-ttl {
        display: inline-block;
        padding: .5em 1em calc(16 / 750 * 100vw);
        font-size: calc(20 / 750 * 100vw);
        font-weight: 700;
        letter-spacing: .04em;
        color: #008746;
        margin-top: calc(80 / 750 * 100vw);
        margin-bottom: calc(35 / 750 * 100vw);
        background-image: radial-gradient(#008746 33%, transparent 0);
        background-size: calc(10 / 750 * 100vw) calc(10 / 750 * 100vw);
        background-repeat: repeat-x;
        background-position: left bottom;
      }
      & .jp {
        font-size: calc(46 / 750 * 100vw);
        font-weight: 700;
        letter-spacing: .06em;
        line-height: 1.434782608695652;
      }
    }
  }
  & .lead {
    padding-top: calc(260 / 750 * 100vw);
    padding-bottom: calc(100 / 750 * 100vw);
  }

  & .products {
    display: block;
    width: calc(640 / 750 * 100vw);
    height: calc(378 / 750 * 100vw);
    padding: calc(20 / 750 * 100vw);
    margin: 0 auto;
    position: relative;
    z-index: 0;

    &::before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      mix-blend-mode: multiply;
      background-color: rgba(196, 200, 204, .6);
      z-index: -1;
    }
  }
  & .cut {
    display: block;
    position: absolute;

    & span {
      display: block;
      width: 100%;
      height: 100%;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;  
    }

    &.cut-01 {
      width: calc(76 / 750 * 100vw);
      height: calc(80 / 750 * 100vw);
      top: calc(63 / 750 * 100vw);
      left: calc(158 / 750 * 100vw);      --el-delayed: 15;

      & span {
        background-image: url(/recruit/newgraduates/about/images/cut-01.webp);
      }
    }
    &.cut-02 {
      width: calc(40 / 750 * 100vw);
      height: calc(41 / 750 * 100vw);
      top: calc(148 / 750 * 100vw);
      left: calc(115 / 750 * 100vw);
      --el-delayed: 15;

      & span {
        background-image: url(/recruit/newgraduates/about/images/cut-02.webp);
      }
    }
    &.cut-03 {
      width: calc(75 / 750 * 100vw);
      height: calc(61 / 750 * 100vw);
      top: 50%;
      left: 50%;
      opacity: 0;

      &.start {
        top: calc(75 / 750 * 100vw);
        left: calc(470 / 750 * 100vw);
        opacity: 1;
        transition: 1.3s cubic-bezier(0.19, 1, 0.22, 1) 1.5s
      }

      & span {
        background-image: url(/recruit/newgraduates/about/images/cut-03.webp);
      }
      &.start span {
        animation: jog 2s steps(5) .2s 3 alternate both;
      }
    }
    &.cut-04 {
      width: calc(67 / 750 * 100vw);
      height: calc(59 / 750 * 100vw);
      top: calc(161 / 750 * 100vw);
      left: calc(629 / 750 * 100vw);
      --el-delayed: 10;

      & span {
        background-image: url(/recruit/newgraduates/about/images/cut-04.webp);
      }

    }
    &.cut-05 {
      width: calc(51 / 750 * 100vw);
      height: calc(72 / 750 * 100vw);
      top: 50%;
      left: 50%;
      opacity: 0;

      &.start {
        top: calc(223 / 750 * 100vw);
        left: calc(53 / 750 * 100vw);
        opacity: 1;
        transition: 1.3s cubic-bezier(0.19, 1, 0.22, 1) 1s
      }

      & span {
        background-image: url(/recruit/newgraduates/about/images/cut-05.webp);
      }
      &.start span {
        animation: jog 2s steps(5) .2s 3 alternate both;
      }

    }
    &.cut-06 {
      width: calc(63 / 750 * 100vw);
      height: calc(66 / 750 * 100vw);
      top: calc(648 / 750 * 100vw);
      left: calc(592 / 750 * 100vw);
      --el-delayed: 12;

      & span {
        background-image: url(/recruit/newgraduates/about/images/cut-06.webp);
      }

    }
    &.cut-07 {
      width: calc(42 / 750 * 100vw);
      height: calc(44 / 750 * 100vw);
      top: calc(713 / 750 * 100vw);
      left: calc(654 / 750 * 100vw);
      --el-delayed: 10;

      & span {
        background-image: url(/recruit/newgraduates/about/images/cut-07.webp);
      }

    }
    &.cut-08 {
      width: calc(64 / 750 * 100vw);
      height: calc(79 / 750 * 100vw);
      top: calc(639 / 750 * 100vw);
      left: calc(53 / 750 * 100vw);
      --el-delayed: 10;

      & span {
        background-image: url(/recruit/newgraduates/about/images/cut-08.webp);
      }
    }
    &.cut-09 {
      width: calc(68 / 750 * 100vw);
      height: calc(96 / 750 * 100vw);
      top: 50%;
      left: 50%;
      opacity: 0;

      &.start {
        top: calc(747 / 750 * 100vw);
        left: calc(156 / 750 * 100vw);
        opacity: 1;
        transition: 1.3s cubic-bezier(0.19, 1, 0.22, 1) 1.2s
      }

      & span {
        background-image: url(/recruit/newgraduates/about/images/cut-09.webp);
      }
      &.start span {
        animation: jog 3s steps(6) .2s 3 alternate both;
      }
    }
    &.cut-10 {
      width: calc(86 / 750 * 100vw);
      height: calc(97 / 750 * 100vw);
      top: 50%;
      left: 50%;
      opacity: 0;

      &.start {
        top: calc(747 / 750 * 100vw);
        left: calc(496 / 750 * 100vw);
        opacity: 1;
        transition: 1.3s cubic-bezier(0.19, 1, 0.22, 1) 1.2s
      }

      & span {
        background-image: url(/recruit/newgraduates/about/images/cut-10.webp);
      }
      &.start span {
        animation: jog 1.8s steps(8) .2s 3 alternate both;
      }
    }
  }
}

.wider .ttl-circle::after,
.wider .ttl-circle::before {
  opacity: 0;
  rotate: 0;
  scale: .1;

}
.wider.start .ttl-circle::after {
  animation: widing 1.25s cubic-bezier(.5,.3,.21, 1) 1.1s both;
}
.wider.start .ttl-circle::before {
  animation: widing 1.5s cubic-bezier(.5,.3,.21, 1) 1.3s both;
}

@keyframes widing {
  0% {
    opacity: 0;
    scale: .1;
  }
  50% {
    scale: 1.8;
  }
  100% {
    opacity: 1;
    scale: 1;
  }
}
@keyframes jog {
  0% {
    transform: translate(0, 0) rotate(5deg);
  }
  25% {
    transform: translate(5%, -5%) rotate(8deg);
  }
  50% {
    transform: translate(5%, 0) rotate(12deg);
  }
  75% {
    transform: translate(10%, -5%) rotate(8deg);
  }
  100% {
    transform: translate(0, 0) rotate(5deg);
  }
}


.history {
  width: calc(640 / 750 * 100vw);
  margin: 0 auto;
  position: relative;

  & .inner {
    display: block flow-root;
    min-height: calc(4260 / 750 * 100vw);
    padding-top: calc(300 / 750 * 100vw);
    border-radius: calc(40 / 750 * 100vw);
    background-color: #fff;
    overflow: hidden;
  }
  & .cut {
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    &.cut-01 {
      width: calc(62 / 750 * 100vw);
      height: calc(66 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-01.webp);
      top: calc(263 / 750 * 100vw);
      left: calc(57 / 750 * 100vw);
    }
    &.cut-02 {
      width: calc(43 / 750 * 100vw);
      height: calc(43 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-02.webp);
      top: calc(323 / 750 * 100vw);
      left: calc(125 / 750 * 100vw);
    }
    &.cut-03 {
      width: calc(52 / 750 * 100vw);
      height: calc(72 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-03.webp);
      top: calc(353 / 750 * 100vw);
      left: calc(27 / 750 * 100vw);
    }
    &.cut-04 {
      width: calc(87 / 750 * 100vw);
      height: calc(81 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-04.webp);
      top: calc(1916 / 750 * 100vw);
      left: calc(48 / 750 * 100vw);
    }
    &.cut-05 {
      width: calc(38 / 750 * 100vw);
      height: calc(97 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-05.webp);
      top: calc(2231 / 750 * 100vw);
      left: calc(157 / 750 * 100vw);
    }
    &.cut-06 {
      width: calc(77 / 750 * 100vw);
      height: calc(98 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-06.webp);
      top: calc(2348 / 750 * 100vw);
      left: calc(40 / 750 * 100vw);
    }
    &.cut-07 {
      width: calc(75 / 750 * 100vw);
      height: calc(62 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-07.webp);
      top: calc(2678 / 750 * 100vw);
      left: calc(506 / 750 * 100vw);
    }
    &.cut-08 {
      width: calc(76 / 750 * 100vw);
      height: calc(80 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-08.webp);
      top: calc(2747 / 750 * 100vw);
      left: calc(413 / 750 * 100vw);
    }
    &.cut-09 {
      width: calc(40 / 750 * 100vw);
      height: calc(41 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-09.webp);
      top: calc(2832 / 750 * 100vw);
      left: calc(495 / 750 * 100vw);
    }
    &.cut-10 {
      width: calc(52 / 750 * 100vw);
      height: calc(55 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-10.webp);
      top: calc(3820 / 750 * 100vw);
      left: calc(552 / 750 * 100vw);
    }
    &.cut-11 {
      width: calc(80 / 750 * 100vw);
      height: calc(91 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-11.webp);
      top: calc(3885 / 750 * 100vw);
      left: calc(488 / 750 * 100vw);
    }
    &.cut-12 {
      width: calc(43 / 750 * 100vw);
      height: calc(45 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/history-cut-12.webp);
      top: calc(3964 / 750 * 100vw);
      left: calc(412 / 750 * 100vw);
    }

  }
}

.history-ttl-set {
  display: block;
  width: 100%;
  position: absolute;
  top: calc(-118 / 750 * 100vw);

  & .en {
    letter-spacing: .04em;
  
    & span {
      display: inline-block;
      position: absolute;
    }
    & .line-1 {
      font-size: calc(80 / 750 * 100vw);
      font-weight: 300;
      top: 0;
      left: calc(46 / 750 * 100vw);
    }
    & .line-2 {
      font-size: calc(100 / 750 * 100vw);
      font-weight: 900;
      top: calc(72 / 750 * 100vw);
      left: calc(85 / 750 * 100vw);
    }
  }
  & .jp {
    width: 100%;
    padding-top: calc(190 / 750 * 100vw);
    font-feature-settings: "palt";
    letter-spacing: .06em;

    & span {
      display: inline-block;
      height: calc(40 / 750 * 100vw);
      padding: 0 .75em .15em;
      font-size: calc(24 / 750 * 100vw);
      font-weight: 700;
      line-height: calc(40 / 750 * 100vw);
      color: #fff;

      &.line-1 {
        background-image: linear-gradient(90deg, #0051A0, #006EA9);
        margin-left: calc(77 / 750 * 100vw)
      }
      &.line-2 {
        background-image: linear-gradient(90deg, #0059A3, #007FAF);
        margin: calc(16 / 750 * 100vw) 0 calc(16 / 750 * 100vw) calc(135 / 750 * 100vw);
      }
      &.line-3 {
        background-image: linear-gradient(90deg, #0050A0, #0075AC);
        margin-left: calc(48 / 750 * 100vw);
      }
    }
  }
}

.history-flow {
  font-feature-settings: "palt";

  & .era {
    display: block;
    width: 100%;
    position: relative;
  }

  & .era-ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100 / 750 * 100vw);
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: calc(24 / 750 * 100vw);
    font-weight: 700;
    line-height: 1.1666666666666667;
    letter-spacing: .06em;
    color: #fff;
    position: absolute;
    left: 50%;
    transform: translateX(-50%)
  }

  & *[id] {
    position: absolute;
  }
  & *[id].r-side {
    left: calc(50% + 9.333333333333334vw)
  }
  & *[id].l-side {
    right: calc(50% + 9.333333333333334vw)
  }

  & .std .year {
    font-feature-settings: "kern";
    font-size: calc(75 / 750 * 100vw);
    font-weight: 300;
    color: #0050a0;
    text-indent: -.12em;

    & + dd {
      font-size: calc(14 / 750 * 100vw);
      font-weight: 500;
      letter-spacing: .06em;
      line-height: 1.2857142857142858;
      color: #1e1e1e;
    }
  }

  & .side-history {
    max-width: calc(238 / 750 * 100vw);

    & .sh-ttl,
    & .sh-des {
      font-size: calc(18 / 750 * 100vw);
      font-weight: 700;
      letter-spacing: .06em;
      line-height: 1.6666666666666667;
      color: #0050A0;
    }
    & .sh-des {
      color: #007FAF;
    }
  }
}
.side-history-detail {
  display: flex;
  flex-wrap: wrap;
  column-gap: calc(10 / 750 * 100vw);
  row-gap: calc(12 / 750 * 100vw);
  margin-top: calc(10 / 750 * 100vw);

  & .detail {
    display: block;
    padding-top: calc(116 / 750 * 100vw);
    position: relative;

    & dt {
      line-height: 0;
    }

    & .supp-img,
    & .supp-img-2 {
      position: absolute;
      top: 0;
      left: 0;

      & img {
        max-width: none;
        width: auto;
        height: calc(110 / 750 * 100vw);
      }
    }
    & .supp-img-2 {
      display: flex;
      flex-direction: column;
      row-gap: calc(10 / 750 * 100vw);
    }
    & .year {
      display: inline-block;
      min-height: calc(20 / 750 * 100vw);
      font-size: calc(14 / 750 * 100vw);
      font-weight: 500;
      line-height: calc(20 / 750 * 100vw);
      color: #fff;
      background-color: #0050A0;
      border-radius: calc(4 / 750 * 100vw);
      padding: 0 .65em;
      margin-bottom: .5em;
    }
    & .caption {
      font-size: calc(14 / 750 * 100vw);
      font-weight: 500;
      letter-spacing: .06em;
      line-height: 1.2857142857142858;
      color: #1e1e1e;

      & em {
        font-weight: 700;
      }
    }
  }
}

@keyframes arrw-d {
  to {
    opacity: 1;
    background-position: center top 0;
  }
}


.era-1 {
  height: calc(632 / 750 * 100vw);

  & .era-ttl {
    height: 100%;
    background-image: url(/recruit/newgraduates/about/images/history-arr-1_sp.svg);
    background-repeat: no-repeat;
    background-position: center top calc(-632 / 750 * 100vw);
    background-size: 100% auto;
    opacity: 0;
  }
  & .detail-1 {
    width: calc(180 / 750 * 100vw);
  }
  & .detail-2 {
    width: calc(203 / 750 * 100vw);
  }
  & .era-ttl.start {
    animation: arrw-d 1s cubic-bezier(0.19, 1, 0.16, 1) both;
  }
}

#y01 {
  top: calc(20 / 750 * 100vw);
}
#s01 {
  top: calc(184 / 750 * 100vw);
}
#y02 {
  top: calc(148 / 750 * 100vw);
}
#y03 {
  top: calc(310 / 750 * 100vw);
}
#y04 {
  top: calc(496 / 750 * 100vw);
}


.era-2 {
  height: calc(749 / 750 * 100vw);
  margin-top: calc(-40 / 750 * 100vw);

  & .era-ttl {
    height: 100%;
    background-image: url(/recruit/newgraduates/about/images/history-arr-2_sp.svg);
    background-repeat: no-repeat;
    background-position: center top calc(-749 / 750 * 100vw);
    background-size: 100% auto;
    opacity: 0;
  }
  & .detail-1 {
    width: calc(175 / 750 * 100vw);
  }
  & .detail-2 {
    width: calc(175 / 750 * 100vw);
    padding-top: calc(176 / 750 * 100vw);

    & .supp-img {
      height: calc(170 / 750 * 100vw);

      & img {
        height: calc(170 / 750 * 100vw);
        width: auto;
      }
    }
  }
  & .era-ttl.start {
    animation: arrw-d 1s cubic-bezier(0.19, 1, 0.16, 1) .5s both;
  }
  &.era-2.start {
    margin-top: calc(-30 / 750 * 100vw);
    transition: margin-top .3s linear 1s
  }
}

#s02 {
  width: calc(220 / 750 * 100vw);
  top: calc(70 / 750 * 100vw);

  & .side-history-detail {
    justify-content: flex-end;

    & .detail-1 {
      padding-top: calc(236 / 750 * 100vw);
    }
  }
}

#s03 {
  position: absolute;
  width: calc(240 / 750 * 100vw);
  top: calc(94 / 750 * 100vw);
  left: calc(360 / 750 * 100vw);
  padding-top: calc(236 / 750 * 100vw);
}
#s04,
#s05 {
  position: absolute;
  width: calc(240 / 750 * 100vw);
  padding-top: 0;
  left: calc(360 / 750 * 100vw);
}
#s04 {
  top: calc(402 / 750 * 100vw);

  & dd + dt {
    margin-top: .5em;
  }
}
#s05 {
  top: calc(510 / 750 * 100vw);
}
#y05 {
  top: calc(680 / 750 * 100vw);
}


.era-3 {
  height: calc(989 / 750 * 100vw);
  margin-top: calc(-40 / 750 * 100vw);

  & .era-ttl {
    height: 100%;
    background: url(/recruit/newgraduates/about/images/history-arr-3_sp.svg);
    background-repeat: no-repeat;
    background-position: center top calc(-989 / 750 * 100vw);
    background-size: 100% auto;
    opacity: 0;
  }
  & .era-ttl.start {
    animation: arrw-d 1s cubic-bezier(0.19, 1, 0.16, 1) .5s both;
  }
  &.era-3.start {
    margin-top: calc(-30 / 750 * 100vw);
    transition: margin-top .3s linear 1s
  }
}


#s06 {
  top: calc(130 / 750 * 100vw);
}

#y06 {
  top: calc(440 / 750 * 100vw);
}

#y07 {
  top: calc(925 / 750 * 100vw);
}


.era-4 {
  height: calc(439 / 750 * 100vw);
  margin-top: calc(-40 / 750 * 100vw);

  & .era-ttl {
    height: 100%;
    background: url(/recruit/newgraduates/about/images/history-arr-4_sp.svg);
    background-repeat: no-repeat;
    background-position: center top calc(-439 / 750 * 100vw);
    background-size: 100% auto;
    opacity: 0;

  }
  & .side-history {
    width: calc(220 / 750 * 100vw);
  }
  & .side-history-detail {
    justify-content: flex-end;
  }
  & .detail {
    width: calc(175 / 750 * 100vw);
  }
  & .detail-6,
  & .detail-7 {
    padding-top: 0;
  }
  & .era-ttl.start {
    animation: arrw-d 1s cubic-bezier(0.19, 1, 0.16, 1) .5s both;
  }
  &.era-4.start {
    margin-top: calc(-30 / 750 * 100vw);
    transition: margin-top .3s linear 1s
  }
}

#s07 {
  top: calc(260 / 750 * 100vw);
}
#y08 {
  top: calc(378 / 750 * 100vw);
}

.era-5 {
  height: calc(1191 / 750 * 100vw);
  margin-top: calc(-40 / 750 * 100vw);

  & .era-ttl {
    height: 100%;
    background: url(/recruit/newgraduates/about/images/history-arr-5_sp.svg);
    background-repeat: no-repeat;
    background-position: center top calc(-1191 / 750 * 100vw);
    background-size: 100% auto;
    opacity: 0;
  }
  & .era-ttl.start {
    animation: arrw-d 1s cubic-bezier(0.19, 1, 0.16, 1) .5s both;
  }
  &.era-5.start {
    margin-top: calc(-30 / 750 * 100vw);
    transition: margin-top .3s linear 1s
  }
}

#y09 {
  top: calc(539 / 750 * 100vw)
}
#y10 {
  top: calc(720 / 750 * 100vw);
}
#y11 {
  top: calc(1090 / 750 * 100vw);
}




.basic-technology {
  text-align: center;
  padding-bottom: calc(160 / 750 * 100vw);

  & hgroup {
    margin-bottom: calc(60 / 750 * 100vw);
  }

  & .lead em {
      color: #008746;
  }
  & .post-script p + p {
    margin-top: 4em;
  }

  & .sec-ttl {
    font-size: calc(42 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .06em;
    display: inline-flex;
    height: calc(81 / 750 * 100vw);
    justify-content: center;
    align-items: center;
    padding: 0 .5em .15em;
    background-color: #ca8700;
    color: #fff;
    border-radius: calc(10 / 750 * 100vw);
    margin-top: calc(50 / 750 * 100vw);
  }
}


.techno-chart {
  display: block;
  width: calc(700 / 750 * 100vw);
  height: calc(444 / 750 * 100vw);
  padding: calc(15 / 750 * 100vw);
  margin: 0 auto calc(160 / 750 * 100vw);
  background-color: #ca8700;
  border-radius: calc(18 / 750 * 100vw);

  & .inner {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #faf3e5;
    border-radius: calc(10 / 750 * 100vw);
    position: relative;
  }
  & dd {
    display: contents;
  }
  & dt {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: calc(265 / 750 * 100vw);
    height: calc(265 / 750 * 100vw);
    border-radius: 50%;
    color: #fff;
    position: absolute;
    top: calc(82 / 750 * 100vw);

    &::before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      mix-blend-mode: multiply;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
    }

    &.techno-1 {
      right: calc(50% - 2.1333333333333333vw);
      
      &::before {
        background-color: #0050A0;
      }
    }
    &.techno-2 {
      left: calc(50% - 2.1333333333333333vw);
      
      &::before {
        background-color: #007faf;
      }
    }

    & .tech-ttl {
      position: relative;
      z-index: +1;
      line-height: 0;
    }
    & .jp {
      font-size: calc(14 / 750 * 100vw);
      font-weight: 700;
      letter-spacing: .06em;
      line-height: calc(22 / 750 * 100vw);

      & b {
        font-size: 1.4em
      }
    }
    & .en {
      display: inline-block;
      font-size: calc(30 / 750 * 100vw);
      font-weight: 700;
      letter-spacing: .03em;
      line-height: 1.6;
      margin-top:.25em;
    }
  }
  & .tech-list li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(101 / 750 * 100vw);
    height: calc(101 / 750 * 100vw);
    border: solid calc(2 / 750 * 100vw) #0050A0;
    border-radius: 50%;
    background-color: #fff;
    font-size: calc(14 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .06em;
    color: #0050A0;
    position: absolute;
    z-index: +1;
  }
}

#tech-1 {
  top: calc(33 / 750 * 100vw);
  left: calc(169 / 750 * 100vw);
  --el-index: 3
}
#tech-2 {
  top: calc(125 / 750 * 100vw);
  left: calc(37 / 750 * 100vw);
  --el-index: 6
}
#tech-3 {
  bottom: calc(30 / 750 * 100vw);
  left: calc(18 / 750 * 100vw);
  --el-index: 3
}
#tech-4 {
  bottom: calc(30 / 750 * 100vw);
  left: calc(169 / 750 * 100vw);
  --el-index: 6
}
#tech-5 {
  top: calc(33 / 750 * 100vw);
  right: calc(169 / 750 * 100vw);
  --el-index: 3
}
#tech-6 {
  top: calc(125 / 750 * 100vw);
  right: calc(37 / 750 * 100vw);
  --el-index: 6
}
#tech-7 {
  bottom: calc(30 / 750 * 100vw);
  right: calc(18 / 750 * 100vw);
  --el-index: 3
}
#tech-8 {
  bottom: calc(30 / 750 * 100vw);
  right: calc(169 / 750 * 100vw);
  --el-index: 6
}



.techno-variation {
  font-feature-settings: "palt";
  display: block;
  width: calc(640 / 750 * 100vw);
  margin: calc(60 / 750 * 100vw) auto calc(100 / 750 * 100vw);
  position: relative;

  & dd {
    width: calc(580 / 750 * 100vw);
    margin: calc(22 / 750 * 100vw) auto 0;
  }
}


.v-tech-ttl {
  display: block;
  width: calc(640 / 750 * 100vw);
  height: calc(654 / 750 * 100vw);
  position: relative;

  &::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url(/recruit/newgraduates/about/images/v-tech-ttl-bg_pc.webp) no-repeat center / cover;
    mix-blend-mode: multiply;
  }

  & p {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(302 / 750 * 100vw);
    height: calc(349 / 750 * 100vw);
    padding-top: calc(80 / 750 * 100vw);
    position: absolute;
    font-size: calc(24 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.25;
    color: #fff;

    &.v-tech-1 {
      background: url(/recruit/newgraduates/about/images/v-tech-ttl-1_pc.webp) no-repeat center / cover;
      top: calc(21 / 750 * 100vw);
      left: 50%;
      transform: translateX(-50%);
    }
    &.v-tech-2 {
      background: url(/recruit/newgraduates/about/images/v-tech-ttl-2_pc.webp) no-repeat center / cover;
      bottom: calc(22 / 750 * 100vw);
      left: calc(18 / 750 * 100vw);
    }
    &.v-tech-3 {
      background: url(/recruit/newgraduates/about/images/v-tech-ttl-3_pc.webp) no-repeat center / cover;
      bottom: calc(22 / 750 * 100vw);
      right: calc(18 / 750 * 100vw);
    }
  }
}

.v-tech-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: calc(208 / 750 * 100vw);
  column-gap: calc(20 / 750 * 100vw);
  row-gap: calc(15 / 750 * 100vw);

  & li {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 4px;
    width: calc(180 / 750 * 100vw);
    height: calc(208 / 750 * 100vw);
    background: url(/recruit/newgraduates/about/images/v-tech-box_pc.webp) no-repeat center / contain;
    font-size: calc(16 / 750 * 100vw);
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.25;
  }
  & li:nth-child(3n + 2) {
    --el-delayed: 3
  }
  & li:nth-child(3n + 3) {
    --el-delayed: 6
  }
}







.top-share {
  display: block;
  width: 100%;
  padding-top: calc(120 / 750 * 100vw);
  padding-bottom: calc(230 / 750 * 100vw);
  background-color: #1E8264;
  background-image: linear-gradient(#40957B 1px, transparent 0), linear-gradient(90deg, #40957B 1px, transparent 0);
  background-position: center;
  background-size: calc(28 / 750 * 100vw) calc(28 / 750 * 100vw);
  position: relative;
  overflow: hidden;

  &::before {
    content: '';
    display: block;
    width: 100%;
    height: calc(93 / 750 * 100vw);
    background: url(/recruit/newgraduates/about/images/bg-1.jpg) repeat left top / calc(800 / 750 * 100vw) calc(400 / 750 * 100vw);
    -webkit-mask: url(/recruit/newgraduates/about/images/mask-ar_sp.svg) no-repeat center top / 100% auto;
    mask: url(/recruit/newgraduates/about/images/mask-ar_sp.svg) no-repeat center top / 100% auto;
    position: absolute;
    top: -1px;
    left: 0;
    z-index: +1;
  }
  &::after {
    content: '';
    display: block;
    width: 100%;
    height: calc(140 / 750 * 100vw);
    background: url(/recruit/newgraduates/about/images/bg-2.jpg) repeat left top calc(140 / 750 * 100vw) / calc(800 / 750 * 100vw) calc(400 / 750 * 100vw);
    -webkit-mask: url(/recruit/newgraduates/about/images/mask-ex_sp.svg) no-repeat center bottom / 100% auto;
    mask: url(/recruit/newgraduates/about/images/mask-ex_sp.svg) no-repeat center bottom / 100% auto;
    position: absolute;
    bottom: -1px;
    left: 0;
  }

  & .ttl-set {
    display: block;
    width: calc(476 / 750 * 100vw);
    height: calc(266 / 750 * 100vw);
    margin: 0 auto calc(112 / 750 * 100vw);
    position: relative;

    & span {
      display: block;
      height: auto;
      position: absolute;
    }

    & .el-1 {
      width: calc(40 / 750 * 100vw);
      opacity: 0;
      translate: calc(238 / 750 * 100VW) 0;

      &.start {
        animation: left-in .9s cubic-bezier(0.19, 1, 0.22, 1) .2s both;

      }
    }

    & .el-2 {
      width: calc(242 / 750 * 100vw);
      top: calc(23 / 750 * 100vw);
      left: calc(93 / 750 * 100vw);
      opacity: 0;

      &.start {
        animation: bounce .7s ease-in-out .5s both;
      }
    }
    & .el-3 {
      width: calc(47.7597 / 750 * 100vw);
      top: calc(68 / 750 * 100vw);
      left: calc(349 / 750 * 100vw);
      opacity: 0;

      &.start {
        animation: bounce .7s ease-in-out .4s both;
      }
    }
    & .el-4 {
      width: calc(278.237 / 750 * 100vw);
      top: calc(125 / 750 * 100vw);
      left: calc(99 / 750 * 100vw);
      opacity: 0;

      &.start {
        animation: fi-simple .3s ease-in-out .5s both;

        & picture {
          animation: sail 2s linear infinite alternate both;
        }
      }
    }
    & .el-6 {
      width: calc(39 / 750 * 100vw);
      top: 0;
      right: 0;
      opacity: 0;
      translate: calc(-238 / 750 * 100VW) 0;
  
      &.start {
        animation: right-in .9s cubic-bezier(0.19, 1, 0.22, 1) .2s both;

      }
    }
    & .el-5 {
      width: calc(281.8054 / 750 * 100vw);
      top: calc(205 / 750 * 100vw);
      left: calc(97 / 750 * 100vw);
      --el-index: 5;

      &.start picture {
        animation: wave 1s linear .8s infinite alternate both;
      }
    }
  }
}
@keyframes left-in {
  from {
    opacity: 0;
    translate: calc(238 / 750 * 100VW) 0;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes right-in {
  from {
    opacity: 0;
    translate: calc(-238 / 750 * 100VW) 0;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes sail {
  25% {
    transform: rotate(-1deg) translateY(2%);
  }
  50% {
    transform: rotate(0) translateY(0);
  }
  75% {
    transform: rotate(1deg) translateY(1%);
  }
}
@keyframes wave {
  to {
    transform: translateX(-8px);
  }
}

.share {
  display: block;
  width: calc(630 / 750 * 100vw);

  & dt {
    display: flex;
    align-items: first baseline;
    justify-content: center;
    height: calc(70 / 750 * 100vw);
    width: calc(416 / 750 * 100vw);
    margin: 0 auto;
    font-size: calc(30 / 750 * 100vw);
    font-weight: 700;
    color: #fff;
    position: relative;
    z-index: 0;

    &::before {
      content: '';
      display: block;
      width: 100%;
      height: calc(70 / 750 * 100vw);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: calc(15 / 750 * 100vw);
      left: 0;
      z-index: -1;
    }

    & em {
      font-size: 1.9em;
      vertical-align: baseline;
    }
  }
  & dd {
    display: block;
    width: 100%;
    margin-top: calc(50 / 750 * 100vw);
  }
}



.share-list {
  font-feature-settings: "palt";
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: calc(310 / 750 * 100vw);
  column-gap: calc(30 / 750 * 100vw);
  row-gap: calc(30 / 750 * 100vw);

  & img {
    display: block;
    width: calc(300 / 750 * 100vw);
    height: calc(225 / 750 * 100vw);
    border-radius: calc(20 / 750 * 100vw);
  }
  & figcaption {
    font-size: calc(22 / 750 * 100vw);
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.2727272727272727;
    text-align: center;
    margin-top: calc(30 / 750 * 100vw);
    color: #fff;
  }
  & li:nth-child(2n) {
    --el-index: 3
  }
}

.world-share {
  margin: calc(113 / 750 * 100vw) auto calc(100 / 750 * 100vw);

  & dt::before {
    background-image: url(/recruit/newgraduates/about/images/plate-1_1.svg) 
  }

  & li:nth-child(1) img {
    box-shadow: calc(-10 / 750 * 100vw) calc(10 / 750 * 100vw) 0 rgba(178, 213, 238, .8);
  }
  & li:nth-child(2) img {
    box-shadow: calc(-10 / 750 * 100vw) calc(10 / 750 * 100vw) 0 rgba(239, 219, 178, .8);
  }
  & li:nth-child(3) img {
    box-shadow: calc(-10 / 750 * 100vw) calc(10 / 750 * 100vw) 0 rgba(178, 219, 199, .8);
  }
  & li:nth-child(4) img {
    box-shadow: calc(-10 / 750 * 100vw) calc(10 / 750 * 100vw) 0 rgba(243, 198, 210, .8);
  }

  & .note {
    display: block;
    margin-top: calc(45 / 750 * 100vw);
    font-size: calc(16 / 750 * 100vw);
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.2;
    color: #fff;
    text-align: right;
  }
}

.jp-share {
  margin: 0 auto;

  & dt::before {
    background-image: url(/recruit/newgraduates/about/images/plate-2_1.svg);
  }
  & li:nth-child(1) img {
    box-shadow: calc(-10 / 750 * 100vw) calc(10 / 750 * 100vw) 0 rgba(243, 198, 210, .8);
  }
  & li:nth-child(2) img {
    box-shadow: calc(-10 / 750 * 100vw) calc(10 / 750 * 100vw) 0 rgba(178, 213, 238, .8);
  }
  & li:nth-child(3) img {
    box-shadow: calc(-10 / 750 * 100vw) calc(10 / 750 * 100vw) 0 rgba(239, 219, 178, .8);
  }
}

.brand-statement.reprise {
  padding-bottom: calc(340 / 750 * 100vw);
  background-image:url(/recruit/newgraduates/about/images/sec-footer-illst-2_pc.webp), url(/recruit/newgraduates/about/images/bg-2.jpg);
  background-repeat: no-repeat, repeat;
  background-position: left bottom, left top;
  background-size:100% calc(300 / 750 * 100vw), calc(800 / 750 * 100vw) calc(400 / 750 * 100vw);

  & .statement-ttl-block {
    margin-top: 0;
  }
  & .lead {
    padding-top: calc(100 / 750 * 100vw);
    padding-bottom: calc(20 / 750 * 100vw);
  }
  & .lead b {
    color: #008746
  }
  & .lead-2 {
    padding-top: calc(235 / 750 * 100vw);
    padding-bottom: 0;
    --el-index: 5
  }
}




.third-sec .sec-ttl-block {
  height: calc(450 / 750 * 100vw);
  background-color: #0073c6;
  background-image: repeating-linear-gradient(135deg, #0082D2, #0082D2 calc(2.8 / 750 * 100vw), transparent 0, transparent calc(7 / 750 * 100vw));

  & .sec-ttl-set {
    background-color: #0073c6;
  }
}
.reason-1 {
  background: url(/recruit/newgraduates/about/images/bg-3.jpg) repeat left top / calc(800 / 750 * 100vw) calc(400 / 750 * 100vw);
  padding-bottom: calc(150 / 750 * 100vw);
}

.reasons {
  display: block;
  width: 100%;
  padding-top: calc(77 / 750 * 100vw);

  & .sub-sec-ttl-set {
    width: calc(640 / 750 * 100vw);
    margin: 0 auto calc(45 / 750 * 100vw);
    text-align: center;

    & .label {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      width: calc(170 / 750 * 100vw);
      height: calc(36 / 750 * 100vw);
      margin-bottom: calc(28 / 750 * 100vw);
      font-size: calc(22 / 750 * 100vw);
      font-weight: 800;
      letter-spacing: .12em;
      line-height: 0;
      color: #fff;
      border-radius: 100px;
      background-color: #0073c6;
      background-image: repeating-linear-gradient(135deg, #0082D2, #0082D2 calc(2.8 / 750 * 100vw), transparent 0, transparent calc(7 / 750 * 100vw));
      opacity: 0;

      &.start {
        animation: fi-rise .8s ease-in-out .2s both;
      }
    }
    & .sub-sec-ttl {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: calc(77 / 750 * 100vw);
      width: 100%;
      height: calc(175 / 750 * 100vw);
      font-feature-settings: "palt";
      background-image: url(/recruit/newgraduates/about/images/el-sub-ttl-1_pc.svg), url(/recruit/newgraduates/about/images/el-sub-ttl-3_pc.svg);
      background-repeat: no-repeat;
      background-position: center top;
      background-size: auto 100%;
      position: relative;

      &.start {
        transition: background-position 1.5s cubic-bezier(0.19, 1, 0.16, 1) .3s;
        background-position: left top, right top;
      }

      & .num {
        font-size: calc(100 / 750 * 100vw);
        font-weight: 800;
        color: #0073c6;
        position: absolute;
        top: calc(-88 / 750 * 100vw);
        opacity: 0;

        &.start {
          animation: fi-simple .9s ease-in-out .2s both;
        }
  
      }
      & .jp {
        font-size: calc(30 /750 * 100vw);
        font-weight: 700;
        letter-spacing: .06em;
        line-height: 1.6666666666666667;
        text-align: center;
        --el-index: 5
      }
    }
  }
  & .lead em {
      color: #0073c6;
  }
}

.illust-1 {
  display: block;
  width: calc(389 / 750 * 100vw);
  height: calc(271 / 750 * 100vw);
  margin: 0 auto calc(100 / 750 * 100vw);
}

.flow-chart {
  display: block;
  width: calc(700 / 750 * 100vw);
  margin: calc(100 / 750 * 100vw) auto;
  padding: calc(60 / 750 * 100vw) calc(30 / 750 * 100vw);
  border-radius: calc(40 / 750 * 100vw);
  background-color: #C5CCD2;
  background-image: linear-gradient(#BBC4CB 1px, transparent 0), linear-gradient(90deg, #BBC4CB 1px, transparent 0);
  background-position: center;
  background-size: calc(28 / 750 * 100vw) calc(28 / 750 * 100vw);
  font-feature-settings: "palt";

  & .ttl {
    display: block;
    width: 100%;
    height: calc(224 / 750 * 100vw);
    background-color: #e8f3fb;
    border-radius: calc(20 / 750 * 100vw);
    padding: calc(24 / 750 * 100vw);

    & .inner {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      background-color: #fff;
      border-radius: calc(10 / 750 * 100vw);

      & .ttl-txt {
        display: inline-block;
        font-size: calc(48 / 750 * 100vw);
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 0;
        vertical-align: baseline;
        color: #0050A0;
      }
      & .en {
        display: inline-block;
        font-size: calc(60 / 750 * 100vw);
        transform: translateY(.05em)
      }
    }
    & + .equal {
      display: block;
      width: calc(60 / 750 * 100vw);
      height: calc(84 / 750 * 100vw);
      margin: calc(42 / 750 * 100vw) auto calc(35 / 750 * 100vw);
      opacity: 0;
      rotate: 60deg;
      scale: 2;

      &.start {
        transition: 1s cubic-bezier(0.19, 1, 0.22, 1) .3s;
        opacity: 1;
        rotate: 0deg;
        scale: 1
      }
    }
  }

  & .plate {
    display: block;
    width: 100%;
    background-color: #e8f3fb;
    border-radius: calc(20 / 750 * 100vw);
    padding-bottom: calc(47 / 750 * 100vw);

    & h6 {
      display: flex;
      width: 100%;
      height: calc(113 / 750 * 100vw);
      justify-content: center;
      align-items: center;
      font-size: calc(18 / 750 * 100vw);
      font-weight: 700;
      letter-spacing: .06em;
      line-height: 1.5555555555555556;
      text-align: center;
      color: #0050a0;
    }
    & > dl {
      display: block;
      width: calc(514 / 750 * 100vw);
      margin: 0 auto;
    }
  }
  & .plate-1 > dl {
    margin-top: calc(-20 / 750 * 100vw);

    & > dt.en {
      display: block;
      font-size: calc(64 / 750 * 100vw);
      font-weight: 700;
      color: #0050a0;
      text-align: center;
      margin-bottom: calc(-38 / 750 * 100vw);
      position: relative;
      z-index: +1;
      opacity: 0;
      scale: 3;

      &.start {
        opacity: 1;
        scale: 1;
        transition: .8s cubic-bezier(0.19, 1, .16, 1) .8s
      }

      & span:nth-child(1) {
        letter-spacing: 1.41em
      }
      & span:nth-child(2) {
        font-size: calc(48 / 750 * 100vw);
        letter-spacing: 2.08em;
      }
      & span:nth-child(3) {
        display: inline-block;
        padding-right: calc(15 / 750 * 100vw);
      }
    }
  }
  & .plate-1 .two-cols {
    display: grid;
    grid-template-columns: calc(250 / 750 * 100vw) calc(250 / 750 * 100vw);
    column-gap: calc(14 / 750 * 100vw);
    grid-template-rows: calc(300 / 750 * 100vw);
    position: relative;

    & .multi {
      position: absolute;
      display: block;
      width: calc(23 / 750 * 100vw);
      height: calc(23 / 750 * 100vw);
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      transform-origin: left top;
      z-index: +1;
      opacity: 0;
      rotate: -360deg;
      line-height: 0;

      &.start {
        opacity: 1;
        rotate: 0deg;
        transition: 1s ease .5s;
      }
    }
    & .last-p {
      position: absolute;
      display: block;
      width: calc(140 / 750 * 100vw);
      height: calc(72 / 750 * 100vw);
      bottom: calc(-25 / 750 * 100vw);
      left: 50%;
      transform: translateX(-50%);

      & li {
        display: block;
        width: calc(140 / 750 * 100vw);
        height: calc(72 / 750 * 100vw);
        position: absolute;
        top: 0;
        left: 0;
      }
    }
    & .inner-p {
      display: flex;
      flex-direction: column;
      width: calc(250 / 750 * 100vw);
      height: calc(300 / 750 * 100vw);
      padding-top: calc(45 / 750 * 100vw);
      background-color: #fff;
      border-radius: calc(10 / 750 * 100vw);
      --el-delayed: 7.5;

      & dt {
        text-align: center;
        color: #0050a0;

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

        & .en {
          display: inline-block;
          font-size: calc(30 / 750 * 100vw);
          font-weight: 700;
          letter-spacing: .03em;
          margin-top: calc(5 / 750 * 100vw);
        }
      }
      & dd {
        margin-top: calc(12 / 750 * 100VW);
        text-align: center;

        & p {
          font-size: calc(14 / 750 * 100vw);
          font-weight: 500;
          letter-spacing: .06em;
          line-height: 1.4285714285714286;
        }
      }
      & ul {
        display: block;
        width: 100%;
        height: calc(72 / 750 * 100vw);
        margin-top: calc(13 / 750 * 100vw);
        position: relative;
        
        & li {
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
        }
      }
    }
  }
}
.plate-1 + .multi {
  display: block;
  width: calc(80 / 750 * 100vw);
  height: calc(80 / 750 * 100vw);
  margin: calc(31 / 750 * 100vw) auto;
  opacity: 0;
  rotate: -60deg;
  scale: 2;

  &.start {
    opacity: 1;
    rotate: 0deg;
    scale: 1;
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 1s
  }
}

.flow-chart .plate-2 > dl {
  margin-top: calc(-20 / 750 * 100vw);

  & > dt {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: calc(48 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .2em;
    color: #0050a0;
    text-align: center;
    margin-bottom: calc(-30 / 750 * 100vw);
    position: relative;
    z-index: +1;
    opacity: 0;
    scale: 2;

    &.start {
      opacity: 1;
      scale: 1;
      transition: .8s cubic-bezier(0.19, 1, 0.16, 1) 1s
    }

    & span:nth-child(1) {
      margin-right: 1em;
    }
    & span:nth-child(2) {
      font-size: calc(43.2 / 750 * 100vw);
      margin-right: 1.11em;
    }
  }
  & .inner-p {
    background-color: #fff;
    border-radius: calc(10 / 750 * 100vw);
    padding-top: calc(55 / 750 * 100vw);
    height: calc(280 / 750 * 100vw);
    overflow: visible;

    & ul {
      display: flex;
      width: 100%;

      & li {
        flex: 0 0 50%;
        font-size: calc(14 / 750 * 100vw);
        font-weight: 500;
        letter-spacing: .06em;
        line-height: 1.4285714285714286;
        text-align: center;
        color: #0050a0;
      }
      & + .chart {
        position: relative;
        width: calc(260 / 750 * 100vw);
        height: calc(250 / 750 * 100vw);
        margin: calc(-37 / 750 * 100vw) auto 0;
        --el-delayed: 10
      }
    }
  }
}
.reason-1 .bttn {
  display: block;
  width: calc(640 / 750 * 100vw);
  height: calc(220 / 750 * 100vw);
  margin: 0 auto;
  position: relative;

  &::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    border-radius: calc(40 / 750 * 100vw);
    background-color: rgba(0, 80, 160, .7);
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
  }
  & a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border-radius: calc(40 / 750 * 100vw);
    text-align: center;
    font-feature-settings: "palt";
    font-size: calc(30 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.6;
    color: #fff;
    position: relative;
    z-index: +1;

    & b {
      font-size: calc(48 / 750 * 100vw);

      &::after {
        content: '';
        display: inline-block;
        width: calc(54 / 750 * 100vw);
        height: calc(48 / 750 * 100vw);
        vertical-align: middle;
        background: url(/recruit/newgraduates/about/images/ornament-2_pc.svg) no-repeat center top / contain;
        margin-left: calc(25 / 750 * 100vw);
      }
    }
    & .note {
      font-size: calc(14 / 750 * 100vw);
      font-weight: 500;
    }
    &::after {
      content: '';
      display: block;
      width: calc(169 / 750 * 100vw);
      height: calc(160 / 750 * 100vw);
      position: absolute;
      top: calc(-53 / 750 * 100vw);
      right: calc(-2 / 750 * 100vw);
      background: url(/recruit/newgraduates/about/images/light-bulb_sp.png) no-repeat center top / contain;
    }
  }
}
@keyframes flip-x {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0
  }
  40% {
    transform: perspective(400px) rotateX(-20deg);
  }
  60% {
    transform: perspective(400px) rotateX(10deg);
    opacity: 1
  }
  80% {
    transform: perspective(400px) rotateX(-5deg)
  }
  to {
    transform: perspective(400px)
  }
}
@keyframes flag-in {
  0% {
    opacity: 0;
    transform: translate3d(0, -200%, 0) scaleY(1.5)
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0) scaleY(.9)
  }
  75% {
    transform: translate3d(0, -10px, 0) scaleY(.95)
  }
  90% {
    transform: translate3d(0, 5px, 0) scaleY(.985)
  }
  100% {
    transform: translateZ(0);
    opacity: 1;
  }
}

.reason-2 {
  padding-bottom: calc(150 / 750 * 100vw);
}

.illust-2 {
  display: block;
  width: calc(348 / 750 * 100vw);
  height: calc(270 / 750 * 100vw);
  margin: calc(60 / 750 * 100vw) auto calc(148 / 750 * 100vw);
}

.data {
  font-feature-settings: "palt";
  display: block;
  width: calc(700 / 750 * 100vw);
  margin: 0 auto;
  text-align: center;

  & .ttl-circle {
    display: block;
    width: calc(280 / 750 * 100vw);
    height: calc(280 / 750 * 100vw);
    margin: 0 auto;
    margin-block: 0;
    border-radius: 50%;
    position: relative;
    z-index: 0;

    &::after,
    &::before {
      content: '';
      display: block;
      border-radius: 50%;
      position: absolute;
      left: 50%;
      top: 50%;
      translate: -50% -50%;
      z-index: -1;
    }
    &::before {
      background-color: rgba(0, 119, 198, .5);
      width: calc(240 / 750 * 100vw);
      height: calc(240 / 750 * 100vw);
    }
    &::after {
      background-color: rgba(0, 119, 198, .3);
      width: calc(280 / 750 * 100vw);
      height: calc(280 / 750 * 100vw);
    }
    & .ttl-inner-circle {
      display: flex;
      justify-content: center;
      align-items: center;
      width: calc(280 / 750 * 100vw);
      height: calc(280 / 750 * 100vw);
      background-color: #fff;
      background-clip: content-box;
      border: solid calc(40 / 750 * 100vw) transparent;
      border-radius: 50%;
      overflow: hidden;
      position: relative;
      z-index: +1;
    }
    & .ttl-txt {
      font-size: calc(32 / 750 * 100vw);
      font-weight: 700;
      letter-spacing: .2em;
      line-height: 1.25;
      padding-left: .15em;
      padding-bottom: .15em;
    }
  }
  & .result {
    display: inline-block;
    margin-top: calc(30 / 750 * 100vw);
    font-size: calc(60 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .06em;
    transform: perspective(400px) rotateX(90deg);
    backface-visibility: visible;

    &.start {
      animation: flip-x .85s ease-in .3s both;
    }

    & .around {
      letter-spacing: .075em;
    }

    & .num {
      display: inline-block;
      font-size: calc(96 / 750 * 100vw);
      letter-spacing: 0;
      padding: 0 .115em;
      transform: translateY(.05em)
    }

    & + .note {
      margin-top: calc(30 / 750 * 100vw);
      font-size: calc(20 / 750 * 100vw);
      letter-spacing: .06em;
      --el-index: 3;
    }
  }
  &.wider.start .ttl-circle::after,
  &.wider.start .ttl-circle::before {
    animation-delay: 0s;
  }
}

.data-1 {
  height: calc(553 / 750 * 100vw);
}
.data-2 {
  height: calc(893 / 750 * 100vw);
  position: relative;
  z-index: 0;

  & .world-map {
    display: block;
    width: 100%;
    height: calc(331 / 750 * 100vw);
    position: absolute;
    top: calc(477 / 750 * 100vw);
    left: 0;
    z-index: 0;
    background: url(/recruit/newgraduates/about/images/world-map_pc.png) no-repeat center top / contain;
    z-index: -1;

    & .flag {
      display: block;
      width: calc(130 / 750 * 100vw);
      height: calc(172 / 750 * 100vw);
      padding-top: calc(46 / 750 * 100vw);
      background: url(/recruit/newgraduates/about/images/flag.svg) no-repeat center bottom / contain;
      color: #fff;
      letter-spacing: .06em;
      position: absolute;
      opacity: 0;

      &.start {
        animation: flag-in 1s cubic-bezier(.08,.62,.35,1) .3s both;
      }

      & dt {
        font-size: calc(16 / 750 * 100vw);
        font-weight: 400;
        margin-bottom: calc(5 / 750 * 100vw);
      }
      & dd {
        font-size: calc(26 / 750 * 100vw);
        font-weight: 700;
      }
    }
    #flag-1 {
      top: calc(-54 / 750 * 100vw);
      left: calc(30 / 750 * 100vw);
    }
    #flag-2 {
      top: calc(-8 / 750 * 100vw);
      left: calc(169 / 750 * 100vw);
      animation-delay: .5s;
    }
    #flag-3 {
      top: calc(-36 / 750 * 100vw);
      left: calc(483 / 750 * 100vw);
      animation-delay: .7s;
    }
  }
}

.data-3 {
  height: calc(590 / 750 * 100vw);
  position: relative;

  & .cut {
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  & .cut-11 {
    width: calc(75 / 750 * 100vw);
    height: calc(86 / 750 * 100vw);
    background-image: url(/recruit/newgraduates/about/images/cut-11.png);
    top: calc(11 / 750 * 100vw);
    left: calc(113 / 750 * 100vw);
  }
  & .cut-12 {
    width: calc(74 / 750 * 100vw);
    height: calc(78 / 750 * 100vw);
    background-image: url(/recruit/newgraduates/about/images/cut-12.png);
    top: calc(143 / 750 * 100vw);
    left: calc(81 / 750 * 100vw);
  }
  & .cut-13 {
    width: calc(35 / 750 * 100vw);
    height: calc(36 / 750 * 100vw);
    background-image: url(/recruit/newgraduates/about/images/cut-13.png);
    top: calc(212 / 750 * 100vw);
    left: calc(43 / 750 * 100vw);
  }
  & .cut-14 {
    width: calc(27 / 750 * 100vw);
    height: calc(74 / 750 * 100vw);
    background-image: url(/recruit/newgraduates/about/images/cut-14.png);
    top: calc(359 / 750 * 100vw);
    left: calc(45 / 750 * 100vw);
  }
  & .cut-15 {
    width: calc(53 / 750 * 100vw);
    height: calc(55 / 750 * 100vw);
    background-image: url(/recruit/newgraduates/about/images/cut-15.png);
    top: calc(463 / 750 * 100vw);
    left: calc(115 / 750 * 100vw);
  }
  & .cut-16 {
    width: calc(75 / 750 * 100vw);
    height: calc(84 / 750 * 100vw);
    background-image: url(/recruit/newgraduates/about/images/cut-16.png);
    top: calc(13 / 750 * 100vw);
    left: calc(515 / 750 * 100vw);
  }
  & .cut-17 {
    width: calc(57 / 750 * 100vw);
    height: calc(49 / 750 * 100vw);
    background-image: url(/recruit/newgraduates/about/images/cut-17.png);
    top: calc(128 / 750 * 100vw);
    left: calc(579 / 750 * 100vw);
  }
  & .cut-18 {
    width: calc(35 / 750 * 100vw);
    height: calc(36 / 750 * 100vw);
    background-image: url(/recruit/newgraduates/about/images/cut-18.png);
    top: calc(183 / 750 * 100vw);
    left: calc(560 / 750 * 100vw);
  }
  & .cut-19 {
    width: calc(38 / 750 * 100vw);
    height: calc(69 / 750 * 100vw);
    background-image: url(/recruit/newgraduates/about/images/cut-19.png);
    top: calc(266 / 750 * 100vw);
    left: calc(631 / 750 * 100vw);
  }
  & .cut-20 {
    width: calc(74 / 750 * 100vw);
    height: calc(78 / 750 * 100vw);
    background-image: url(/recruit/newgraduates/about/images/cut-20.png);
    top: calc(449 / 750 * 100vw);
    left: calc(561 / 750 * 100vw);
  }
}

.data-4 {
  min-height: calc(454 / 750 * 100vw);

  & .ttl-circle .ttl-txt {
    letter-spacing: .04em;
  }
}



.reason-3 {
  background-image: url(/recruit/newgraduates/about/images/sec-footer-illst-3_sp.webp), url(/recruit/newgraduates/about/images/bg-3.jpg);
  background-repeat: no-repeat, repeat;
  background-position: left bottom, left top;
  background-size: 100% calc(300 / 750 * 100vw), calc(800 / 750 * 100vw) calc(400 / 750 * 100vw);
  padding-bottom: calc(400 / 750 * 100vw);
  overflow: hidden;

  & .lead {
    padding-bottom: calc(100 / 750 * 100vw);
  }

  & .c-1 {
    --c-color: #96379b;
    --c-a: rgba(150, 55, 155, .2);
  }
  & .c-2 {
    --c-color: #D74168;
    --c-a: rgba(215, 65, 104, .2);
  }
  & .c-3 {
    --c-color: #008746;
    --c-a: rgba(0, 135, 70, .2);
  }
}

.illust-3 {
  display: block;
  width: calc(364 / 750 * 100vw);
  height: calc(270 / 750 * 100vw);
  margin: calc(15 / 750 * 100vw) auto calc(80 / 750 * 100vw);
}

.culture {
  display: block;
  width: calc(640 / 750 * 100vw);
  margin: 0 auto;
  font-feature-settings: "palt";

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

  & .c-ttl-set {
    text-align: center;
    margin-bottom: calc(80 / 750 * 100vw);

    & .label {
      display: inline-block;
      min-width: calc(228 / 750 * 100vw);
      height: calc(34 / 750 * 100vw);
      margin-bottom: calc(20 / 750 * 100vw);
      border-radius: 100px;
      font-size: calc(18 / 750 * 100vw);
      letter-spacing: .12em;
      line-height: calc(34 / 750 * 100vw);
      color: #fff;
      background-color: var(--c-color);
    }
    & .c-ttl {
      display: block;
      width: 100%;
      color: var(--c-color);

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

        & em {
          font-size: 150%;
        }
      }
      &::after {
        content: '';
        display: block;
        width: 100%;
        height: calc(10 / 750 * 100vw);
        background-image: radial-gradient(var(--c-color) 30%, transparent 0);
        background-size: calc(10 / 750 * 100vw) calc(10 / 750 * 100vw);
        background-repeat: repeat-x;
        background-position: left;
        margin-top: calc(20 / 750 * 100vw);
      }
    }
  }
}

.c-list {
  position: relative;
  z-index: 0;

  & li,
  & li a {
    display: block;
    width: 100%;
    height: 100%;
  }
  & li {
    position: relative;
  }
  & li + li {
    margin-top: calc(115 / 750 * 100vw)
  }
  & li::before {
    content: '';
    display: block;
    width: calc(505 / 750 * 100vw);
    height: calc(500 / 750 * 100vw);
    position: absolute;
    left: calc(-55 / 750 * 100vw);
    bottom: calc(-30 / 750 * 100vw);
    border-radius: 0 calc(40 / 750 * 100vw) calc(40 / 750 * 100vw) 0;
    background-color: var(--c-a);
    z-index: -1;
  }
  & li:nth-child(2)::before {
    left: auto;
    right: calc(-55 / 750 * 100vw);
    border-radius: calc(40 / 750 * 100vw) 0 0 calc(40 / 750 * 100vw);
  }

  & dt {
    font-size: calc(36 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.3125;
    margin-bottom: calc(25 / 750 * 100vw);
    padding-left: calc(25 / 750 * 100vw);
    text-indent: calc(-25 / 750 * 100vw);
    color: var(--c-color);

    &::before {
      content: '';
      display: inline-block;
      width: calc(8 / 750 * 100vw);
      height: calc(16 / 750 * 100vw);
      vertical-align: middle;
      background-color: currentColor;
      border-radius: 0 calc(8 / 750 * 100vw) calc(8 / 750 * 100vw) 0;
      margin-right: calc(17 / 750 * 100vw);
      transform: translateY(-.07em);
      color: currentColor;
    }
  }
  & .img-box {
    display: block;
    width: 100%;
    height: calc(420 / 750 * 100vw);
    margin-bottom: calc(50 / 750 * 100vw);
    position: relative;
    z-index: 0;

    & img {
      border-radius: calc(20 / 750 * 100vw);
    }

    &::before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: calc(20 / 750 * 100vw);
      top: calc(20 / 750 * 100vw);
      background-image: radial-gradient(var(--c-color) 22%, transparent 0), radial-gradient(var(--c-color) 22%, transparent 0);
      background-size: calc(14 / 750 * 100vw) calc(14 / 750 * 100vw);
      background-position: calc(3 / 750 * 100vw) 0, calc(10 / 750 * 100vw) calc(7 / 750 * 100vw);
      border-radius: calc(20 / 750 * 100vw);
      z-index: -1;
    }
  }
  & figcaption {
    font-size: calc(26 / 750 * 100vw);
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 2;
  }
}


.p-list {
  display: block;
  width: 100%;

  & li {
    display: block;
    width: 100%;
    height: calc(600 / 750 * 100vw);
    position: relative;
    z-index: 0;

    &::before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: calc(20 / 750 * 100vw);
      top: calc(20 / 750 * 100vw);
      background-image: radial-gradient(var(--c-color) 22%, transparent 0), radial-gradient(var(--c-color) 22%, transparent 0);
      background-size: calc(14 / 750 * 100vw) calc(14 / 750 * 100vw);
      background-position: calc(3 / 750 * 100vw) 0, calc(10 / 750 * 100vw) calc(7 / 750 * 100vw);
      border-radius: calc(20 / 750 * 100vw);
      z-index: -1;
    }
    & + & {
      margin-top: calc(100 / 750 * 100vw);
    }
    & .p-num {
      display: block;
      width: calc(143 / 750 * 100vw);
      height: calc(64 / 750 * 100vw);
      position: absolute;
      top: calc(50 / 750 * 100vw);
      left: calc(41 / 750 * 100vw);
      z-index: +2;
    }
    & .inner {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: calc(20 / 750 * 100vw);
      overflow: hidden;
    }
    & a {
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: +1;
      border-radius: calc(20 / 750 * 100vw);
      background-color: rgba(0, 0, 0, .48);
      font-feature-settings: "palt";

      & dl {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        width: 100%;
        height: 100%;
        padding-bottom: calc(40 / 750 * 100vw);
        padding-left: calc(40 / 750 * 100vw);

        & .prjct-ttl {
          font-size: calc(46 / 750 * 100vw);
          font-weight: 700;
          letter-spacing: .1em;
          line-height: 1.4130434782608696;
          color: #fff;
          margin-bottom: calc(20 / 750 * 100vw);
        }
        & .prjct-des {
          width: calc(560 / 750 * 100vw);
          font-size: calc(22 / 750 * 100vw);
          line-height: 1.8181818181818181;
          letter-spacing: .05em;
          color: #fff;
        }
      }
    }
  }
  & li:nth-child(1)::after {
    content: '';
    display: block;
    width: calc(505 / 750 * 100vw);
    height: calc(1000 / 750 * 100vw);
    border-radius: 0 calc(40 / 750 * 100vw) calc(40 / 750 * 100vw) 0;
    background-color: rgba(0, 135, 70, .2);
    position: absolute;
    left: calc(-55 / 750 * 100vw);
    top: calc(154 / 750 * 100vw);
    z-index: -1;
  }
  & li:nth-child(3)::after {
    content: '';
    display: block;
    width: calc(505 / 750 * 100vw);
    height: calc(1000 / 750 * 100vw);
    border-radius: calc(40 / 750 * 100vw) 0 0 calc(40 / 750 * 100vw);
    background-color: rgba(0, 135, 70, .2);
    position: absolute;
    right: calc(-55 / 750 * 100vw);
    top: calc(154 / 750 * 100vw);
    z-index: -1;
  }
}




.fourth-sec {
  padding-bottom: calc(550 / 750 * 100vw);
  position: relative;

  & .sec-ttl-block {
    height: calc(400 / 750 * 100vw);
    background-color: #ca8700;
    background-image: repeating-linear-gradient(135deg, #d59406, #d59406 calc(2.8 / 750 * 100vw), transparent 0, transparent calc(7 / 750 * 100vw));
    margin-bottom: calc(100 / 750 * 100vw);

    & .sec-ttl-set {
      background-color: #ca8700;
    }
    & + .lead em {
      color: #ca8700;
    }
  }
  &::after {
    content: '';
    display: block;
    width: 100%;
    height: calc(93 / 750 * 100vw);
    background: url(/recruit/newgraduates/about/images/bg-4.jpg) repeat left bottom / calc(800 / 750 * 100vw) calc(400 / 750 * 100vw);
    -webkit-mask: url(/recruit/newgraduates/about/images/mask-ar-b_sp.svg) no-repeat center bottom / 100% auto;
    mask: url(/recruit/newgraduates/about/images/mask-ar-b_sp.svg) no-repeat center bottom / cover;
    position: absolute;
    bottom: -1px;
    left: 0;
    z-index: +1;
  }
}
.future {
  display: block;
  width: calc(700 / 750 * 100vw);
  margin: calc(120 / 750 * 100vw) auto 0;
  position: relative;

  & .ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(119 / 750 * 100vw);
    margin: 0 auto;
    font-feature-settings: "palt";
    font-size: calc(40 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.5;
    text-align: center;
    background-image: url(/recruit/newgraduates/about/images/ico-bracket-l_pc.svg), url(/recruit/newgraduates/about/images/ico-bracket-r_pc.svg);
    background-repeat: no-repeat;
    background-position: center center, center center;
    background-size: auto 100%;

    &.start {
      background-position: left center, right center;
      transition: background-position .8s cubic-bezier(0.19, 1, .16, 1) .2s;
    }
  }
  & .img-chart {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  & .cut {
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
}
.future-1 .ttl {
  width: calc(532 / 750 * 100vw);
}
.future-1 .img-chart {
  margin-top: calc(60 / 750 * 100vw);
  margin-bottom: calc(150 / 750 * 100vw);
}
.future-2 .ttl {
  width: calc(640 / 750 * 100vw);
}
.future-2 .img-chart {
  margin-top: calc(66 / 750 * 100vw);
  animation-duration: 2s;
}

.cut-21 {
  width: calc(62 / 750 * 100vw);
  height: calc(81 / 750 * 100vw);
  top: calc(-79 / 750 * 100vw);
  left: calc(15 / 750 * 100vw);
  background-image: url(/recruit/newgraduates/about/images/cut-21.png);
}
.cut-22 {
  width: calc(71 / 750 * 100vw);
  height: calc(73 / 750 * 100vw);
  top: calc(107 / 750 * 100vw);
  left: calc(617 / 750 * 100vw);
  background-image: url(/recruit/newgraduates/about/images/cut-22.png);
}
.cut-23 {
  width: calc(62 / 750 * 100vw);
  height: calc(81 / 750 * 100vw);
  top: calc(848 / 750 * 100vw);
  left: calc(627 / 750 * 100vw);
  background-image: url(/recruit/newgraduates/about/images/cut-24.png);
}
.cut-24 {
  width: calc(63 / 750 * 100vw);
  height: calc(72 / 750 * 100vw);
  top: calc(-100 / 750 * 100vw);
  left: calc(13 / 750 * 100vw);
  background-image: url(/recruit/newgraduates/about/images/cut-23.png);
}
.cut-25 {
  width: calc(63 / 750 * 100vw);
  height: calc(72 / 750 * 100vw);
  top: calc(772 / 750 * 100vw);
  left: calc(617 / 750 * 100vw);
  background-image: url(/recruit/newgraduates/about/images/cut-26.png);
}
.cut-26 {
  width: calc(71 / 750 * 100vw);
  height: calc(73 / 750 * 100vw);
  top: calc(846 / 750 * 100vw);
  left: calc(12 / 750 * 100vw);
  background-image: url(/recruit/newgraduates/about/images/cut-25.png);
}


.fifth-sec .ttl-circle {
  display: block;
  width: calc(550 / 750 * 100vw);
  height: calc(550 / 750 * 100vw);
  text-align: center;
  margin: 0 auto;
  border-radius: 50%;
  position: absolute;

  &::after,
  &::before {
    content: '';
    display: block;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
  }
  &::before {
    background-color: rgba(202, 135, 0, .5);
    width: calc(500 / 750 * 100vw);
    height: calc(500 / 750 * 100vw);
    animation-delay: 0s !important;
  }
  &::after {
    background-color: rgba(202, 135, 0, .3);
    width: calc(550 / 750 * 100vw);
    height: calc(550 / 750 * 100vw);
    animation-delay: 0s !important;
  }
  & .ttl-set {
    display: block;
    width: calc(550 / 750 * 100vw);
    height: calc(550 / 750 * 100vw);
    text-align: center;
    background-color: #fff;
    background-clip: content-box;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: solid calc(50 / 750 * 100vw) transparent;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    z-index: +1;
    clip-path: circle(50%);
    font-feature-settings: "palt";
    --el-index: 10;
  
    & .sub-ttl {
      display: inline-block;
      padding: .5em 1.75em calc(16 / 750 * 100vw);
      font-size: calc(20 / 750 * 100vw);
      font-weight: 700;
      letter-spacing: .04em;
      color: #ca8700;
      margin-top: calc(80 / 750 * 100vw);
      margin-bottom: calc(30 / 750 * 100vw);
      background-image: radial-gradient(#ca8700 33%, transparent 0);
      background-size: calc(10 / 750 * 100vw) calc(10 / 750 * 100vw);
      background-repeat: repeat-x;
      background-position: left bottom;
    }
    & .jp {
      font-size: calc(30 / 750 * 100vw);
      font-weight: 700;
      letter-spacing: .06em;
      line-height: 1.9333333333333333;
    }
  }
}



.issues {
  background: url(/recruit/newgraduates/about/images/bg-4.jpg) repeat left top / 800px 400px;
  padding-top: calc(290 / 750 * 100vw);
  padding-bottom: calc(415 / 750 * 100vw);
  position: relative;

  &::after {
    content: '';
    display: block;
    width: 100%;
    height: calc(140 / 750 * 100vw);
    background: url(/recruit/newgraduates/about/images/bg-1.jpg) repeat left top calc(140 / 750 * 100vw) / calc(800 / 750 * 100vw) calc(400 / 750 * 100vw);
    -webkit-mask: url(/recruit/newgraduates/about/images/mask-ex_sp.svg) no-repeat center bottom / 100% auto;
    mask: url(/recruit/newgraduates/about/images/mask-ex_sp.svg) no-repeat center bottom / 100% auto;
    position: absolute;
    bottom: -1px;
    left: 0;
  }

  & .ttl-circle {
    left: 50%;
    top: calc(-292 / 750 * 100vw);
    transform: translateX(-50%);
    z-index: +1;
  }
  & .ttl-set {
    background-image: url(/recruit/newgraduates/about/images/bg-issues-ttl_sp.png);
  }

  & .issues-area {
    display: block;
    width: calc(640 / 750 * 100vw);
    margin: 0 auto;

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

      & li {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: calc(587 / 750 * 100vw);
        position: relative;
        z-index: 0;
        margin-bottom: calc(15 / 750 * 100vw);

        & .ico {
          display: block;
          width: calc(76 / 750 * 100vw);
          height: calc(76 / 750 * 100vw);
          margin-bottom: calc(25 / 750 * 100vw);
        }
        & p {
          font-feature-settings: "palt";
          font-size: calc(30 / 750 * 100vw);
          font-weight: 700;
          letter-spacing: .06em;
          line-height: 1.9333333333333333;
          text-align: center;
          color: #fff;
        }
        &::before {
          content: '';
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          background-repeat: no-repeat;
          background-position: center;
          background-size: auto 100%;
          z-index: -1;
        }
        &:nth-child(1)::before {
          background-image: url(/recruit/newgraduates/about/images/issue-img-1_sp.webp);
          animation: float 2s ease-in-out alternate infinite
        }
        &:nth-child(2)::before {
          background-image: url(/recruit/newgraduates/about/images/issue-img-2_sp.webp);
          animation: float-alt 2s ease-in-out .5s alternate infinite
        }
        &:nth-child(3)::before {
          background-image: url(/recruit/newgraduates/about/images/issue-img-3_sp.webp);
          animation: float-alt 2s ease-in-out .5s alternate infinite
        }
        &:nth-child(4)::before {
          background-image: url(/recruit/newgraduates/about/images/issue-img-4_sp.webp);
          animation: float 2s ease-in-out alternate infinite
        }
      }
    }
  }
}
@keyframes float {
  from {
    transform: translate(1%, 1%) rotate(-.5deg);
  }
  to {
    transform: translate(-1%, -2%) rotate(.5deg);
  }
}
@keyframes float-alt {
  from {
    transform: translate(0%, -1.25%) rotate(.5deg);
  }
  to {
    transform: translate(1%, 2.5%) rotate(-.75deg);
  }
}
@keyframes float-w {
  from {
    transform: translate(1%, 10%) rotate(-.5deg);
  }
  to {
    transform: translate(-1%, -22%) rotate(1.5deg);
  }
}
@keyframes float-w2 {
  from {
    transform: translate(0%, -1.25%) rotate(3.5deg);
  }
  to {
    transform: translate(1%, 2.5%) rotate(-15.75deg);
  }
}
@keyframes float-w3 {
  from {
    transform: translate(0%, -10.25%) rotate(3.5deg);
  }
  to {
    transform: translate(10%, 2.5%) rotate(-90.75deg);
  }
}
.floating {
  transform: translate(1%, 10%) rotate(-.5deg);
}
.floating.start {
  animation: float-w 2s ease-in-out alternate infinite
}
.floating-2 {
  transform: translate(0%, -1.25%) rotate(3.5deg);
}
.floating-2.start {
  animation: float-w2 2s ease-in-out .5s alternate infinite
}
.floating-3 {
  transform: translate(0%, -10.25%) rotate(3.5deg);
}
.floating-3.start {
  animation: float-w3 4s ease-in-out .5s alternate infinite
}




.materiality {
  position: relative;
  padding-top: calc(295 / 750 * 100vw);

  & .ttl-circle {
    left: 50%;
    top: calc(-350 / 750 * 100vw);
    transform: translateX(-50%);

    & .ttl-set {
      background-image: url(/recruit/newgraduates/about/images/bg-materiality-ttl_sp.png);

      & .sub-ttl {
        margin-top: calc(53 / 750 * 100vw);
        margin-bottom: calc(25 / 750 * 100vw);
      }

      & .jp {
        line-height: 1.6
      }
    }
  }
}

.materiality-list {
  display: block;
  width: calc(640 / 750 * 100vw);
  margin: 0 auto;

  & li {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding-top: calc(80 / 750 * 100vw);
    padding-bottom: calc(53 / 750 * 100vw);
    position: relative;
    font-feature-settings: "palt";

    &::after {
      content: '';
      width: 100%;
      height: calc(53 / 750 * 100vw);
      position: absolute;
      bottom: 0;
      left: 0;
      background: url(/recruit/newgraduates/about/images/wavy-line_sp.svg) no-repeat center / 100% auto;
      transform: rotate(-4.216deg);
    }
    & picture {
      display: block;
      width: calc(550 / 750 * 100vw);
      margin-top: calc(55 / 750 * 100vw);
      margin-bottom: calc(80 / 750 * 100vw);
    }
    & dl {
      text-align: center;
    }
    & dt {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      width: calc(220 / 750 * 100vw);
      height: calc(50 / 750 * 100vw);
      border-radius: 100px;
      font-size: calc(20 / 750 * 100vw);
      font-weight: 500;
      line-height: 0;
      letter-spacing: .04em;
      margin-bottom: calc(48 / 750 * 100vw);
      opacity: 0;

      &.start {
        animation: fi-rise .8s ease-in-out .2s both;
      }
    }
    & dd {
      font-size: calc(34 / 750 * 100vw);
      font-weight: 700;
      letter-spacing: .06em;
      line-height: 2.0588235294117645;
      opacity: 0;

      &.start {
        animation: fi-rise .8s ease-in-out .2s both;
      }
    }

    &:nth-child(2n)::after {
      transform: rotate(4.216deg);
    }
    &:nth-child(1) dt {
      background-color: #f7c6bd;
    }
    &:nth-child(2) dt {
      background-color: #fce1b9;
    }
    &:nth-child(3) dt {
      background-color: #d3d2d1;
    }
    &:nth-child(4) dt {
      background-color: #a9ce52;
    }
  }

}

.final-sec {
  display: block;
  width: 100%;
  padding-top: calc(530/ 750 * 100vw);
  padding-bottom: calc(495 / 750 * 100vw);
  background: url(/recruit/newgraduates/about/images/sec-footer-illst-1_sp.webp) no-repeat left bottom / 100% auto;
  position: relative;
  z-index: 0;

  & .post-script {
    font-feature-settings: "palt";
    font-size: calc(34 / 750 * 100vw);
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.8823529411764706;
    text-align: center;

    & p + p {
      margin-top: 3em;
    }
    & em {
      color: #C87D00;
    }
  }
  & .cloud {
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    z-index: -1;

    &.cloud-10 {
      width: calc(128 / 750 * 100vw);
      height: calc(66 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-10_sp.svg);
      top: calc(225 / 750 * 100vw);
      left: calc(78 / 750 * 100vw);
      animation: clouds 3s ease-in-out infinite alternate forwards;
    }
    &.cloud-11 {
      width: calc(117 / 750 * 100vw);
      height: calc(62 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-11_sp.svg);
      top: calc(300 / 750 * 100vw);
      left: calc(477 / 750 * 100vw);
      animation: clouds 4s ease-in-out infinite alternate forwards;
    }
    &.cloud-12 {
      width: calc(134 / 750 * 100vw);
      height: calc(74 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-12_sp.svg);
      top: calc(472 / 750 * 100vw);
      left: calc(195 / 750 * 100vw);
      animation: clouds 4s ease-in-out infinite alternate forwards;
    }
    &.cloud-13 {
      width: calc(163 / 750 * 100vw);
      height: calc(85 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-13_sp.svg);
      top: calc(583 / 750 * 100vw);
      left: calc(607 / 750 * 100vw);
      animation: clouds 5s ease-in-out infinite alternate forwards;
    }
    &.cloud-14 {
      width: calc(152 / 750 * 100vw);
      height: calc(81 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-14_sp.svg);
      top: calc(768 / 750 * 100vw);
      left: calc(397 / 750 * 100vw);
      animation: clouds 3.5s ease-in-out infinite alternate forwards;
    }
    &.cloud-15 {
      width: calc(202 / 750 * 100vw);
      height: calc(134 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-15_sp.svg);
      top: calc(887 / 750 * 100vw);
      left: calc(-16 / 750 * 100vw);
      animation: clouds 4.5s ease-in-out infinite alternate forwards;
    }
    &.cloud-16 {
      width: calc(222 / 750 * 100vw);
      height: calc(118 / 750 * 100vw);
      background-image: url(/recruit/newgraduates/about/images/cloud-16_sp.svg);
      top: calc(1022 / 750 * 100vw);
      left: calc(478 / 750 * 100vw);
      animation: clouds 4s ease-in-out infinite alternate forwards;
    }
  }
}
