/* LESS Document */
hgroup {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  flex-direction: column-reverse;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  hgroup {
    align-items: center;
  }
}
hgroup h2 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  hgroup h2 {
    font-size: 4.8vw;
  }
}
hgroup p {
  font-size: 6.4rem;
  font-weight: 700;
  font-family: "EB Garamond", serif;
}
@media screen and (max-width: 767px) {
  hgroup p {
    font-size: 9.6vw;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	philosophy
+++++++++++++++++++++++++++++++++++++++++++ */
#philosophy {
  padding: 0 0 45px;
  background: #FDFDF3;
  position: relative;
}
@media screen and (max-width: 767px) {
  #philosophy {
    padding-bottom: 30px;
  }
}
#philosophy p {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  #philosophy p {
    font-size: 3.4vw;
  }
}
#philosophy p.lead {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: 1.4;
  color: #004360;
}
@media screen and (max-width: 767px) {
  #philosophy p.lead {
    font-size: 5.6vw;
  }
}
#philosophy ol {
  margin: 0 0 60px;
  counter-reset: num;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  #philosophy ol {
    margin-bottom: 30px;
  }
}
#philosophy ol li {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 30px;
  justify-content: flex-start;
  align-items: center;
  counter-increment: num;
}
@media screen and (max-width: 767px) {
  #philosophy ol li {
    gap: 10px;
    margin: 20px 0;
  }
}
#philosophy ol li::before {
  content: '0' counter(num);
  align-self: flex-start;
  font-size: 20rem;
  font-family: "EB Garamond", serif;
  line-height: 1;
  color: #F9A61C;
}
@media screen and (max-width: 767px) {
  #philosophy ol li::before {
    font-size: 20vw;
  }
}
#philosophy ol li:nth-of-type(2) {
  margin-left: 100px;
}
@media screen and (max-width: 1023px) {
  #philosophy ol li:nth-of-type(2) {
    margin-left: 0;
  }
}
#philosophy ol li:nth-of-type(2)::before {
  color: #E57231;
}
#philosophy ol li:nth-of-type(2) dl dt {
  color: #D84E00;
}
#philosophy ol li:nth-of-type(3) {
  margin-left: 200px;
}
@media screen and (max-width: 1023px) {
  #philosophy ol li:nth-of-type(3) {
    margin-left: 0;
  }
}
#philosophy ol li:nth-of-type(3)::before {
  color: #BD2E5C;
}
#philosophy ol li:nth-of-type(3) dl dt {
  color: #B8003B;
}
#philosophy ol li dl {
  line-height: 1.4;
}
#philosophy ol li dl dt {
  margin: 0 0 8px;
  font-size: 3.2rem;
  font-weight: 900;
  color: #C27900;
}
@media screen and (max-width: 767px) {
  #philosophy ol li dl dt {
    font-size: 4.8vw;
  }
}
#philosophy::after {
  content: '';
  display: block;
  width: 100%;
  height: 480px;
  background: linear-gradient(to bottom, #FDFDF3 0, #F9F9E5 84px, #D4EBE1 167px, #A4D2DC 258px, #09AADE 380px, #09AADE 480px);
  position: absolute;
  bottom: -268px;
  left: 0;
  z-index: 1;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	message
+++++++++++++++++++++++++++++++++++++++++++ */
#message {
  background: url(../img/bg_message.svg) no-repeat center bottom / cover;
  padding: 50px 0 70px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  #message {
    padding: 30px 0 200px;
    background-size: 100% calc(100% - 258px);
    background-repeat: repeat-x;
  }
}
#message .inner {
  min-height: 1118px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  #message .inner {
    min-height: 0;
  }
}
#message .inner::after {
  content: '';
  display: block;
  width: 837px;
  height: 1001px;
  margin: auto;
  background: url(../img/img_message.webp) no-repeat 0 0 / contain;
  position: absolute;
  bottom: -50px;
  left: 0;
  right: -850px;
}
@media screen and (max-width: 1023px) {
  #message .inner::after {
    width: 75vw;
    height: 90vw;
    right: -80vw;
  }
}
@media screen and (max-width: 767px) {
  #message .inner::after {
    width: 60vw;
    height: 60vw;
    right: -70vw;
    bottom: -150px;
  }
}
#message .inner hgroup {
  margin: 0 0 20px;
}
#message .inner hgroup p {
  color: #FFF;
}
#message .inner .text {
  max-width: 760px;
  padding: 60px 40px 50px 50px;
  border-radius: 20px;
  background: #FFF;
}
@media screen and (max-width: 1023px) {
  #message .inner .text {
    width: 75%;
  }
}
@media screen and (max-width: 767px) {
  #message .inner .text {
    width: 100%;
    padding: 30px 20px;
    margin: 0;
    line-height: 1.5;
  }
}
#message .inner .text p {
  margin-bottom: 2em;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	voice
