@charset "UTF-8";
html {
  font-size: 10px;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  html {
    font-size: 0.833vw;
  }
}
@media (max-width: 767px) {
  html {
    font-size: 2.667vw;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}

.inner {
  max-width: 124rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (max-width: 767px) {
  .inner {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.wrap {
  overflow: hidden;
}

img {
  width: 100%;
  object-fit: cover;
}

.title {
  color: #373582;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 6.4rem;
  font-style: italic;
  font-weight: 800;
  line-height: normal;
  letter-spacing: 0.192rem;
}
@media (max-width: 767px) {
  .title {
    font-size: 5rem;
  }
}

.container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.button {
  background: linear-gradient(91deg, #0092D7 0%, #373582 98.63%);
  width: 29rem;
  height: 6rem;
  color: #FFF;
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .button {
    width: 25rem;
    height: 5.5rem;
  }
}
.button:hover {
  opacity: 0.7;
}
.button::after {
  position: absolute;
  content: "";
  background: url(../img/line.png) no-repeat center center/cover;
  width: 0.446rem;
  height: 0.889rem;
  top: 50%;
  transform: translateY(-50%);
  right: 1.7rem;
}

.page-title {
  text-align: center;
  color: var(--333, #333);
  font-size: 3.6255rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 3.6255rem */
}
@media (max-width: 767px) {
  .page-title {
    font-size: 3rem;
  }
}
.page-title span {
  color: #1C64AD;
  text-align: center;
  font-family: Roboto;
  font-size: 1.9638rem;
  font-style: italic;
  font-weight: 800;
  line-height: 110%; /* 2.1602rem */
  letter-spacing: 0.0589rem;
  display: block;
  margin-bottom: 0.7rem;
}

.pager {
  margin-top: 3.5rem;
}

.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 5.2rem;
}
@media (max-width: 767px) {
  .breadcrumb__list {
    gap: 2.2rem;
  }
}

.breadcrumb__item {
  line-height: 1.8;
}
.breadcrumb__item:nth-of-type(n+2) {
  position: relative;
}
.breadcrumb__item:nth-of-type(n+2)::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/line-page.png) no-repeat center center/cover;
  width: 0.8rem;
  height: 1.3rem;
  left: -3rem;
}
@media (max-width: 767px) {
  .breadcrumb__item:nth-of-type(n+2)::after {
    left: -1.6rem;
  }
}

.breadcrumb__link {
  color: #0058A4;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 1.2rem */
  letter-spacing: 0.036rem;
  text-decoration-line: underline;
  transition: 0.3s;
}
.breadcrumb__link:hover {
  opacity: 0.7;
}

.breadcrumb__current {
  color: #333;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 1.2rem */
  letter-spacing: 0.036rem;
}
@media (max-width: 767px) {
  .breadcrumb__current {
    line-height: 1.5;
  }
}

.page-service__text {
  color: #333;
  text-align: center;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 500;
  line-height: 200%; /* 3.6rem */
  letter-spacing: 0.054rem;
  margin-top: 5.2rem;
}
@media (max-width: 767px) {
  .page-service__text {
    font-size: 1.4rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.page-head__img {
  height: 100%;
}
.page-head__img img {
  height: 100%;
}

.page-head {
  height: 45rem;
}

.header {
  background-color: #ffffff;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.1);
  height: 8rem;
  display: flex;
  align-items: center;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: inherit;
  width: 100%;
  padding-left: 4rem;
  padding-right: 4rem;
}
@media (max-width: 767px) {
  .header__inner {
    padding-left: 1.5rem;
    padding-right: 0;
  }
}

.header__logo {
  width: 15rem;
}

.header__logo-link {
  display: block;
  transition: 0.3s;
}
.header__logo-link:hover {
  opacity: 0.7;
}

.header__logo-image {
  display: block;
  max-width: 100%;
  height: auto;
  width: 25rem;
}

.header__nav-list {
  display: flex;
  gap: 3rem;
}

.header__nav-link {
  color: #333333;
  font-size: 1.4rem;
  text-decoration: none;
  transition: color 0.3s ease;
}

.header__nav-link:hover,
.header__nav-link:focus {
  color: #0099cc;
}

.header__cta {
  display: flex;
  gap: 3rem;
}

.header__cta-link {
  display: inline-block;
  font-size: 1.6rem;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
  width: 17.6rem;
  height: 5.11rem;
  display: flex;
  align-items: center;
  font-weight: bold;
}

.header__cta-link--recruit {
  background-color: #00448e;
  color: #ffffff;
  padding-left: 6.8rem;
  position: relative;
}
.header__cta-link--recruit::after {
  position: absolute;
  content: "";
  background: url(../img/recruit-icon.png) no-repeat center/cover;
  width: 1.61rem;
  height: 1.91rem;
  top: 50%;
  transform: translateY(-50%);
  left: 4.3rem;
}

.header__cta-link--recruit:hover,
.header__cta-link--recruit:focus {
  background-color: #003366;
}

.header__cta-link--contact {
  background-color: #00b3e2;
  color: #ffffff;
  padding-left: 5.5rem;
  position: relative;
}
.header__cta-link--contact::after {
  position: absolute;
  content: "";
  background: url(../img/contact-icon.png) no-repeat center/cover;
  width: 2.4rem;
  height: 1.867rem;
  top: 50%;
  transform: translateY(-50%);
  left: 2.3rem;
}

.header__cta-link--contact:hover,
.header__cta-link--contact:focus {
  background-color: #0099cc;
}

.header__content {
  display: flex;
  align-items: center;
  gap: 3rem;
}

@media screen and (min-width: 767px) and (max-width: 1440px) {
  .header__inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .header__nav-list {
    gap: 1.5rem;
  }
  .header__cta, .header__content {
    gap: 1.5rem;
  }
  .header__logo {
    width: 15rem;
  }
  .header__cta-link--recruit, .header__cta-link--contact {
    width: 15.6rem;
  }
  .header__cta-link--contact {
    padding-left: 4.6rem;
  }
  .header__cta-link--recruit {
    padding-left: 6rem;
  }
  .header__cta-link--contact::after {
    left: 1.5rem;
  }
  .header__cta-link--recruit::after {
    left: 3.1rem;
  }
}
.visuallyHidden {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* ハンバーガーボタンのスタイル */
.hamburger {
  appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: block;
  height: 32px;
  outline: none;
  position: fixed;
  right: 0;
  top: 0;
  transition: all 0.6s ease-in-out;
  width: 40px;
  z-index: 200; /* メニューが開いてもハンバーガーボタンが上に表示されるように */
  width: 5.5rem;
  height: 5.5rem;
  background-color: #373582;
}

/* ハンバーガーメニュー三本線 */
.hamburger-line {
  background-color: #fff;
  height: 0.2rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 1.7rem;
  transition: inherit;
  width: 2.6rem;
}

.hamburger-line::before,
.hamburger-line::after {
  background-color: #fff;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transition: inherit;
  width: 2.6rem;
}

.hamburger-line::before {
  top: 10px;
}

.hamburger-line::after {
  top: 20px;
}

/* ハンバーガーメニュー三本線オープン時 */
.hamburger[aria-expanded=true] .hamburger-line {
  transform: translateY(15px) rotate(-45deg);
}

.hamburger[aria-expanded=true] .hamburger-line::before {
  transform: translateY(-12px) translateX(20px) rotate(45deg);
  width: 0;
}

.hamburger[aria-expanded=true] .hamburger-line::after {
  transform: translateY(-20px) rotate(90deg);
}

/* オーバーレイのスタイル */
.overlay {
  background-color: #373582;
  cursor: pointer;
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  visibility: hidden;
  width: 100vw;
  z-index: 10;
}

.overlay.active {
  opacity: 1;
  visibility: visible;
}

/* メニューのスタイル */
.modal-container {
  background-color: #373582;
  height: 100%;
  opacity: 0;
  position: fixed;
  transition: opacity 0.6s, visibility 0.6s;
  visibility: hidden;
  width: 100%;
  z-index: 20; /* オーバーレイよりも上に来るようにするため */
  padding-top: 2.2rem;
}

.modal-container[aria-hidden=false] {
  opacity: 1;
  overflow-y: scroll;
  visibility: visible;
}

.menu-item {
  text-align: left;
}

.menu-link {
  padding-top: 2.8rem;
  padding-bottom: 2.8rem;
  display: inline-block;
  width: 100%;
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  border-bottom: 1px solid rgba(195, 238, 244, 0.29);
}

#modal-1 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.header-sp {
  height: 5.5rem;
}

.header-sp__logo {
  width: 18.5rem;
  height: 3rem;
}
.header-sp__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.header-sp_cta {
  margin-top: 3.7rem;
}

.header-sp_cta__link {
  display: flex;
  width: 100%;
  align-items: center;
  height: 5.11rem;
  background-color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
}
.header-sp_cta__link::after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
}

.header-sp_cta__recruit {
  padding-left: 13.5rem;
  color: #0058A4;
}
.header-sp_cta__recruit::after {
  background: url(../img/docment-sp.png) no-repeat center center/cover;
  width: 1.61rem;
  height: 1.91rem;
  left: 11.3rem;
}

.header-sp_cta__contact {
  margin-top: 2rem;
  padding-left: 12.3rem;
  color: #1C64AD;
}
.header-sp_cta__contact::after {
  background: url(../img/contact-sp.png) no-repeat center center/cover;
  width: 2.4rem;
  height: 1.867rem;
  left: 9.35rem;
}

.contact {
  margin-top: 7rem;
}

.contact__title {
  text-align: center;
}

.contact__title-text {
  color: #333;
  font-size: 6rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.18rem;
  margin-top: -52px;
  display: inline-block;
}
@media (max-width: 767px) {
  .contact__title-text {
    font-size: 4rem;
  }
  .header-sp__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left;
  }
}

.contact__title-bg {
  width: 75.7rem;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
}
@media (max-width: 767px) {
  .contact__title-bg {
    width: 92%;
  }
}

.contact__content {
  max-width: 104.6rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 11.8rem;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .contact__content {
    flex-direction: column;
    margin-top: 4.8rem;
    gap: 6rem;
  }
}

@media (max-width: 767px) {
  .contact__phone {
    text-align: center;
  }
}

.contact__subtitle {
  color: #333;
  font-size: 3.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  letter-spacing: 0.102rem;
}
@media (max-width: 767px) {
  .contact__subtitle {
    font-size: 2.4rem;
  }
}

.contact__phone-number {
  padding-left: 6.3rem;
  color: #333;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 6.272rem;
  font-style: italic;
  font-weight: 800;
  line-height: normal;
  letter-spacing: 0.1882rem;
  position: relative;
  margin-top: 1.6rem;
  display: inline-block;
  transition: 0.3s;
}
.contact__phone-number:hover {
  opacity: 0.7;
}
@media (max-width: 767px) {
  .contact__phone-number {
    padding-left: 4.1rem;
    font-size: 4.2rem;
  }
}
.contact__phone-number::after {
  position: absolute;
  content: "";
  background: url(../img/phoe.png) no-repeat center center/cover;
  width: 5.6rem;
  height: 5.7rem;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
@media (max-width: 767px) {
  .contact__phone-number::after {
    width: 3.34rem;
    height: 3.4rem;
  }
}

.contact__phone-hours {
  padding-left: 4.9rem;
  color: #333;
  font-size: 1.9rem;
  font-style: italic;
  font-weight: 800;
  line-height: normal;
  letter-spacing: 0.057rem;
}
@media (max-width: 767px) {
  .contact__phone-hours {
    padding-left: 0;
    font-size: 1.3rem;
  }
}

.contact__email-button {
  width: 40rem;
  height: 8.8rem;
  background-color: #1C64AD;
  color: #FFF;
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: flex;
  align-items: center;
  padding-left: 14rem;
  position: relative;
  transition: 0.3s;
  margin-top: 1.6rem;
}
@media (max-width: 767px) {
  .contact__email-button {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 12.1rem;
    height: 7rem;
  }
}
.contact__email-button:hover {
  opacity: 0.7;
}
.contact__email-button::after {
  position: absolute;
  content: "";
  background: url(../img/contact-icon.png) no-repeat center/cover;
  width: 2.4rem;
  height: 1.867rem;
  top: 50%;
  transform: translateY(-50%);
  left: 10.7rem;
}
@media (max-width: 767px) {
  .contact__email-button::after {
    left: 8.1rem;
  }
}

.contact__email-note {
  margin-top: 1rem;
  color: #333;
  text-align: center;
  font-size: 1.595rem;
  font-style: normal;
  font-weight: 500;
  line-height: 155.8%; /* 2.485rem */
}
@media (max-width: 767px) {
  .contact__email-note {
    font-size: 1.3rem;
  }
}

.footer {
  padding-top: 34rem;
  background: url(../img/footer-bg.jpg) no-repeat center center/cover;
  padding-bottom: 2rem;
  margin-top: 13rem;
}
@media (max-width: 767px) {
  .footer {
    margin-top: 8rem;
    padding-top: 8rem;
  }
}

.footer__inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .footer__inner {
    flex-direction: column;
    gap: 5rem;
  }
}

.footer__logo {
  margin-left: 3.1rem;
}
@media (max-width: 767px) {
  .footer__logo {
    margin-left: 0;
  }
}

.footer__logo-link {
  width: 25rem;
  transition: 0.3s;
  display: inline-block;
}
@media (max-width: 767px) {
  .footer__logo-link {
    width: auto;
  }
}
.footer__logo-link:hover {
  opacity: 0.7;
}
.footer__logo-link img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}

.footer__info {
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 187%; /* 187.5% */
  margin-top: 2.57rem;
}

.footer__nav-list {
  display: flex;
  gap: 3rem;
}
@media (max-width: 767px) {
  .footer__nav-list {
    flex-direction: column;
    gap: 2rem;
  }
}

.footer__nav-link {
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  transition: 0.3s;
}
.footer__nav-link:hover {
  color: #1C64AD;
}

.footer__cta {
  display: flex;
  gap: 3rem;
  justify-content: flex-end;
  margin-top: 2.4rem;
}
@media (max-width: 767px) {
  .footer__cta {
    flex-direction: column;
  }
}

.footer__cta-link {
  display: flex;
  width: 17.6rem;
  height: 5.11rem;
  align-items: center;
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  position: relative;
  transition: 0.3s;
}
.footer__cta-link:hover {
  opacity: 0.7;
}
.footer__cta-link::after {
  content: "";
  position: absolute;
}

.footer__cta-link--recruit {
  background: #0058A4;
  padding-left: 6.8rem;
}
.footer__cta-link--recruit::after {
  background: url(../img/recruit-icon.png) no-repeat center center/cover;
  width: 1.61rem;
  height: 1.91rem;
  left: 4.6rem;
}

.footer__cta-link--contact {
  background: #00B3CD;
  padding-left: 5.5rem;
}
.footer__cta-link--contact::after {
  background: url(../img/contact-icon.png) no-repeat center center/cover;
  width: 2.4rem;
  height: 1.867rem;
  left: 2.5rem;
}

.footer__copyright {
  margin-top: 2.2rem;
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 3rem; /* 187.5% */
  text-align: center;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  .footer__nav-link {
    font-size: 1.4rem;
  }
}
.fv {
  margin-top: 8rem;
  position: relative;
}
@media (max-width: 767px) {
  .fv {
    margin-top: 0rem;
  }
}
.fv img {
  width: 100%;
}

.fv__inner {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  left: 12rem;
}
@media (max-width: 767px) {
  .fv__inner {
    left: 1.6rem;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    transform: none;
    top: 11.6rem;
  }
}

@media (max-width: 767px) {
  .fv__title {
    width: 34.5rem;
  }
}
.fv__title span {
  display: inline-block;
  padding: 0.5rem 1.2rem;
  background-color: #fff;
  color: #333;
  font-size: 6.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 6.6rem; /* 100% */
}
@media (max-width: 767px) {
  .fv__title span {
    font-size: 3.3rem;
    white-space: nowrap;
    padding: 0.3rem 0.7rem;
    line-height: 1;
  }
}
.fv__title span:nth-of-type(n+2) {
  margin-top: 1.3rem;
}
@media (max-width: 767px) {
  .fv__title span:nth-of-type(n+2) {
    margin-top: 0.65rem;
  }
}

.about {
  margin-top: 12rem;
  margin-bottom: 12rem;
}
@media (max-width: 767px) {
  .about {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}

.about__image-container {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 65.3rem;
}
@media (max-width: 767px) {
  .about__image-container {
    position: static;
    width: 100%;
    transform: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1278px) {
  .about__image-container {
    width: 58.3rem;
  }
}
.about__content {
  width: 56.8rem;
  margin-left: auto;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .about__content {
    width: 100%;
    margin-top: 3rem;
  }
}

.about__company-name {
  color: #333;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-top: 0.3rem;
}
@media (max-width: 767px) {
  .about__company-name {
    font-size: 1.8rem;
  }
}

.about__description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 196%; /* 3.136rem */
  letter-spacing: 0.048rem;
  margin-top: 2.4rem;
}
@media (max-width: 767px) {
  .about__description {
    font-size: 1.4rem;
  }
}

.about__link {
  margin-top: 4rem;
  width: 29rem;
  height: 6rem;
  color: #FFF;
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  background: linear-gradient(91deg, #0092D7 0%, #373582 98.63%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .about__link {
    margin-left: auto;
    margin-right: auto;
    width: 25rem;
    height: 5.5rem;
  }
}
.about__link:hover {
  opacity: 0.7;
}
.about__link::after {
  position: absolute;
  content: "";
  background: url(../img/line.png) no-repeat center center/cover;
  width: 0.446rem;
  height: 0.889rem;
  top: 50%;
  transform: translateY(-50%);
  right: 1.7rem;
}

.service {
  padding-top: 12.9rem;
  padding-bottom: 13rem;
  background: url(../img/service-bg.jpg) no-repeat center center/cover;
}
@media (max-width: 767px) {
  .service {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}

.service__title {
  text-align: center;
  color: #FFF;
  font-size: 6rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.18rem;
  z-index: 3;
  position: relative;
}
@media (max-width: 767px) {
  .service__title {
    font-size: 4rem;
  }
}

.service__inner {
  position: relative;
}
.service__inner::after {
  position: absolute;
  content: "Service";
  color: rgba(30, 98, 170, 0.8);
  font-family: Roboto;
  font-size: 25.6rem;
  font-style: italic;
  font-weight: 600;
  line-height: 22.4rem; /* 87.5% */
  top: -27.2rem;
  left: 0;
  z-index: 2;
}
@media (max-width: 767px) {
  .service__inner::after {
    font-size: 9.6rem;
  }
}

.service__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem 1.6rem;
  margin-top: 9.3rem;
}
@media (max-width: 767px) {
  .service__grid {
    grid-template-columns: 1fr 1fr;
    margin-top: 6.3rem;
    gap: 4.5rem 1rem;
  }
}

.service__item {
  background-color: #fff;
  padding: 2.5rem 3rem;
  position: relative;
}
@media (max-width: 767px) {
  .service__item {
    padding: 1rem;
  }
}

.service__item-number {
  position: absolute;
  color: #0092D7;
  font-family: Roboto;
  font-size: 10rem;
  font-style: italic;
  font-weight: 700;
  line-height: 100%; /* 10rem */
  left: 0;
  top: -5rem;
}
@media (max-width: 767px) {
  .service__item-number {
    font-size: 6rem;
    top: -3rem;
  }
}

.service__item-title {
  color: #333;
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.072rem;
  margin-top: 2.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .service__item-title {
    font-size: 1.6rem;
    margin-top: 1rem;
  }
}

.service__item-description {
  margin-top: 0.9rem;
  color: #333;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 170%; /* 171.429% */
}
@media (max-width: 767px) {
  .service__item-description {
    margin-top: 0.4rem;
    font-size: 1.2rem;
  }
}
.service__item-description strong {
  color: #333;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 2.4rem; /* 160% */
  padding-left: 0.8rem;
  border-left: 3px solid #373582;
  display: inline-block;
  margin-bottom: 0.3rem;
}
.service__item-description strong:nth-of-type(n+2) {
  margin-top: 1.1rem;
}
@media (max-width: 767px) {
  .service__item-description strong {
    padding-left: 0.4rem;
    font-size: 1.4rem;
  }
}

.service__more-link {
  display: flex;
  width: 38.9rem;
  height: 7.6rem;
  justify-content: center;
  align-items: center;
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  background: linear-gradient(91deg, #0092D7 0%, #373582 98.63%);
  margin-left: auto;
  margin-right: auto;
  margin-top: 10rem;
  position: relative;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .service__more-link {
    width: 29rem;
    height: 5.5rem;
    margin-top: 5rem;
  }
}
.service__more-link:hover {
  opacity: 0.7;
}
.service__more-link::after {
  position: absolute;
  content: "";
  background: url(../img/line.png) no-repeat center center/cover;
  width: 0.446rem;
  height: 0.889rem;
  top: 50%;
  transform: translateY(-50%);
  right: 1.7rem;
}

.company {
  margin-top: 12.4rem;
  position: relative;
  padding-bottom: 21.6rem;
}
@media (max-width: 767px) {
  .company {
    margin-top: 8rem;
    padding-bottom: 0;
  }
}

.company__content {
  width: 47.8rem;
  position: relative;
  z-index: 2;
  padding-top: 1.6rem;
}
@media (max-width: 767px) {
  .company__content {
    width: auto;
  }
}

.company__content-description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 196%; /* 3.136rem */
  letter-spacing: 0.048rem;
  margin-top: 2.4rem;
}
@media (max-width: 767px) {
  .company__content-description {
    font-size: 1.4rem;
  }
}

.company__content-link {
  margin-top: 4rem;
}

.company__img {
  position: absolute;
  right: 0;
  top: 0;
  width: 82.5rem;
}
@media (max-width: 767px) {
  .company__img {
    width: auto;
    position: static;
    margin-top: 3rem;
  }
}

.track {
  margin-top: 13rem;
  position: relative;
  padding-bottom: 16.68rem;
}
@media (max-width: 767px) {
  .track {
    margin-top: 8rem;
    padding-bottom: 0;
  }
}

.track__img {
  position: absolute;
  right: 0;
  left: 0;
  width: 82.5rem;
}
@media (max-width: 767px) {
  .track__img {
    position: static;
    width: 100%;
  }
}

.track__contents {
  padding-top: 2rem;
  width: 46.8rem;
  margin-left: auto;
  position: relative;
  z-index: 2;
}

.track__content-description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 196%; /* 3.136rem */
  letter-spacing: 0.048rem;
  margin-top: 2.4rem;
}

.track__content-link {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) and (max-width: 1278px) {
  .track__img, .company__img {
    width: 72.3rem;
  }
}
.recruit {
  margin-top: 13rem;
}
@media (max-width: 767px) {
  .recruit {
    margin-top: 8rem;
  }
}

.recurit__contents {
  display: flex;
  width: 100%;
  height: 50.8rem;
}
@media (max-width: 767px) {
  .recurit__contents {
    flex-direction: column;
    height: auto;
  }
}

.recruit__left {
  width: 38rem;
}
@media (max-width: 767px) {
  .recruit__left {
    width: 100%;
    height: 32rem;
  }
}
.recruit__left img {
  height: 100%;
}

.recurit__center {
  width: 44rem;
  background-color: #1C64AD;
  padding-top: 8.3rem;
}
@media (max-width: 767px) {
  .recurit__center {
    width: 100%;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.recruit__title {
  color: #FFF;
  text-align: center;
  font-family: Roboto;
  font-size: 7rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 7rem */
  letter-spacing: 0.21rem;
}
@media (max-width: 767px) {
  .recruit__title {
    font-size: 5rem;
  }
}

.recruit__subtitle {
  color: #FFF;
  text-align: center;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.06rem;
  margin-top: 0.4rem;
}
@media (max-width: 767px) {
  .recruit__subtitle {
    font-size: 1.6rem;
  }
}

.recruit__description {
  color: #FFF;
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 196%; /* 3.136rem */
  letter-spacing: 0.048rem;
  margin-top: 4.3rem;
}
@media (max-width: 767px) {
  .recruit__description {
    font-size: 1.4rem;
    padding-left: 1rem;
    padding-right: 2rem;
  }
}

.recruit__button-wrapper {
  width: 29rem;
  height: 6rem;
  flex-shrink: 0;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4.2rem;
  border: 1px solid #fff;
  position: relative;
}
.recruit__button-wrapper:hover::after {
  background: url(../img/hover-line.png) no-repeat center center/cover;
  transition: 0.3s;
}
.recruit__button-wrapper::after {
  position: absolute;
  content: "";
  background: url(../img/line.png) no-repeat center center/cover;
  width: 0.446rem;
  height: 0.889rem;
  top: 50%;
  transform: translateY(-50%);
  right: 1.7rem;
}

.recruit__button {
  color: #FFF;
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 1.6rem */
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}
.recruit__button:hover {
  background-color: #fff;
  color: #1C64AD;
}

.recurit__right {
  width: 38rem;
}
@media (max-width: 767px) {
  .recurit__right {
    width: 100%;
    height: 32rem;
  }
}
.recurit__right img {
  height: 100%;
}

.pc_n {
  display: none;
}
@media (max-width: 767px) {
  .pc_n {
    display: block;
  }
}

.sp_n {
  display: block;
}
@media (max-width: 767px) {
  .sp_n {
    display: none;
  }
}

.page-head {
  margin-top: 8rem;
  position: relative;
}
@media (max-width: 767px) {
  .page-head {
    margin-top: 0;
  }
}

.page-contents {
  position: absolute;
  left: 12rem;
  bottom: 6.9rem;
}
@media (max-width: 767px) {
  .page-contents {
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
    left: 1.5rem;
  }
}

.page-head__title {
  color: #333;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding-left: 0.7rem;
  text-shadow: 2px 2px 9px #FFF;
}

.service-page {
  padding-top: 8rem;
  padding-bottom: 8rem;
  background: url(../img/service-bg.jpg) no-repeat center center/cover;
  margin-top: 10rem;
}
@media (max-width: 767px) {
  .service-page {
    padding-bottom: 6rem;
    padding-top: 6rem;
    margin-top: 6rem;
  }
}

.service-page__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem 1.6rem;
}
@media (max-width: 767px) {
  .service-page__grid {
    grid-template-columns: 1fr 1fr;
    gap: 4.5rem 1rem;
  }
}

.page-about {
  background: url(../img/about-bg.jpg) no-repeat center center/cover;
  padding-top: 18.3rem;
  padding-bottom: 18.3rem;
  margin-top: 4.6rem;
}
@media (max-width: 767px) {
  .page-about {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}

.page-about__text {
  color: #FFF;
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 250%; /* 4rem */
  letter-spacing: 0.048rem;
}
@media (max-width: 767px) {
  .page-about__text {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.greeting {
  margin-top: 8rem;
  /* padding-bottom: 12.4rem; */
  padding-bottom: 3rem;
  position: relative;
  /* height: 44rem; */
}

@media (max-width: 767px) {
  .greeting__inner {
    display: flex;
    flex-direction: column;
  }
}

.greeting__container {
  position: relative;
}

.greeting__content {
  width: 60.1rem;
  margin-top: 9.93rem;
  margin-left: auto;
}
@media (max-width: 767px) {
  .greeting__content {
    margin-top: 3rem;
    width: auto;
  }
}

.greeting__paragraph {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.048rem;
  position: relative;
  z-index: 2;
}
.greeting__paragraph span {
  display: block;
  text-align: right;
}

.greeting__figure {
  position: absolute;
  left: 0;
  top: 12.3rem;
  width: 67.352rem;
}
@media (max-width: 767px) {
  .greeting__figure {
    width: 100%;
    position: static;
    order: 2;
    margin-top: 3rem;
  }
}

@media (max-width: 767px) {
  .greeting__title {
    order: 1;
  }
}

@media (max-width: 767px) {
  .greeting__inner {
    order: 3;
  }
}

.safety-recruitment {
  padding-bottom: 5rem;
  margin-top: 29rem;
}
@media (max-width: 767px) {
  .safety-recruitment {
    margin-top: 47rem;
  }
}

.safety-recruitment__container {
  margin-top: 5.7rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem 8rem;
}
@media (max-width: 767px) {
  .safety-recruitment__container {
    grid-template-columns: 1fr;
    margin-top: 3rem;
    gap: 6rem;
  }
}

.safety-recruitment__image-wrapper {
  aspect-ratio: 433/339;
  background-color: #333;
}
.safety-recruitment__image-wrapper img {
  height: 100%;
}

.safety-recruitment__title {
  color: #333;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 2rem */
  letter-spacing: 0.06rem;
  margin-top: 2rem;
}

.safety-recruitment__description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  letter-spacing: 0.048rem;
  margin-top: 1rem;
}

.safety-recruitment__button {
  margin-top: 2.6rem;
}

.safety-compliance {
  margin-top: 7rem;
}
@media (max-width: 767px) {
  .safety-compliance {
    margin-top: 4rem;
  }
}

.rules__text {
  margin-top: 4.6rem;
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  letter-spacing: 0.048rem;
}
@media (max-width: 767px) {
  .rules__text {
    font-size: 1.4rem;
  }
}

.safety-compliance__title {
  height: 5.8rem;
  display: flex;
  align-items: center;
  padding-left: 1.8rem;
  background: #1C64AD;
  color: #FFF;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 2rem */
  letter-spacing: 0.06rem;
}
@media (max-width: 767px) {
  .safety-compliance__title {
    font-size: 1.8rem;
    height: 5rem;
    padding-right: 1rem;
    padding-left: 1rem;
    line-height: 1.3;
    height: auto;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
  }
}

.safety-compliance__content {
  padding-left: 1.7rem;
  padding-top: 2.4rem;
  padding-right: 1.7rem;
}
@media (max-width: 767px) {
  .safety-compliance__content {
    padding-left: 0;
    padding-right: 0;
    padding-top: 1rem;
  }
}

.safety-compliance__subtitle {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 1.6rem */
  letter-spacing: 0.048rem;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .safety-compliance__subtitle {
    font-size: 1.4rem;
  }
}

.safety-compliance__description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  letter-spacing: 0.048rem;
  margin-top: 1.6rem;
}
@media (max-width: 767px) {
  .safety-compliance__description {
    font-size: 1.4rem;
  }
}

.working-hours__description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  letter-spacing: 0.048rem;
}

.safety-compliance__item {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  letter-spacing: 0.048rem;
  padding-left: 1.7rem;
  padding-right: 1.7rem;
  position: relative;
}
@media (max-width: 767px) {
  .safety-compliance__item {
    font-size: 1.4rem;
  }
}
.safety-compliance__item::after {
  content: "・";
  position: absolute;
  font-size: 1.6rem;
  left: 0;
  top: 0;
}

.working-hours {
  margin-top: 7rem;
}

.working-hours__main-content {
  padding-left: 1.8rem;
  padding-top: 2.4rem;
}
@media (max-width: 767px) {
  .working-hours__main-content {
    padding-left: 0;
  }
}

.working-hours__description {
  margin-top: 1rem;
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  letter-spacing: 0.048rem;
}
@media (max-width: 767px) {
  .working-hours__description {
    font-size: 1.4rem;
  }
}

.working-hours__subsection {
  padding-left: 1.8rem;
  padding-top: 2.4rem;
}
@media (max-width: 767px) {
  .working-hours__subsection {
    padding-left: 0;
  }
}

.working-hours__subtitle {
  display: flex;
  align-items: center;
  height: 3rem;
  padding-left: 1rem;
  color: #333;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 1.8rem */
  letter-spacing: 0.054rem;
  border-left: 3px solid #1C64AD;
}
@media (max-width: 767px) {
  .working-hours__subtitle {
    line-height: 1.5;
    font-size: 1.6rem;
  }
}
.working-hours__subtitle:nth-of-type(n+2) {
  margin-top: 1rem;
}

.working-compliance__list {
  margin-top: 1.6rem;
}

.compensation {
  margin-top: 7rem;
  padding-bottom: 3rem;
}

.compensation__section {
  padding-left: 1.8rem;
  padding-right: 1.8rem;
  padding-top: 2.4rem;
}
@media (max-width: 767px) {
  .compensation__section {
    padding-left: 0;
    padding-right: 0;
  }
}

.compensation__title {
  color: #333;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 1.8rem */
  letter-spacing: 0.054rem;
  padding-left: 1rem;
  height: 3rem;
  border-left: 3px solid #1C64AD;
  display: flex;
  align-items: center;
  margin-bottom: 1.6rem;
}

.compensation__text {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  letter-spacing: 0.048rem;
}
.compensation__text:nth-of-type(n+2) {
  margin-top: 1rem;
}

.compensation__list {
  margin-top: 1rem;
}

.compensation__item {
  padding-left: 1.7rem;
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  letter-spacing: 0.048rem;
  position: relative;
}
@media (max-width: 767px) {
  .compensation__item {
    font-size: 1.4rem;
  }
}
.compensation__item::after {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.pb30 {
  padding-bottom: 3rem;
}

.safety-hours__description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  letter-spacing: 0.048rem;
}
@media (max-width: 767px) {
  .safety-hours__description {
    font-size: 1.4rem;
  }
}

.consultation__text {
  color: #333;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 2.8rem */
  letter-spacing: 0.042rem;
  margin-top: 4.7rem;
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .consultation__text {
    margin-top: 3rem;
  }
}
.consultation__text span {
  font-weight: bold;
}

.consultation__form {
  margin-top: 4.7rem;
}
@media (max-width: 767px) {
  .consultation__form {
    margin-top: 3rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.consultation__inner {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
}

.contact-form__field:nth-of-type(n+2) {
  margin-top: 3.1rem;
}

.contact-form__label {
  color: #393E4C;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 1.6rem */
  display: flex;
  gap: 1rem;
}

.contact-form__required {
  height: 1.8rem;
  background: #EE2525;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  color: #fff;
}

.contact-form__input {
  border: 1px solid #BDBDBD;
  background: #FFF;
  margin-top: 1rem;
  width: 100%;
  height: 3.7rem;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding-left: 1.4rem;
}

.contact-form__textarea {
  width: 100%;
  height: 21rem;
  border: 1px solid #BDBDBD;
  background: #FFF;
  margin-top: 1rem;
}

.contact-form__action {
  width: 29rem;
  height: 6rem;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.contact-form__action::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid #fff;
  border-right: 0;
  top: 50%;
  transform: translateY(-50%);
  right: 3.6rem;
}

.contact-form__submit {
  font-weight: 500;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5rem;
  border: none;
}

::placeholder {
  color: #ccc;
}

.page-truck {
  margin-top: 4.6rem;
}

.page-truck__text {
  padding-top: 12rem;
  padding-bottom: 12rem;
  width: 43.1rem;
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.048rem;
  margin-left: 22.3rem;
}
@media (max-width: 767px) {
  .page-truck__text {
    margin-left: 0;
    width: 80%;
    padding-left: 1rem;
  }
}

.truck__bg {
  background: url(../img/track-bg.jpg) no-repeat center center/cover;
}

.wing {
  margin-top: 20rem;
}
@media (max-width: 767px) {
  .wing {
    margin-top: 8rem;
  }
}

.truck-types__item {
  position: relative;
}

.truck-types__image-wrapper {
  width: 65.2rem;
  height: 39.6rem;
  position: absolute;
  top: -10rem;
  left: 0;
}
@media (max-width: 767px) {
  .truck-types__image-wrapper {
    position: static;
    width: auto;
    height: auto;
  }
}
.truck-types__image-wrapper img {
  height: 100%;
}

.truck-types__content {
  background: url(../img/wing-bg.jpg) no-repeat center center/cover;
  width: 57.4rem;
  height: 34.2rem;
  margin-left: auto;
  z-index: 2;
  position: relative;
  padding-top: 8rem;
  padding-left: 3.4rem;
  padding-right: 3.4rem;
}
@media (max-width: 767px) {
  .truck-types__content {
    width: auto;
    padding-top: 4rem;
    height: auto;
    padding-bottom: 4rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.truck-types__subtitle {
  color: #FFF;
  font-size: 3rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 767px) {
  .truck-types__subtitle {
    font-size: 2.4rem;
  }
}

.truck-types__description {
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  line-height: 180%; /* 2.88rem */
  margin-top: 2.4rem;
}
@media (max-width: 767px) {
  .truck-types__description {
    margin-top: 1.2rem;
    font-size: 1.4rem;
  }
}

.truck-feature {
  margin-top: 20rem;
}
@media (max-width: 767px) {
  .truck-feature {
    margin-top: 8rem;
  }
}

.truck__inner {
  position: relative;
}
@media (max-width: 767px) {
  .truck__inner {
    display: flex;
    flex-direction: column;
  }
}

.truck-feature__content {
  position: relative;
  width: 57.4rem;
  height: 34.2rem;
  background: url(../img/pawer-bg.jpg) no-repeat center center/cover;
  padding-top: 8rem;
  padding-left: 3.7rem;
  padding-right: 3.4rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .truck-feature__content {
    order: 2;
    width: auto;
    height: auto;
    padding-top: 4rem;
    padding-bottom: 4rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.truck-feature__title {
  color: #FFF;
  font-size: 3rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 767px) {
  .truck-feature__title {
    font-size: 2.4rem;
  }
}

.truck-feature__description {
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  line-height: 180%; /* 2.88rem */
  margin-top: 2.4rem;
}
@media (max-width: 767px) {
  .truck-feature__description {
    margin-top: 1.2rem;
  }
}

.truck-feature__image-wrapper {
  position: absolute;
  right: 0;
  top: -10rem;
  width: 65.2rem;
  height: 39.6rem;
}
@media (max-width: 767px) {
  .truck-feature__image-wrapper {
    position: static;
    width: auto;
    height: auto;
    order: 1;
  }
}
.truck-feature__image-wrapper img {
  height: 100%;
}

.vehicle-inventory {
  margin-top: 8.3rem;
  padding-bottom: 3rem;
}

.vehicle-inventory__inner {
  max-width: 97.6rem;
  margin-left: auto;
  margin-right: auto;
}

.truck-table {
  margin-top: 3.5rem;
  border: 1px solid #CBCBCB;
  display: flex;
}
@media (max-width: 767px) {
  .truck-table {
    margin-left: 2rem;
    margin-right: 2rem;
  }
}

.truck__left {
  width: 22.6rem;
}
@media (max-width: 767px) {
  .truck__left {
    width: 25%;
    flex-shrink: 0;
  }
}

.truck__left_text {
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.048rem;
  height: 20.3rem;
  background-color: #1C64AD;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid #CBCBCB;
  border-right: 1px solid #CBCBCB;
}
@media (max-width: 767px) {
  .truck__left_text {
    font-size: 1.3rem;
    text-align: center;
  }
}

.truck__center {
  width: 37.5rem;
  border-right: 1px solid #CBCBCB;
}

.truck__left_text3 {
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.048rem;
  height: 10.1rem;
  background-color: #1C64AD;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 1px solid #CBCBCB;
  border-right: 1px solid #CBCBCB;
}
@media (max-width: 767px) {
  .truck__left_text3 {
    font-size: 1.3rem;
  }
}

.truck__left_text2 {
  height: 10.15rem;
  border-bottom: 1px solid #CBCBCB;
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.048rem;
  display: flex;
  padding-left: 4rem;
  align-items: center;
}
@media (max-width: 767px) {
  .truck__left_text2 {
    font-size: 1.3rem;
    padding-left: 1.5rem;
  }
}
.truck__left_text2:last-of-type {
  border-bottom: none;
}

.truck__right {
  width: 37.5rem;
}

.company-page_text {
  margin-top: 10rem;
}
@media (max-width: 767px) {
  .company-page_text {
    margin-top: 5rem;
  }
}

.company-page__inner {
  display: flex;
  align-items: center;
  gap: 4rem;
}
@media (max-width: 767px) {
  .company-page__inner {
    flex-direction: column;
    gap: 2rem;
  }
}

.company-page__left {
  width: 61.6rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .company-page__left {
    width: auto;
  }
}

.company__right {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.048rem;
}

.company-profile {
  margin-top: 10rem;
}
@media (max-width: 767px) {
  .company-profile {
    margin-top: 6rem;
  }
}

.company-profile__list {
  border: 1px solid #ccc;
}

.company-profile__item {
  display: flex;
  height: 9.5rem;
}
@media (max-width: 767px) {
  .company-profile__item {
    flex-direction: column;
    height: auto;
  }
}
.company-profile__item:nth-of-type(4) {
  height: 43.4rem;
}
@media (max-width: 767px) {
  .company-profile__item:nth-of-type(4) {
    height: auto;
  }
}
.company-profile__item:nth-of-type(8) {
  height: 17.4rem;
}
@media (max-width: 767px) {
  .company-profile__item:nth-of-type(8) {
    height: auto;
  }
}
.company-profile__item:nth-of-type(n+2) {
  border-top: 1px solid #ccc;
}

.company-profile__term {
  width: 22.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #ccc;
  background-color: #1C64AD;
  color: #FFF;
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 6.1811rem; /* 386.321% */
}
@media (max-width: 767px) {
  .company-profile__term {
    width: 100%;
    line-height: 1.5;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.company-profile__description {
  padding-left: 2.4rem;
  display: flex;
  align-items: center;
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 767px) {
  .company-profile__description {
    font-size: 1.4rem;
    padding: 1.5rem;
  }
}
.company-profile__description iframe {
  width: 72.7rem;
  height: 40rem;
}
@media (max-width: 767px) {
  .company-profile__description iframe {
    width: 100%;
    height: auto;
  }
}
.company-profile__description p {
  line-height: 2;
}

.company-profile__link {
  color: #609FD5;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 6.1811rem; /* 386.321% */
  text-decoration-line: underline;
  padding-left: 2.2rem;
  position: relative;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .company-profile__link {
    line-height: 1.5;
  }
}
.company-profile__link:hover {
  opacity: 0.7;
}
.company-profile__link::after {
  content: "";
  position: absolute;
  background: url(../img/icon.png) no-repeat center center/cover;
  width: 1.2rem;
  height: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.company-info {
  margin-top: 10rem;
  padding-bottom: 3rem;
}

.company-info__inner {
  max-width: 85.1rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.company-info__content {
  margin-top: 4rem;
}

.company-info__list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .company-info__list {
    flex-direction: column;
    margin-left: 2rem;
    margin-right: 2rem;
  }
}

.company-info__left {
  display: flex;
  flex-direction: column;
  gap: 1.3rem;
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 1.6rem */
  letter-spacing: 0.048rem;
}
@media (max-width: 767px) {
  .company-info__left {
    font-size: 1.4rem;
    width: 100%;
    order: 2;
  }
}

.company-info__website-link {
  color: #609FD5;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 1.6rem */
  letter-spacing: 0.048rem;
  text-decoration-line: underline;
  padding-left: 2.2rem;
  position: relative;
}
.company-info__website-link::after {
  content: "";
  position: absolute;
  background: url(../img/icon.png) no-repeat center center/cover;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  height: 1.2rem;
  width: 1.2rem;
}

.company-info__image {
  width: 45.6rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .company-info__image {
    width: auto;
    margin-bottom: 2rem;
  }
}

.office {
  margin-top: 10rem;
}

.office__title {
  margin-bottom: 4rem;
}

.recruti-text {
  text-align: center;
  margin-top: 4.6rem;
  color: #333;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 700;
  line-height: 200%; /* 3.6rem */
  letter-spacing: 0.054rem;
}
@media (max-width: 767px) {
  .recruti-text {
    margin-top: 3rem;
    font-size: 1.4rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.job-details {
  margin-top: 10rem;
  padding-top: 11.6rem;
  padding-bottom: 11.6rem;
  background: url(../img/recruit-bg.jpg) no-repeat center center/cover;
}
@media (max-width: 767px) {
  .job-details {
    margin-top: 6rem;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.job-details__inner {
  background: rgba(255, 255, 255, 0.83);
  padding-top: 5.7rem;
  padding-left: 5.9rem;
  padding-right: 5.9rem;
  padding-bottom: 5.7rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .job-details__inner {
    padding: 3rem 1.5rem;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
}

.job-details__title {
  color: #1C64AD;
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
}
@media (max-width: 767px) {
  .job-details__title {
    font-size: 2rem;
  }
}

.job-details__description {
  margin-top: 1.6rem;
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
}
@media (max-width: 767px) {
  .job-details__description {
    font-size: 1.4rem;
  }
}

.job-details__conditions {
  margin-top: 3.6rem;
}

.job-details__subtitle {
  color: #1C64AD;
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 2.4rem */
}

.job-details__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem 8.7rem;
  margin-top: 1.6rem;
}
@media (max-width: 767px) {
  .job-details__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.job-details__item-title {
  height: 3.2rem;
  display: inline-flex;
  align-items: center;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  color: #FFF;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; /* 3.2rem */
  background: #1C64AD;
}
@media (max-width: 767px) {
  .job-details__item-title {
    font-size: 1.8rem;
  }
}

.job-details__item-description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  margin-top: 0.7rem;
}
@media (max-width: 767px) {
  .job-details__item-description {
    font-size: 1.4rem;
  }
}

.job-details__more-link {
  margin-top: 1.6rem;
}
@media (max-width: 767px) {
  .job-details__more-link {
    padding-left: 1.9rem;
    font-size: 1.5rem;
    justify-content: flex-start;
  }
}

.job-details__benefits {
  margin-top: 3.6rem;
}
@media (max-width: 767px) {
  .job-details__benefits {
    margin-top: 5rem;
  }
}

.job-details__benefits-description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  margin-top: 1.6rem;
}

.job-details__process {
  margin-top: 3.6rem;
}
@media (max-width: 767px) {
  .job-details__process {
    margin-top: 5rem;
  }
}

.job-details__process-description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  margin-top: 1.6rem;
}

.job-details__location {
  margin-top: 3.6rem;
}
@media (max-width: 767px) {
  .job-details__location {
    margin-top: 5rem;
  }
}

.job-details__location-description {
  color: #333;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 4.68rem */
  margin-top: 0.7rem;
}
@media (max-width: 767px) {
  .job-details__location-description {
    font-size: 1.6rem;
  }
}

.job-description__contents {
  margin-top: 4rem;
  padding-top: 5.8rem;
  padding-left: 5.6rem;
  padding-right: 5.6rem;
  padding-bottom: 5.8rem;
  border: 1px solid #CBCBCB;
}
@media (max-width: 767px) {
  .job-description__contents {
    padding: 3rem 1.5rem;
  }
}

.accordion {
  width: 100%;
  margin: 0 auto;
}

.accordion-item {
  border-top: 1px solid #ddd;
}

.accordion-item:last-of-type {
  border-bottom: 1px solid #ddd;
}

.accordion-header {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.2rem 1.1rem;
  color: #333;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 200%;
}
@media (max-width: 767px) {
  .accordion-header {
    font-size: 1.6rem;
  }
}
.accordion-header span {
  line-height: 1.5;
}

.accordion-content {
  overflow: hidden;
  height: 0;
  transition: height 0.3s ease-out;
}

.accordion-content-inner {
  padding-left: 1.1rem;
  padding-right: 1.1rem;
}

.icon::before {
  content: "＋";
  color: #1C64AD;
}

.accordion-item.active .icon::before {
  content: "ー";
  color: #1C64AD;
}

.job-description {
  margin-top: 10rem;
}

.job-listing__item {
  display: flex;
  align-items: flex-start;
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
  border-top: 1px solid #CBCBCB;
}
.job-listing__item:last-of-type {
  border-bottom: none;
}
@media (max-width: 767px) {
  .job-listing__item {
    flex-direction: column;
  }
}

.job-listing__term {
  color: #333;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 500;
  line-height: 200%; /* 3.6rem */
  padding-left: 2.1rem;
  width: 23rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .job-listing__term {
    width: auto;
    font-weight: bold;
    font-size: 1.6rem;
    padding-left: 0;
  }
}

.job-listing__description {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 3.2rem */
}
@media (max-width: 767px) {
  .job-listing__description {
    font-size: 1.4rem;
  }
}

.job-listing__text {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 3.2rem */
}
@media (max-width: 767px) {
  .job-listing__text {
    font-size: 1.4rem;
  }
}

.job-listing__list-item {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 3.2rem */
}
@media (max-width: 767px) {
  .job-listing__list-item {
    font-size: 1.4rem;
  }
}

.job-listing__item2 {
  align-items: flex-start;
}

.job-listing__link {
  color: #609FD5;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 3.2rem */
  text-decoration-line: underline;
  padding-left: 2.2rem;
  position: relative;
}
@media (max-width: 767px) {
  .job-listing__link {
    font-size: 1.4rem;
  }
}
.job-listing__link::after {
  content: "";
  position: absolute;
  background: url(../img/icon.png) no-repeat center center/cover;
  width: 1.2rem;
  height: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.entry {
  margin-top: 10rem;
  padding-bottom: 3rem;
}

.entry__description {
  color: #000;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.054rem;
  margin-top: 4.1rem;
  text-align: center;
}

.entry__contact {
  text-align: center;
  margin-top: 1.6rem;
}

.entry__phone-number {
  color: #333;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 2.8rem;
  font-style: italic;
  font-weight: 800;
  line-height: 100%; /* 2.8rem */
  letter-spacing: 0.084rem;
  text-align: center;
}
.entry__phone-number img {
  width: 2.9rem;
  height: 2.9518rem;
}

.entry__hours {
  color: #333;
  font-size: 1.4rem;
  font-style: italic;
  font-weight: 800;
  line-height: normal;
  letter-spacing: 0.042rem;
}
.entry__hours span {
  font-family: "Roboto Condensed", sans-serif;
}

.entry__email-info {
  color: #000;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.054rem;
  margin-top: 4rem;
  text-align: center;
}
@media (max-width: 767px) {
  .entry__email-info {
    font-size: 1.6rem;
  }
}

.entry__cta {
  margin-top: 1.6rem;
  text-align: center;
}

.entry__form-button {
  margin-left: auto;
  margin-right: auto;
}

.recruit-page___text {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.048rem;
  margin-top: 5.2rem;
}
@media (max-width: 767px) {
  .recruit-page___text {
    margin-top: 3rem;
  }
}

.step {
  padding-top: 10rem;
  padding-bottom: 10rem;
  background-color: #1C64AD;
  margin-top: 10rem;
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .step {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}

.recruitment-steps__item {
  background-color: #fff;
  padding-top: 5rem;
  padding-bottom: 5rem;
  padding-left: 5.6rem;
  padding-right: 5.6rem;
  position: relative;
}
@media (max-width: 767px) {
  .recruitment-steps__item {
    padding: 3rem 1.5rem;
  }
}
.recruitment-steps__item:nth-of-type(n+2) {
  margin-top: 12.9rem;
}
.recruitment-steps__item:nth-of-type(n+2)::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 53px 99px 0 99px;
  border-color: #007EA5 transparent transparent transparent;
  left: 50%;
  transform: translateX(-50%);
  top: -8.7rem;
}

.recruitment-steps__item-title {
  color: #0199BC;
  font-size: 6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 6rem */
  position: absolute;
  top: -3.2rem;
  left: 0;
  font-family: "Roboto", sans-serif;
}
@media (max-width: 767px) {
  .recruitment-steps__item-title {
    font-size: 5rem;
    top: -2.6rem;
  }
}

.recruitment-steps__item-content {
  display: flex;
  gap: 6.6rem;
}
@media (max-width: 767px) {
  .recruitment-steps__item-content {
    gap: 3rem;
    flex-direction: column;
  }
}

.recruitment-steps__item-image {
  width: 41.1rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .recruitment-steps__item-image {
    width: 100%;
  }
}

.recruitment-steps__item-text {
  padding-top: 4.3rem;
}
@media (max-width: 767px) {
  .recruitment-steps__item-text {
    padding-top: 0rem;
  }
}

.recruitment-steps__item-subtitle {
  color: #1C64AD;
  font-size: 3rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 3rem */
}
@media (max-width: 767px) {
  .recruitment-steps__item-subtitle {
    font-size: 2.4rem;
  }
}

.recruitment-steps__item-description {
  color: #000;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 2.88rem */
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .recruitment-steps__item-description {
    margin-top: 1.5rem;
    font-size: 1.4rem;
  }
}

.telephone-inquiry {
  margin-top: 4.6rem;
}

.telephone-inquiry__container {
  max-width: 76rem;
  background-color: #FBFBFB;
  margin-left: auto;
  margin-right: auto;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.telephone-inquiry__details {
  margin-top: 4rem;
}

.telephone-inquiry__call-link {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.telephone-inquiry__call-icon {
  width: 2.9rem;
  height: 2.9518rem;
}

.telephone-inquiry__call-number {
  color: #333;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 2.8rem;
  font-style: italic;
  font-weight: 800;
  line-height: 100%; /* 2.8rem */
  letter-spacing: 0.084rem;
}

.telephone-inquiry__fax-info {
  margin-top: 0.9rem;
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.telephone-inquiry__fax-icon {
  width: 2.9rem;
  height: 2.9rem;
  display: inline-block;
}

.telephone-inquiry__fax-number {
  color: #333;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 2.8rem;
  font-style: italic;
  font-weight: 800;
  line-height: 100%; /* 2.8rem */
  letter-spacing: 0.084rem;
}

.telephone-inquiry__business-hours {
  color: #333;
  font-size: 1.4rem;
  font-style: italic;
  font-weight: 800;
  line-height: normal;
  letter-spacing: 0.042rem;
  margin-top: 0.6rem;
  text-align: center;
}
.telephone-inquiry__business-hours time {
  font-family: "Roboto Condensed", sans-serif;
}

.mail-form {
  margin-top: 10rem;
  padding-bottom: 3rem;
}

.mail-form__inner {
  max-width: 76rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .mail-form__inner {
    margin-left: 1.6rem;
    margin-right: 1.6rem;
  }
}

.mail-form__description {
  margin-top: 4rem;
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.048rem;
}
@media (max-width: 767px) {
  .mail-form__description {
    font-size: 1.4rem;
  }
}

.mail-form__privacy-notice {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.048rem;
}
@media (max-width: 767px) {
  .mail-form__privacy-notice {
    font-size: 1.4rem;
  }
}

.mail-form__privacy-link {
  color: #609FD5;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.048rem;
  text-decoration-line: underline;
}
@media (max-width: 767px) {
  .mail-form__privacy-link {
    font-size: 1.4rem;
  }
}

.mail-form__form {
  margin-top: 4.7rem;
}

.mail-form__field:nth-of-type(n+2) {
  margin-top: 3rem;
}

.mail-form__label {
  display: block;
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 1.6rem */
  display: flex;
  align-items: center;
  gap: 1rem;
}

.mail-form__required {
  background: #EE2525;
  width: 4.1rem;
  height: 1.8rem;
  color: #FFF;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.7rem; /* 170% */
  display: flex;
  justify-content: center;
  align-items: center;
}

.mail-form__input {
  margin-top: 1rem;
  display: inline-block;
  border: 1px solid #BDBDBD;
  background: #FFF;
  height: 3.7rem;
  width: 100%;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding: 1rem;
}

.mail-form__textarea {
  height: 21rem;
  width: 100%;
  border: 1px solid #BDBDBD;
  background: #FFF;
  margin-top: 1rem;
  padding: 1rem;
}

.mail-form__submit {
  margin-top: 5.06rem;
  width: 34rem;
  height: 6rem;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.mail-form__submit::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 6px;
  border-color: transparent transparent transparent #FFFFFF;
  top: 50%;
  transform: translateY(-50%);
  right: 3.6rem;
}

.mail-form__submit-button {
  width: 100%;
  height: 6rem;
  display: inline-block;
  align-items: center;
  background: linear-gradient(91deg, #0092D7 0%, #373582 98.63%);
  color: #FFF;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 2.56rem; /* 160% */
  position: relative;
  transition: 0.3s;
  cursor: pointer;
  margin-left: auto;
  margin-right: auto;
  border: none;
  padding-left: 0;
}
.mail-form__submit-button:hover {
  opacity: 0.7;
}

.wpcf7-form {
  text-align: center;
}

.wpcf7-not-valid-tip {
  text-align: left;
}

.tab-menu {
  display: flex;
  justify-content: center;
  list-style-type: none;
  padding: 0;
  margin: 6rem;
}
@media (max-width: 767px) {
  .tab-menu {
    margin-right: 2rem;
    margin-left: 2rem;
  }
}

.tab-menu li {
  width: 35rem;
  height: 6.5rem;
  background-color: #373582;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #ccc;
  color: #136EBD;
  font-family: "Noto Sans JP";
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.072rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #136EBD;
}
@media (max-width: 767px) {
  .tab-menu li {
    height: 5rem;
    font-size: 2rem;
  }
}

.tab-menu li.active {
  background-color: #136EBD;
  border-bottom: none;
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.072rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .tab-menu li.active {
    font-size: 2rem;
  }
}

.tab-content {
  display: none;
  border-top: none;
}

.tab-content.active {
  display: block;
}

.office-page_text {
  margin-top: 10rem;
}
@media (max-width: 767px) {
  .office-page_text {
    margin-top: 5rem;
  }
}

.office-page__inner {
  display: flex;
  align-items: center;
  gap: 4rem;
}
@media (max-width: 767px) {
  .office-page__inner {
    flex-direction: column;
    gap: 2rem;
  }
}

.office-page__left {
  width: 45.6rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .office-page__left {
    width: auto;
  }
}

.office__right {
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 3.2rem */
  letter-spacing: 0.048rem;
}
@media (max-width: 767px) {
  .office__right {
    font-size: 1.4rem;
  }
}

.office-page .service__item-number {
  color: #136EBD;
}

.office-text {
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 3.6rem */
  letter-spacing: 0.06rem;
  margin-bottom: 7rem;
}
@media (max-width: 767px) {
  .office-text {
    font-size: 1.4rem;
  }
}

.office-profile {
  margin-top: 10rem;
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .office-profile {
    margin-top: 6rem;
  }
}

.office-profile__list {
  border: 1px solid #ccc;
  margin-top: 4rem;
}

.office-profile__item {
  display: flex;
  height: 9.5rem;
}
@media (max-width: 767px) {
  .office-profile__item {
    flex-direction: column;
    height: auto;
  }
}
.office-profile__item:nth-of-type(2) {
  height: 43.4rem;
}
@media (max-width: 767px) {
  .office-profile__item:nth-of-type(2) {
    height: auto;
  }
}
.office-profile__item:nth-of-type(n+2) {
  border-top: 1px solid #ccc;
}

.office-profile__term {
  width: 22.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #ccc;
  background-color: #1C64AD;
  color: #FFF;
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 6.1811rem; /* 386.321% */
}
@media (max-width: 767px) {
  .office-profile__term {
    width: 100%;
    line-height: 1.5;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.office-profile__description {
  padding-left: 2.4rem;
  display: flex;
  align-items: center;
  color: #333;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 767px) {
  .office-profile__description {
    font-size: 1.4rem;
    padding: 1.5rem;
  }
}
.office-profile__description iframe {
  width: 72.7rem;
  height: 40rem;
}
@media (max-width: 767px) {
  .office-profile__description iframe {
    width: 100%;
    height: auto;
  }
}
.office-profile__description p {
  line-height: 2;
}

.office-profile__link {
  color: #609FD5;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 6.1811rem; /* 386.321% */
  text-decoration-line: underline;
  padding-left: 2.2rem;
  position: relative;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .office-profile__link {
    line-height: 1.5;
  }
}
.office-profile__link:hover {
  opacity: 0.7;
}
.office-profile__link::after {
  content: "";
  position: absolute;
  background: url(../img/icon.png) no-repeat center center/cover;
  width: 1.2rem;
  height: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}