:root {
  scroll-padding-top: 134px;
  scroll-behavior: smooth;
}

body {
  background-color: rgba(7, 136, 204, 0.11);
}

.title {
  width: 100%;
  padding: 70px 0 60px 0;
  max-height: 216px;
  background-image: url(../imgs/recruit/title-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 960px) {
  .title {
    padding: 30px 0 30px 0;
    max-height: 120px;
  }
}
.title h1 {
  color: #fff;
  text-align: center;
  font-family: "montserrat", sans-serif;
  font-size: 3.125rem;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .title h1 {
    font-size: 1.875rem;
  }
}
.title h1 span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .title h1 span {
    font-size: 0.875rem;
  }
}

.departments {
  width: 100%;
  padding: 80px 0 115px 0;
  background-color: #fff;
}
@media screen and (max-width: 960px) {
  .departments {
    padding: 60px 0 75px 0;
  }
}
.departments .inner {
  width: 88%;
  max-width: 1024px;
}
@media screen and (max-width: 960px) {
  .departments .inner {
    width: 95%;
  }
}
.departments .inner h2 {
  margin-bottom: 72px;
}
@media screen and (max-width: 960px) {
  .departments .inner h2 {
    margin-bottom: 58px;
  }
}
.departments .inner .departments_info {
  width: 100%;
  margin-bottom: 30px;
  padding: 45px 25px 40px 25px;
  border: 3px solid #0788CC;
  border-radius: 10px;
}
@media screen and (max-width: 960px) {
  .departments .inner .departments_info {
    margin-bottom: 25px;
    padding: 20px 20px 25px 20px;
  }
}
.departments .inner .departments_info ul {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.departments .inner .departments_info ul li {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 1.625em;
  font-weight: 400;
}
.departments .inner .departments_info ul li:first-child {
  width: 38%;
}
@media screen and (max-width: 430px) {
  .departments .inner .departments_info ul li:first-child {
    width: 100%;
    margin-bottom: 20px;
  }
}
.departments .inner .departments_info ul li:last-child {
  width: 60%;
}
@media screen and (max-width: 430px) {
  .departments .inner .departments_info ul li:last-child {
    width: 100%;
  }
}
.departments .inner .departments_info ul li .departments_name {
  width: 100%;
  margin-bottom: 16px;
  background-image: url(../imgs/recruit/departments_bg.png);
  background-repeat: no-repeat;
  background-position: top 50% right 0;
  background-size: 191px;
}
.departments .inner .departments_info ul li h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8125rem;
  line-height: 1.45em;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
}
.departments .inner .departments_info ul li h3 span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.0625rem;
  font-weight: 500;
  display: flex;
  align-items: center;
}
.departments .inner .departments_info ul li h3 span::before {
  margin: 0 14px 0 16px;
  content: "";
  display: inline-block;
  width: 34px;
  height: 1px;
  background-color: #000;
}

.message {
  width: 100%;
  padding: 70px 0 110px 0;
}
@media screen and (max-width: 960px) {
  .message {
    padding: 74px 0 74px 0;
  }
}
.message .inner {
  width: 88%;
  max-width: 1024px;
}
@media screen and (max-width: 430px) {
  .message .inner {
    width: 80%;
  }
}
.message .inner h2 {
  margin-bottom: 78px;
}
@media screen and (max-width: 430px) {
  .message .inner h2 {
    margin-bottom: 56px;
  }
}
.message .inner ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.message .inner ul li {
  width: 31.25%;
}
@media screen and (max-width: 430px) {
  .message .inner ul li {
    width: 100%;
    margin-bottom: 40px;
  }
}
.message .inner ul li a {
  display: inline-block;
}
.message .inner ul li a:hover {
  opacity: 0.75;
  text-decoration: underline;
  text-decoration-color: #0788CC;
}
.message .inner ul li img {
  border: 11px solid #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: 12px;
}
.message .inner ul li h3 {
  color: #0788CC;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  line-height: 1.45em;
  font-weight: 700;
  margin-bottom: 8px;
}
@media screen and (max-width: 430px) {
  .message .inner ul li h3 {
    font-size: 1.0625rem;
  }
}
.message .inner ul li p {
  color: #101010;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  line-height: 1.45em;
  font-weight: 400;
}
.message .inner ul li:nth-child(4) {
  margin-top: 78px;
  margin-left: 15%;
}
@media screen and (max-width: 430px) {
  .message .inner ul li:nth-child(4) {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
  }
}
.message .inner ul li:last-child {
  margin-top: 78px;
  margin-right: 15%;
}
@media screen and (max-width: 430px) {
  .message .inner ul li:last-child {
    width: 100%;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
  }
}

