*, ::before, ::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

.fw100-thin {
  font-weight: 100 !important;
}

.fw400-extra-light {
  font-weight: 200 !important;
}

.fw400-light {
  font-weight: 300 !important;
}

.fw400-regular {
  font-weight: 400 !important;
}

.fw500-medium {
  font-weight: 500 !important;
}

.fw600-semi-bold {
  font-weight: 600 !important;
}

.fw700-bold {
  font-weight: 700 !important;
}

.fw900-black {
  font-weight: 900 !important;
}

.show-tb {
  display: none !important;
}
@media only screen and (max-width: 1180px) {
  .show-tb {
    display: table !important;
  }
}

.show-tb-ver {
  display: none !important;
}
@media only screen and (max-width: 850px) {
  .show-tb-ver {
    display: table !important;
  }
}

.show-sp {
  display: none !important;
}
@media only screen and (max-width: 750px) {
  .show-sp {
    display: table !important;
  }
}

@media only screen and (max-width: 1180px) {
  .hide-tb {
    display: none !important;
  }
}

@media only screen and (max-width: 850px) {
  .hide-tb-ver {
    display: none !important;
  }
}

@media only screen and (max-width: 750px) {
  .hide-sp {
    display: none !important;
  }
}

/* Stylesheet */
html {
  width: 100%;
  height: auto;
  font-size: 62.5%;
}

body {
  width: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  -webkit-text-size-adjust: 100%;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 400;
  font-style: normal;
  color: #000;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  outline: none;
}

strong {
  font-weight: 700;
}

#mask {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  height: 100vh;
  background-color: #fff;
}

.text-center {
  text-align: center;
}

/* Link */
.transition, .menu-responsive, header, a .cover img, a::before, a::after, a, button {
  -webkit-transition: all 0.3s cubic-bezier(0.75, 0.3, 0.25, 1);
  transition: all 0.3s cubic-bezier(0.75, 0.3, 0.25, 1);
}

button:hover {
  opacity: 0.75;
}

a {
  color: currentColor;
  text-decoration: none;
  outline: none;
}
a:hover {
  opacity: 0.75;
}
a:hover .cover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
a:hover .hover-underline {
  background-size: 100% 1px;
}
a .cover {
  overflow: hidden;
}
.anchor {
  display: block;
  position: relative;
  top: -120px;
  visibility: hidden;
}
@media only screen and (max-width: 1180px) {
  .anchor {
    top: -120px;
  }
}

.hover-underline {
  position: relative;
  display: inline;
  background-image: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  -webkit-transition: background-size 0.3s cubic-bezier(0.75, 0.3, 0.25, 1);
  transition: background-size 0.3s cubic-bezier(0.75, 0.3, 0.25, 1);
}
.hover-underline:hover {
  background-size: 100% 1px;
}

.underline {
  text-decoration: underline;
}

.text-center {
  text-align: center;
}

/* Content */
#wrapper {
  position: relative;
}

main {
  position: relative;
}

.content-1440 {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

.content-1400 {
  width: 97.23%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 1180px) {
  .content-1400 {
    width: 90%;
  }
}

.content-1380 {
  width: 90%;
  max-width: 1380px;
  margin-left: auto;
  margin-right: auto;
}

.content-1280 {
  width: 90%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.content-1260 {
  width: 90%;
  max-width: 1260px;
  margin-left: auto;
  margin-right: auto;
}

.content-1230 {
  width: 90%;
  max-width: 1230px;
  margin-left: auto;
  margin-right: auto;
}

.content-1180 {
  width: 90%;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.content-1160 {
  width: 90%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
}

.content-1024 {
  width: 90%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}

.content-960 {
  width: 90%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.content-800 {
  width: 90%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.pad150 {
  padding-top: 150px;
  padding-bottom: 150px;
}
@media only screen and (max-width: 850px) {
  .pad150 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}
@media only screen and (max-width: 750px) {
  .pad150 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.pad90 {
  padding-top: 90px;
  padding-bottom: 90px;
}
@media only screen and (max-width: 750px) {
  .pad90 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.pad115135 {
  padding-top: 115px;
  padding-bottom: 135px;
}
@media only screen and (max-width: 1180px) {
  .pad115135 {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 850px) {
  .pad115135 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media only screen and (max-width: 750px) {
  .pad115135 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.pad65135 {
  padding-top: 65px;
  padding-bottom: 135px;
}
@media only screen and (max-width: 1180px) {
  .pad65135 {
    padding-top: 60px;
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 850px) {
  .pad65135 {
    padding-bottom: 80px;
  }
}
@media only screen and (max-width: 750px) {
  .pad65135 {
    padding-bottom: 60px;
  }
}

.pad80 {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media only screen and (max-width: 750px) {
  .pad80 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.pad60 {
  padding-top: 60px;
  padding-bottom: 60px;
}

/* Txthead */
.box-txthead {
  position: relative;
  z-index: 1;
}
.box-txthead.mb60 {
  margin-bottom: 60px;
}
@media only screen and (max-width: 1180px) {
  .box-txthead.mb60 {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 750px) {
  .box-txthead.mb60 {
    margin-bottom: 30px;
  }
}
.box-txthead.mb50 {
  margin-bottom: 50px;
}
@media only screen and (max-width: 1180px) {
  .box-txthead.mb50 {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 750px) {
  .box-txthead.mb50 {
    margin-bottom: 30px;
  }
}
.box-txthead.mb40 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 750px) {
  .box-txthead.mb40 {
    margin-bottom: 30px;
  }
}
.box-txthead .en-abs {
  position: absolute;
  top: -45px;
  left: -110px;
  z-index: -1;
  font-size: 10rem;
  line-height: 5.6rem;
  font-weight: 300;
  color: #eee;
  letter-spacing: -2px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  opacity: 0.55;
}
@media only screen and (max-width: 1180px) {
  .box-txthead .en-abs {
    font-size: 8rem;
    left: -50px;
  }
}
@media only screen and (max-width: 850px) {
  .box-txthead .en-abs {
    font-size: 5.5rem;
    left: -15px;
    top: -30px;
  }
}
.box-txthead .en-abs.white {
  color: #fff;
  opacity: 1;
}
.box-txthead.mb45 {
  margin-bottom: 45px;
}
@media only screen and (max-width: 850px) {
  .box-txthead.mb45 {
    margin-bottom: 30px;
  }
}
.box-txthead.mb20 {
  margin-bottom: 20px;
}
.box-txthead .fz40 {
  font-size: 4rem;
  line-height: 5.6rem;
}
@media only screen and (max-width: 1180px) {
  .box-txthead .fz40 {
    font-size: 3.6rem;
    line-height: 5.2rem;
  }
}
@media only screen and (max-width: 850px) {
  .box-txthead .fz40 {
    font-size: 3.2rem;
    line-height: 4.8rem;
  }
}
@media only screen and (max-width: 750px) {
  .box-txthead .fz40 {
    font-size: 2.8rem;
    line-height: 4.4rem;
  }
}
.box-txthead .fz38 {
  font-size: 3.8rem;
  line-height: 4.8rem;
}
@media only screen and (max-width: 1180px) {
  .box-txthead .fz38 {
    font-size: 3.4rem;
    line-height: 4.4rem;
  }
}
@media only screen and (max-width: 850px) {
  .box-txthead .fz38 {
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 750px) {
  .box-txthead .fz38 {
    font-size: 2.6rem;
    line-height: 3.6rem;
  }
}
.box-txthead .fz30 {
  font-size: 3rem;
  line-height: 4rem;
}
@media only screen and (max-width: 1180px) {
  .box-txthead .fz30 {
    font-size: 2.6rem;
    line-height: 3.6rem;
  }
}
@media only screen and (max-width: 850px) {
  .box-txthead .fz30 {
    font-size: 2.4rem;
    line-height: 3.4rem;
  }
}
@media only screen and (max-width: 750px) {
  .box-txthead .fz30 {
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
}
.box-txthead .fz28 {
  font-size: 2.8rem;
  line-height: 3.8rem;
}
@media only screen and (max-width: 1180px) {
  .box-txthead .fz28 {
    font-size: 2.4rem;
    line-height: 3.4rem;
  }
}
@media only screen and (max-width: 850px) {
  .box-txthead .fz28 {
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .box-txthead .fz28 {
    font-size: 2rem;
    line-height: 3rem;
  }
}
.box-txthead .polygon-left {
  position: relative;
}
@media only screen and (max-width: 750px) {
  .box-txthead .polygon-left {
    padding-left: 22px;
  }
}
.box-txthead .polygon-left::before {
  content: "";
  position: absolute;
  top: 15px;
  left: -22px;
  z-index: 1;
  width: 10px;
  height: 20px;
  background-image: url("/recruit/assets/images/commons/icn-txthead-polygon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media only screen and (max-width: 750px) {
  .box-txthead .polygon-left::before {
    left: 0;
  }
}
.box-txthead.line-top-btm {
  display: table;
  text-align: center;
  position: relative;
  padding: 25px 10px;
}
@media only screen and (max-width: 1180px) {
  .box-txthead.line-top-btm {
    padding: 20px 10px;
  }
}
.box-txthead.line-top-btm .line-top {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 1px;
  background: #00B772;
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 183, 114)), to(rgb(232, 243, 158)));
  background: linear-gradient(to right, rgb(0, 183, 114) 0%, rgb(232, 243, 158) 100%);
}
.box-txthead.line-top-btm .line-btm {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 1px;
  background: #00B772;
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 183, 114)), to(rgb(232, 243, 158)));
  background: linear-gradient(to right, rgb(0, 183, 114) 0%, rgb(232, 243, 158) 100%);
}
.box-txthead.line-top-btm .line-btm::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 1px;
  background: #00B772;
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 183, 114)), to(rgb(232, 243, 158)));
  background: linear-gradient(to right, rgb(0, 183, 114) 0%, rgb(232, 243, 158) 100%);
}
.box-txthead.line-top-btm.center {
  margin-left: auto;
  margin-right: auto;
}

/* Btn */
.box-btn {
  display: table;
}
.box-btn.mt60 {
  margin-top: 60px;
}
@media only screen and (max-width: 1180px) {
  .box-btn.mt60 {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 750px) {
  .box-btn.mt60 {
    margin-top: 30px;
  }
}
.box-btn.mt50 {
  margin-top: 50px;
}
@media only screen and (max-width: 1180px) {
  .box-btn.mt50 {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 750px) {
  .box-btn.mt50 {
    margin-top: 30px;
  }
}
.box-btn.mt30 {
  margin-top: 30px;
}
.box-btn.center {
  margin-left: auto;
  margin-right: auto;
}

.btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.btn .txt.fz18 {
  font-size: 1.8rem;
  line-height: 2.6rem;
}
.btn .txt.fz16 {
  font-size: 1.6rem;
  line-height: 2.6rem;
}
.btn.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn.square-radius {
  height: 50px;
  border-radius: 25px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1px;
}
.btn.square-radius.medium {
  height: 60px;
  border-radius: 30px;
}
.btn.square-radius.medium .rea {
  padding-right: 75px;
}
.btn.square-radius.medium .rea .circle-white-abs-right {
  border-radius: 32px;
}
.btn.square-radius.large {
  height: 64px;
  border-radius: 32px;
}
.btn.square-radius.large .rea {
  padding-right: 75px;
}
.btn.square-radius.large .rea .circle-white-abs-right {
  border-radius: 32px;
}
.btn.square-radius.large .txt {
  font-size: 1.8rem;
}
.btn.square-radius .rea {
  position: relative;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.btn.square-radius .circle-white-abs-right {
  position: absolute;
  right: 0;
  width: 75px;
  height: 100%;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.btn.square-radius.blue-linear {
  color: #fff;
  background: #009BF4;
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 155, 244)), to(rgb(121, 239, 255)));
  background: linear-gradient(to right, rgb(0, 155, 244) 0%, rgb(121, 239, 255) 100%);
}
.btn.square-radius.green-linear {
  color: #fff;
  background: #00B772;
  background: linear-gradient(10deg, rgb(0, 183, 114) 0%, rgb(232, 243, 158) 100%);
}
.btn.square-radius.orange-linear {
  color: #fff;
  background: #F45E00;
  background: -webkit-gradient(linear, left top, right top, from(rgb(244, 94, 0)), to(rgb(255, 221, 121)));
  background: linear-gradient(to right, rgb(244, 94, 0) 0%, rgb(255, 221, 121) 100%);
}
.btn.square-radius.minw-290 {
  width: 290px;
  min-width: 290px;
}
.btn.square-radius.minw-230 {
  width: 230px;
  min-width: 230px;
}
.btn.square-radius.center {
  margin-left: auto;
  margin-right: auto;
}
.btn.with-icn {
  gap: 10px;
}

/* MV Inner */
#mv-inner {
  position: relative;
  background-image: url("/recruit/assets/images/commons/mv-inner-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#mv-inner #breadcrumb {
  position: absolute;
  top: 30px;
}
@media only screen and (max-width: 750px) {
  #mv-inner #breadcrumb {
    top: 20px;
  }
}
#mv-inner .mv-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 360px;
}
@media only screen and (max-width: 750px) {
  #mv-inner .mv-inner {
    height: 260px;
    padding-top: 30px;
  }
}
#mv-inner .mv-inner h1 {
  font-size: 6rem;
  line-height: 5.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 1180px) {
  #mv-inner .mv-inner h1 {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 750px) {
  #mv-inner .mv-inner h1 {
    font-size: 3.4rem;
    line-height: 4.4rem;
  }
}
#mv-inner .mv-inner h1 span {
  display: block;
  margin-top: 5px;
  padding-left: 20px;
  font-size: 2.4rem;
  background-image: url("/recruit/assets/images/commons/icn-txthead-polygon.svg");
  background-repeat: no-repeat;
  background-position: top 17px left;
  background-size: 10px;
}
@media only screen and (max-width: 750px) {
  #mv-inner .mv-inner h1 span {
    font-size: 2rem;
    background-position: top 12px left;
  }
}

/* Breadcrumb */
#breadcrumb {
  width: 100%;
}
#breadcrumb .breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#breadcrumb .breadcrumb ul li {
  font-size: 1.4rem;
  line-height: 2.5rem;
  margin-right: 8px;
  padding-right: 15px;
  position: relative;
}
#breadcrumb .breadcrumb ul li:last-child {
  margin-right: 0;
  padding-right: 0;
}
#breadcrumb .breadcrumb ul li:last-child::after {
  display: none;
}
#breadcrumb .breadcrumb ul li::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 0;
  z-index: 1;
  display: block;
  width: 5px;
  height: 8px;
  background-image: url("/recruit/assets/images/commons/breadcrumb-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#breadcrumb .breadcrumb ul li a {
  color: #D6D6D6;
}

