html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #4B4B4B;
}

header {
  height: 94px;
  width: 100%;
  padding: 21px 20px;
  background: #FFF;
}
header nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header nav h1 {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
header nav h1 a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  transition: all 0.4s ease;
}
header nav h1 a img {
  display: block;
  max-width: 270px;
  width: 100%;
  height: auto;
  aspect-ratio: 135/19;
}
header nav ul {
  max-width: 772px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
}
header nav ul li a:hover {
  color: #2969B2;
}
header nav .tel-wrap {
  line-height: 1;
}
header nav .tel-wrap p {
  font-size: 16px;
  font-weight: 700;
  text-align: right;
}
header nav .tel-wrap a {
  display: block;
  color: #EC3836;
  font-size: 36px;
  font-weight: 700;
  transition: all 0.4s ease;
}
header nav .tel-wrap a:hover {
  opacity: 0.7;
}
header nav .tel-wrap a span {
  font-size: 28px;
}
header nav .tel-wrap a::before {
  content: "";
  display: inline-block;
  width: 27.5px;
  height: 27.5px;
  flex-shrink: 0;
  aspect-ratio: 27.5/27.5;
  background-image: url(../img/icon_header_tel.png);
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 7.5px;
}
header nav .humberger {
  display: none;
}
@media screen and (max-width: 1334px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 46px;
    flex-shrink: 0;
    padding: 6px 16px;
    z-index: 1;
  }
  header nav {
    height: 100%;
  }
  header nav h1 a img {
    width: 156px;
    height: 22px;
    flex-shrink: 0;
    aspect-ratio: 78/11;
  }
  header nav ul {
    max-width: unset;
    position: absolute;
    top: -100dvh;
    transition: all 0.4s ease;
    background: #fff;
    display: block;
    padding: 5px 10px 45px;
  }
  header nav ul.active {
    top: 46px;
    right: 0;
    left: 0;
    margin: auto;
  }
  header nav ul li a {
    display: block;
    width: 100%;
    text-align: left;
    border-bottom: 1px solid #ccc;
    padding: 0.7em 0.5em;
  }
  header nav .tel-wrap {
    display: none;
  }
  header nav .humberger {
    display: block;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    padding: 6px 4px;
  }
  header nav .humberger span {
    display: block;
    height: 3px;
    width: 100%;
    background: #2969B2;
    border-radius: 8px;
    transition: all 0.4s ease;
  }
  header nav .humberger span:not(:last-of-type) {
    margin-bottom: 6px;
  }
  header nav .humberger.active span:nth-of-type(1) {
    transform: translateY(9px) rotate(45deg);
  }
  header nav .humberger.active span:nth-of-type(2) {
    opacity: 0;
  }
  header nav .humberger.active span:nth-of-type(3) {
    transform: translateY(-9px) rotate(-45deg);
  }
}

footer {
  background: #02479C;
  padding-block: 100px 80px;
}
footer nav ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 842px;
  width: 100%;
  margin: 0 auto 40px;
}
footer nav ul li a {
  color: #FFF;
  font-size: 14px;
  font-weight: 700;
}
footer nav a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
footer nav a.footer_logo {
  margin: 0 auto 40px;
}
footer nav a img {
  max-width: 300px;
  width: 100%;
  height: auto;
  aspect-ratio: 60/7;
}
footer nav .footer_bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  color: #FFF;
  text-align: center;
  font-family: Verdana;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
}
footer nav .footer_bottom a {
  text-decoration-line: underline;
}
@media screen and (max-width: 1079px) {
  footer {
    padding-block: 40px;
  }
  footer nav ul {
    display: block;
    text-align: center;
    margin-bottom: 40px;
  }
  footer nav ul li {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
  }
  footer nav ul li:not(:last-of-type) {
    margin-bottom: 20px;
  }
  footer nav a.footer_logo {
    width: 230px;
    margin: 0 auto 20px;
  }
  footer nav .footer_bottom {
    gap: 6px;
    flex-wrap: wrap-reverse;
  }
}

@media screen and (max-width: 1079px) {
  main {
    width: 100dvw;
    overflow: hidden;
    padding-top: 46px;
  }
}