.faq {
  width: 100%;
  padding: 92px 0 130px 0;
  background-color: #fff;
}
@media screen and (max-width: 960px) {
  .faq {
    padding: 78px 0 78px 0;
  }
}
.faq .inner {
  width: 88%;
  max-width: 1024px;
}
@media screen and (max-width: 430px) {
  .faq .inner {
    width: 95%;
  }
}
.faq .inner h2 {
  margin-bottom: 46px;
}
@media screen and (max-width: 430px) {
  .faq .inner h2 {
    margin-bottom: 100px;
  }
}
.faq__info {
  width: 100%;
  border-top: 1px solid #DBDBDB;
}
.faq__info__item {
  width: 100%;
  padding: 22px 0 22px 0;
  border-bottom: 1px solid #DBDBDB;
}
@media screen and (max-width: 960px) {
  .faq__info__item {
    padding: 32px 0 28px 0;
  }
}
.faq__info__item h3 {
  color: #0788CC;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  line-height: 1.5em;
  font-weight: 500;
  margin-bottom: 25px;
}
@media screen and (max-width: 430px) {
  .faq__info__item h3 {
    font-size: 1.0625rem;
    margin-bottom: 14px;
  }
}
.faq__info__item h3::before {
  display: inline-block;
  width: 30px;
  text-align: center;
  content: "Q";
  color: #fff;
  font-family: "montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1em;
  font-weight: 500;
  padding: 7px 0;
  background-color: #0788CC;
  border-radius: 50%;
  margin: 0 21px;
}
@media screen and (max-width: 960px) {
  .faq__info__item h3::before {
    margin: 0 13px 0 0;
  }
}
.faq__info__item p {
  padding-left: 72px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 1.5em;
  font-weight: 400;
}
@media screen and (max-width: 960px) {
  .faq__info__item p {
    padding-left: 0;
  }
}

.entry {
  width: 100%;
  padding: 82px 0 140px 0;
}
@media screen and (max-width: 430px) {
  .entry {
    padding: 43px 0 108px 0;
  }
}
@media screen and (max-width: 430px) {
  .entry .inner {
    width: 80%;
    margin: 0 auto;
  }
}
.entry h2 {
  margin-bottom: 78px;
}
@media screen and (max-width: 430px) {
  .entry h2 {
    margin-bottom: 48px;
  }
}
.entry ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.entry ul li {
  width: 48.9%;
}
@media screen and (max-width: 430px) {
  .entry ul li {
    width: 100%;
  }
}
@media screen and (max-width: 430px) {
  .entry ul li:first-child {
    margin-bottom: 30px;
  }
}
.entry ul li a:hover {
  opacity: 0.75;
}

h2 {
  text-align: center;
  color: #0788CC;
  font-family: "montserrat", sans-serif;
  font-size: 1.875rem;
  line-height: 1.25em;
  font-weight: 600;
}
@media screen and (max-width: 430px) {
  h2 {
    font-size: 1.625rem;
  }
}
h2 span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  line-height: 1em;
  font-weight: 500;
}
@media screen and (max-width: 430px) {
  h2 span {
    font-size: 1rem;
  }
}/*# sourceMappingURL=recruit.css.map */