/* Animate */
.wow {
  visibility: hidden;
}

.animated {
  -webkit-animation-duration: 1s cubic-bezier(0.1, 0.9, 0.55, 0.95);
  animation-duration: 1s cubic-bezier(0.1, 0.9, 0.55, 0.95);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.hinge {
  -webkit-animation-duration: 1s cubic-bezier(0.1, 0.9, 0.55, 0.95);
  animation-duration: 1s cubic-bezier(0.1, 0.9, 0.55, 0.95);
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

.rotate-center {
  will-change: transform;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-animation: rotateCenter 4s linear infinite alternate;
  animation: rotateCenter 4s linear infinite alternate;
}

@-webkit-keyframes rotateCenter {
  0% {
    -webkit-transform: rotate(-6deg);
    transform: rotate(-6deg);
  }
  100% {
    -webkit-transform: rotate(6deg);
    transform: rotate(6deg);
  }
}
@keyframes rotateCenter {
  0% {
    -webkit-transform: rotate(-6deg);
    transform: rotate(-6deg);
  }
  100% {
    -webkit-transform: rotate(6deg);
    transform: rotate(6deg);
  }
}
.rotate-center-reverse {
  will-change: transform;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-animation: rotateCenterReverse 4s linear infinite alternate;
  animation: rotateCenterReverse 4s linear infinite alternate;
}

@-webkit-keyframes rotateCenterReverse {
  0% {
    -webkit-transform: rotate(6deg);
    transform: rotate(6deg);
  }
  100% {
    -webkit-transform: rotate(-6deg);
    transform: rotate(-6deg);
  }
}
@keyframes rotateCenterReverse {
  0% {
    -webkit-transform: rotate(6deg);
    transform: rotate(6deg);
  }
  100% {
    -webkit-transform: rotate(-6deg);
    transform: rotate(-6deg);
  }
}
.move45 {
  will-change: transform;
  -webkit-animation: move45 4s linear infinite alternate;
  animation: move45 4s linear infinite alternate;
}

@-webkit-keyframes move45 {
  0% {
    -webkit-transform: translate(-5px, 5px);
    transform: translate(-5px, 5px);
  }
  100% {
    -webkit-transform: translate(5px, -5px);
    transform: translate(5px, -5px);
  }
}
@keyframes move45 {
  0% {
    -webkit-transform: translate(-5px, 5px);
    transform: translate(-5px, 5px);
  }
  100% {
    -webkit-transform: translate(5px, -5px);
    transform: translate(5px, -5px);
  }
}
@-webkit-keyframes slideRight {
  from {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(100vw);
    transform: translateX(100vw);
  }
}
@keyframes slideRight {
  from {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(100vw);
    transform: translateX(100vw);
  }
}
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

.page-inner header {
  background-color: #fff !important;
}

/* Header */
header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 15;
  width: 100%;
  background: #4D4D4D;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(77, 77, 77, 0.05)), to(rgba(77, 77, 77, 0)));
  background: linear-gradient(rgba(77, 77, 77, 0.05) 0%, rgba(77, 77, 77, 0) 100%);
}
@media only screen and (max-width: 750px) {
  header {
    background-color: #fff;
  }
}
header.with-background {
  background-color: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(10px);
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
}
@media only screen and (max-width: 750px) {
  header.with-background {
    background-color: #fff;
  }
}
header .header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 90px;
}
@media only screen and (max-width: 750px) {
  header .header {
    height: 70px;
  }
}
header .header .col-l a {
  display: table;
}
header .header .col-r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 15px;
}
@media only screen and (max-width: 1180px) {
  header .header .col-r .menu {
    display: none;
  }
}
header .header .col-r .menu .menu-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 30px;
  margin-bottom: 8px;
}
header .header .col-r .menu .menu-sub a {
  display: block;
  font-size: 1.4rem;
  line-height: 2rem;
  background-image: url("/recruit/assets/images/commons/icn-arrow-small-green.svg");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 5px;
  padding-left: 10px;
}
header .header .col-r .menu .menu-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 1280px) {
  header .header .col-r .menu .menu-main {
    gap: 20px;
  }
}
header .header .col-r .menu .menu-main a {
  display: block;
  font-weight: 500;
}
header .header .col-r .button {
  width: 150px;
  min-width: 150px;
}
@media only screen and (max-width: 1180px) {
  header .header .col-r .button {
    display: none;
  }
}
header .header .col-r .btn-burger {
  display: none;
}
@media only screen and (max-width: 1180px) {
  header .header .col-r .btn-burger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
header .header .col-r .btn-burger .bar-icon {
  position: relative;
  display: inline-block;
}
header .header .col-r .btn-burger .bar-icon:hover {
  opacity: 1;
}
header .header .col-r .btn-burger .bar-icon .bar1,
header .header .col-r .btn-burger .bar-icon .bar2,
header .header .col-r .btn-burger .bar-icon .bar3 {
  width: 44px;
  height: 4px;
  background-color: #000;
  margin: 10px 0;
  border-radius: 5px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
header .header .col-r .btn-burger .open .bar1 {
  -webkit-transform: rotate(-45deg) translate(-11px, 9px);
  transform: rotate(-45deg) translate(-11px, 9px);
}
header .header .col-r .btn-burger .open .bar2 {
  opacity: 0;
}
header .header .col-r .btn-burger .open .bar3 {
  -webkit-transform: rotate(45deg) translate(-11px, -9px);
  transform: rotate(45deg) translate(-11px, -9px);
}

/* Menu Responsive */
.menu-responsive {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 14;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(10px);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 135px 5% 50px 5%;
  opacity: 0;
  visibility: hidden;
  overflow: auto;
}
@media only screen and (max-width: 1180px) {
  .menu-responsive {
    display: block;
  }
}
.menu-responsive.active {
  opacity: 1;
  visibility: visible;
}
.menu-responsive .box-content {
  min-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.menu-responsive .box-content nav a {
  display: table;
  margin-left: auto;
  margin-right: auto;
  font-size: 2.4rem;
  line-height: 3.4rem;
  font-weight: 700;
}
.menu-responsive .box-content nav a + a {
  margin-top: 30px;
}
.menu-responsive .box-content ul {
  margin-top: 35px;
}
.menu-responsive .box-content ul li + li {
  margin-top: 20px;
}
.menu-responsive .box-content ul li a {
  display: table;
  margin-left: auto;
  margin-right: auto;
  font-size: 2rem;
  line-height: 2.6rem;
  background-image: url("/recruit/assets/images/commons/icn-arrow-small-green.svg");
  background-repeat: no-repeat;
  background-position: top 6px left;
  background-size: 7px;
  padding-left: 15px;
}
.menu-responsive .box-content .box-btn {
  margin-top: 40px;
}
.menu-responsive .box-content .box-btn a {
  font-size: 2.4rem;
  line-height: 3.4rem;
}
.menu-responsive .box-content .box-btn a.square-radius {
  height: 60px;
  border-radius: 30px;
}
.menu-responsive .box-content .box-btn a + a {
  margin-top: 30px;
}

.active-mn-01 .mn-01 .hover-underline,
.active-mn-02 .mn-02 .hover-underline,
.active-mn-03 .mn-03 .hover-underline,
.active-mn-04 .mn-04 .hover-underline,
.active-mn-05 .mn-05 .hover-underline {
  background-size: 100% 1px;
}

/* Footer */
footer {
  position: relative;
  z-index: 10;
  padding: 70px 0 25px 0;
  background-color: #fff;
}
@media only screen and (max-width: 1180px) {
  footer {
    padding: 50px 0 25px 0;
  }
}
footer .footer .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 850px) {
  footer .footer .flex {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
footer .footer .flex .col-l a {
  display: table;
}
footer .footer .flex .col-r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 45px;
}
@media only screen and (max-width: 850px) {
  footer .footer .flex .col-r {
    display: none;
  }
}
footer .footer .flex .col-r .menu-main a {
  display: block;
  font-weight: 500;
}
footer .footer .flex .col-r .menu-main a + a {
  margin-top: 25px;
}
footer .footer .flex .col-r .menu-sub a {
  display: block;
  font-size: 1.4rem;
  line-height: 2rem;
  background-image: url("/recruit/assets/images/commons/icn-arrow-small-green.svg");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 5px;
  padding-left: 10px;
}
footer .footer .flex .col-r .menu-sub a + a {
  margin-top: 25px;
}
footer .footer .copyright {
  margin-top: 60px;
}
@media only screen and (max-width: 850px) {
  footer .footer .copyright {
    margin-top: 30px;
  }
}
footer .footer .copyright p {
  font-size: 1.3rem;
  line-height: 2rem;
}
@media only screen and (max-width: 850px) {
  footer .footer .copyright p {
    text-align: center;
  }
}

.page-top {
  background-image: url("/recruit/assets/images/top/top-bg.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 1920px;
}

.banner-fixed {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9;
}
@media only screen and (max-width: 750px) {
  .banner-fixed {
    bottom: 10px;
    right: 10px;
    width: 98px;
  }
}
.banner-fixed a {
  display: block;
}

/* MV */
#mv {
  overflow: hidden;
}
#mv .mv {
  position: relative;
}
@media only screen and (max-width: 750px) {
  #mv .mv {
    display: none;
  }
}
#mv .mv .abs {
  position: absolute;
}
#mv .mv .abs.imgb {
  width: 70.21%;
  right: 0%;
  z-index: 2;
}
#mv .mv .abs.imgs-01 {
  width: 31.74%;
  top: 12.26%;
  left: 11.6%;
  z-index: 2;
}
#mv .mv .abs.imgs-02 {
  width: 31.74%;
  top: 42.57%;
  left: 12.64%;
  z-index: 2;
}
#mv .mv .abs.h1 {
  width: 32.57%;
  bottom: 0%;
  left: 6.18%;
  z-index: 3;
}
#mv .mv .abs.polygon {
  width: 21.6%;
  top: 0.71%;
  z-index: 1;
}
#mv .mv .abs img {
  width: 100%;
  height: auto;
}
#mv .mv .opacity {
  opacity: 0.5;
}
#mv .mv-sp {
  display: none;
}
@media only screen and (max-width: 750px) {
  #mv .mv-sp {
    display: block;
  }
}
#mv .mv-sp h1 {
  width: 85%;
  margin-top: -40px;
  padding-left: 5%;
}

