/* ------------------------------------------------------------
greeting
------------------------------------------------------------ */
.recruit-category {
  margin: min(10vw, 100px) 0;
  display: flex;
  justify-content: center;
  gap: min(4vw, 30px);
  flex-direction: column;
  align-items: center;
}

.recruit-category a {
  align-items: center;
  border: 2px solid #252525;
  color: #252525;
  cursor: pointer;
  display: inline-flex;
  font-weight: bold;
  height: 4em;
  justify-content: center;
  margin-right: 15px;
  position: relative;
  width: 100%;
  max-width: 26em;
}

.recruit-category a:after {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  transition: width .3s;
  width: 0;
  z-index: -1;
}

.recruit-category a:hover {
  color: #fff;
}

.recruit-category a:hover.call-center {
  border: 2px solid #ede3c8;
}

.recruit-category a:hover.worker {
  border: 2px solid #ced7e1;
}

.recruit-category a:hover.creator {
  border: 2px solid #d0e1ce;
}

.recruit-category a:hover.ikkatu {
  border: 2px solid #ffdcea;
}

.recruit-category a:hover:after {
  transition: width .3s;
  width: 100%;
}

.recruit-category a.call-center:after {
  background: radial-gradient(circle farthest-side at left top, #efb30a 40%, #ffd200);
}

.recruit-category a.worker:after {
  background: radial-gradient(circle farthest-side at left top, #178ccd 40%, #15b6e6);
}

.recruit-category a.creator:after {
  background: radial-gradient(circle farthest-side at left top, #26a844 40%, #73c71b);
}

.recruit-category a.ikkatu:after {
  background: radial-gradient(circle farthest-side at left top, #ce0057 40%, #ff589e);
}

.recruit-category a.select {
  color: #fff;
}

.recruit-category a.select.call-center {
  background: radial-gradient(circle farthest-side at left top, #efb30a 40%, #ffd200);
  border: 2px solid #ede3c8;
}

.recruit-category a.select.worker {
  background: radial-gradient(circle farthest-side at left top, #178ccd 40%, #15b6e6);
  border: 2px solid #ced7e1;
}

.recruit-category a.select.creator {
  background: radial-gradient(circle farthest-side at left top, #26a844 40%, #73c71b);
  border: 2px solid #d0e1ce;
}

.recruit-category a.select.ikkatu {
  background: radial-gradient(circle farthest-side at left top, #ce0057 40%, #ff589e);
  border: 2px solid #d0e1ce;
}

div#recruit-content {
  border: 2px solid #e7eef6;
  line-height: 1.5;
  margin: min(10vw, 70px) 0;
  padding: 20px;
}

div#recruit-content dl {
  display: flex;
}

div#recruit-content dl dt,
div#recruit-content dl dd {
  padding: 30px 20px;
}

div#recruit-content dl dt {
  color: #2a4665;
  min-width: 7em;
  width: 9em;
}

div#recruit-content dl dd {
  font-size: 16px;
  width: calc(100% - 9em);
}

div#recruit-content dl dd p:last-of-type {
  margin-bottom: 0;
}

div#recruit-content dl:not(:last-of-type) {
  border-bottom: 1px solid #e7eef6;
}

div#recruit-content dl:not(:last-of-type) dt {
  border-bottom: 1px solid #94a7bb;
}

div#recruit-content dl.recruit-type dd {
  padding: 0 0 20px 10px;
}

div#recruit-content dl.recruit-type dd span {
  align-items: center;
  background: #9aadc2;
  border-radius: 20px;
  color: #fff;
  display: inline-flex;
  font-weight: bold;
  justify-content: center;
  width: 7em;
}

@media screen and (max-width: 768px) {
  .recruit-category {
    display: flex;
    font-size: 2.7vw;
    justify-content: space-between;
    margin-bottom: 30px;
  }
  .recruit-category a {
    margin-right: 0;
  }
  div#recruit-content dl {
    flex-direction: column;
  }
  div#recruit-content dl dt,
  div#recruit-content dl dd {
    width: 100%;
  }
  div#recruit-content dl dt {
    border: none !important;
    padding: 20px 0 10px;
  }
  div#recruit-content dl dd {
    padding: 0 10px 20px;
  }
  div#recruit-content dl.recruit-type dd {
    padding-left: 0;
  }
}

@media screen and (max-width: 540px) {
  .recruit-category {
    flex-wrap: wrap;
    font-size: 16px;
    justify-content: flex-start;
  }
  .recruit-category a {
    height: 3.5em;
    margin-bottom: 15px;
    margin-right: 15px;
  }
  .recruit-category a:last-of-type {
    margin-right: 0;
  }
}

@media screen and (max-width: 414px) {
  .recruit-category a {
    margin: 0 0 15px 0;
    width: 100%;
  }
}
