.font-family-ZEN {
  font-family: "Zen Maru Gothic", sans-serif;
}

.font-family-NOTO {
  font-family: "Noto Sans JP", sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html,
body {
  height: 100%;
}

img {
  max-width: 100%;
}

p {
  word-wrap: break-word;
}

input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
  font-size: "Noto Sans JP", sans-serif !important;
  border-color: #575757 !important;
  border-radius: 5px;
  height: 50px;
}
input[type=color]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #1034B1;
}
input[type=color].error,
input[type=date].error,
input[type=datetime].error,
input[type=datetime-local].error,
input[type=email].error,
input[type=month].error,
input[type=number].error,
input[type=password].error,
input[type=search].error,
input[type=tel].error,
input[type=text].error,
input[type=time].error,
input[type=url].error,
input[type=week].error,
select.error,
textarea.error {
  border-color: #C63838 !important;
}

input[type=checkbox] {
  border-color: #575757 !important;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

::placeholder, :-ms-input-placeholder, ::-webkit-input-placeholder {
  font-size: 16px;
  color: #7f7f7f;
}

::-webkit-input-placeholder {
  /* Edge */
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
}

textarea {
  resize: none;
}

.form-check-input:checked {
  background-color: #F14A00;
  border-color: #F14A00;
}
.form-check-input:focus {
  box-shadow: none;
}

ul {
  list-style: none;
}

a {
  color: inherit;
}
a.link {
  color: #1034B1;
}
a.link.error {
  color: #C63838;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: initial !important;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  color: #363329;
  background: #E3E1C3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-optical-sizing: auto;
  font-weight: 400;
  letter-spacing: 1px;
}

.custom-scrollbar ::-webkit-scrollbar, body ::-webkit-scrollbar {
  width: 8px !important;
}
.custom-scrollbar ::-webkit-scrollbar:horizontal, body ::-webkit-scrollbar:horizontal {
  height: 8px;
}
.custom-scrollbar ::-webkit-scrollbar-track, body ::-webkit-scrollbar-track {
  height: 8px;
}
.custom-scrollbar ::-webkit-scrollbar-thumb, body ::-webkit-scrollbar-thumb {
  border-radius: 4px !important;
  background: #000000 !important;
  height: 8px;
}
.custom-scrollbar ::-webkit-scrollbar-thumb:window-inactive, body ::-webkit-scrollbar-thumb:window-inactive {
  background: #000000 !important;
  height: 8px;
}

section {
  clear: both;
}

.form-control:focus,
.form-select:focus {
  box-shadow: none;
}

.text-blue {
  color: #1034B1 !important;
}

.text-orange {
  color: #F14A00 !important;
}

.text-white {
  color: #ffffff !important;
}

.bg-blue {
  background-color: #1034B1 !important;
}

.bg-light-yellow {
  background-color: #E3E1C3 !important;
}

.bg-white {
  background-color: #ffffff !important;
}

a,
button {
  cursor: pointer;
  word-break: break-word;
  word-wrap: break-word;
  transition: all ease-in-out 300ms;
  text-decoration: none;
  box-shadow: none;
}
a:hover,
button:hover {
  opacity: 0.8;
}
a:focus,
button:focus {
  box-shadow: none;
}

.button-grp {
  gap: 24px;
  margin-top: 40px;
}
.button-grp .btn {
  margin-top: 0;
}

.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  width: 100%;
  margin-top: 40px;
  padding-inline: 16px;
  color: #ffffff;
  border-radius: 0;
  position: relative;
}
.btn.rounded {
  border-radius: 100vh !important;
}
.btn .btn-icon {
  width: 20px;
  height: 20px;
}
.btn .btn-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.btn.btn-white {
  background-color: #ffffff;
  color: #016D3F !important;
}
.btn.btn-white:hover, .btn.btn-white:active {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #016D3F !important;
}
.btn.btn-orange {
  background-color: #F14A00;
}
.btn.btn-orange:hover, .btn.btn-orange:active {
  background-color: #F14A00 !important;
  border-color: #F14A00 !important;
  color: #ffffff !important;
}
.btn.btn-gray {
  background-color: #666666;
}
.btn.btn-gray:hover, .btn.btn-gray:active {
  background-color: #666666 !important;
  border-color: #666666 !important;
  color: #ffffff !important;
}
.btn:disabled, .btn.disabled {
  background-color: #CDCDCD !important;
  cursor: not-allowed !important;
  border-color: #CDCDCD !important;
  color: #ffffff !important;
}
.btn:disabled:hover, .btn:disabled:active, .btn.disabled:hover, .btn.disabled:active {
  background-color: #CDCDCD !important;
  border-color: #CDCDCD !important;
  color: #ffffff !important;
}
.btn .rounded {
  border-radius: 100vh !important;
}
.btn .icon {
  width: 13px;
  height: 13px;
  margin-left: 12px;
}