/* Intro */
#intro {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media only screen and (max-width: 750px) {
  #intro {
    padding-top: 30px;
  }
}
#intro .intro {
  position: relative;
}
#intro .intro .box-content p {
  font-size: 2.2rem;
  line-height: 4.3rem;
}
@media only screen and (max-width: 1180px) {
  #intro .intro .box-content p {
    font-size: 2rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 850px) {
  #intro .intro .box-content p {
    font-size: 1.8rem;
    line-height: 3.8rem;
  }
}
@media only screen and (max-width: 750px) {
  #intro .intro .box-content p {
    font-size: 1.6rem;
    line-height: 3.4rem;
  }
}
@media only screen and (max-width: 750px) {
  #intro .intro .box-btn {
    margin-left: auto;
    margin-right: auto;
  }
}
#intro .intro .obj {
  position: absolute;
  z-index: -1;
}
#intro .intro .obj.no1 {
  width: 8.2%;
  top: -40px;
  right: 29.69%;
}
@media only screen and (max-width: 750px) {
  #intro .intro .obj.no1 {
    width: 12.2%;
    top: 0;
    right: 6%;
  }
}
#intro .intro .obj.no2 {
  width: 3.91%;
  top: 260px;
  left: -11.23%;
}
@media only screen and (max-width: 750px) {
  #intro .intro .obj.no2 {
    width: 5.91%;
    left: 5px;
    top: inherit;
    bottom: 20px;
  }
}
#intro .intro .obj.no3 {
  width: 3.32%;
  right: 17.58%;
  bottom: -5.66%;
}
@media only screen and (max-width: 750px) {
  #intro .intro .obj.no3 {
    width: 5.32%;
    right: 7%;
    bottom: -6.66%;
  }
}