+++++++++++++++++++++++++++++++++++++++++++ */
#voice {
  margin-top: -100px;
  padding: 195px 0 80px;
  background: url(../img/bg_body.webp) fixed;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #voice {
    padding: 150px 0 50px;
  }
}
#voice hgroup {
  align-items: center;
  justify-content: center;
  max-width: 670px;
  height: 173px;
  margin: 0 auto;
  background: #96B100;
  clip-path: polygon(0 50px, 100% 0, calc(100% - 65px) 100%, 36px calc(100% - 25px));
}
#voice hgroup p {
  color: #FFF;
}
#voice .voiceImg {
  width: 100vw;
  max-width: 1400px;
  max-height: 830px;
  height: 65vw;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  #voice .voiceImg {
    margin-bottom: 15px;
  }
}
#voice .voiceImg img {
  width: 35vw;
  max-width: 485px;
  position: absolute;
  left: 0;
  bottom: 0;
  transition-delay: 0.2s;
}
#voice .voiceImg img:nth-of-type(2) {
  left: 25%;
  bottom: 66px;
  transition-delay: 0.4s;
}
@media screen and (max-width: 767px) {
  #voice .voiceImg img:nth-of-type(2) {
    bottom: 10%;
  }
}
#voice .voiceImg img:nth-of-type(3) {
  left: 52%;
  bottom: 126px;
  transition-delay: 0.6s;
}
@media screen and (max-width: 767px) {
  #voice .voiceImg img:nth-of-type(3) {
    bottom: 20%;
  }
}
#voice .voiceImg img:nth-of-type(4) {
  left: 79%;
  bottom: 231px;
  transition-delay: 0.8s;
}
@media screen and (max-width: 767px) {
  #voice .voiceImg img:nth-of-type(4) {
    bottom: 30%;
  }
}
#voice .voiceImg img.text {
  top: 0;
  bottom: auto;
}
#voice .link {
  max-width: 1080px;
  margin: 0 auto;
}
#voice .link a {
  display: block;
  max-width: 426px;
  height: 97px;
  margin: 0 0 0 auto;
  padding: 20px 0 0;
  background: #1E8F79;
  color: #FFF;
  font-weight: bold;
  font-size: 2.2rem;
  text-align: center;
  text-decoration: none;
  clip-path: polygon(0 0, 100% 0, calc(100% - 50px) calc(100% - 20px), 40px 100%);
}
#voice .link a:hover {
  transform: rotate(10deg);
  filter: hue-rotate(15deg);
}
#voice .link a i {
  margin: 0 0 0 40px;
}
.prof {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 5px;
  flex-direction: column;
  justify-content: flex-start;
  max-width: 534px;
  width: 100%;
  min-height: 157px;
  padding: 25px 80px 27px 35px;
  background: #006E87;
  color: #FFF;
  text-decoration: none;
  position: absolute;
  top: 80px;
  left: 120px;
  clip-path: polygon(0 0, 100% 18px, calc(100% - 62px) calc(100% - 20px), 15px 100%);
  transition: 0.2s;
}
@media screen and (max-width: 1023px) {
  .prof {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .prof {
    min-height: 0;
    margin: auto;
    padding: 25px 60px 25px 20px;
    top: auto!important;
    left: 0!important;
    right: 0!important;
    bottom: -80px;
  }
}
.prof .post {
  font-size: 2rem;
}
.prof p {
  margin: 0;
  text-align: left;
  line-height: 1.2;
  font-weight: 400;
}
.prof p.name {
  font-size: 3.1rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .prof p.name {
    font-size: 4.8vw;
  }
}
.prof p.link {
  font-weight: bold;
  text-align: right;
}
.prof p mark {
  display: inline-block;
  margin: 0 8px 0 0;
  padding: 0 13px;
  border-radius: 50px;
  background: #F80;
  font-size: 2rem;
  font-weight: bold;
  color: #FFF;
  vertical-align: 4px;
}
@media screen and (max-width: 767px) {
  .prof p mark {
    font-size: 3vw;
  }
}
a.prof:hover {
  transform: rotate(10deg);
  filter: hue-rotate(15deg);
}
/*+++++++++++++++++++++++++++++++++++++++++++
	modal
+++++++++++++++++++++++++++++++++++++++++++ */
/*+++++++++++++++++++++++++++++++++++++++++++
	education
+++++++++++++++++++++++++++++++++++++++++++ */
#education {
  min-height: 845px;
  padding: 40px 0;
  background: #4EB4E0 url(../img/bg_education.webp) no-repeat center bottom;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  #education {
    background-size: 125% auto;
  }
}
@media screen and (max-width: 767px) {
  #education {
    min-height: 0;
    padding: 50px 0;
  }
}
#education hgroup {
  align-items: center;
  gap: 5px;
  margin: 0 0 25px;
}
@media screen and (max-width: 767px) {
  #education hgroup {
    text-align: center;
    max-width: none;
    min-width: 0;
    height: 25vw;
    padding-bottom: 25px;
    margin-bottom: 30px;
    font-size: 7.2vw;
    clip-path: polygon(0 0, 100% 0, calc(100% - 36px) calc(100% - 35px), 60px 100%);
  }
}
#education hgroup p {
  color: #FFF;
}
#education .lead {
  text-align: center;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  #education .lead {
    text-align: left;
    font-size: 4.8vw;
  }
}
#education .link {
  margin: 0;
}
#education .link a {
  background: #222;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: max-content;
  text-decoration: none;
  line-height: 1;
  position: relative;
  gap: 12px;
  max-width: 294px;
  min-height: 64px;
  border-radius: 8px;
  background: #006ACE;
  color: #FFF;
  font-size: 2rem;
  font-weight: bold;
}
#education .link a .arrow {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translate(0, -50%);
}
#education .link a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  #education .link a {
    max-width: none;
    width: 50%;
    min-height: 0;
    padding: 15px 5px;
    font-size: 4vw;
  }
}
#education .circleWrap {
  max-width: 845px;
  min-height: 500px;
  position: relative;
}
@media screen and (max-width: 767px) {
  #education .circleWrap {
    min-height: 60vw;
  }
}
#education .circleWrap .circle {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 25px;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex-shrink: 0;
  background: #FFF;
  border-radius: 50%;
  font-weight: bold;
  position: absolute;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle {
    gap: 10px;
  }
}
#education .circleWrap .circle.step1 {
  width: 320px;
  height: 320px;
  top: 200px;
  left: -200px;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle.step1 {
    width: 32vw;
    height: 32vw;
  }
}
#education .circleWrap .circle.step1 dt {
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle.step1 dt {
    font-size: 3.2vw;
  }
}
#education .circleWrap .circle.step1 dt strong {
  font-size: 6.4rem;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle.step1 dt strong {
    font-size: 6.4vw;
  }
}
#education .circleWrap .circle.step1 dd {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle.step1 dd {
    font-size: 2.4vw;
  }
}
#education .circleWrap .circle.step1 dd strong {
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle.step1 dd strong {
    font-size: 3.2vw;
  }
}
#education .circleWrap .circle.step2 {
  width: 246px;
  height: 246px;
  margin: 37px 0 0 37px;
  top: 200px;
  left: -200px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle.step2 {
    width: 24vw;
    height: 24vw;
    margin: 4vw 0 0 4vw;
  }
}
#education .circleWrap .circle.step3 {
  width: 226px;
  height: 226px;
  margin: 47px 0 0 47px;
  top: 200px;
  left: -200px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle.step3 {
    width: 24vw;
    height: 24vw;
    margin: 4vw 0 0 4vw;
  }
}
#education .circleWrap .circle dt {
  line-height: 1.2;
  color: #006ACE;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle dt {
    font-size: 2.4vw;
  }
}
#education .circleWrap .circle dt strong {
  font-size: 4.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle dt strong {
    font-size: 4.8vw;
  }
}
#education .circleWrap .circle dd {
  line-height: 1.4;
  text-align: center;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle dd {
    font-size: 2vw;
  }
}
#education .circleWrap .circle dd strong {
  color: #FD5755;
  font-weight: 700;
  font-size: 2.6rem;
}
@media screen and (max-width: 767px) {
  #education .circleWrap .circle dd strong {
    font-size: 2.6vw;
  }
}
#education .fadein {
  opacity: 0;
  transition: 1s;
}
#education .fadein .moveLeft {
  transform-origin: center center;
}
#education .fadein.fadeScroll {
  opacity: 1;
}
#education .fadein.fadeScroll .step1.moveLeft {
  opacity: 1;
  animation: move 1s linear forwards;
}
#education .fadein.fadeScroll .step2.moveLeft {
  opacity: 1;
  animation: move 1s linear, move2 1.5s 1s linear forwards;
}
#education .fadein.fadeScroll .step3.moveLeft {
  opacity: 1;
  animation: move 1s linear, move2 1.5s 1s linear, move3 2s 2.5s ease-out forwards;
}
@keyframes move {
  0% {
    top: 200px;
    left: -300px;
  }
  100% {
    top: 100px;
    left: 0;
  }
}
@keyframes move2 {
  0% {
    top: 100px;
    left: 0;
  }
  100% {
    top: 10px;
    left: 38%;
  }
}
@keyframes move3 {
  0% {
    top: 10px;
    left: 38%;
  }
  100% {
    top: -120px;
    left: 68%;
  }
}
@media screen and (max-width: 767px) {
  @keyframes move {
    0% {
      top: 50%;
      left: -100px;
    }
    100% {
      top: 40%;
      left: 0;
    }
  }
  @keyframes move2 {
    0% {
      top: 40%;
      left: 0;
    }
    100% {
      top: 10%;
      left: 35%;
    }
  }
  @keyframes move3 {
    0% {
      top: 10%;
      left: 35%;
    }
    100% {
      top: -20%;
      left: 65%;
    }
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	about
+++++++++++++++++++++++++++++++++++++++++++ */
#about {
  padding: 70px 0 110px;
  background: url(../img/bg_voice.webp) fixed;
}
#about .aboutHgroup {
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  max-width: 780px;
  height: 148px;
  margin: 0 auto 15px;
  padding: 8px 0 0;
  background: #96B100;
  clip-path: polygon(0 0, 100% 0, calc(100% - 36px) calc(100% - 65px), 120px 100%);
}
@media screen and (max-width: 767px) {
  #about .aboutHgroup {
    height: 25vw;
    padding-top: 5vw;
    margin-bottom: 30px;
    clip-path: polygon(0 0, 100% 0, calc(100% - 36px) calc(100% - 35px), 60px 100%);
  }
}
#about .aboutHgroup p {
  color: #FFF;
}
@media screen and (max-width: 767px) {
  #about .aboutHgroup p {
    font-size: 7.2vw;
  }
}
#about .aboutNav {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  margin: 0 auto 75px;
}
@media screen and (max-width: 767px) {
  #about .aboutNav {
    flex-direction: column;
  }
}
#about .aboutNav a {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 0 8px;
  text-decoration: none;
  color: #FFF;
  font-weight: bold;
  font-size: 2.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  #about .aboutNav a {
    font-size: 4.2vw;
  }
}
#about .aboutNav a strong {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #about .aboutNav a strong {
    font-size: 8.6vw;
  }
}
#about .aboutNav a::after {
  content: '\f105';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  width: 41px;
  height: 41px;
  border-radius: 50%;
  border: #FFF 1px solid;
  font-size: 2rem;
  text-align: center;
  line-height: 41px;
  position: absolute;
  top: calc(50% - 20px);
  right: 42px;
}
@media screen and (max-width: 767px) {
  #about .aboutNav a::after {
    width: 6vw;
    height: 6vw;
    line-height: 6vw;
    right: 6vw;
  }
}
#about .aboutNav a.flow {
  max-width: 534px;
  width: 100%;
  max-height: 302px;
  height: 28vw;
  margin: 0 -4px 0 0;
  padding: 0 0 10px;
  background: url(../img/bg_about_flow.webp) no-repeat 0 0 / contain;
}
@media screen and (max-width: 767px) {
  #about .aboutNav a.flow {
    height: 52vw;
    background-position: center center;
    margin: 0 auto;
  }
}
#about .aboutNav a.flow:hover {
  transform: rotate(-10deg);
  filter: hue-rotate(15deg);
}
#about .aboutNav a.faq {
  max-width: 560px;
  width: 100%;
  max-height: 302px;
  height: 28vw;
  margin: 0 0 0 -4px;
  padding: 0 45px 10px 0;
  background: url(../img/bg_about_faq.webp) no-repeat 0 0 / contain;
}
@media screen and (max-width: 767px) {
  #about .aboutNav a.faq {
    height: 52vw;
    background-position: center center;
    margin: 0 auto;
  }
}
#about .aboutNav a.faq:hover {
  transform: rotate(10deg);
  filter: hue-rotate(15deg);
}
#about .aboutNav a.faq::after {
  right: 56px;
}
@media screen and (max-width: 767px) {
  #about .aboutNav a.faq::after {
    right: 10vw;
  }
}
#about .requirementBtn {
  display: block;
  max-width: 1080px;
  min-height: 285px;
  padding: 28px 328px 28px 38px;
  text-decoration: none;
  color: #FFF;
  background: linear-gradient(90deg, #68A6BA, #007DA5 calc(100% - 348px));
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #about .requirementBtn {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 0;
    flex-direction: column;
    padding: 20px;
    background: #007DA5;
  }
}
#about .requirementBtn img {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  #about .requirementBtn img {
    position: static;
    transform: none;
  }
}
#about .requirementBtn:hover {
  filter: hue-rotate(-30deg);
}
#about .requirementBtn:hover img {
  opacity: 1;
}
#about .requirementBtn hgroup {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #about .requirementBtn hgroup {
    margin-bottom: 10px;
  }
}
#about .requirementBtn hgroup h3 {
  color: #000;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  #about .requirementBtn hgroup h3 {
    font-size: 4.8vw;
    color: #FFF;
  }
}
#about .requirementBtn hgroup p {
  margin: 0 0 8px;
}
#about .requirementBtn > p {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 15px;
  justify-content: center;
  align-items: center;
  max-width: 626px;
  margin: 50px 0 0;
  padding: 15px 10px;
  font-weight: 700;
  border-top: #FFF 1px solid;
  border-bottom: #FFF 1px solid;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  #about .requirementBtn > p {
    order: 1;
    max-width: none;
    margin: 0;
    font-size: 4.8vw;
  }
}
#about .requirementBtn > p i {
  flex-shrink: 0;
  width: 37px;
  height: 37px;
  border: #FFF 1px solid;
  border-radius: 50%;
  text-align: center;
  line-height: 37px;
}
@media screen and (max-width: 767px) {
  #about .requirementBtn > p i {
    width: 8vw;
    height: 8vw;
    line-height: 8vw;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	recruit
+++++++++++++++++++++++++++++++++++++++++++ */
#recruit {
  padding: 80px 0 75px;
  background: url(../img/bg_recruit.webp) no-repeat left 0 bottom 325px;
}
@media screen and (max-width: 767px) {
  #recruit {
    padding: 50px 0;
    background-size: 100% auto;
    background-position: center bottom 75vw;
  }
}
#recruit hgroup {
  align-items: center;
  gap: 5px;
  margin: 0 0 60px;
}
@media screen and (max-width: 767px) {
  #recruit hgroup {
    margin-bottom: 30px;
  }
}
#recruit hgroup p {
  color: #3DB0DA;
}
#recruit section {
  margin: 50px 0;
}
#recruit section hgroup h3 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  #recruit section hgroup h3 {
    font-size: 4.8vw;
  }
}
#recruit section table td {
  text-align: center;
}
#recruit .last {
  max-width: 675px;
  margin: 422px 0 0 auto;
}
@media screen and (max-width: 767px) {
  #recruit .last {
    margin-top: 50vw;
  }
}
#recruit .last img {
  display: block;
  margin: 0 56px 13px 0;
}
@media screen and (max-width: 767px) {
  #recruit .last img {
    margin: 0 auto 10px;
  }
}
#recruit .last p {
  max-width: max-content;
  margin: 0 0 15px auto;
  padding: 12px 18px;
  border-radius: 20px;
  background: #000;
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #recruit .last p {
    font-size: 3.6vw;
    margin: 0 auto 10px;
  }
}
#recruit .last p:nth-of-type(2) {
  min-width: 300px;
  margin-right: 242px;
}
@media screen and (max-width: 767px) {
  #recruit .last p:nth-of-type(2) {
    min-width: 0;
    margin: 0 auto;
  }
}
#recruit .schoolWidth {
  display: inline-block;
  min-width: 14em;
}