a .icon {
  margin-left: 8px;
}

li {
  text-align: left;
}

.icon {
  width: 11px;
  height: 11px;
  -o-object-fit: contain;
     object-fit: contain;
}

.img-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.img-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.img-wrapper img.contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.topTop {
  background: #F14A00;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  position: fixed;
  right: 20px;
  bottom: 24px;
  z-index: 5;
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all ease 350ms;
}
.topTop:hover {
  opacity: 0.8;
}
.topTop img {
  width: 18px;
  height: 18px;
}

.rounded {
  border-radius: 100vh !important;
}

.cursor-pointer {
  cursor: pointer !important;
}

/* Header CSS Starts Here */
nav {
  z-index: 99;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  margin-top: 30px;
  padding-inline: 30px;
  color: #ffffff;
}
nav .logo-wrapper {
  max-width: 300px;
  width: 100%;
  margin-right: 12px;
}
nav .nav-list {
  -moz-column-gap: 36px;
       column-gap: 36px;
  background: #016D3F;
  border-radius: 100vh;
  padding: 14px 36px;
}
nav .nav-list a:hover {
  color: #F14A00;
  opacity: 1;
}
nav .nav-list .btn-white {
  font-weight: 500 !important;
  height: 44px;
}

.hamburger-icon {
  width: 50px;
  height: 50px;
  background: #016D3F;
  border-radius: 100vh;
}
.hamburger-icon img {
  width: 50%;
  height: 50%;
}

.offcanvas {
  --bs-offcanvas-bg: #016D3F;
  --bs-offcanvas-color: #fff;
}
.offcanvas .offcanvas-header {
  position: fixed;
  right: 0;
  top: 0;
  padding: 0;
}
.offcanvas .btn-close {
  width: 80px;
  height: 80px;
  opacity: 1;
  background: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
}
.offcanvas .btn-close:focus {
  box-shadow: none !important;
}
.offcanvas .btn-close img {
  width: 30px;
  height: 30px;
}
.offcanvas .offcanvas-body-content {
  width: 100%;
  max-width: 280px;
  margin-inline: auto;
}
.offcanvas .nav-list .nav-item:first-of-type a {
  padding-top: 0;
}
.offcanvas .nav-list li a {
  display: block;
  padding: 18px 0 18px;
  font-size: 18px;
  font-weight: 500;
  transition: all 0.3s ease;
  border-bottom: 1px solid transparent;
  border-bottom-color: rgba(255, 255, 255, 0.3);
}
.offcanvas .nav-list li a:hover {
  padding-left: 16px;
  opacity: 0.8;
}
.offcanvas .nav-list li a img {
  width: 11px;
  height: 3px;
  -o-object-fit: contain;
     object-fit: contain;
}
.offcanvas .btn-wrapper {
  margin-top: 25px;
}
.offcanvas .btn-wrapper .btn {
  margin-top: 0;
}