/* Business */
#business {
  margin-top: -175px;
  margin-bottom: -50px;
  background-image: url("/recruit/assets/images/top/business-bg.webp");
  background-repeat: repeat-x;
  background-position: center;
  background-size: cover;
}
#business .business {
  padding-top: 275px;
  padding-bottom: 200px;
}
@media only screen and (max-width: 850px) {
  #business .business {
    padding-top: 225px;
    padding-bottom: 150px;
  }
}
#business .business .box-content .box-white {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 50px;
  background-color: #fff;
  -webkit-box-shadow: 3px 6px 16px 0 rgba(0, 0, 0, 0.07);
          box-shadow: 3px 6px 16px 0 rgba(0, 0, 0, 0.07);
}
@media only screen and (max-width: 1180px) {
  #business .business .box-content .box-white {
    padding: 40px;
  }
}
@media only screen and (max-width: 850px) {
  #business .business .box-content .box-white {
    display: block;
  }
}
@media only screen and (max-width: 750px) {
  #business .business .box-content .box-white {
    padding: 30px;
  }
}
#business .business .box-content .box-white .col-img {
  width: 54.53%;
  max-width: 578px;
}
@media only screen and (max-width: 850px) {
  #business .business .box-content .box-white .col-img {
    display: none;
  }
}
#business .business .box-content .box-white .col-text {
  width: 45.47%;
}
@media only screen and (max-width: 850px) {
  #business .business .box-content .box-white .col-text {
    width: 100%;
  }
}
#business .business .box-content .box-white .col-text h3 {
  font-size: 4rem;
  line-height: 5.6rem;
  font-weight: 600;
  margin-bottom: 25px;
}
@media only screen and (max-width: 1180px) {
  #business .business .box-content .box-white .col-text h3 {
    font-size: 3rem;
    line-height: 4.4rem;
  }
}
@media only screen and (max-width: 850px) {
  #business .business .box-content .box-white .col-text h3 {
    font-size: 2.6rem;
    line-height: 4rem;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 750px) {
  #business .business .box-content .box-white .col-text h3 {
    font-size: 2.4rem;
    line-height: 3.4rem;
    margin-bottom: 15px;
  }
}
#business .business .box-content .box-white .col-text h3 span {
  display: block;
  font-size: 1.8rem;
  line-height: 2.8rem;
  color: #019426;
  font-weight: 500;
  margin-bottom: 12px;
}
@media only screen and (max-width: 750px) {
  #business .business .box-content .box-white .col-text h3 span {
    font-size: 1.4rem;
    line-height: 2.4rem;
    margin-bottom: 6px;
  }
}
#business .business .box-content .box-white .col-text p {
  padding-right: 20px;
}
@media only screen and (max-width: 850px) {
  #business .business .box-content .box-white .col-text p {
    padding-right: 0;
  }
}
#business .business .box-content .box-white .col-text .img-sp {
  display: none;
  margin-top: 20px;
}
@media only screen and (max-width: 850px) {
  #business .business .box-content .box-white .col-text .img-sp {
    display: block;
  }
}
@media only screen and (max-width: 850px) {
  #business .business .box-content .box-white .col-text .box-btn {
    margin-left: auto;
    margin-right: auto;
  }
}

/* Interview */
#interview {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-image: url("/recruit/assets/images/top/interview-bg.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
#interview .interview {
  position: relative;
}
@media only screen and (max-width: 750px) {
  #interview .interview .box-txthead {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 750px) {
  #interview .interview .box-content > p {
    padding-left: 22px;
  }
}
#interview .interview .obj {
  position: absolute;
  z-index: -1;
}
#interview .interview .obj.no1 {
  width: 2.93%;
  top: 100px;
  right: 29.66%;
}
@media only screen and (max-width: 750px) {
  #interview .interview .obj.no1 {
    width: 5.93%;
    right: 2.5%;
    top: 80px;
  }
}
#interview .interview .obj.no2 {
  width: 5.09%;
  top: 45%;
  left: -3.88%;
}
@media only screen and (max-width: 750px) {
  #interview .interview .obj.no2 {
    width: 9%;
    top: 29%;
    left: 4%;
  }
}
#interview .interview .obj.no3 {
  width: 2.93%;
  right: -3.45%;
  bottom: -8.62%;
}
@media only screen and (max-width: 750px) {
  #interview .interview .obj.no3 {
    width: 8.93%;
    bottom: 30%;
    right: 10%;
  }
}

.interview-list {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  grid-row-gap: 80px;
  margin-top: 50px;
}
@media only screen and (max-width: 1180px) {
  .interview-list {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
}
@media only screen and (max-width: 850px) {
  .interview-list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 750px) {
  .interview-list {
    margin-top: 20px;
    grid-row-gap: 20px;
  }
}
.interview-list .col {
  width: 45%;
  max-width: 330px;
  min-width: 330px;
}
@media only screen and (max-width: 750px) {
  .interview-list .col {
    margin-left: auto;
    margin-right: auto;
    padding-left: 25px;
  }
}
.interview-list .col .img {
  position: relative;
}
.interview-list .col .img img {
  width: 91.82%;
  max-width: 302px;
}
.interview-list .col .img .abs {
  position: absolute;
}
.interview-list .col .img .abs.l {
  left: -5px;
  top: 31%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.interview-list .col .img .abs.l p {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.interview-list .col .img .abs.l p.year {
  font-size: 1.3rem;
  color: #666;
  letter-spacing: 3px;
}
.interview-list .col .img .abs.l p.name {
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 6px;
}
.interview-list .col .img .abs.l p.name span + span {
  margin-top: 12px;
}
.interview-list .col .img .abs.r {
  top: 30px;
  right: 0;
}
.interview-list .col .img .abs.r p {
  font-size: 1.8rem;
  line-height: 2.3rem;
  font-weight: 700;
  letter-spacing: 6px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.interview-list .col .brief {
  margin-top: 15px;
}
.interview-list .col .brief p {
  font-size: 2.2rem;
  line-height: 3.4rem;
}
@media only screen and (max-width: 1180px) {
  .interview-list .col .brief p {
    font-size: 2rem;
    line-height: 3.2rem;
  }
}
@media only screen and (max-width: 750px) {
  .interview-list .col .box-btn {
    margin-top: 20px;
  }
}

/* Data */
#data {
  background-image: url("/recruit/assets/images/top/data-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media only screen and (max-width: 750px) {
  #data {
    background-image: url("/recruit/assets/images/top/data-bg-sp.webp");
  }
}
#data .data .box-content p {
  text-align: center;
}

/* Env */
#env {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-image: url("/recruit/assets/images/top/env-bg.webp");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 1920px;
  padding-top: 200px;
}
@media only screen and (max-width: 850px) {
  #env {
    padding-top: 125px;
  }
}
@media only screen and (max-width: 750px) {
  #env {
    padding-top: 100px;
  }
}
#env .env {
  position: relative;
}
#env .env .env-content {
  width: 100%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
}
@media only screen and (max-width: 850px) {
  #env .env .env-content {
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 750px) {
  #env .env .env-content .box-txthead {
    margin-bottom: 5px;
  }
}
#env .env .env-content .box-content > p {
  line-height: 3.2rem;
}
@media only screen and (max-width: 750px) {
  #env .env .env-content .box-content > p {
    padding-left: 22px;
  }
}
#env .env .obj {
  position: absolute;
  z-index: -1;
}
#env .env .obj.no1 {
  width: 1.67%;
  top: 120px;
  right: 17.46%;
}
@media only screen and (max-width: 1180px) {
  #env .env .obj.no1 {
    top: 80px;
  }
}
@media only screen and (max-width: 750px) {
  #env .env .obj.no1 {
    width: 3%;
    top: -80px;
    right: 5%;
  }
}
#env .env .obj.no2 {
  width: 6.9%;
  top: 8%;
  left: 0;
}
@media only screen and (max-width: 1180px) {
  #env .env .obj.no2 {
    top: 63%;
  }
}
@media only screen and (max-width: 750px) {
  #env .env .obj.no2 {
    width: 14%;
    top: 55%;
    left: 2.5%;
  }
}

/* Application */
#app {
  position: relative;
  z-index: 1;
  padding: 15px;
  background: #5BCEFF;
  background: linear-gradient(10deg, rgba(91, 206, 255, 0.56) 0%, rgba(109, 206, 190, 0.56) 26%, rgba(119, 205, 158, 0.56) 41%, rgba(149, 215, 147, 0.56) 63%, rgba(191, 226, 139, 0.56) 80%, rgba(223, 236, 145, 0.56) 91%, rgba(255, 246, 151, 0.56) 100%);
  overflow: hidden;
}
#app .app-box {
  background-color: rgba(255, 255, 255, 0.74);
  border-radius: 20px;
}
@media only screen and (max-width: 750px) {
  #app .app-box {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
@media only screen and (max-width: 750px) {
  #app .app-box .app .box-txthead {
    margin-bottom: 20px;
  }
}
#app .app-box .app .box-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 24px;
  -moz-column-gap: 24px;
  column-gap: 24px;
  grid-row-gap: 15px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#app .marquee {
  position: absolute;
  bottom: 0;
  z-index: -1;
  font-size: 16rem;
  line-height: 7.6rem;
  font-weight: 300;
  color: #fff;
  white-space: nowrap;
  opacity: 0.68;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 75px;
  -webkit-animation: marqueeScroll 40s linear infinite;
  animation: marqueeScroll 40s linear infinite;
}
@media only screen and (max-width: 1180px) {
  #app .marquee {
    font-size: 13rem;
  }
}
@media only screen and (max-width: 850px) {
  #app .marquee {
    font-size: 10rem;
    bottom: -8px;
  }
}

