/*
** Common
*/

.article__header {
  margin-bottom: 2.25em;
}

.article__title {
  font-size: 2.1875em;
  font-weight: bold;
  color: var(--green);
  line-height: 1;
}

.article__contents {
  background-color: var(--beige);
}


/*
** .container__recruit
*/

.container__recruit-inner {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: max-content;
  grid-row-gap: 3.375em;
}


/*
** .recruit__movie
*/

.recruit__movie-inner {
  position: relative;
  padding: 0.3125em;
}

.recruit__movie-inner::before,
.recruit__movie-inner::after {
  content: '';
  display: block;
  width: calc(100% - 0.3125em);
  height: calc(100% - 0.3125em);
  position: absolute;
  border-radius: 0.375em;
}

.recruit__movie-inner::before {
  top: 0;
  right: 0;
  background-color: var(--red);
}

.recruit__movie-inner::after {
  bottom: 0;
  left: 0;
  background-color: var(--green);
}

.recruit__movie-container {
  position: relative;
  z-index: var(--z-index-low);
}

.recruit__movie-container::before {
  content: '';
  display: block;
  padding-top: calc((315 / 560) * 100%);
}

.recruit__movie-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}


/*
** .requirements
*/

.requirements__year {
  display: inline-block;
  font-size: 1.25em;
  font-weight: bold;
  color: #fff;
  line-height: 0.785;
  background-color: var(--red);
  border-radius: 0.4em;
  padding: 0.4em 0.5em;
  margin-bottom: 0.65em;
}

.requirements__contents {
  border-radius: 1.875em;
  padding-top: 1.5em;
  padding-bottom: 1.6875em;
}

.requirements__table-title {
  display: block;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-align: left;
  border-bottom: 0.1rem solid var(--l-gray02);
  padding-bottom: 0.6875em;
  margin-bottom: 0.875em;
}

.requirements__table-row:not(:first-child) .requirements__table-title {
  padding-top: 2.25em;
}

.requirements__table-body {
  display: block;
  font-size: 0.9375em;
}


/*
** .process
*/

.process__contents {
  border-top-left-radius: 1.875em;
  border-bottom-left-radius: 1.875em;
  padding-top: 1.875em;
  padding-bottom: 1.875em;
}

.process__steps {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: 7.8125em;
  grid-row-gap: 1.875em;
}

.process__item {
  position: relative;
}

.process__item:not(:last-child)::after {
  content: '';
  position: absolute;
  bottom: -1.875em;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  display: block;
  width: 0.75em;
  height: calc(1.875em + 0.2rem);
  background-color: var(--red);
}

.process__item-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-auto-rows: auto;
  grid-gap: 0.5em 0.75em;
  height: 100%;
  background-color: #fff;
  border: 0.2rem solid var(--red);
  border-radius: 0.625em 2.25em 2.25em 0.625em;
  padding: 0.685em 0.5em 0.685em;
}

.process__item-pictogram {
  grid-column: 1/2;
  grid-row: 1/3;
}

.process__item-num {
  grid-column: 2/3;
  grid-row: 1/2;
  display: flex;
  align-items: center;
  column-gap: 0.5em;
  font-weight: bold;
  color: var(--red);
}

.process__item-num .step {
  font-size: 1.375em;
}

.process__item-num .value {
  font-size: 2.5em;
  letter-spacing: -0.03em;
}

.process__item-body {
  grid-column: 2/3;
  grid-row: 2/3;
  font-weight: bold;
}

.process__item-body a {
  display: inline;
  text-decoration: underline;
}


/*
** .recruit__contact-links
*/

.recruit__contact-links-inner {
  background-color: var(--beige);
  border-top-left-radius: 1.875em;
  border-bottom-left-radius: 1.875em;
  padding-top: 2.125em;
  padding-bottom: 2.125em;
}

.recruit__contact-links-list {
  display: grid;
  grid-template-columns: minmax(auto, 18.75em);
  grid-auto-rows: max-content;
  justify-content: center;
  grid-row-gap: 1em;
}

.recruit__contact-links-item {
  width: 100%;
}

.recruit__contact-links-item.contact a {
  padding-left: 0.275em;
  padding-right: 1.75em;
} 