@media screen and (max-width: 1600px) {
  nav .nav-list {
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
}
@media screen and (max-width: 1440px) {
  nav {
    font-size: 14px;
  }
  nav .logo-wrapper {
    max-width: 280px;
    flex: 1;
  }
  nav .nav-list {
    -moz-column-gap: 21px;
         column-gap: 21px;
    padding: 8px 28px;
  }
}
@media screen and (max-width: 1360px) {
  nav {
    font-size: 12px;
  }
}
@media screen and (max-width: 1200px) {
  nav {
    margin-top: 24px;
    padding-inline: 24px;
  }
}
@media screen and (max-width: 768px) {
  nav .logo-wrapper {
    max-width: 180px;
    width: 100%;
  }
  .offcanvas .btn-close {
    width: 60px;
    height: 60px;
  }
  .offcanvas .btn-close img {
    width: 22px;
    height: 22px;
  }
}
@media screen and (max-width: 576px) {
  nav {
    margin-top: 12px;
    padding-inline: 24px;
  }
}
/* Header CSS Ends Here */
/* Footer CSS Starts Here */
footer {
  background-color: #016D3F;
  color: #ffffff;
  padding: 6.25vw 0;
  font-weight: 500;
}
footer .footer-content {
  max-width: 1140px;
}
footer .footer-content .footer-logo {
  margin-bottom: 30px;
  max-width: 370px;
}
footer .footer-content .address-detail {
  padding-block: 34px;
}
footer .footer-content .address-detail + .address-detail {
  border-top: 1px solid #ffffff;
}
footer .footer-link-grp ul {
  margin-top: 24px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 600;
}
footer .footer-link-grp ul li {
  position: relative;
  padding-left: 28px;
  line-height: 1;
  transition: all 0.3s ease;
}
footer .footer-link-grp ul li + li {
  margin-top: 28px;
}
footer .footer-link-grp ul li::before {
  content: "";
  display: inline-block;
  height: 1px;
  width: 14px;
  background-color: #ffffff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
footer .footer-link-grp ul li:hover a {
  padding-left: 16px;
}

@media screen and (max-width: 991.98px) {
  footer .footer-link-grp ul {
    -moz-columns: 1;
         columns: 1;
    row-gap: 12px;
    padding-left: 0;
    padding-top: 40px;
  }
}
@media screen and (max-width: 576px) {
  footer {
    font-size: 14px;
  }
  footer .footer-content .address-detail {
    padding-block: 21px;
  }
  footer .footer-content .footer-logo {
    margin-bottom: 12px;
  }
  footer .footer-link-grp ul {
    padding-top: 0;
  }
  footer .footer-link-grp ul li:hover a {
    padding-left: 0;
  }
}
/* Footer CSS Ends Here */
:root {
  --bs-navbar-height: 102px;
  --bs-hero-margin-top: 15vw;
  --bs-hero-padding-bottom: 16.67vw;
  --bs-hero-banner-margin-top: 2.2vw;
}

/* Top Page CSS Starts Here */
.hero-section {
  margin-top: calc(var(--bs-hero-margin-top) + var(--bs-navbar-height) + var(--bs-hero-banner-margin-top));
  position: relative;
}
.hero-section::after {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  width: 100%;
  aspect-ratio: 8.9;
  background-image: url(../../images/background/hero-bg.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
}
.hero-section > .d-flex {
  padding-bottom: var(--bs-hero-padding-bottom);
  background-color: #016D3F;
  margin-top: var(--bs-hero-banner-margin-top);
}
.hero-section h1 {
  font-size: calc(32px + 1.5vw);
  line-height: 1.67;
  margin-top: -10.417vw;
  z-index: 1;
  padding-inline: 6.604vw 2.604vw;
}
.hero-section .banner-wrapper {
  flex: 1;
  width: 59.115vw;
  aspect-ratio: 2.06;
  margin-inline: 6vw;
  margin-top: -7.2vw;
  z-index: 1;
}
.hero-section .banner-wrapper .img-wrapper {
  max-width: 1135px;
  overflow: hidden;
  border-radius: 100vh;
  position: relative;
  z-index: 1;
}
.hero-section .banner-wrapper .decor-img {
  width: 15.418%;
  aspect-ratio: 1.425;
}
.hero-section .banner-wrapper .decor-img.top {
  left: -10.572%;
  top: 33.818%;
}
.hero-section .banner-wrapper .decor-img.bottom {
  left: auto;
  right: -8.7%;
  bottom: 7.273%;
}
.hero-section .banner-wrapper .decor-color.bottom-yellow-blue {
  width: 21.497%;
  aspect-ratio: 2.195;
  left: auto;
  right: 8px;
  bottom: -3.454%;
  z-index: 1;
}
.hero-section .banner-wrapper .decor-color.top-yellow {
  width: 10.925%;
  aspect-ratio: 1.29;
  left: -2.555%;
  top: 12.363%;
  z-index: 2;
}
.hero-section .banner-wrapper .decor-color.top-orange {
  width: 20.44%;
  aspect-ratio: 1.48;
  left: 0;
  top: 0;
}

.about-section {
  position: relative;
  background-color: #F3F3F3;
  padding-bottom: 17.1875vw;
}
.about-section::before {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  width: 100%;
  aspect-ratio: 7.38;
  background-image: url(../../images/background/about-bg.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
}
.about-section .about-content {
  padding-top: 6.77vw;
  max-width: 1360px;
  margin-inline: auto;
  -moz-column-gap: 5vw;
       column-gap: 5vw;
}
.about-section .about-content p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 2.78;
}
.about-section .about-content p span {
  font-size: 24px;
}
.about-section .heading-block {
  flex: 1;
  position: relative;
  margin-top: 80px;
}
.about-section .heading-block .sub-heading {
  width: 205px;
  aspect-ratio: 2.49;
  font-size: 24px;
  color: #ffffff;
  position: absolute;
  left: 52%;
  bottom: -32%;
  background-image: url("../../images/background/about-sub-heading.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.about-section .heading-block .main-heading {
  width: 372px;
  font-size: 32px;
  aspect-ratio: 2.46;
  background-image: url("../../images/background/main-heading.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  color: #ffffff;
}

.by-the-numbers-section {
  position: relative;
  z-index: 1;
}
.by-the-numbers-section::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 7.68;
  background-image: url(../../images/background/number-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  z-index: 1;
}
.by-the-numbers-section .by-the-numbers-content {
  background-color: #1F895B;
  padding-block: 3.906vw;
  padding-bottom: 14.583vw;
}
.by-the-numbers-section .data-chart-wrapper {
  max-width: 1377px;
  margin-inline: auto;
}
.by-the-numbers-section .number-left-decor {
  width: 50.835%;
  height: auto;
  aspect-ratio: 3.28;
  left: -37%;
  top: 74%;
}
.by-the-numbers-section .number-right-decor {
  width: 32.316%;
  height: auto;
  aspect-ratio: 2.08;
  top: -10%;
  right: -25%;
}

.job-description-section {
  position: relative;
  z-index: 1;
}
.job-description-section::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 7.68;
  background-image: url(../../images/background/job-description-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  z-index: 1;
}
.job-description-section .job-description-content {
  background: #CECDB4;
  padding-top: 32px;
  padding-bottom: 10.937vw;
}
.job-description-section .job-description-chart.chart-1.img-wrapper {
  max-width: 1745px;
  margin-inline: auto;
}

.voice-of-senior-employee-section {
  position: relative;
}
.voice-of-senior-employee-section::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 7.36;
  background-image: url(../../images/background/voice-of-senior-bg.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  z-index: 1;
}
.voice-of-senior-employee-section .voice-of-senior-employee-content {
  background-color: #1F895B;
  padding-top: 75px;
}
.voice-of-senior-employee-section .voice-of-senior-employee-content > .d-flex {
  margin-inline: auto;
  max-width: 64.0625vw;
  min-width: 900px;
  padding-bottom: 22.917vw;
}
.voice-of-senior-employee-section .voice-of-senior-employee-content .left-decor {
  width: 59.16%;
  top: 30%;
  right: 106.34%;
}
.voice-of-senior-employee-section .voice-of-senior-employee-content .right-decor {
  width: 59.16%;
  top: 11%;
  left: 100%;
}
.voice-of-senior-employee-section .senior-employee {
  margin-inline: 2%;
}
.voice-of-senior-employee-section .senior-employee::before {
  content: "";
  display: block;
  width: 116%;
  aspect-ratio: 1.88;
  background: url("../../images/background/senior-employee-bg.svg") center center/contain no-repeat;
  position: absolute;
  top: 56%;
  left: 50%;
  transform: translateX(-50%);
}
.voice-of-senior-employee-section .senior-employee::after {
  content: "";
  display: block;
  width: 49.08%;
  aspect-ratio: 1.578;
  background: url("../../images/background/senior-employee-decor-orange.svg") center center/contain no-repeat;
  position: absolute;
  bottom: -34.74%;
  left: -22.08%;
}
.voice-of-senior-employee-section .senior-employee .img-wrapper {
  max-width: 326px;
  position: relative;
  z-index: 1;
}
.voice-of-senior-employee-section .senior-employee .employee-name {
  display: inline-block;
  font-size: 24px;
  line-height: 1;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 600;
  padding: 12px 36px;
  color: #ffffff;
  background-color: #363329;
  border-radius: 100vh;
  text-align: center;
  margin-inline: auto;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  top: 98%;
  transform: translateX(-50%);
  z-index: 1;
}
.voice-of-senior-employee-section .voice-of-senior-employee-text {
  flex: 1;
}
.voice-of-senior-employee-section .voice-of-senior-employee-text .heading {
  max-width: 286px;
  aspect-ratio: 2.17;
  font-size: 32px;
  line-height: 1.67;
  background: url("../../images/background/senior-employee-heading.svg") center center/contain no-repeat;
}
.voice-of-senior-employee-section .voice-of-senior-employee-text h3 {
  font-size: 32px;
  line-height: 1.4;
  margin-top: 42px;
}
.voice-of-senior-employee-section .voice-of-senior-employee-text p {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.83;
  margin-top: 24px;
  margin-bottom: 0;
}

.message-from-the-president-section {
  position: relative;
}
.message-from-the-president-section::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 7.11;
  background-image: url(../../images/background/message-from-the-president.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  z-index: 1;
}
.message-from-the-president-section .main-heading {
  font-size: 30px;
  aspect-ratio: 2.46;
  background-image: url("../../images/background/main-heading.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 370px;
  flex: 1;
  margin-bottom: 50px;
}
.message-from-the-president-section .message-from-the-president-content {
  background-color: #CECDB4;
  padding-top: 75px;
}
.message-from-the-president-section .message-from-the-president-content > .d-flex {
  margin-inline: auto;
  max-width: 1520px;
  padding-bottom: 22.917vw;
  gap: 50px;
}
.message-from-the-president-section .message-from-the-president-content .president-img {
  max-width: 450px;
  aspect-ratio: 1.29;
  margin-inline: auto;
  border-radius: 40px;
  overflow: hidden;
}
.message-from-the-president-section .message-from-the-president-content h3 {
  font-size: 32px;
  font-weight: 600;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.4;
  padding-top: 150px;
}
.message-from-the-president-section .message-from-the-president-content p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.83;
  margin-top: 24px;
  margin-bottom: 0;
}
.message-from-the-president-section .message-from-the-president-text {
  flex: 1;
}

.application-requirements-section {
  position: relative;
}
.application-requirements-section::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 6.08;
  background-image: url(../../images/background/application-requirements.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  z-index: 1;
}
.application-requirements-section .application-requirements-content {
  background-color: #fff;
  padding-bottom: 7.81vw;
}
.application-requirements-section .application-requirements-content > .d-flex {
  -moz-column-gap: 10.104vw;
       column-gap: 10.104vw;
}
.application-requirements-section .application-requirements-content .main-heading {
  width: 286px;
  aspect-ratio: 2.17;
  color: #ffffff;
  font-size: 32px;
  line-height: 1.67;
  background: url("../../images/background/application-requirements-heading.svg") center center/contain no-repeat;
}
.application-requirements-section .requirement-details {
  max-width: 1040px;
  flex: 1;
}
.application-requirements-section .requirement-details .table-wrapper {
  margin-inline: auto;
  color: #666666;
  font-size: 18px;
  font-weight: 500;
  padding: 0;
}
.application-requirements-section .requirement-details .table-wrapper .vacancy-table {
  border-collapse: collapse;
  border-spacing: 10px 0;
  width: 100%;
}
.application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex {
  gap: 10px;
  min-height: 100px;
}
.application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex:last-of-type .label {
  border-bottom: 1px solid #1976D2;
}
.application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex:last-of-type .value {
  border-bottom: 1px solid #9B9B9B;
}
.application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex .label {
  border-top: 1px solid #1976D2;
  min-width: 183px;
  min-height: 100%;
  padding: 14px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
.application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex .value {
  min-height: 100%;
  border-top: 1px solid #9B9B9B;
  flex: 1;
  padding: 14px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.contact-us {
  background-color: #016D3F;
  color: #ffffff;
  max-width: 1040px;
  padding: 40px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  margin-top: 50px;
}
.contact-us h3 {
  font-size: 30px;
  font-weight: 600;
}
.contact-us > .d-flex {
  margin-top: 52px;
  -moz-column-gap: 7%;
       column-gap: 7%;
}
.contact-us .logo-wrapper {
  max-width: 372px;
}
.contact-us .address {
  margin-bottom: 32px;
}

@media screen and (max-width: 1600px) {
  .hero-section h1 {
    line-height: 1.4;
  }
}
@media screen and (max-width: 1366px) {
  .about-section .heading-block .main-heading {
    width: 335px;
    font-size: 28px;
  }
  .about-section .heading-block .sub-heading {
    width: 185px;
    font-size: 21px;
  }
}
@media screen and (max-width: 1200px) {
  .hero-section {
    margin-top: calc(var(--bs-hero-margin-top) + var(--bs-navbar-height));
  }
  .hero-section h1 {
    text-align: center;
    padding-inline: 0;
  }
  .hero-section h1,
  .hero-section .banner-wrapper {
    margin-top: 24px;
  }
  .about-section .about-content {
    -moz-column-gap: 3vw;
         column-gap: 3vw;
  }
  .about-section .about-content p {
    font-size: 16px;
    line-height: 2.5;
    text-align: center;
  }
  .about-section .about-content p span {
    font-size: 20px;
  }
  .about-section .heading-block {
    margin-top: 40px;
  }
  .about-section .heading-block .main-heading {
    width: 280px;
    font-size: 24px;
  }
  .about-section .heading-block .sub-heading {
    width: 155px;
    font-size: 18px;
  }
  .by-the-numbers-section .number-right-decor {
    top: 26%;
    right: -17%;
  }
  .voice-of-senior-employee-section .voice-of-senior-employee-text .heading {
    margin-inline: auto;
    margin-top: 95px;
  }
  .voice-of-senior-employee-section .voice-of-senior-employee-text h3, .voice-of-senior-employee-section .voice-of-senior-employee-text p {
    text-align: center;
  }
  .voice-of-senior-employee-section .voice-of-senior-employee-content > .d-flex {
    max-width: unset;
    min-width: unset;
  }
  .message-from-the-president-section .message-from-the-president-content h3 {
    padding-top: 0;
  }
  .message-from-the-president-section .message-from-the-president-content h3, .message-from-the-president-section .message-from-the-president-content p {
    text-align: center;
  }
  .application-requirements-section .requirement-details {
    width: 100%;
  }
}
@media screen and (max-width: 991.98px) {
  .application-requirements-section .requirement-details .table-wrapper {
    font-size: 14px;
  }
  .application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex {
    border-top: 1px solid #9B9B9B;
    padding: 12px;
  }
  .application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex:last-of-type {
    border-bottom: 1px solid #9B9B9B;
  }
  .application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex .label, .application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex .value {
    border: none !important;
    padding: 0;
  }
  .application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex .label {
    font-weight: 600;
  }
  .application-requirements-section .requirement-details .table-wrapper .vacancy-table > .d-flex .value {
    padding-left: 8px;
  }
}
@media screen and (max-width: 768px) {
  .hero-section .banner-wrapper {
    width: 85%;
    margin-inline: 24px;
  }
  .hero-section h1 {
    font-size: 28px;
    margin-bottom: 0;
  }
  .about-section .heading-block .main-heading {
    width: 240px;
    font-size: 21px;
  }
  .about-section .heading-block .sub-heading {
    width: 140px;
    font-size: 14px;
  }
}
@media screen and (max-width: 576px) {
  .hero-section {
    margin-top: calc(var(--bs-navbar-height) + 24px);
  }
  .hero-section .banner-wrapper {
    width: 92%;
    margin-inline: 24px;
  }
  .about-section .about-content p {
    font-size: 14px;
    line-height: 1.75;
    text-align: center;
  }
  .about-section .about-content p span {
    font-size: 16px;
  }
  .voice-of-senior-employee-section .senior-employee::after {
    bottom: -30.74%;
  }
  .voice-of-senior-employee-section .senior-employee .img-wrapper {
    max-width: 180px;
  }
  .voice-of-senior-employee-section .senior-employee .employee-name {
    font-size: 14px;
    padding: 8px 24px;
    top: 90%;
  }
  .voice-of-senior-employee-section .senior-employee::before {
    width: 110%;
  }
  .voice-of-senior-employee-section .voice-of-senior-employee-content {
    padding-top: 32px;
  }
  .voice-of-senior-employee-section .voice-of-senior-employee-text .heading {
    margin-inline: auto;
    margin-top: 36px;
    width: 240px;
    font-size: 21px;
  }
  .voice-of-senior-employee-section .voice-of-senior-employee-text h3 {
    font-size: 21px;
    line-height: 1;
    margin-top: 42px;
  }
  .voice-of-senior-employee-section .voice-of-senior-employee-text p {
    font-size: 14px;
  }
  .message-from-the-president-section .message-from-the-president-content {
    background-color: #CECDB4;
    padding-top: 36px;
  }
  .message-from-the-president-section .message-from-the-president-content h3 {
    font-size: 21px;
  }
  .message-from-the-president-section .message-from-the-president-content p {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 14px;
    line-height: 1.5;
  }
  .message-from-the-president-section .main-heading {
    font-size: 21px;
    margin-bottom: 36px;
  }
  .application-requirements-section .application-requirements-content {
    padding-top: 36px;
  }
  .application-requirements-section .application-requirements-content .main-heading {
    width: 240px;
    font-size: 21px;
  }
  .application-requirements-section .requirement-details .table-wrapper table td > div,
  .application-requirements-section .requirement-details .table-wrapper table th > div {
    padding: 8px 12px;
  }
  .contact-us {
    padding: 21px;
    margin-top: 36px;
    font-size: 14px;
  }
  .contact-us h3 {
    font-size: 18px;
  }
  .contact-us > .d-flex {
    margin-top: 36px;
  }
}
/* Top Page CSS Ends Here */