@-webkit-keyframes marqueeScroll {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@keyframes marqueeScroll {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
/* Job */
#job {
  background-image: url("/recruit/assets/images/job/bg.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
#job.des {
  background-image: url("/recruit/assets/images/job/bg-des.webp");
}
#job .job .text-intro {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
#job .job .text-intro p {
  line-height: 3.2rem;
  text-align: center;
}
#job .job .job-support {
  margin-top: 50px;
}
@media only screen and (max-width: 750px) {
  #job .job .job-support .box-txthead {
    margin-bottom: 40px;
  }
}
#job .job .job-support .box-content .support-list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}
@media only screen and (max-width: 1180px) {
  #job .job .job-support .box-content .support-list .item {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}
@media only screen and (max-width: 750px) {
  #job .job .job-support .box-content .support-list .item {
    display: block;
  }
}
#job .job .job-support .box-content .support-list .item + .item {
  margin-top: 40px;
  padding-top: 41px;
}
#job .job .job-support .box-content .support-list .item + .item::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 41.61%;
  height: 1px;
  background-color: #c8c8c8;
}
@media only screen and (max-width: 750px) {
  #job .job .job-support .box-content .support-list .item + .item::before {
    width: 100%;
  }
}
#job .job .job-support .box-content .support-list .item .cover {
  width: 52.23%;
  max-width: 628px;
}
@media only screen and (max-width: 750px) {
  #job .job .job-support .box-content .support-list .item .cover {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
#job .job .job-support .box-content .support-list .item .brief {
  width: 41.61%;
}
@media only screen and (max-width: 750px) {
  #job .job .job-support .box-content .support-list .item .brief {
    width: 100%;
    margin-top: 20px;
  }
}
#job .job .job-support .box-content .support-list .item .brief .topic {
  font-size: 3rem;
  line-height: 4rem;
  font-weight: 500;
  margin-bottom: 20px;
}
@media only screen and (max-width: 1180px) {
  #job .job .job-support .box-content .support-list .item .brief .topic {
    font-size: 2.4rem;
    line-height: 3.4rem;
  }
}
@media only screen and (max-width: 750px) {
  #job .job .job-support .box-content .support-list .item .brief .topic {
    font-size: 2rem;
    line-height: 3rem;
    margin-bottom: 10px;
  }
}
#job .job .job-support .box-content .support-list .item .brief .topic .no {
  display: block;
  font-size: 4.5rem;
  line-height: 4.5rem;
  font-weight: 700;
  background: #5BCEFF;
  background: linear-gradient(325deg, rgb(91, 206, 255) 0%, rgb(109, 206, 190) 7%, rgb(119, 205, 158) 13%, rgb(123, 205, 142) 21%, rgb(131, 209, 148) 25%, rgb(190, 236, 190) 43%, rgb(169, 226, 169) 52%, rgb(149, 215, 147) 60%, rgb(153, 217, 148) 70%, rgb(255, 246, 151) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media only screen and (max-width: 1180px) {
  #job .job .job-support .box-content .support-list .item .brief .topic .no {
    font-size: 4rem;
    line-height: 4rem;
  }
}
#job .job .job-support .box-content .support-list .item .brief .text p {
  line-height: 3.2rem;
}
@media only screen and (max-width: 750px) {
  #job .job .job-support .box-content .support-list .item .brief .text p {
    line-height: 3rem;
  }
}
#job .job .job-des .box-white {
  padding: 50px 60px;
  background-color: #fff;
}
@media only screen and (max-width: 1180px) {
  #job .job .job-des .box-white {
    padding: 40px 50px;
  }
}
@media only screen and (max-width: 850px) {
  #job .job .job-des .box-white {
    padding: 30px 40px;
  }
}
@media only screen and (max-width: 750px) {
  #job .job .job-des .box-white {
    padding: 30px;
  }
}
#job .job .job-des .box-white .table .tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 31px;
  border-bottom: 1px solid #c7c7c7;
}
@media only screen and (max-width: 850px) {
  #job .job .job-des .box-white .table .tr {
    padding-bottom: 21px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 750px) {
  #job .job .job-des .box-white .table .tr {
    padding-left: 0;
    padding-right: 0;
  }
}
#job .job .job-des .box-white .table .tr + .tr {
  margin-top: 30px;
}
@media only screen and (max-width: 850px) {
  #job .job .job-des .box-white .table .tr + .tr {
    margin-top: 20px;
  }
}
#job .job .job-des .box-white .table .tr .td {
  width: 100%;
  line-height: 3.2rem;
}
#job .job .job-des .box-white .table .tr .td:first-child {
  width: 160px;
  min-width: 160px;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  #job .job .job-des .box-white .table .tr .td:first-child {
    width: 120px;
    min-width: 120px;
  }
}

.job-related {
  margin-top: 135px;
}
@media only screen and (max-width: 1180px) {
  .job-related {
    margin-top: 100px;
  }
}
@media only screen and (max-width: 850px) {
  .job-related {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 750px) {
  .job-related {
    margin-top: 60px;
  }
}
.job-related .box-content .related-list {
  width: 100%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr [2];
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 850px) {
  .job-related .box-content .related-list {
    grid-row-gap: 20px;
    max-width: 660px;
    -ms-grid-columns: 1fr [1];
    grid-template-columns: repeat(1, 1fr);
  }
}
.job-related .box-content .related-list .item {
  margin: 0 -45px;
  -webkit-filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.09));
  filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.09));
}
@media only screen and (max-width: 850px) {
  .job-related .box-content .related-list .item {
    margin: 0;
  }
}
.job-related .box-content .related-list .item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
  clip-path: polygon(19% 0, 100% 0, 81% 100%, 0% 100%);
}
.job-related .box-content .related-list .item a:hover {
  opacity: 1;
}
.job-related .box-content .related-list .item a .cover {
  width: 58%;
  clip-path: polygon(33% 0, 100% 0, 67% 100%, 0% 100%);
}
@media only screen and (max-width: 750px) {
  .job-related .box-content .related-list .item a .cover {
    width: 50%;
  }
}
.job-related .box-content .related-list .item a .cover img {
  width: 100%;
  height: auto;
}
.job-related .box-content .related-list .item a .brief {
  width: 42%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 15px;
  font-size: 1.8rem;
  line-height: 2.6rem;
  font-weight: 700;
  margin-left: -30px;
}
@media only screen and (max-width: 850px) {
  .job-related .box-content .related-list .item a .brief {
    margin-left: -10px;
  }
}
@media only screen and (max-width: 750px) {
  .job-related .box-content .related-list .item a .brief {
    width: 50%;
    font-size: 1.2rem;
    line-height: 2rem;
  }
}

/* Interview */
#mv-interview {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 620px;
  background-image: url("/recruit/assets/images/interview/mv-bg.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
@media only screen and (max-width: 1180px) {
  #mv-interview {
    height: 420px;
  }
}
@media only screen and (max-width: 850px) {
  #mv-interview {
    height: 320px;
  }
}
@media only screen and (max-width: 750px) {
  #mv-interview {
    height: 400px;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}
