#recruitment header {
  margin: 60px 0;
  font-family: "Hiragino Mincho ProN","Yu Mincho","Sawarabi Mincho",serif;
  font-size: 24px;
  text-align: center;
}

#recruitment header span {
  display: inline-block;
  padding-bottom: 10px;
  border-bottom: #000 solid 1px;
}

#recruitment .link {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  column-gap: 5%;
  background-color: #fff0;
}

#recruitment strong {
  display: block;
  color: #000;
  font-family: "Hiragino Mincho ProN","Yu Mincho","Sawarabi Mincho",serif;
  font-size: 36px;
  text-align: center;
  letter-spacing: .05em;
  line-height: 1.33;
}

#recruitment a {
  display: block;
  width: 15.5em;
  padding: 1em 0;
  background-color: #727171;
  color: #f7f8f8;
  text-decoration: none;
  text-align: center;
  transition: opacity 0.3s;
}

#recruitment a:hover {
  opacity: 0.75;
}

#recruitment #catch {
  padding-top: 36px;
  background-image: linear-gradient(0deg, #fff 0, #faf6f8 100%);
  background-size: 100% 200px;
  background-position: bottom left;
  background-clip: border-area;
  background-repeat: no-repeat;
}

#recruitment #catch p {
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
  padding: 65px 0;
  font-family: "Hiragino Mincho ProN","Yu Mincho","Sawarabi Mincho",serif;
  font-size: 20px;
  line-height: 2;
  letter-spacing: .05em;
}

/*
#recruitment #excuse {
  background-color: #faf6f8;
}

#recruitment #excuse div {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  max-width: 100%;
  width: fit-content;
  margin: -30px auto 60px;
  padding: 30px 50px;
  background-color: #fff;
}

#recruitment #excuse ul {
  width: fit-content;
}
*/

#recruitment #interval {
  position: relative;
  margin-bottom: 75px;
  padding: 30px 0;
  background-color: #666;
  text-align: center;
}

#recruitment #interval::after {
  display: block;
  position: absolute;
  content: "";
  left: calc(50% - 16px);
  bottom: -34px;
  border-color: #666 #6660;
  border-width: 35px 32px 0;
  border-style: solid;
}

#recruitment #interval ins {
  color: #fff;
  font-size: 21px;
  font-weight: 300;
  text-decoration: none;
}

/*
#recruitment #solution dl {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  justify-content: left;
  align-items: center;
  gap: 30px 20px;
  width: fit-content;
  margin: 0 auto;
}

#recruitment #solution dt {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 15px 40px 15px 20px;
  background-color: #000;
  color: #fff;
  line-height: 1.5;
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%);
}

#recruitment #solution dd {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  row-gap: 5px;
  height: 100%;
}
*/

#recruitment #solution aside {
  margin-top: 45px;
  line-height: 1.75;
  text-align: center;
}

/*
#recruitment #voice {
  margin-top: 60px;
  padding-bottom: 60px;
  background-color: #f5ece7;
}

#recruitment #voice header {
  margin-top: 0;
  padding-top: 60px;
}

#recruitment #voice ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 30px;
  background-color: #fff0;
  line-height: 1.5;
}

#recruitment #voice li {
  align-self: self-start;
  padding: 20px;
  background-color: #fff;
}

#recruitment #voice figure {
  width: 100%;
  height: auto;
}

#recruitment #voice img {
  width: 100%;
}

#recruitment #voice figcaption {
  display: block;
  overflow: hidden;
  margin-top: 15px;
  height: 3em;
  font-size: 1.125em;
  font-weight: 700;
}

#recruitment #voice mark {
  display: block;
  margin: 15px 0;
  background-color: #fff0;
  font-weight: 700;
}
*/

#recruitment #strengths ul {
  display: grid;
  grid-template-columns: repeat(2, 272px);
  gap: 50px 80px;
  margin: 0 auto;
  width: fit-content;
  line-height: 1.75;
}

#recruitment #strengths figure {
  width: 100%;
  height: auto;
}

#recruitment #strengths figcaption {
  display: block;
  font-size: 19px;
  text-align: center;
}

#recruitment #strengths img {
  display: block;
  margin: 10px 0 20px;
  width: 100%;
  height: auto;
}

/*
#recruitment #flow dl {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 50px 15px;
  font-size: 0.9em;
  letter-spacing: 0.125em;
}

#recruitment #flow dd {
  display: grid;
  justify-content: center;
  align-items: center;
  width: 7.5em;
  height: 7.5em;
  border-radius: 50%;
  background-color: #666;
  color: #fff;
  font-weight: 300;
}

#recruitment #flow dt {
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #ccc0 #ccc;
  border-width: 25px 0 25px 20px;
  text-indent: -9999px;
}

#recruitment #flow blockquote {
  width: 70%;
  margin: 40px auto 0;
  line-height: 1.75;
}

#recruitment #fee table {
  margin: 0 auto;
  min-width: fit-content;
  width: 60%;
  line-height: 1.75;
  font-size: 1.125em;
}

#recruitment #fee thead tr {
  border: 1px #000 solid;
  text-align: center;
}

#recruitment #fee tbody tr {
  border-width: 0 1px 1px 1px;
  border-color: #000;
  border-style: solid;
  text-align: center;
  font-weight: 700;
}

#recruitment #fee th,
#recruitment #fee td {
  padding: 0.4em 0;
}

#recruitment #fee blockquote {
  width: 70%;
  margin: 40px auto 0;
  line-height: 1.75;
}
*/

#recruitment #agreement {
  padding-bottom: 60px;
}

#recruitment #agreement pre {
  line-height: 1.75;
}

#recruitment #agreement table {
  margin: 0 auto;
  min-width: fit-content;
  width: 60%;
  line-height: 1.75;
  font-size: 1.125em;
}

#recruitment #agreement thead td {
  width: max-content;
}

#recruitment #agreement thead tr {
  border: 1px #000 solid;
  text-align: center;
}

#recruitment #agreement tbody tr {
  border-width: 0 1px 1px 1px;
  border-color: #000;
  border-style: solid;
  text-align: center;
  font-weight: 700;
}

#recruitment #agreement th,
#recruitment #agreement td {
  padding: 0.4em 0;
}

#recruitment #agreement ul {
  margin-top: 30px;
}

#recruitment #agreement header:last-of-type {
  margin: 50px 0 30px;
}

/*
#recruitment #faq {
  margin-bottom: 60px;
}

#recruitment #faq ul {
  width: 70%;
  margin: 0 auto;
  border-top: 1px #ccc solid;
  line-height: 1.75;
}

#recruitment #faq li {
  display: grid;
  row-gap: 10px;
  margin-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px #ccc solid;
}

#recruitment #faq mark {
  display: block;
  margin-top: 5px;
  background-color: #fff0;
  font-size: 1.05em;
  font-weight: 700;
}

#recruitment #faq b {
  font-size: 1.05em;
  font-weight: 700;
}
*/

#recruitment #ask {
  display: grid;
  justify-content: center;
  row-gap: 30px;
  margin-bottom: -30px;
  padding: 60px 0;
  background-color: #f5ece7;
}

#recruitment #ask nav {
  display: grid;
  justify-content: center;
}