.fv {
  display: flex;
  justify-content: center;
  align-items: end;
  width: 100%;
  height: 900px;
  background-image: url(../img/fv_bg-pc.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.fv-wrap {
  display: flex;
  justify-content: center;
  align-items: start;
  flex-shrink: 0;
}
.fv-content {
  flex-shrink: 0;
  max-width: 747px;
  margin-top: 112px;
}
.fv-content h2 {
  margin-bottom: 26px;
}
.fv-content h2 img {
  max-width: 747px;
  width: 100%;
  height: auto;
  aspect-ratio: 747/353;
}
.fv-content-sub {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 33px;
}
.fv-content-sub .circle {
  display: block;
  align-items: center;
  justify-content: center;
  width: 220px;
  height: 220px;
  aspect-ratio: 1/1;
  background-image: url(../img/fv_head_bg-pc.png);
  background-repeat: no-repeat;
  background-size: contain;
  color: #02479C;
  text-align: center;
  font-weight: 700;
}
.fv-content-sub .circle p {
  line-height: 1;
}
.fv-content-sub .circle p:first-of-type {
  padding-top: 55px;
  font-size: 30px;
  letter-spacing: 0.9px;
}
.fv-content-sub .circle p:last-of-type {
  font-size: 70px;
  letter-spacing: 2.1px;
}
.fv-content-sub .circle p:last-of-type span:first-of-type {
  font-size: 50px;
}
.fv-content-sub .circle p:last-of-type span:last-of-type {
  display: inline-block;
  width: 19px;
  white-space: wrap;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.6px;
}
.fv-content-sub .circle.etc {
  background-image: url(../img/fv_head_etc_bg-pc.png);
}
.fv-img {
  flex-shrink: 0;
  max-width: 592px;
  width: 100%;
  height: auto;
  aspect-ratio: 592/861;
  background-image: url(../img/fv_man.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1344px) {
  .fv {
    padding-top: 31px;
    display: block;
    height: 480px;
    position: relative;
  }
  .fv-wrap {
    display: block;
  }
  .fv-content {
    margin-top: 0;
  }
  .fv-content h2 {
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
  }
  .fv-content h2 img {
    width: 342.417px;
    height: 145.34px;
  }
  .fv-content-sub {
    display: block;
    bottom: 20px;
  }
  .fv-content-sub .circle {
    width: 93px;
    height: 93px;
    position: absolute;
  }
  .fv-content-sub .circle:nth-of-type(1) {
    bottom: 71px;
    left: 12px;
  }
  .fv-content-sub .circle:nth-of-type(2) {
    bottom: 20px;
    left: 97px;
  }
  .fv-content-sub .circle p:first-of-type {
    font-size: 14px;
    padding-top: 22px;
  }
  .fv-content-sub .circle p:last-of-type {
    font-size: 30px;
  }
  .fv-content-sub .circle p:last-of-type span:first-of-type {
    font-size: 20px;
  }
  .fv-content-sub .circle p:last-of-type span:last-of-type {
    width: 10px;
    font-size: 10px;
  }
  .fv-content-sub .etc {
    display: none;
  }
  .fv h3 img {
    display: block;
    position: absolute;
  }
  .fv h3 img:nth-of-type(1) {
    bottom: 4px;
    right: 29px;
    width: 23px;
    height: auto;
  }
  .fv h3 img:nth-of-type(2) {
    bottom: 13px;
    right: 55px;
    width: 34px;
    height: auto;
  }
  .fv-img {
    display: block;
    max-width: 255px;
    width: 248px;
    height: auto;
    flex-shrink: 0;
    aspect-ratio: 85/104;
    background-image: url(../img/fv_man-sp.png);
    margin: auto;
  }
}

.cta1 {
  background: #9FBCEA;
  padding-block: 80px;
  width: 100%;
}
.cta1 div > p {
  color: #02479C;
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.08px;
  margin-bottom: 33.5px;
}
.cta1 div .links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
.cta1 div .links a {
  display: block;
  max-width: 420px;
  width: 100%;
  background: #02479C;
  padding: 20px 58px;
  border-radius: 10px;
  border: 1px solid #02479C;
  box-shadow: 0 6px 2px 0 rgba(41, 105, 178, 0.7);
  transition: all 0.4s ease;
}
.cta1 div .links a:hover {
  opacity: 0.7;
  transform: translateY(-3px);
}
.cta1 div .links a p {
  display: block;
  text-align: center;
}
.cta1 div .links a p:first-of-type {
  font-size: 16.5px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
}
.cta1 div .links a p:last-of-type {
  font-weight: 700;
  line-height: 1;
}
.cta1 div .links a.tel {
  background: #fff;
}
.cta1 div .links a.tel p:last-of-type {
  font-size: 44px;
  color: #EC3836;
}
.cta1 div .links a.tel p:last-of-type::before {
  content: "";
  display: inline-block;
  width: 27.5px;
  height: 27.5px;
  flex-shrink: 0;
  aspect-ratio: 27.5/27.5;
  background-image: url(../img/icon_header_tel.png);
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 7.5px;
}
.cta1 div .links a.tel p:last-of-type span {
  font-size: 34px;
}
.cta1 div .links a.contact {
  color: #FFF;
}
.cta1 div .links a.contact p:last-of-type {
  text-align: center;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5;
  /* 45px */
  letter-spacing: 0.9px;
}
.cta1 div .links a.contact p:last-of-type::before {
  content: "";
  display: inline-block;
  width: 33.41px;
  height: 24.723px;
  flex-shrink: 0;
  aspect-ratio: 33.41/24.72;
  background-image: url(../img/icon_cta_contact.png);
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 7.5px;
}
@media screen and (max-width: 1079px) {
  .cta1 {
    padding: 40px 16px;
  }
  .cta1 > div p {
    font-size: 20px;
    letter-spacing: 0.6px;
  }
  .cta1 > div .links {
    display: block;
  }
  .cta1 > div .links a {
    max-width: unset;
    padding: 20px 19.5px;
  }
  .cta1 > div .links a p {
    letter-spacing: 0;
  }
  .cta1 > div .links a.tel {
    margin-bottom: 20px;
  }
  .cta1 > div .links a.tel p:last-of-type {
    font-size: 44px;
  }
  .cta1 > div .links a.tel p:last-of-type span {
    font-size: 34px;
  }
  .cta1 > div .links a.tel p:last-of-type::before {
    margin-right: 3.5px;
  }
}

.strengths {
  max-width: 1440px;
  padding-inline: 110px;
  width: 100%;
  margin: 100px auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.strengths > div {
  max-width: 590px;
  width: 100%;
}
.strengths p {
  color: #4B4B4B;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.47px;
  margin-top: 40px;
}
.strengths a {
  margin-left: auto;
  margin-top: 40px;
}
@media screen and (max-width: 1079px) {
  .strengths {
    display: block;
    padding-inline: 16px;
    margin: 80px auto;
  }
  .strengths > div {
    max-width: unset;
  }
  .strengths > div p {
    margin-top: 20px;
    font-size: 14px;
    letter-spacing: 0.42px;
  }
  .strengths > div a {
    margin-top: 20px;
  }
  .strengths > div img {
    margin-top: 20px;
  }
}

.movie {
  max-width: 1440px;
  padding-inline: 110px;
  width: 100%;
  margin: 100px auto;
}
.movie h2 {
  margin-bottom: 39px;
}
.movie > div {
  border-radius: 10px;
  width: 800px;
  margin: auto;
  overflow: hidden;
}
@media screen and (max-width: 1079px) {
  .movie {
    padding-inline: 16px;
    margin: 80px auto;
  }
  .movie > div {
    width: unset;
  }
}

.service {
  max-width: 1440px;
  padding-inline: 110px;
  width: 100%;
  margin: 100px auto;
}
.service > p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
  margin-block: 40px 30px;
}
.service-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
.service-content .item:nth-of-type(1) a {
  background-image: url(../img/service1.png);
}
.service-content .item:nth-of-type(2) a {
  background-image: url(../img/service2.png);
}
.service-content .item:nth-of-type(3) a {
  background-image: url(../img/service3.png);
}
.service-content .item:nth-of-type(4) a {
  background-image: url(../img/service4.png);
}
.service-content .item a {
  display: block;
  position: relative;
  height: 300px;
  border-radius: 10px;
  background-color: #C4C4C4;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 30px 35px;
  filter: drop-shadow(0 6px 6px #9BB0BB);
  overflow: hidden;
  transition: all 0.4s ease;
}
.service-content .item a:hover {
  transform: translateY(-3px);
  opacity: 0.7;
}
.service-content .item a p {
  line-height: 1;
  color: #FFF;
}
.service-content .item a p:nth-of-type(1) {
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 1.35px;
}
.service-content .item a p:nth-of-type(2) {
  font-family: Montserrat;
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 15px;
}
.service-content .item a p:nth-of-type(3) {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 2px;
}
.service-content .item a .circle {
  position: absolute;
  width: 164.357px;
  height: 156px;
  flex-shrink: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #02479C;
  right: -82px;
  bottom: -78px;
}
.service-content .item a .circle::before {
  content: "";
  display: block;
  width: 30.793px;
  height: 30.793px;
  flex-shrink: 0;
  aspect-ratio: 30.79/30.79;
  background-image: url(../img/circle_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 33px;
  top: 31px;
}
.service-bottom {
  display: block;
  margin-top: 100px;
  border-radius: 10px;
  background-color: rgba(2, 71, 156, 0.1);
  padding: 39px 40px;
  height: 370px;
  position: relative;
  overflow: hidden;
  background-image: url(../img/service_bottom.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right;
  transition: all 0.4s ease;
}
.service-bottom:hover {
  transform: translateY(-3px);
  opacity: 0.7;
}
.service-bottom p:nth-of-type(1) {
  font-size: 46px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 20px;
}
.service-bottom p:nth-of-type(2) {
  width: 530px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 2px;
}
.service-bottom .circle {
  position: absolute;
  width: 164.357px;
  height: 156px;
  flex-shrink: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #02479C;
  right: -82px;
  bottom: -78px;
}
.service-bottom .circle::before {
  content: "";
  display: block;
  width: 30.793px;
  height: 30.793px;
  flex-shrink: 0;
  aspect-ratio: 30.79/30.79;
  background-image: url(../img/circle_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 33px;
  top: 31px;
}
@media screen and (max-width: 1079px) {
  .service {
    padding-inline: 16px;
    margin: 80px auto;
  }
  .service > p {
    font-size: 14px;
    margin-block: 20px 44px;
  }
  .service-content .item {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
  .service-content .item:not(:last-of-type) {
    margin-bottom: 20px;
  }
  .service-content .item a {
    width: 100%;
    height: auto;
    padding: 16.5px 16px;
    background-size: cover;
    aspect-ratio: 343/209;
  }
  .service-content .item a p:nth-of-type(1) {
    font-size: 20px;
  }
  .service-content .item a p:nth-of-type(2) {
    font-size: 16px;
  }
  .service-content .item a p:nth-of-type(3) {
    font-size: 14px;
  }
}
@media screen and (max-width: 838px) {
  .service-content {
    display: block;
  }
  .service-bottom {
    width: 100%;
    height: auto;
    aspect-ratio: 342/426.346;
    flex-shrink: 0;
    padding: 20px 16px;
    background-position: bottom;
    margin: 80px auto 0;
  }
  .service-bottom p:nth-of-type(1) {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .service-bottom p:nth-of-type(2) {
    font-size: 14px;
    letter-spacing: 1.4px;
    width: auto;
  }
}

.works {
  max-width: 1440px;
  padding-inline: 110px;
  margin: 100px auto;
}
.works h2 {
  margin-bottom: 40px;
}
.works-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 40px;
}
.works-content li a {
  display: block;
  filter: drop-shadow(0 6px 6px #9BB0BB);
  transition: all 0.4s ease;
}
.works-content li a:hover {
  transform: translateY(-3px);
  opacity: 0.7;
}
.works-content li a > div {
  height: 448px;
  border-radius: 10px 10px 0 0;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  background: #FFF;
  padding: 16px;
}
.works-content li a > div img {
  width: 100%;
  height: auto;
  margin-bottom: 18px;
  border-radius: 10px;
}
.works-content li a > div .works-info {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.works-content li a > div .works-info p {
  font-weight: 500;
  line-height: 1.5;
}
.works-content li a > div .works-info p:nth-of-type(1) {
  font-size: 16px;
  letter-spacing: 1.6px;
}
.works-content li a > div .works-info p:nth-of-type(2) {
  border-radius: 5px;
  background: #02479C;
  padding: 2px 4px;
  color: #FFF;
  font-size: 14px;
  letter-spacing: 1.4px;
}
.works-content li a > div .title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
  /* 27.2px */
  letter-spacing: 0.48px;
}
.works-content li a > div .content {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
  /* 23.8px */
}
.works-content li a .more {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: #FFF;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.54px;
  border-radius: 0 0 10px 10px;
  background: #02479C;
  padding-block: 6px;
}
.works-content li a .more::after {
  content: "";
  display: block;
  width: 17.107px;
  height: 13.607px;
  background-image: url(../img/btn_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.works .viewmore {
  margin-left: auto;
}
@media screen and (max-width: 1079px) {
  .works {
    padding-inline: 16px;
    margin: 80px auto;
  }
  .works h2 {
    margin-bottom: 20px;
  }
  .works-content {
    grid-template-columns: repeat(1, 1fr);
  }
  .works-content li a > div {
    height: auto;
  }
  .works-content li a > div img {
    margin-bottom: 20px;
  }
}

.recruit {
  background: #02479C;
  padding-block: 150px;
}
.recruit-wrap {
  max-width: 1440px;
  padding-inline: 110px;
  width: 100%;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.recruit-wrap .content {
  color: #FFF;
  max-width: 590px;
  width: 100%;
}
.recruit-wrap .content h2 {
  color: #fff;
  margin-bottom: 40px;
}
.recruit-wrap .content h2 span {
  color: #fff;
}
.recruit-wrap .content h3 {
  font-size: 40px;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 56px;
}
.recruit-wrap .content p {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  /* 30px */
  letter-spacing: 2px;
}
.recruit-wrap .links {
  max-width: 590px;
  width: 100%;
}
.recruit-wrap .links a {
  font-family: Montserrat;
  display: block;
  background-color: #fff;
  border-radius: 10px;
  width: 590px;
  height: 200px;
  padding: 77px 60px;
  color: #02479C;
  font-size: 44px;
  font-weight: 600;
  line-height: 1;
  position: relative;
  overflow: hidden;
  background-image: url(../img/recruit2.png);
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.4s ease;
}
.recruit-wrap .links a:first-of-type {
  background-image: url(../img/recruit1.png);
  margin-bottom: 40px;
}
.recruit-wrap .links a:hover {
  transform: translateY(-3px);
  opacity: 0.7;
}
.recruit-wrap .links a .circle {
  position: absolute;
  width: 156px;
  height: 156px;
  flex-shrink: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #02479C;
  right: -82px;
  bottom: -78px;
}
.recruit-wrap .links a .circle::before {
  content: "";
  display: block;
  width: 30.793px;
  height: 30.793px;
  flex-shrink: 0;
  aspect-ratio: 30.79/30.79;
  background-image: url(../img/circle_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 33px;
  top: 31px;
}
@media screen and (max-width: 1079px) {
  .recruit {
    padding: 40px 16px;
    margin: 80px auto;
  }
  .recruit-wrap {
    display: block;
    padding-inline: 0;
  }
  .recruit-wrap .content {
    max-width: unset;
  }
  .recruit-wrap .content h2 {
    margin-bottom: 20px;
  }
  .recruit-wrap .content h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .recruit-wrap .content p {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .recruit .links {
    max-width: unset;
  }
  .recruit .links a {
    width: 100%;
    height: auto;
    padding: 48px 30px;
    font-size: 20px;
    background-size: cover;
    max-width: unset;
    aspect-ratio: 343/116.271;
  }
  .recruit .links a:first-of-type {
    margin-bottom: 20px;
  }
  .recruit .links a .circle {
    width: 90px;
    height: 90px;
    right: -45px;
    bottom: -45px;
  }
  .recruit .links a .circle::before {
    top: 18px;
    left: 18px;
    width: 17.441px;
    height: 17.441px;
  }
}

.info {
  padding: 100px 110px;
  display: flex;
  justify-content: center;
  gap: 40px;
}
.info > div {
  width: 590px;
  border-radius: 10px;
  background: #EFF4F9;
  padding: 40px;
}
.info > div.news ul {
  margin-bottom: 40px;
}
.info > div.news ul li {
  padding: 11px 15px;
  border-bottom: 1px solid rgba(66, 66, 66, 0.3);
}
.info > div.news ul li .news-info {
  display: flex;
  justify-content: start;
  align-items: center;
  margin-bottom: 6px;
}
.info > div.news ul li .news-info p {
  color: #4B4B4B;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.6px;
}
.info > div.news ul li .news-info p:last-of-type {
  border-radius: 5px;
  background: #02479C;
  padding: 2px 4px;
  color: #FFF;
  font-size: 14px;
  letter-spacing: 1.4px;
}
.info > div.news ul li a {
  color: #424242;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  transition: all 0.4s ease;
}
.info > div.news ul li a:hover {
  transform: translateY(-3px);
  opacity: 0.7;
}
.info > div.about img {
  margin-bottom: 21px;
}
.info > div.about p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 40px;
}
.info > div h2 {
  margin-bottom: 40px;
}
.info > div .viewmore {
  margin: auto;
}
@media screen and (max-width: 1079px) {
  .info {
    margin: 80px auto;
    padding: 0 16px;
    display: block;
  }
  .info > div {
    width: 100%;
    padding: 40px 16px;
  }
  .info > div h2 {
    margin-bottom: 20px;
  }
  .info > div.news {
    margin-bottom: 80px;
  }
  .info > div.news ul li {
    padding: 10px 16px;
  }
  .info > div.news ul li .news-info {
    gap: 14px;
  }
  .info > div.news ul li .news-info p {
    font-size: 14px;
  }
  .info > div.news ul li .news-info p:last-of-type {
    font-size: 12px;
  }
  .info > div.news ul li .news-info a {
    font-size: 14px;
  }
  .info > div.about img {
    margin-bottom: 20px;
  }
  .info > div.about p {
    margin-bottom: 20px;
  }
}

.page-strengths-points {
  max-width: 1080px;
  width: 100%;
  margin: 100px auto;
}
.page-strengths-points ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.page-strengths-points ul li:nth-of-type(2n-1) {
  flex-direction: row-reverse;
}
.page-strengths-points ul li:not(:last-of-type) {
  margin-bottom: 60px;
}
.page-strengths-points ul li div {
  max-width: 590px;
  width: 100%;
}
.page-strengths-points ul li div p:nth-of-type(1) {
  color: #02479C;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 16px;
}
.page-strengths-points ul li div p:nth-of-type(2) {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: solid 1px #02479C;
}
.page-strengths-points ul li div p:nth-of-type(3) {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
}
.page-strengths-points ul li img {
  width: 430px;
  height: auto;
}
@media screen and (max-width: 1079px) {
  .page-strengths-points {
    margin: 80px auto;
    padding-inline: 16px;
  }
  .page-strengths-points ul li {
    flex-wrap: wrap;
  }
  .page-strengths-points ul li div p:nth-of-type(1) {
    font-size: 10px;
    margin-bottom: 10px;
  }
  .page-strengths-points ul li div p:nth-of-type(2) {
    font-size: 20px;
    padding-bottom: 10px;
  }
  .page-strengths-points ul li div p:nth-of-type(3) {
    font-size: 14px;
    letter-spacing: 0.42px;
    margin-bottom: 20px;
  }
}
.page-service-content {
  margin: 100px auto;
}
.page-service-content h3 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  margin-bottom: 40px;
}
.page-service-content > p {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 170%;
  letter-spacing: 0.48px;
  margin-bottom: 20px;
}
.page-service-content > p:last-of-type {
  margin-bottom: 100px;
}
.page-service-content ul {
  max-width: 1080px;
  width: 100%;
  margin: auto;
}
.page-service-content ul li:not(:last-of-type) {
  margin-bottom: 100px;
}
.page-service-content ul li h4 {
  padding: 20px 0;
  text-align: center;
  border-radius: 50px;
  background: #EFF4F9;
  color: #02479C;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 40px;
}
.page-service-content ul li > div {
  max-width: 920px;
  margin: auto;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.page-service-content ul li > div img {
  max-width: 430px;
  width: 100%;
  height: auto;
}
.page-service-content ul li > div p {
  max-width: 430px;
  width: 100%;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
}
@media screen and (max-width: 1079px) {
  .page-service-content {
    margin: 80px auto;
    padding-inline: 16px;
  }
  .page-service-content h3 {
    width: 200px;
    margin: 0 auto 16px;
    font-size: 20px;
    line-height: 1.3;
  }
  .page-service-content > p {
    font-size: 16px;
  }
  .page-service-content > p:last-of-type {
    margin-bottom: 80px;
  }
  .page-service-content ul li:not(:last-of-type) {
    margin-bottom: 60px;
  }
  .page-service-content ul li h4 {
    font-size: 20px;
    padding-block: 4px;
    margin-bottom: 20px;
  }
  .page-service-content ul li div {
    display: block;
  }
  .page-service-content ul li div img {
    margin-bottom: 20px;
  }
}
.page-requestguid-content {
  margin: 100px auto;
}
.page-requestguid-content h3 {
  color: #02479C;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  border-bottom: solid 3px #02479C;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  padding: 0 10px 10px;
  margin-bottom: 60px;
}
.page-requestguid-content > p {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
  margin-bottom: 60px;
}
.page-requestguid-content .circles {
  max-width: 1080px;
  width: 100%;
  margin: auto;
  display: flex;
  justify-content: center;
  gap: 30px;
  padding-bottom: 60px;
  border-bottom: solid 2px #02479C;
}
.page-requestguid-content .circles .circle {
  display: block;
  align-items: center;
  justify-content: center;
  width: 220px;
  height: 220px;
  aspect-ratio: 1/1;
  background-image: url(../img/fv_head_bg-pc.png);
  background-repeat: no-repeat;
  background-size: contain;
  color: #02479C;
  text-align: center;
  font-weight: 700;
}
.page-requestguid-content .circles .circle p {
  line-height: 1;
}
.page-requestguid-content .circles .circle p:first-of-type {
  padding-top: 55px;
  font-size: 30px;
  letter-spacing: 0.9px;
}
.page-requestguid-content .circles .circle p:last-of-type {
  font-size: 70px;
  letter-spacing: 2.1px;
}
.page-requestguid-content .circles .circle p:last-of-type span:first-of-type {
  font-size: 50px;
}
.page-requestguid-content .circles .circle p:last-of-type span:last-of-type {
  display: inline-block;
  width: 19px;
  white-space: wrap;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.6px;
}
.page-requestguid-content .circles .circle.etc {
  background-image: url(../img/fv_head_etc_bg-pc.png);
}
.page-requestguid-content ul {
  max-width: 1080px;
  width: 100%;
  margin: auto;
  padding-bottom: 60px;
  border-bottom: solid 2px #02479C;
  padding-left: 90px;
  position: relative;
}
.page-requestguid-content ul::before {
  content: "";
  display: block;
  width: 1px;
  height: 507px;
  background: #02479C;
  position: absolute;
  top: 32px;
  left: 110px;
}
.page-requestguid-content ul li {
  display: flex;
  justify-content: start;
  align-items: start;
  gap: 80px;
}
.page-requestguid-content ul li:not(:last-of-type) {
  margin-bottom: 40px;
}
.page-requestguid-content ul li .number {
  width: 40px;
  height: 40px;
  aspect-ratio: 1/1;
  background: #02479C;
  border-radius: 50%;
  color: #FFF;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  padding-top: 7px;
}
.page-requestguid-content ul li > div p:nth-of-type(1) {
  color: #02479C;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.8px;
  margin-bottom: 20px;
  padding-top: 8px;
}
.page-requestguid-content ul li > div p:nth-of-type(2) {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
  max-width: 780px;
}
.page-requestguid-content .priceimages {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.page-requestguid-content .priceimages img {
  height: auto;
  flex-shrink: 0;
}
@media screen and (max-width: 1079px) {
  .page-requestguid-content {
    margin: 80px auto;
  }
  .page-requestguid-content:not(:last-of-type) {
    margin: 80px 16px;
  }
  .page-requestguid-content:last-of-type > p {
    padding-inline: 16px;
  }
  .page-requestguid-content h3 {
    margin: 0 auto 40px;
    font-size: 20px;
    line-height: 1.3;
    padding: 0 10px 10px;
  }
  .page-requestguid-content > p {
    font-size: 14px;
  }
  .page-requestguid-content > p:last-of-type {
    margin-bottom: 40px;
  }
  .page-requestguid-content .circles {
    flex-wrap: wrap;
    gap: 10px;
  }
  .page-requestguid-content .circles .circle {
    width: 130px;
    height: 130px;
  }
  .page-requestguid-content .circles .circle:first-of-type {
    flex-basis: 100%;
    background-position: center;
  }
  .page-requestguid-content .circles .circle p:first-of-type {
    font-size: 14px;
    padding-top: 36px;
  }
  .page-requestguid-content .circles .circle p:last-of-type {
    font-size: 40px;
  }
  .page-requestguid-content .circles .circle p:last-of-type span:first-of-type {
    font-size: 20px;
  }
  .page-requestguid-content .circles .circle p:last-of-type span:last-of-type {
    width: 10px;
    font-size: 10px;
  }
  .page-requestguid-content ul {
    padding-left: 0;
  }
  .page-requestguid-content ul::before {
    top: 25px;
    left: 14px;
    height: 512px;
  }
  .page-requestguid-content ul li {
    gap: 20px;
  }
  .page-requestguid-content ul li .number {
    width: 30px;
    height: 30px;
    font-size: 18px;
    padding-top: 3px;
  }
  .page-requestguid-content ul li > div p:nth-of-type(1) {
    font-size: 16px;
    margin-bottom: 10px;
    padding-top: 7px;
  }
  .page-requestguid-content ul li > div p:nth-of-type(2) {
    font-size: 14px;
  }
  .page-requestguid-content .priceimages {
    grid-template-columns: repeat(2, 1fr);
  }
}
.page-forapplicants-content {
  max-width: 1080px;
  width: 100%;
  margin: 150px auto 100px;
}
.page-forapplicants-content h3 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  padding-bottom: 16px;
  border-bottom: solid 1px #02479C;
  margin-bottom: 40px;
}
.page-forapplicants-content h3 span {
  display: block;
  color: #02479C;
  font-size: 20px;
  margin-bottom: 16px;
}
.page-forapplicants-content .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 900px;
  width: 100%;
  margin: auto;
}
.page-forapplicants-content .flex img {
  max-width: 430px;
  width: 100%;
  height: auto;
}
.page-forapplicants-content .flex p {
  max-width: 430px;
  width: 100%;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
}
.page-forapplicants-content .steps {
  max-width: 900px;
  width: 100%;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.page-forapplicants-content .steps li {
  padding-inline: 10px;
  border-radius: 10px;
  background: #EFF4F9;
  height: 364px;
}
.page-forapplicants-content .steps li::before {
  content: "";
  display: block;
  width: 109px;
  height: 202px;
  background-size: contain;
  background-repeat: no-repeat;
  margin: auto;
}
.page-forapplicants-content .steps li:nth-of-type(1)::before {
  background-image: url(../img/step1.png);
}
.page-forapplicants-content .steps li:nth-of-type(2)::before {
  background-image: url(../img/step2.png);
}
.page-forapplicants-content .steps li:nth-of-type(3)::before {
  background-image: url(../img/step3.png);
}
.page-forapplicants-content .steps li p:nth-of-type(1) {
  text-align: center;
  color: #02479C;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.8px;
  margin-bottom: 10px;
}
.page-forapplicants-content .steps li p:nth-of-type(1) span {
  font-size: 24px;
}
.page-forapplicants-content .steps li p:nth-of-type(2) {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
}
.page-forapplicants-content .schedule li {
  padding: 13.5px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 5px;
  background: #EFF4F9;
  max-width: 706px;
  width: 100%;
  height: 88px;
  margin: auto;
}
.page-forapplicants-content .schedule li:not(:last-of-type) {
  margin-bottom: 20px;
}
.page-forapplicants-content .schedule li p {
  font-weight: 700;
  line-height: 1.7;
}
.page-forapplicants-content .schedule li .date {
  font-size: 20px;
  letter-spacing: 0.6px;
  flex-shrink: 0;
}
.page-forapplicants-content .schedule li > div {
  max-width: 510px;
  width: 100%;
}
.page-forapplicants-content .schedule li > div .title {
  font-size: 20px;
  letter-spacing: 0.6px;
}
.page-forapplicants-content .schedule li > div .desc {
  font-size: 16px;
  letter-spacing: 0.48px;
}
@media screen and (max-width: 1079px) {
  .page-forapplicants-content {
    margin: 80px auto 60px;
    padding-inline: 16px;
  }
  .page-forapplicants-content h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .page-forapplicants-content h3 span {
    font-size: 10px;
    margin-bottom: 10px;
  }
  .page-forapplicants-content .flex {
    flex-wrap: wrap-reverse;
  }
  .page-forapplicants-content .flex p {
    font-size: 14px;
    letter-spacing: 0.42px;
    margin-bottom: 20px;
  }
  .page-forapplicants-content .steps {
    grid-template-columns: repeat(1, 1fr);
    max-width: 280px;
  }
  .page-forapplicants-content .steps li {
    padding: 0 10px 20px;
    height: auto;
  }
  .page-forapplicants-content .schedule li {
    display: block;
    padding: 10px 16px;
    height: auto;
  }
  .page-forapplicants-content .schedule li > div {
    display: flex;
    gap: 10px;
  }
  .page-forapplicants-content .schedule li > div .date {
    font-size: 16px;
  }
  .page-forapplicants-content .schedule li > div .title {
    font-size: 16px;
  }
  .page-forapplicants-content .schedule li .desc {
    margin-top: 10px;
    font-size: 14px;
    letter-spacing: 0.42px;
  }
}
.page-recruit-content {
  margin: 100px auto;
  max-width: 1080px;
  width: 100%;
}
.page-recruit-content h3 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  margin-bottom: 60px;
}
.page-recruit-content h3.sub {
  text-align: left;
  border-bottom: #02479C solid 1px;
  padding-bottom: 16px;
}
.page-recruit-content h3 span {
  display: block;
  margin-bottom: 16px;
  color: #02479C;
  font-size: 20px;
}
.page-recruit-content .voices {
  width: 980px;
  display: flex;
  margin: auto;
}
.page-recruit-content .voices .slick-next, .page-recruit-content .voices .slick-prev {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  border-radius: 50px;
  border: 2px solid #02479C;
  background: #FFF;
  background-image: url(../img/slick-arrow.png);
  background-size: 18.861px 14.589px;
  background-repeat: no-repeat;
  background-position: center center;
}
.page-recruit-content .voices .slick-prev {
  left: -50px;
}
.page-recruit-content .voices .slick-next {
  right: -50px;
  transform: rotate(180deg);
}
.page-recruit-content .voices li {
  max-width: 980px;
  width: 100%;
  margin: auto;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 20px;
  border: 1px solid #02479C;
  background: #FFF;
  padding-block: 35px;
}
.page-recruit-content .voices li > p {
  color: #02479C;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.84px;
  text-align: center;
  margin-bottom: 20px;
}
.page-recruit-content .voices-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.page-recruit-content .voices-wrap .profile {
  flex-shrink: 0;
}
.page-recruit-content .voices-wrap .profile img {
  max-width: 240px;
  width: 100%;
  height: auto;
  flex-shrink: 0;
  aspect-ratio: 240/232.99;
}
.page-recruit-content .voices-wrap .profile .dep {
  display: block;
  margin: auto;
  width: -moz-fit-content;
  width: fit-content;
  color: #FFF;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.4px;
  border-radius: 5px;
  background: #9FBCEA;
  padding: 2px 4px;
  text-align: center;
}
.page-recruit-content .voices-wrap .profile .name {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  color: #4B4B4B;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 2px;
}
.page-recruit-content .voices-wrap .questions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.page-recruit-content .voices-wrap .questions > div {
  border-left: solid 3px #02479C;
  padding-left: 15px;
  height: 145px;
  margin-bottom: 20px;
}
.page-recruit-content .voices-wrap .questions > div > div {
  display: flex;
  align-items: start;
  gap: 12px;
  font-size: 16px;
}
.page-recruit-content .voices-wrap .questions > div > div p:last-of-type {
  width: 257px;
}
.page-recruit-content .voices-wrap .questions > div > div:nth-of-type(1) {
  color: #02479C;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
  margin-bottom: 10px;
}
.page-recruit-content .voices-wrap .questions > div > div:nth-of-type(2) {
  color: #4B4B4B;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
}
.page-recruit-content .videos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
.page-recruit-content .videos > div iframe {
  border-radius: 20px;
  margin-bottom: 9px;
}
.page-recruit-content .videos > div > div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.page-recruit-content .videos > div > div p:first-of-type {
  padding: 2px 4px;
  border-radius: 5px;
  background: #9FBCEA;
  color: #FFF;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.4px;
}
.page-recruit-content .videos > div > div p:last-of-type {
  color: #4B4B4B;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 2px;
}
.page-recruit-content .steps {
  max-width: 900px;
  width: 100%;
  margin: auto;
  position: relative;
}
.page-recruit-content .steps::before {
  content: "";
  display: block;
  width: 1px;
  height: 465px;
  background: #02479C;
  position: absolute;
  top: 32px;
  left: 19px;
}
.page-recruit-content .steps li {
  display: flex;
  gap: 80px;
  align-items: start;
  margin-bottom: 50px;
}
.page-recruit-content .steps li .number {
  width: 40px;
  height: 40px;
  aspect-ratio: 1/1;
  background: #02479C;
  border-radius: 50%;
  color: #FFF;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  padding-top: 7px;
}
.page-recruit-content .steps li > div p:nth-of-type(1) {
  padding-top: 8px;
  color: #02479C;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.8px;
  margin-bottom: 20px;
}
.page-recruit-content .steps li > div p:nth-of-type(2) {
  color: #424242;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
}
.page-recruit-content .details {
  max-width: 1080px;
  width: 100%;
  margin: auto;
}
.page-recruit-content .details dl {
  display: flex;
  align-items: start;
  justify-content: space-between;
  font-size: 20px;
  line-height: 1.5;
  padding: 20px 40px;
  border-bottom: 1px solid #EFF4F9;
}
.page-recruit-content .details dl dt {
  max-width: 150px;
  width: 100%;
  font-weight: 500;
}
.page-recruit-content .details dl dd {
  max-width: 740px;
  width: 100%;
  font-weight: 400;
}
@media screen and (max-width: 1079px) {
  .page-recruit h3 {
    margin-bottom: 40px;
  }
  .page-recruit h3.sub {
    margin-inline: 16px;
    font-size: 20px;
  }
  .page-recruit h3.sub span {
    font-size: 10px;
    margin-bottom: 10px;
  }
  .page-recruit .voices {
    width: calc(100vw - 64px);
  }
  .page-recruit .voices li {
    width: calc(100vw - 64px);
    margin: unset;
    padding: 20px 16px;
  }
  .page-recruit .voices li > p {
    font-size: 20px;
    letter-spacing: 0.6px;
    text-align: left;
  }
  .page-recruit .voices .slick-prev, .page-recruit .voices .slick-next {
    top: 200px;
    z-index: 3;
  }
  .page-recruit .voices .slick-prev {
    left: -30px;
  }
  .page-recruit .voices .slick-next {
    right: -30px;
  }
  .page-recruit .voices-wrap {
    display: block;
  }
  .page-recruit .voices-wrap .profile img {
    margin: 0 auto 22px;
  }
  .page-recruit .voices-wrap .profile .dep {
    margin-left: 67px;
  }
  .page-recruit .voices-wrap .profile .name {
    margin-left: 67px;
  }
  .page-recruit .voices-wrap .questions {
    grid-template-columns: repeat(1, 1fr);
  }
  .page-recruit .voices-wrap .questions > div {
    height: auto;
    margin-bottom: unset;
  }
  .page-recruit .voices-wrap .questions > div > div {
    font-size: 14px;
  }
  .page-recruit .voices-wrap .questions > div > div p:nth-of-type(2) {
    width: 236px;
  }
  .page-recruit .videos {
    flex-wrap: wrap;
    margin-inline: 16px;
  }
  .page-recruit .videos iframe {
    width: 343px;
    height: 228.887px;
    flex-shrink: 0;
  }
  .page-recruit .videos > div > div p {
    white-space: nowrap;
  }
  .page-recruit .steps {
    margin-inline: 16px;
    width: auto;
  }
  .page-recruit .steps::before {
    height: 500px;
    top: 28px;
    left: 15px;
  }
  .page-recruit .steps li {
    gap: 20px;
  }
  .page-recruit .steps li .number {
    width: 30px;
    height: 30px;
    font-size: 18px;
    padding-top: 3px;
  }
  .page-recruit .steps li > div p:nth-of-type(1) {
    font-size: 16px;
  }
  .page-recruit .steps li > div p:nth-of-type(2) {
    font-size: 14px;
  }
  .page-recruit .details dl dt, .page-recruit .details dl dd {
    font-size: 14px;
  }
}
.page-works-content .categories {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-block: 100px 60px;
}
.page-works-content .categories li {
  background: #02479C;
  color: #FFF;
  border-radius: 5px;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.4px;
  padding: 6px 14px;
}
.page-works-content .categories li.current {
  color: #02479C;
  background: #fff;
  border: 1px solid #02479C;
}
.page-works-content .articles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  max-width: 1220px;
  width: auto;
  margin: 0 auto 40px;
}
.page-works-content .articles article {
  border-radius: 10px;
  border: 1px solid #000;
  background: #FFF;
  filter: drop-shadow(0 6px 6px #9BB0BB);
}
.page-works-content .articles article a {
  display: block;
  padding: 16px;
  transition: all 0.4s ease;
}
.page-works-content .articles article a:hover {
  transform: translateY(-3px);
  opacity: 0.7;
}
.page-works-content .articles article a img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 16px;
}
.page-works-content .articles article a > div {
  display: flex;
  gap: 10px;
  justify-content: center;
  justify-content: start;
  margin-bottom: 10px;
}
.page-works-content .articles article a > div p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.6px;
}
.page-works-content .articles article a > div p:last-of-type {
  display: flex;
  padding: 2px 4px;
  border-radius: 5px;
  background: #02479C;
  color: #FFF;
  font-size: 14px;
  letter-spacing: 1.4px;
}
.page-works-content .articles article a > p {
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.48px;
}
@media screen and (max-width: 1079px) {
  .page-works-content {
    margin-inline: 16px;
  }
  .page-works-content .categories {
    justify-content: start;
    flex-wrap: wrap;
    margin-block: 40px 50px;
  }
  .page-works-content .articles {
    grid-template-columns: repeat(1, 1fr);
  }
}
.page-about-content {
  margin: 100px auto;
  max-width: 1080px;
  width: 100%;
}
.page-about-content h3 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 60px;
  text-align: left;
  border-bottom: #02479C solid 1px;
  padding-bottom: 16px;
}
.page-about-content h3 span {
  display: block;
  margin-bottom: 16px;
  color: #02479C;
  font-size: 20px;
}
.page-about-content .greeting {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 40px;
  flex-wrap: wrap;
  margin-bottom: 100px;
}
.page-about-content .greeting > div.message {
  width: 460px;
}
.page-about-content .greeting > div.message h4 {
  display: block;
  text-align: left;
  font-family: "Noto Serif JP";
  font-size: 47px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 4.7px;
  margin-bottom: 20px;
}
.page-about-content .greeting > div.message h4 span {
  display: block;
  font-size: 30px;
  letter-spacing: 3px;
}
.page-about-content .greeting > div.message h5 {
  font-family: "Noto Serif JP";
  font-size: 32px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 3.2px;
  margin-bottom: 40px;
}
.page-about-content .greeting > div.message h5 span {
  font-size: 20px;
  letter-spacing: 2px;
}
.page-about-content .greeting > div.message p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
  margin-bottom: 20px;
}
.page-about-content .greeting > div.images {
  position: relative;
  height: -webkit-fill-available;
}
.page-about-content .greeting > div.images .image1 {
  display: block;
  background-image: url(../img/greeting1.png);
  background-size: contain;
  background-repeat: no-repeat;
  max-width: 500px;
  width: 500px;
  height: auto;
  aspect-ratio: 500/330.919;
}
.page-about-content .greeting > div.images .image2 {
  display: block;
  background-image: url(../img/greeting2.png);
  background-size: contain;
  background-repeat: no-repeat;
  max-width: 430px;
  width: 430px;
  height: auto;
  flex-shrink: 0;
  aspect-ratio: 215/268;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.page-about-content .data {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25.5px;
}
.page-about-content .data li {
  border-radius: 10px;
  border: 2px solid #02479C;
  background: #FFF;
  padding-block: 30px;
}
.page-about-content .data li p:first-of-type {
  color: #02479C;
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 2.4px;
}
.page-about-content .data li:nth-of-type(1) > div {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: end;
}
.page-about-content .data li:nth-of-type(1) > div > div {
  display: flex;
  align-items: baseline;
}
.page-about-content .data li:nth-of-type(1) > div p {
  color: #02479C;
  font-family: Montserrat;
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
.page-about-content .data li:nth-of-type(1) > div span {
  color: #02479C;
  text-align: center;
  font-feature-settings: "vert" on;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1;
}
.page-about-content .data li:nth-of-type(1) > div::after {
  content: "";
  display: inline-block;
  width: 88px;
  height: 88px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  background-image: url(../img/data1.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.page-about-content .data li:nth-of-type(2) > div {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 8px;
}
.page-about-content .data li:nth-of-type(2) > div > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.page-about-content .data li:nth-of-type(2) > div p {
  color: #02479C;
  font-family: Montserrat;
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
.page-about-content .data li:nth-of-type(2) > div span {
  width: 20px;
  color: #02479C;
  text-align: center;
  font-feature-settings: "vert" on;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 2px;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.page-about-content .data li:nth-of-type(2) > div::after {
  content: "";
  display: inline-block;
  width: 80.667px;
  height: 77px;
  flex-shrink: 0;
  background-image: url(../img/data2.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.page-about-content .data li:nth-of-type(3) > div {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: end;
}
.page-about-content .data li:nth-of-type(3) > div > div {
  display: flex;
  align-items: baseline;
}
.page-about-content .data li:nth-of-type(3) > div p {
  color: #02479C;
  font-family: Montserrat;
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
.page-about-content .data li:nth-of-type(3) > div span {
  color: #02479C;
  font-feature-settings: "vert" on;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1;
}
.page-about-content .data li:nth-of-type(3) > div::after {
  content: "";
  display: inline-block;
  width: 88px;
  height: 88px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  background-image: url(../img/data3.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.page-about-content .data li:nth-of-type(4) > div {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: end;
}
.page-about-content .data li:nth-of-type(4) > div > div {
  display: flex;
  align-items: baseline;
}
.page-about-content .data li:nth-of-type(4) > div p {
  color: #02479C;
  font-family: Montserrat;
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
.page-about-content .data li:nth-of-type(4) > div span {
  color: #02479C;
  font-feature-settings: "vert" on;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1;
}
.page-about-content .data li:nth-of-type(4) > div::after {
  content: "";
  display: inline-block;
  width: 58.292px;
  height: 88px;
  aspect-ratio: 58.29/88;
  flex-shrink: 0;
  background-image: url(../img/data4.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.page-about-content .data li:nth-of-type(5) > div {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 8px;
}
.page-about-content .data li:nth-of-type(5) > div > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.page-about-content .data li:nth-of-type(5) > div p {
  color: #02479C;
  font-family: Montserrat;
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
.page-about-content .data li:nth-of-type(5) > div span {
  width: 20px;
  color: #02479C;
  text-align: center;
  font-feature-settings: "vert" on;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 2px;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.page-about-content .data li:nth-of-type(5) > div::after {
  content: "";
  display: inline-block;
  width: 88px;
  height: 88px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  background-image: url(../img/data5.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.page-about-content .data li:nth-of-type(6) > div {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: end;
}
.page-about-content .data li:nth-of-type(6) > div > div {
  display: flex;
  align-items: baseline;
}
.page-about-content .data li:nth-of-type(6) > div p {
  color: #02479C;
  font-family: Montserrat;
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}
.page-about-content .data li:nth-of-type(6) > div span {
  color: #02479C;
  font-feature-settings: "vert" on;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1;
}
.page-about-content .data li:nth-of-type(6) > div::after {
  content: "";
  display: inline-block;
  width: 88px;
  height: 88px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  background-image: url(../img/data6.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.page-about-content picture:not(:nth-of-type(3)) {
  width: 1080px;
  margin: 100px auto;
}
@media screen and (max-width: 1079px) {
  .page-about-content picture:not(:nth-of-type(3)) {
    width: auto;
    margin: 100px 16px;
  }
}
.page-about-content.permission {
  max-width: unset;
  background: #EFF4F9;
  padding-block: 100px;
}
.page-about-content.permission h3 {
  max-width: 1080px;
  margin: 0 auto 50px;
}
.page-about-content.permission .permission-content > p {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.48px;
  margin-bottom: 55px;
}
.page-about-content.permission .permission-content > div {
  max-width: 900px;
  margin: auto;
  display: flex;
  justify-content: start;
  align-items: start;
  flex-wrap: wrap;
  gap: 40px;
}
.page-about-content.permission .permission-content > div > div {
  max-width: 430px;
  width: 100%;
  flex-shrink: 0;
}
.page-about-content.permission .permission-content > div > div img {
  margin-bottom: 10px;
}
.page-about-content.permission .permission-content > div > div p {
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
  /* 23.8px */
  letter-spacing: 0.42px;
}
.page-about-content.permission .permission-content > div > img {
  display: block;
  width: 430px;
  height: 271px;
  flex-shrink: 0;
  aspect-ratio: 430/271;
}
.page-about-content .profile {
  margin-bottom: 40px;
}
.page-about-content .profile dl {
  display: flex;
  gap: 110px;
  align-items: flex-start;
  padding: 20px 40px;
  font-size: 20px;
  line-height: 1.5;
  border-bottom: 1px solid #EFF4F9;
}
.page-about-content .profile dl dt {
  width: 150px;
  font-weight: 500;
  flex-shrink: 0;
}
.page-about-content .profile dl dd {
  font-weight: 400;
}
.page-about-content .map {
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.page-about-content .map > div {
  max-width: 498px;
  width: 100%;
}
.page-about-content .map > div iframe {
  display: block;
  width: 498px;
  height: auto;
  flex-shrink: 0;
  aspect-ratio: 249/140;
  border-radius: 20px;
  background: #D9D9D9;
  margin-bottom: 16px;
}
.page-about-content .map > div p {
  color: #424242;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
}
.page-about-content .map > div p:last-of-type {
  margin-top: 10px;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 1079px) {
  .page-about-content {
    margin: 80px 16px;
    width: auto;
  }
  .page-about-content h3 {
    margin-bottom: 40px;
    font-size: 20px;
  }
  .page-about-content h3 span {
    font-size: 10px;
  }
  .page-about-content .greeting {
    margin-bottom: 80px;
  }
  .page-about-content .greeting > div {
    width: auto;
  }
  .page-about-content .greeting > div.message h4 {
    font-size: 38px;
  }
  .page-about-content .greeting > div.message h4 span {
    font-size: 28px;
  }
  .page-about-content .greeting > div.message h5 {
    font-size: 20px;
  }
  .page-about-content .greeting > div.message h5 span {
    font-size: 14px;
  }
  .page-about-content .greeting > div.images {
    width: 100%;
    height: auto;
    aspect-ratio: 343/604.564;
  }
  .page-about-content .greeting > div.images .image1 {
    width: 342.199px;
    height: 226.476px;
    flex-shrink: 0;
    aspect-ratio: 342.2/226.48;
  }
  .page-about-content .greeting > div.images .image2 {
    width: 343px;
    height: 427.553px;
    flex-shrink: 0;
    aspect-ratio: 343/427.55;
  }
  .page-about-content .data {
    grid-template-columns: repeat(2, 1fr);
    gap: 13px;
  }
  .page-about-content .data li {
    padding-block: 16px;
  }
  .page-about-content .data li > div > div {
    gap: 0 !important;
  }
  .page-about-content .data li > div > div p {
    font-size: 37px !important;
  }
  .page-about-content .data li > div > div span {
    font-size: 14px !important;
  }
  .page-about-content .data li p:first-of-type {
    font-size: 14px;
  }
  .page-about-content .data li:nth-of-type(1) > div::after {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
  }
  .page-about-content .data li:nth-of-type(2) > div > div {
    align-items: end;
    text-align: center;
  }
  .page-about-content .data li:nth-of-type(2) > div > div span {
    width: 14px;
  }
  .page-about-content .data li:nth-of-type(2) > div::after {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
  }
  .page-about-content .data li:nth-of-type(3) > div::after {
    width: 29.91px;
    height: 30px;
    flex-shrink: 0;
    aspect-ratio: 29.91/30;
  }
  .page-about-content .data li:nth-of-type(4) > div::after {
    width: 19.872px;
    height: 30px;
    flex-shrink: 0;
    aspect-ratio: 19.87/30;
  }
  .page-about-content .data li:nth-of-type(5) > div::after {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
  }
  .page-about-content .data li:nth-of-type(6) > div::after {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
  }
  .page-about-content.permission {
    padding: 80px 16px;
    margin-inline: 0;
  }
  .page-about-content.permission .permission-content > p {
    text-align: left;
    font-size: 14px;
    letter-spacing: 0.42px;
  }
  .page-about-content.permission .permission-content > div > img {
    width: 100%;
    height: auto;
    aspect-ratio: 343/216;
  }
  .page-about-content.permission .permission-content > div > div p {
    font-size: 12px;
    letter-spacing: 0.36px;
  }
  .page-about-content .profile dl {
    padding: 10px 16px;
    flex-wrap: wrap;
    gap: 10px;
  }
  .page-about-content .profile dl dt {
    font-size: 14px;
    width: 100%;
  }
  .page-about-content .profile dl dd {
    font-size: 14px;
    width: 100%;
  }
  .page-about-content .map {
    flex-wrap: wrap;
    gap: 20px;
  }
  .page-about-content .map > div {
    max-width: unset;
    width: 100%;
  }
  .page-about-content .map > div iframe {
    width: 100%;
    height: auto;
    flex-shrink: 0;
    aspect-ratio: 343/193;
  }
  .page-about-content .map > div p {
    font-size: 14px;
  }
  .page-about-content .map > div p:last-of-type {
    font-size: 14px;
  }
}
.page-news-content .categories {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-block: 100px 60px;
}
.page-news-content .categories li {
  background: #02479C;
  color: #FFF;
  border-radius: 5px;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.4px;
  padding: 6px 14px;
}
.page-news-content .categories li.current {
  color: #02479C;
  background: #fff;
  border: 1px solid #02479C;
}
.page-news-content .articles {
  max-width: 1080px;
  width: auto;
  margin: 100px auto 40px;
}
.page-news-content .articles li article a {
  width: 100%;
  display: block;
  padding: 20px 40px;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 60px;
  border-bottom: 1px solid #C6C6C6;
  transition: all 0.4s ease;
}
.page-news-content .articles li article a:hover {
  transform: translateY(-3px);
  opacity: 0.7;
}
.page-news-content .articles li article a > div {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 10px;
}
.page-news-content .articles li article a > div .date {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.6px;
}
.page-news-content .articles li article a > div .cate {
  color: #FFF;
  padding: 2px 4px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  /* 21px */
  letter-spacing: 1.4px;
  border-radius: 5px;
  background: #02479C;
}
.page-news-content .articles li article a > p {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.7;
  /* 27.2px */
  letter-spacing: 0.48px;
}
@media screen and (max-width: 1079px) {
  .page-news-content {
    margin-inline: 16px;
  }
  .page-news-content .categories {
    justify-content: start;
    flex-wrap: wrap;
    margin-block: 40px 50px;
  }
  .page-news-content .articles {
    margin: 0 auto 44px;
  }
  .page-news-content .articles li article {
    margin: unset;
  }
  .page-news-content .articles li article a {
    padding: 10px 8px;
    display: block;
  }
  .page-news-content .articles li article a > p {
    font-size: 16px;
  }
}
.page-thanks-content {
  margin: 100px auto;
  font-size: 16px;
  max-width: 1080px;
  width: 100%;
}

.single {
  max-width: 1080px;
  width: 100%;
  margin: 100px auto;
}
.single-head {
  padding: 10px 40px;
  border-bottom: 1px solid #4B4B4B;
  margin-bottom: 103px;
}
.single-head div {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 10px;
}
.single-head div p {
  font-size: 16px;
}
.single-head div p:last-of-type {
  font-size: 14px;
  border-radius: 5px;
  background: #02479C;
  padding: 2px 4px;
  color: #FFF;
  font-size: 14px;
  letter-spacing: 1.4px;
}
.single-head h3 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.7;
  /* 47.6px */
  letter-spacing: 0.84px;
}
.single-thumbnail {
  max-width: 840px;
  margin: 0 auto 35px;
}
.single-thumbnail img {
  width: 100%;
  height: auto;
  margin: auto;
}
.single-content {
  max-width: 840px;
  margin: 0 auto 60px;
}
.single-content p {
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  /* 24px */
  letter-spacing: 0.288px;
}
.single-buttons {
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.36px;
}
.single-buttons .next, .single-buttons .prev {
  position: absolute;
}
.single-buttons .prev {
  left: -100px;
}
.single-buttons .next {
  right: -100px;
}
.single-buttons .next a, .single-buttons .prev a {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  /* 24px */
  letter-spacing: 0.288px;
}
.single-buttons .next a::after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  transform: rotate(-45deg);
  border-right: 1px solid #424242;
  border-bottom: 1px solid #424242;
}
.single-buttons .prev a::before {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  transform: rotate(135deg);
  border-right: 1px solid #424242;
  border-bottom: 1px solid #424242;
}
@media screen and (max-width: 1079px) {
  .single {
    margin-inline: 16px;
    max-width: unset;
    width: auto;
  }
  .single-head {
    max-width: unset;
    padding: 10px 16px;
    margin-bottom: 35px;
  }
  .single-head h3 {
    font-size: 18px;
  }
  .single-thumbnail {
    margin-inline: 16px;
    max-width: unset;
    width: auto;
  }
  .single-thumbnail img {
    width: auto;
  }
  .single-content {
    margin-inline: 16px;
    max-width: unset;
  }
  .single-buttons {
    font-size: 16px;
  }
  .single-buttons .prev {
    left: -80px;
  }
  .single-buttons .next {
    right: -80px;
  }
  .single-buttons .prev a {
    font-size: 14px;
  }
  .single-buttons .next a {
    font-size: 14px;
  }
}

.heading2 {
  color: #02479C;
  font-family: Montserrat;
  font-size: 44px;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
}
.heading2.page {
  padding: 60px 0;
  text-align: center;
  background: #EFF4F9;
}
.heading2 span {
  display: block;
  color: #4B4B4B;
  font-size: 20px;
  font-weight: 700;
  font-family: "Noto Sans JP";
  margin-bottom: 6px;
}
@media screen and (max-width: 1079px) {
  .heading2 {
    font-size: 24px;
  }
  .heading2 span {
    font-size: 14px;
  }
  .heading2.page {
    padding: 29px;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  color: rgba(66, 66, 66, 0.5);
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.36px;
  margin-bottom: 100px;
}
.pagination .current, .pagination .next, .pagination .prev {
  color: #424242;
}
.pagination .next, .pagination .prev {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  /* 24px */
  letter-spacing: 0.288px;
}
.pagination .next {
  margin-left: 80px;
}
.pagination .next::after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  transform: rotate(-45deg);
  border-right: 1px solid #424242;
  border-bottom: 1px solid #424242;
}
.pagination .prev {
  margin-right: 80px;
}
.pagination .prev::before {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  transform: rotate(135deg);
  border-right: 1px solid #424242;
  border-bottom: 1px solid #424242;
}

.breadcrumbs {
  padding-left: 110px;
  padding-block: 20px;
}
.breadcrumbs ul {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 7px;
}
.breadcrumbs ul li {
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.8px;
  color: #4B4B4B;
}
@media screen and (max-width: 1079px) {
  .breadcrumbs {
    padding-left: 16px;
  }
}

.viewmore {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 50px;
  border: 2px solid #FFF;
  background: #02479C;
  padding: 15px 30px;
  color: #FFF;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.54px;
  border: none;
  transition: all 0.4s ease;
}
.viewmore::after {
  content: "";
  transition: all 0.4s ease;
  display: block;
  width: 17.107px;
  height: 13.607px;
  background-image: url(../img/btn_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.viewmore:hover {
  background: #9FBCEA;
}
.viewmore:hover::after {
  transform: translateX(5px);
}
.privacy {
  margin: 100px auto;
  max-width: 1080px;
  width: 100%;
}
.privacy-title {
  margin-bottom: 1rem;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1079px) {
  .privacy-title {
    font-size: 18px;
  }
}
.privacy-text {
  margin-bottom: 2rem;
  font-size: 18px;
}
@media screen and (max-width: 1079px) {
  .privacy-text {
    font-size: 14px;
  }
}
.privacy-list {
  margin-bottom: 2rem;
  padding-left: 1.25rem;
  font-size: 18px;
}
@media screen and (max-width: 1079px) {
  .privacy-list {
    font-size: 14px;
  }
}
.privacy-list ol {
  padding-left: 1.25rem;
}

.recruit-form {
  max-width: 1080px;
  margin: 100px auto;
  padding: 100px 0;
  background: #EFF4F9;
  border-radius: 30px;
  color: #333;
  font-size: 16px;
}
@media screen and (max-width: 1079px) {
  .recruit-form {
    padding: 50px 0;
    margin: 80px 16px;
  }
}
.recruit-form__group {
  max-width: 720px;
  margin: 0 auto 24px;
}
@media screen and (max-width: 1079px) {
  .recruit-form__group {
    width: calc(100% - 2rem);
  }
}
.recruit-form__group p {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
@media screen and (max-width: 1079px) {
  .recruit-form__group p {
    display: block;
  }
}
.recruit-form__group.start p {
  align-items: start;
}
.recruit-form__group-label {
  display: flex;
  align-items: center;
  width: 240px;
  font-weight: 500;
}
@media screen and (max-width: 1079px) {
  .recruit-form__group-label {
    width: 100%;
    margin-bottom: 12px;
    padding-top: 0;
  }
}
.recruit-form__group-label span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 20px;
  margin-left: 8px;
  font-size: 12px;
  font-weight: 400;
  color: #FFF;
  background: #02479C;
  border-radius: 5px;
}
.recruit-form__group-input {
  width: 480px;
  height: 45px;
  padding: 0 20px;
  font-size: 14px;
  background-color: #FFF;
  border: 1px solid #8E8E8E;
}
@media screen and (max-width: 1079px) {
  .recruit-form__group-input {
    width: 100%;
    height: 40px;
  }
}
.recruit-form__group-input--long {
  width: 480px;
}
@media screen and (max-width: 1079px) {
  .recruit-form__group-input--long {
    width: 100%;
  }
}
.recruit-form__group-textarea {
  width: 480px;
  height: 300px;
  padding: 20px;
  font-size: 14px;
  background-color: #FFF;
  border: 1px solid #8E8E8E;
}
@media screen and (max-width: 1079px) {
  .recruit-form__group-textarea {
    width: 100%;
    height: 240px;
  }
}
.recruit-form__group-notice {
  font-size: 14px;
  text-align: center;
  margin: 1rem 0 0.5rem;
  color: #44586B;
}
.recruit-form__group-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  font-size: 20px;
  color: #FFF;
  background: #02479C;
  border-radius: 39px;
  border: none;
  transition: all 0.8s;
  padding: 15px 30px;
}
.recruit-form__group-submit:hover {
  transform: translateY(4px);
}
.recruit-form__group .wpcf7-radio {
  display: block;
}
.recruit-form__group .wpcf7-radio > span {
  display: block;
}
.recruit-form__group .wpcf7-form-control-wrap:has(select) {
  display: block;
  position: relative;
  width: 240px;
  height: 45px;
  padding: 0 20px;
  font-size: 14px;
  background-color: #FFF;
  border: none;
}
@media screen and (max-width: 1079px) {
  .recruit-form__group .wpcf7-form-control-wrap:has(select) {
    width: 100%;
    height: 40px;
  }
}
.recruit-form__group .wpcf7-form-control-wrap:has(select) select {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 0 20px;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #8E8E8E;
}
.recruit-form__group .wpcf7-form-control-wrap:has(select)::before {
  position: absolute;
  content: "";
  z-index: 1;
  right: 16px;
  top: 18px;
  width: 8px;
  height: 8px;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-45deg);
}
@media screen and (max-width: 1079px) {
  .recruit-form__group .wpcf7-form-control-wrap:has(select)::before {
    top: 15px;
  }
}
.recruit-form .wpcf7-not-valid-tip {
  font-size: 12px;
}
.recruit-form .wpcf7-response-output {
  max-width: 720px;
  margin: auto !important;
}

@media screen and (max-width: 1079px) {
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 1080px) {
  .pc {
    display: block;
  }
  .sp {
    display: none !important;
  }
}/*# sourceMappingURL=style.css.map */