#mv-interview .mv-interview {
  position: relative;
  z-index: 2;
}
#mv-interview .mv-interview h1 {
  display: inline;
  font-size: clamp(2rem, 3vw, 5.5rem);
  line-height: clamp(4rem, 6.25vw, 11rem);
  font-weight: 500;
  background-color: white;
  padding: 7px 22px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media only screen and (max-width: 1180px) {
  #mv-interview .mv-interview h1 {
    font-size: 3rem;
    line-height: 7rem;
  }
}
@media only screen and (max-width: 850px) {
  #mv-interview .mv-interview h1 {
    font-size: 2.4rem;
    line-height: 6rem;
    padding: 7px 15px;
  }
}
@media only screen and (max-width: 750px) {
  #mv-interview .mv-interview h1 {
    font-size: 2.2rem;
    line-height: 5.2rem;
  }
}
#mv-interview .mv-interview .text {
  margin-top: 50px;
}
@media only screen and (max-width: 1180px) {
  #mv-interview .mv-interview .text {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 750px) {
  #mv-interview .mv-interview .text {
    display: table;
    margin-top: 15px;
    margin-bottom: 7%;
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(3px);
    padding: 7px 15px;
  }
}
#mv-interview .mv-interview .text p {
  font-weight: 500;
  padding-left: 25px;
}
@media only screen and (max-width: 750px) {
  #mv-interview .mv-interview .text p {
    font-size: 1.4rem;
    line-height: 2.4rem;
    padding-left: 0;
  }
}
#mv-interview .mv-interview .text p + p {
  margin-top: 7px;
}
@media only screen and (max-width: 750px) {
  #mv-interview .mv-interview .text p + p {
    margin-top: 0;
  }
}
#mv-interview .mv-interview .text p.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#mv-interview .mv-interview .text p.flex span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
#mv-interview .mv-interview .text p.flex span.name {
  font-size: 2.5rem;
  font-weight: 600;
  margin-left: 18px;
  padding-left: 19px;
}
@media only screen and (max-width: 1180px) {
  #mv-interview .mv-interview .text p.flex span.name {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 750px) {
  #mv-interview .mv-interview .text p.flex span.name {
    margin-left: 10px;
    padding-left: 11px;
    font-size: 1.6rem;
  }
}
#mv-interview .mv-interview .text p.flex span.name::before {
  content: "";
  position: absolute;
  left: 0;
  width: 1px;
  height: 20px;
  background-color: #000;
}
#mv-interview .mv-interview-img {
  position: absolute;
  right: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#mv-interview .mv-interview-img img {
  width: auto;
  height: 100%;
  margin-left: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

#interview-inner {
  background-image: url("/recruit/assets/images/interview/bg-detail.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
#interview-inner.detail {
  background-image: url("/recruit/assets/images/interview/bg-btm-right.webp"), url("/recruit/assets/images/interview/bg-detail.webp");
  background-repeat: no-repeat;
  background-position: bottom right, top center;
  background-size: 46.38%, cover;
}
#interview-inner .interview-inner .box-des .row.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 850px) {
  #interview-inner .interview-inner .box-des .row.flex {
    display: block;
  }
}
#interview-inner .interview-inner .box-des .row.flex.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
#interview-inner .interview-inner .box-des .row.row01 .text {
  width: 46.92%;
  padding-left: 11%;
  padding-right: 20px;
}
@media only screen and (max-width: 1180px) {
  #interview-inner .interview-inner .box-des .row.row01 .text {
    padding-left: 0;
  }
}
@media only screen and (max-width: 850px) {
  #interview-inner .interview-inner .box-des .row.row01 .text {
    width: 100%;
    padding-right: 0;
  }
}
#interview-inner .interview-inner .box-des .row.row01 .img {
  width: 53.08%;
  max-width: 743px;
}
@media only screen and (max-width: 850px) {
  #interview-inner .interview-inner .box-des .row.row01 .img {
    width: 75%;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 750px) {
  #interview-inner .interview-inner .box-des .row.row01 .img {
    margin-top: 20px;
  }
}
#interview-inner .interview-inner .box-des .row.row02 {
  position: relative;
  z-index: 1;
  margin-top: 100px;
  padding-top: 90px;
}
@media only screen and (max-width: 1180px) {
  #interview-inner .interview-inner .box-des .row.row02 {
    margin-top: 60px;
    padding-top: 50px;
  }
}
@media only screen and (max-width: 850px) {
  #interview-inner .interview-inner .box-des .row.row02 {
    margin-top: 60px;
    padding-top: 0;
  }
}
@media only screen and (max-width: 750px) {
  #interview-inner .interview-inner .box-des .row.row02 {
    margin-top: 50px;
  }
}
#interview-inner .interview-inner .box-des .row.row02::after {
  content: "";
  position: absolute;
  top: 0;
  left: -730px;
  z-index: -1;
  width: 84.28%;
  max-width: 1180px;
  height: 1338px;
  background-image: url("/recruit/assets/images/interview/row02-bg.webp");
  background-repeat: no-repeat;
  background-position: top left;
  background-size: contain;
}
@media only screen and (max-width: 1180px) {
  #interview-inner .interview-inner .box-des .row.row02::after {
    left: -53%;
  }
}
@media only screen and (max-width: 850px) {
  #interview-inner .interview-inner .box-des .row.row02::after {
    top: 60%;
    left: -40%;
  }
}
@media only screen and (max-width: 750px) {
  #interview-inner .interview-inner .box-des .row.row02::after {
    top: 70%;
    left: -35%;
  }
}
#interview-inner .interview-inner .box-des .row.row02 .text {
  width: 50.71%;
  padding-left: 5%;
  padding-right: 11%;
}
@media only screen and (max-width: 1180px) {
  #interview-inner .interview-inner .box-des .row.row02 .text {
    padding-right: 0;
  }
}
@media only screen and (max-width: 850px) {
  #interview-inner .interview-inner .box-des .row.row02 .text {
    width: 100%;
    padding-left: 0;
  }
}
#interview-inner .interview-inner .box-des .row.row02 .img {
  width: 49.29%;
  max-width: 690px;
}
@media only screen and (max-width: 850px) {
  #interview-inner .interview-inner .box-des .row.row02 .img {
    width: 75%;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
  }
}
#interview-inner .interview-inner .box-des .row.row03 {
  max-width: 940px;
  margin-top: 100px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 1180px) {
  #interview-inner .interview-inner .box-des .row.row03 {
    margin-top: 60px;
  }
}
#interview-inner .interview-inner .box-des .row .box-txthead {
  margin-bottom: 20px;
  position: relative;
  padding-left: 30px;
}
@media only screen and (max-width: 750px) {
  #interview-inner .interview-inner .box-des .row .box-txthead {
    margin-bottom: 10px;
  }
}
#interview-inner .interview-inner .box-des .row .box-txthead::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 20px;
  height: 37px;
  background-image: url("/recruit/assets/images/commons/icn-txthead-polygon.svg");
  background-position: center;
  background-size: contain;
}
@media only screen and (max-width: 850px) {
  #interview-inner .interview-inner .box-des .row .box-txthead::before {
    width: 15px;
    height: 32px;
  }
}
#interview-inner .interview-inner .box-des .row .box-content {
  padding-left: 30px;
}
#interview-inner .interview-inner .box-des .row .box-content p {
  line-height: 3.2rem;
}
#interview-inner .interview-inner .box-holiday {
  max-width: 1024px;
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 45px;
  background-color: #fff;
}
@media only screen and (max-width: 1180px) {
  #interview-inner .interview-inner .box-holiday {
    margin-top: 60px;
  }
}
@media only screen and (max-width: 850px) {
  #interview-inner .interview-inner .box-holiday {
    padding: 30px;
  }
}
@media only screen and (max-width: 750px) {
  #interview-inner .interview-inner .box-holiday {
    margin-top: 40px;
  }
}
#interview-inner .interview-inner .box-holiday .box-txthead {
  margin-bottom: 20px;
}
@media only screen and (max-width: 750px) {
  #interview-inner .interview-inner .box-holiday .box-txthead {
    margin-bottom: 10px;
  }
}
#interview-inner .interview-inner .box-holiday .box-txthead h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
}
#interview-inner .interview-inner .box-holiday .box-content {
  padding-left: 45px;
  line-height: 3.2rem;
}

/* Numbers */
#numbers {
  background-image: url("/recruit/assets/images/number/bg.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
#numbers .numbers {
  max-width: 1000px;
}
#numbers .numbers .grid-layout {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr [2];
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media only screen and (max-width: 850px) {
  #numbers .numbers .grid-layout {
    display: block;
  }
}
#numbers .numbers .grid-layout .item {
  background-color: #fff;
  padding: 35px 30px;
  -webkit-box-shadow: 0 0 14px 2px rgba(0, 0, 0, 0.07);
          box-shadow: 0 0 14px 2px rgba(0, 0, 0, 0.07);
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item {
    padding: 30px 25px;
  }
}
@media only screen and (max-width: 850px) {
  #numbers .numbers .grid-layout .item + .item {
    margin-top: 25px;
  }
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item + .item {
    margin-top: 20px;
  }
}
#numbers .numbers .grid-layout .item .topic {
  font-size: 2.2rem;
  line-height: 3.2rem;
  font-weight: 500;
  text-align: center;
  position: relative;
  margin-bottom: 15px;
}
@media only screen and (max-width: 850px) {
  #numbers .numbers .grid-layout .item .topic {
    margin-bottom: 25px;
  }
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item .topic {
    font-size: 2rem;
    line-height: 3rem;
  }
}
#numbers .numbers .grid-layout .item .topic .small {
  display: block;
  font-size: 1.6rem;
  line-height: 2.6rem;
  margin-bottom: 8px;
}
#numbers .numbers .grid-layout .item .topic::after {
  content: "";
  display: table;
  margin-left: auto;
  margin-right: auto;
  width: 45px;
  height: 2px;
  background-color: #019426;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item .topic::after {
    margin-top: 5px;
  }
}
#numbers .numbers .grid-layout .item .content .txt {
  font-size: clamp(1.6rem, 2.5vw, 2.5rem);
  line-height: normal;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 5px;
}
@media only screen and (max-width: 850px) {
  #numbers .numbers .grid-layout .item .content .txt {
    font-size: 2.5rem;
  }
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item .content .txt {
    font-size: 1.8rem;
  }
}
#numbers .numbers .grid-layout .item .content .txt span {
  display: inline-block;
}
#numbers .numbers .grid-layout .item .content .txt span.counter {
  font-variant-numeric: tabular-nums;
  display: inline-block;
  margin-bottom: -11px;
  font-size: clamp(3rem, 11vw, 11rem);
  line-height: clamp(3rem, 11vw, 11rem);
  font-weight: 600;
  background: #41C6FF;
  background: linear-gradient(168deg, rgb(65, 198, 255) 30%, rgb(111, 227, 109) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
}
@media only screen and (max-width: 850px) {
  #numbers .numbers .grid-layout .item .content .txt span.counter {
    font-size: 11rem;
    line-height: 11rem;
  }
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item .content .txt span.counter {
    font-size: 8rem;
    line-height: 8rem;
  }
}
#numbers .numbers .grid-layout .item .content .txt span.blue {
  background: #009BF4;
  background: -webkit-gradient(linear, left top, right top, color-stop(30%, rgb(0, 155, 244)), to(rgb(121, 239, 255)));
  background: linear-gradient(to right, rgb(0, 155, 244) 30%, rgb(121, 239, 255) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#numbers .numbers .grid-layout .item .content .txt span.pink {
  background: #FFEA00;
  background: linear-gradient(56deg, rgb(255, 234, 0) 0%, rgb(213, 0, 249) 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#numbers .numbers .grid-layout .item.item-1 .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 40px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-1 .content {
    gap: 25px;
  }
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-1 .content .icn {
    width: 100px;
  }
}
#numbers .numbers .grid-layout .item.item-1 .content .txt {
  margin-top: 20px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-1 .content .txt {
    margin-top: 5px;
  }
}
#numbers .numbers .grid-layout .item.item-1 .content .counter {
  width: 2ch;
}
#numbers .numbers .grid-layout .item.item-2 {
  -ms-grid-row-span: 2;
  -ms-grid-row: 1;
  grid-row: 1/span 2;
  -ms-grid-column: 2;
  grid-column: 2;
}
#numbers .numbers .grid-layout .item.item-2 .topic {
  margin-bottom: 30px;
}
#numbers .numbers .grid-layout .item.item-2 .content .icn {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-2 .content .icn {
    width: 160px;
  }
}
#numbers .numbers .grid-layout .item.item-2 .content .flex {
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 20px;
}
#numbers .numbers .grid-layout .item.item-2 .content .flex .txt {
  display: block;
  text-align: center;
}
#numbers .numbers .grid-layout .item.item-2 .content .flex .txt span {
  display: block;
}
#numbers .numbers .grid-layout .item.item-2 .content .flex .txt .counter {
  width: 2ch;
}
#numbers .numbers .grid-layout .item.item-2 .content .flex .txt.colon {
  font-size: 6.6rem;
  line-height: 11rem;
  color: #000;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-2 .content .flex .txt.colon {
    font-size: 4.4rem;
    line-height: 8rem;
  }
}
#numbers .numbers .grid-layout .item.item-3 .topic {
  margin-bottom: 30px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-3 .topic {
    margin-bottom: 20px;
  }
}
#numbers .numbers .grid-layout .item.item-3 .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
#numbers .numbers .grid-layout .item.item-3 .content .txt .counter {
  width: 4ch;
}
#numbers .numbers .grid-layout .item.item-4 .topic {
  margin-bottom: 20px;
}
#numbers .numbers .grid-layout .item.item-4 .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-4 .content .icn {
    width: 100px;
  }
}
#numbers .numbers .grid-layout .item.item-4 .content .txt {
  margin-top: 20px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-4 .content .txt {
    margin-top: 10px;
  }
}
#numbers .numbers .grid-layout .item.item-4 .content .txt .counter {
  width: 2ch;
}
#numbers .numbers .grid-layout .item.item-5 {
  padding: 35px 20px;
}
#numbers .numbers .grid-layout .item.item-5 .topic {
  margin-bottom: 0px;
}
@media only screen and (max-width: 850px) {
  #numbers .numbers .grid-layout .item.item-5 .topic {
    margin-bottom: 30px;
  }
}
#numbers .numbers .grid-layout .item.item-5 .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 15px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-5 .content .icn {
    width: 130px;
  }
}
#numbers .numbers .grid-layout .item.item-5 .content .txt {
  margin-top: 20px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-5 .content .txt {
    margin-top: 5px;
  }
}
#numbers .numbers .grid-layout .item.item-5 .content .txt .counter {
  width: 3ch;
}
#numbers .numbers .grid-layout .item.item-6 {
  grid-column: 1/-1;
}
#numbers .numbers .grid-layout .item.item-6 .topic {
  margin-bottom: -30px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-6 .topic {
    margin-bottom: 0;
  }
}
#numbers .numbers .grid-layout .item.item-6 .content .icn {
  position: relative;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar {
  position: absolute;
  bottom: 8%;
  left: 0;
  z-index: 1;
  width: 7.43%;
  background-color: #EDEDED;
  height: 0;
  -webkit-transition: height 1s ease;
  transition: height 1s ease;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar.bar-2015 {
  --h: 69%;
  left: 5.4%;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar.bar-2016 {
  --h: 67.5%;
  left: 14.7%;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar.bar-2017 {
  --h: 66%;
  left: 24.1%;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar.bar-2018 {
  --h: 65%;
  left: 33.5%;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar.bar-2019 {
  --h: 62.5%;
  left: 42.8%;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar.bar-2020 {
  --h: 48.5%;
  left: 52.3%;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar.bar-2021 {
  --h: 52.5%;
  left: 61.5%;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar.bar-2022 {
  --h: 57%;
  left: 71%;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar.bar-2023 {
  --h: 67%;
  left: 80.5%;
}
#numbers .numbers .grid-layout .item.item-6 .content .icn .bar.bar-2024 {
  --h: 83%;
  left: 89.8%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(0, 136, 84)), to(rgb(188, 221, 67)));
  background: linear-gradient(to top, rgb(0, 136, 84) 0%, rgb(188, 221, 67) 100%);
}
#numbers .numbers .grid-layout .item.item-6 .content .icn.active .bar {
  height: var(--h);
}
#numbers .numbers .grid-layout .item.item-6 .content .icn > img {
  opacity: 1;
}
#numbers .numbers .grid-layout .item.item-7 .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 15px;
}
#numbers .numbers .grid-layout .item.item-7 .content .col .txt > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 10px;
}
#numbers .numbers .grid-layout .item.item-7 .content .col .txt > div > div .sub-topic {
  font-size: 1.6rem;
  margin-bottom: 8px;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-7 .content .col .txt > div > div .sub-topic {
    font-size: 1rem;
  }
}
#numbers .numbers .grid-layout .item.item-7 .content .col .txt > div > div .counter {
  width: 2ch;
}
#numbers .numbers .grid-layout .item.item-8 .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
}
#numbers .numbers .grid-layout .item.item-8 .content .icn {
  margin-top: 29px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-8 .content .icn {
    width: 100px;
    margin-top: 15px;
  }
}
#numbers .numbers .grid-layout .item.item-8 .content .col .txt .col-counter {
  margin-bottom: -21px;
  text-align: center;
}
#numbers .numbers .grid-layout .item.item-8 .content .col .txt .col-counter .sub-topic {
  font-size: 1.6rem;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-8 .content .col .txt .col-counter .sub-topic {
    font-size: 1rem;
  }
}
#numbers .numbers .grid-layout .item.item-8 .content .col .txt .col-counter .counter {
  width: 2ch;
}
#numbers .numbers .grid-layout .item.item-8 .content .col .txt .col-counter .end-topic {
  font-size: 1.4rem;
  text-align: center;
}
#numbers .numbers .grid-layout .item.item-9 {
  grid-column: 1/-1;
  padding-bottom: 50px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-9 {
    padding-bottom: 30px;
  }
}
#numbers .numbers .grid-layout .item.item-9 .content ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr [2];
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 850px) {
  #numbers .numbers .grid-layout .item.item-9 .content ul {
    display: block;
  }
}
#numbers .numbers .grid-layout .item.item-9 .content ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 18px;
}
@media only screen and (max-width: 850px) {
  #numbers .numbers .grid-layout .item.item-9 .content ul li + li {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-9 .content ul li + li {
    margin-top: 50px;
  }
}
#numbers .numbers .grid-layout .item.item-9 .content ul li .icn {
  margin-top: 15px;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-9 .content ul li .icn {
    max-width: 80px;
  }
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-9 .content ul li .icn img {
    max-height: 90px;
  }
}
#numbers .numbers .grid-layout .item.item-9 .content ul li .col .txt .col-counter {
  margin-bottom: -21px;
  text-align: center;
}
#numbers .numbers .grid-layout .item.item-9 .content ul li .col .txt .col-counter .sub-topic {
  font-size: 1.6rem;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .item.item-9 .content ul li .col .txt .col-counter .sub-topic {
    font-size: 1rem;
  }
}
#numbers .numbers .grid-layout .item.item-9 .content ul li .col .txt .col-counter .counter {
  width: 3ch;
}
#numbers .numbers .grid-layout .item.item-9 .content ul li .col .txt .col-counter .end-topic {
  font-size: 1.4rem;
  text-align: center;
}
#numbers .numbers .grid-layout .row-7-8 {
  grid-column: 1/-1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 3fr 2fr;
  grid-template-columns: 3fr 2fr;
  gap: 20px;
}
@media only screen and (max-width: 850px) {
  #numbers .numbers .grid-layout .row-7-8 {
    display: block;
    margin: 25px 0;
  }
}
@media only screen and (max-width: 750px) {
  #numbers .numbers .grid-layout .row-7-8 {
    margin: 20px 0;
  }
}

/* ENV */
#env-inner {
  background-image: url("/recruit/assets/images/job/bg.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
#env-inner .env-inner .text-intro {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
#env-inner .env-inner .text-intro p {
  line-height: 3.2rem;
  text-align: center;
}
#env-inner .env-inner .env-content {
  margin-top: 65px;
}
@media only screen and (max-width: 1180px) {
  #env-inner .env-inner .env-content {
    margin-top: 50px;
  }
}
@media only screen and (max-width: 750px) {
  #env-inner .env-inner .env-content {
    margin-top: 40px;
  }
}
#env-inner .env-inner .env-content .content-row + .content-row {
  margin-top: 70px;
}
@media only screen and (max-width: 750px) {
  #env-inner .env-inner .env-content .content-row + .content-row {
    margin-top: 50px;
  }
}
#env-inner .env-inner .env-content .content-row.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 750px) {
  #env-inner .env-inner .env-content .content-row.flex {
    display: block;
  }
}
#env-inner .env-inner .env-content .content-row.flex .col-img {
  width: 53.71%;
  max-width: 623px;
}
@media only screen and (max-width: 750px) {
  #env-inner .env-inner .env-content .content-row.flex .col-img {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
}
#env-inner .env-inner .env-content .content-row.flex .col-txt {
  width: 43.27%;
  padding-left: 10px;
}
@media only screen and (max-width: 750px) {
  #env-inner .env-inner .env-content .content-row.flex .col-txt {
    width: 100%;
    padding-left: 0;
    margin-top: 20px;
  }
}
@media only screen and (max-width: 750px) {
  #env-inner .env-inner .env-content .content-row .col-txt {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}
#env-inner .env-inner .env-content .content-row .col-txt .topic {
  margin-bottom: 15px;
}
#env-inner .env-inner .env-content .content-row .col-txt .topic h3 {
  font-size: 3rem;
  line-height: 4rem;
  font-weight: 500;
}
@media only screen and (max-width: 1180px) {
  #env-inner .env-inner .env-content .content-row .col-txt .topic h3 {
    font-size: 2.4rem;
    line-height: 3.4rem;
  }
}
@media only screen and (max-width: 750px) {
  #env-inner .env-inner .env-content .content-row .col-txt .topic h3 {
    font-size: 2rem;
    line-height: 3rem;
  }
}
#env-inner .env-inner .env-content .content-row .col-txt .topic h3 span {
  display: block;
  font-size: 1.6rem;
  line-height: 2.6rem;
  position: relative;
  margin-bottom: 8px;
}
#env-inner .env-inner .env-content .content-row .col-txt .topic h3 span::before {
  content: "";
  position: absolute;
  top: 3px;
  left: -17px;
  z-index: 1;
  display: block;
  width: 10px;
  height: 20px;
  background-image: url("/recruit/assets/images/commons/icn-txthead-polygon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#env-inner .env-inner .env-content .content-row .col-txt .brief {
  line-height: 3.2rem;
}
#env-inner .env-inner .env-content .content-row.benefits {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
#env-inner .env-inner .env-content .content-row.benefits .benefits-list ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr [3];
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media only screen and (max-width: 850px) {
  #env-inner .env-inner .env-content .content-row.benefits .benefits-list ul {
    -ms-grid-columns: 1fr [2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 750px) {
  #env-inner .env-inner .env-content .content-row.benefits .benefits-list ul {
    -ms-grid-columns: 1fr [1];
    grid-template-columns: repeat(1, 1fr);
  }
}
#env-inner .env-inner .env-content .content-row.benefits .benefits-list ul li {
  padding: 1px;
  background: #00B772;
  background: linear-gradient(56deg, rgb(0, 183, 114) 0%, rgb(232, 243, 158) 100%);
  -webkit-box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
}
#env-inner .env-inner .env-content .content-row.benefits .benefits-list ul li .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
  height: 64px;
  padding: 17px 27px;
  background-color: #fff;
}
@media only screen and (max-width: 750px) {
  #env-inner .env-inner .env-content .content-row.benefits .benefits-list ul li .flex {
    padding: 17px;
  }
}
#env-inner .env-inner .env-content .content-row.benefits .benefits-list ul li .flex .txt {
  font-size: 1.8rem;
  line-height: 2.8rem;
  font-weight: 500;
}
@media only screen and (max-width: 750px) {
  #env-inner .env-inner .env-content .content-row.benefits .benefits-list ul li .flex .txt {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
}

/* Entry */
#entry {
  background-image: url("/recruit/assets/images/job/bg-des.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
#entry .entry .box-white {
  padding: 50px 60px;
  background-color: #fff;
}
@media only screen and (max-width: 1180px) {
  #entry .entry .box-white {
    padding: 40px 50px;
  }
}
@media only screen and (max-width: 850px) {
  #entry .entry .box-white {
    padding: 30px 40px;
  }
}
@media only screen and (max-width: 750px) {
  #entry .entry .box-white {
    padding: 30px;
  }
}
#entry .entry .box-white .form .form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 750px) {
  #entry .entry .box-white .form .form-row {
    display: block;
  }
}
#entry .entry .box-white .form .form-row + .form-row {
  margin-top: 20px;
}
#entry .entry .box-white .form .form-row.pad-l {
  padding-left: 170px;
}
@media only screen and (max-width: 750px) {
  #entry .entry .box-white .form .form-row.pad-l {
    padding-left: 0;
  }
}
#entry .entry .box-white .form .form-row .label {
  width: 170px;
  min-width: 170px;
  font-weight: 600;
}
@media only screen and (max-width: 750px) {
  #entry .entry .box-white .form .form-row .label {
    width: auto;
    min-width: auto;
    margin-bottom: 8px;
  }
}
#entry .entry .box-white .form .form-row .label .imp {
  color: #F20000;
}
#entry .entry .box-white .form .form-row .field {
  width: 100%;
}
#entry .entry .box-white .form .form-row .field .w50 {
  width: 50%;
}
#entry .entry .box-white .form .form-row .field .field-row + .field-row {
  margin-top: 10px;
}
#entry .entry .box-white .form .form-row .field .field-row.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
#entry .entry .box-white .form .form-row .field .field-row.flex .w8ch {
  width: 8ch;
  white-space: nowrap;
}
@media only screen and (max-width: 750px) {
  #entry .entry .box-white .form .form-row .field .field-row.flex .w8ch {
    width: 10ch;
  }
}
#entry .entry .box-white .form .form-row .agree p {
  margin-top: 5px;
  line-height: 3.2rem;
}
#entry .entry .box-white .form .form-btn {
  margin-top: 40px;
}
@media only screen and (max-width: 750px) {
  #entry .entry .box-white .form .form-btn {
    margin-top: 25px;
  }
}

.textbox {
  display: block;
  width: 100%;
  padding: 11px 20px;
  border: 1px solid #c7c7c7;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 400;
  outline: none;
}

textarea {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 400;
  resize: none;
  height: 280px;
  outline: none;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color: #C6C6C6;
}

::-moz-placeholder { /* Mozilla Firefox 19+ */
  color: #C6C6C6;
  opacity: 1;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #C6C6C6;
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: #C6C6C6;
}

::placeholder { /* Most modern browsers support this now. */
  color: #C6C6C6;
}

.chkbox-btn {
  display: table;
  position: relative;
  padding-left: 30px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.chkbox-btn a {
  color: #038755;
  text-decoration: underline;
  font-weight: 600;
}

.chkbox-btn input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.chkbox {
  position: absolute;
  top: 2px;
  left: 0;
  border: 1px solid #038755;
  height: 20px;
  width: 20px;
  background-color: #fff;
}

.chkbox-btn:hover input ~ .chkbox {
  background-color: #fff;
}

.chkbox-btn input:checked ~ .chkbox {
  background-color: #fff;
}

.chkbox:after {
  content: "";
  position: absolute;
  display: none;
}

.chkbox-btn input:checked ~ .chkbox:after {
  display: block;
}

.chkbox-btn .chkbox:after {
  top: 0;
  left: 5px;
  width: 7px;
  height: 14px;
  border: solid #038755;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}