@charset "UTF-8";
/*

　トップページ
----------------------------------------------- */
/* メインビジュアル */
.hero {
  position: relative;
  overflow: clip;
}
.hero .slick-dots {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero .slick-dots li {
  line-height: 1;
}
.hero .slick-dots button {
  width: 5px;
  height: inherit;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  text-indent: -9999px;
  font-size: 0;
}
.hero .slick-dots .slick-active button {
  background: rgb(255, 255, 255);
}
.hero .slick-arrow {
  position: absolute;
  z-index: 10;
  top: 50%;
  translate: 0 -50%;
  height: inherit;
  aspect-ratio: 1;
  text-indent: -9999px;
}
.hero .slick-arrow.slick-prev {
  left: 0;
}
.hero .slick-arrow.slick-next {
  right: 0;
}
@media (width > 768px) {
  .hero {
    height: 100dvh;
  }
}
@media (width > 768px) and (aspect-ratio <= 1/1) {
  .hero {
    height: 47.514619883vw;
  }
}
@media (width <= 768px) {
  .hero {
    padding-block: 31.914893617vw 14.6276595745vw;
  }
}
.hero::after {
  position: absolute;
  z-index: 3;
  inset: 0;
  content: "";
  background-color: var(--color-light-blue);
  opacity: 0.9;
  pointer-events: none;
  animation: fadeOutHeroLayer 0.8s 7s ease-out forwards;
}
@media (width > 768px) {
  .hero::after {
    opacity: 0 !important;
  }
}
.hero h2 {
  position: absolute;
  z-index: 2;
}
@media (width > 768px) {
  .hero h2 {
    bottom: 0;
    left: 2.485380117vw;
    display: flex;
    align-items: flex-end;
    gap: 0.8em;
  }
  .hero h2 .txt {
    width: 38.0116959064vw;
  }
  .hero h2 .taxi {
    width: 4.4590643275vw;
  }
  .hero h2 .bus {
    width: 4.4590643275vw;
  }
}
@media (width <= 768px) {
  .hero h2 {
    bottom: 0;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: auto auto;
    justify-items: center;
    align-items: end;
    gap: 3.1914893617vw;
  }
  .hero h2 .txt {
    width: 66.4893617021vw;
    grid-area: 2/1/3/3;
  }
  .hero h2 .taxi {
    width: 16.2234042553vw;
    margin-left: auto;
  }
  .hero h2 .bus {
    width: 16.2234042553vw;
    margin-right: auto;
  }
}
@media (width > 768px) {
  .hero .images {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3.6549707602vw;
    width: 35.4532163743vw;
  }
}
@media (width > 768px) {
  .hero .images .slick-list {
    overflow: inherit;
  }
}
@media (width > 768px) {
  .hero .images .slick-slide {
    margin-block: 0.5116959064vw;
  }
}
@media (width <= 768px) {
  .hero .images .slick-slide {
    margin-inline: 2.1276595745vw;
    width: 151.5957446809vw;
  }
}
.hero .texts {
  display: grid;
  align-content: center;
  height: 100%;
  text-align: center;
  font-family: var(--font-min);
  line-height: 2.18;
  animation: fadeOutHeroTexts 0.8s 6s ease-out forwards;
}
.hero .texts em {
  color: var(--color-blue);
}
@media (width > 768px) {
  .hero .texts {
    margin-right: 39.1081871345vw;
    font-size: clamp(12px, 1.1695906433vw, 22px);
  }
}
@media (width <= 768px) {
  .hero .texts {
    position: absolute;
    z-index: 4;
    inset: 0;
    font-size: min(3.7234042553vw, 18px);
  }
}
.hero .catch {
  display: grid;
  align-content: center;
  justify-items: center;
  font-family: var(--font-min);
  line-height: 1.5;
  opacity: 0;
  animation: fadeInHeroCatch 0.8s 7s ease-out forwards;
}
.hero .catch em {
  color: var(--color-blue);
}
@media (width > 768px) {
  .hero .catch {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 39.1081871345vw;
    font-size: clamp(12px, 1.9005847953vw, 30px);
  }
}
@media (width <= 768px) {
  .hero .catch {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 31.914893617vw;
    font-size: min(5.3191489362vw, 24px);
  }
}

@keyframes fadeOutHeroTexts {
  from {
    opacity: 1;
  }
  to {
    transform: translateY(0.4em);
    opacity: 0;
  }
}
@keyframes fadeInHeroCatch {
  from {
    transform: translateY(0.4em);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fadeOutHeroLayer {
  from {
    opacity: 0.9;
  }
  to {
    opacity: 0;
  }
}
.hero .images {
  opacity: 0;
  transition: 0.4s;
}

.hero .images.slick-initialized {
  opacity: 1;
}

/* 事業案内 SERVICE */
@media (width > 768px) {
  .sec-service {
    padding-inline: 8.0409356725vw;
  }
}
@media (width <= 768px) {
  .sec-service {
    padding-inline: 5.3191489362vw;
  }
}
@media (width > 768px) {
  .sec-service {
    padding-block: 10.9649122807vw;
  }
}
@media (width <= 768px) {
  .sec-service {
    padding-block: 18.6170212766vw;
  }
}
.sec-service h2 {
  display: flex;
  align-items: baseline;
  gap: 0.4em;
  font-family: var(--font-min);
  font-weight: normal;
  letter-spacing: 2rem;
}
@media (width > 768px) {
  .sec-service h2 {
    margin-bottom: 3.2894736842vw;
    font-size: clamp(12px, 2.1929824561vw, 36px);
  }
  .sec-service h2 img {
    width: min(5.8479532164vw, 145px);
  }
}
@media (width <= 768px) {
  .sec-service h2 {
    margin-bottom: 7.9787234043vw;
    font-size: min(5.8510638298vw, 28px);
  }
  .sec-service h2 img {
    width: 14.6276595745vw;
  }
}
.sec-service .content_wrap {
  display: grid;
}
@media (width > 768px) {
  .sec-service .content_wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.2894736842vw;
  }
}
@media (width <= 768px) {
  .sec-service .content_wrap {
    gap: 9.3085106383vw;
  }
}
.sec-service .card {
  display: block;
  text-decoration: none;
}
.sec-service .card .label {
  position: relative;
}
.sec-service .card .label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--color-border);
  background-color: currentColor;
  transform: scale(0, 1);
  transform-origin: right;
  transition: transform 0.4s;
}
.sec-service .card:hover .label::after {
  transform-origin: left;
  transform: scale(1, 1);
}
.sec-service .image {
  overflow: clip;
}
@media (width > 768px) {
  .sec-service .image {
    border-radius: 1.4619883041vw;
  }
}
@media (width <= 768px) {
  .sec-service .image {
    border-radius: 3.9893617021vw;
  }
}
.sec-service .title {
  display: inline-flex;
  align-items: center;
}
.sec-service .title::before, .sec-service .title::after {
  font-family: "Font Awesome 7 Free";
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  text-rendering: auto;
  flex-shrink: 0;
}
.sec-service .title {
  text-decoration: none;
}
.sec-service .title::after {
  display: flex;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  content: "\f105";
  border: 1px solid currentColor;
  border-radius: 50%;
  aspect-ratio: 1;
  background: #fff;
}
@media (width > 768px) {
  .sec-service .title::after {
    width: 1.7543859649vw;
    margin-left: 0.9502923977vw;
    font-size: clamp(12px, 0.730994152vw, 20px);
    transform: translateY(0.0730994152vw);
  }
}
@media (width <= 768px) {
  .sec-service .title::after {
    width: 5.3191489362vw;
    margin-left: 2.6595744681vw;
    font-size: min(2.1276595745vw, 20px);
    transform: translateY(0.1329787234vw);
  }
}
.sec-service .title:hover img {
  opacity: 1;
}
.sec-service .title {
  margin-block: 0.7em 0.5em;
  font-family: var(--font-min);
  font-weight: normal;
  line-height: 1.3;
}
@media (width > 768px) {
  .sec-service .title {
    font-size: clamp(12px, 1.7543859649vw, 20px);
  }
}
@media (width <= 768px) {
  .sec-service .title {
    font-size: min(4.7872340426vw, 20px);
  }
}
.sec-service .desc {
  line-height: 1.5;
}

/* RECRUIT */
@media (width > 768px) {
  .sec-recruit {
    padding-inline: 8.0409356725vw;
  }
}
@media (width <= 768px) {
  .sec-recruit {
    padding-inline: 5.3191489362vw;
  }
}
.sec-recruit {
  background-color: var(--color-blue);
  color: #fff;
  position: relative;
  overflow: hidden;
}
@media (width > 768px) {
  .sec-recruit {
    padding-block: 21.9298245614vw 3.6549707602vw;
  }
}
@media (width <= 768px) {
  .sec-recruit {
    padding-block: 34.5744680851vw 10.6382978723vw;
  }
}
.sec-recruit .bg-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
  pointer-events: none;
}
@media (width > 768px) {
  .sec-recruit .bg-video {
    height: 22.9532163743vw;
  }
}
@media (width <= 768px) {
  .sec-recruit .bg-video {
    height: 37.2340425532vw;
  }
}
.sec-recruit h2 {
  position: relative;
}
@media (width > 768px) {
  .sec-recruit h2 {
    margin-bottom: 2.1929824561vw;
    width: 16.5935672515vw;
  }
}
@media (width <= 768px) {
  .sec-recruit h2 {
    margin-bottom: 5.3191489362vw;
    width: 47.8723404255vw;
  }
}
@media (width > 768px) {
  .sec-recruit .content_wrap {
    display: grid;
    grid-template-columns: 1fr 25.8771929825vw;
    gap: 3.2894736842vw 0;
    align-items: center;
  }
}
.sec-recruit .lead {
  font-family: var(--font-min);
  line-height: 1.8;
}
@media (width > 768px) {
  .sec-recruit .lead .large {
    font-size: 150%;
  }
}
@media (width <= 768px) {
  .sec-recruit .lead .large {
    font-size: 120%;
  }
}
@media (width > 768px) {
  .sec-recruit .images {
    grid-area: 2/1/3/3;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (width <= 768px) {
  .sec-recruit .images {
    margin-block: 6.6489361702vw;
  }
}
.sec-recruit .btn {
  display: inline-flex;
  align-items: center;
}
.sec-recruit .btn::before, .sec-recruit .btn::after {
  font-family: "Font Awesome 7 Free";
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  text-rendering: auto;
  flex-shrink: 0;
}
.sec-recruit .btn {
  text-decoration: none;
}
.sec-recruit .btn::after {
  display: flex;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  content: "\f105";
  border: 1px solid currentColor;
  border-radius: 50%;
  aspect-ratio: 1;
  background: #fff;
}
@media (width > 768px) {
  .sec-recruit .btn::after {
    width: 1.7543859649vw;
    margin-left: 0.9502923977vw;
    font-size: clamp(12px, 0.730994152vw, 20px);
    transform: translateY(0.0730994152vw);
  }
}
@media (width <= 768px) {
  .sec-recruit .btn::after {
    width: 5.3191489362vw;
    margin-left: 2.6595744681vw;
    font-size: min(2.1276595745vw, 20px);
    transform: translateY(0.1329787234vw);
  }
}
.sec-recruit .btn:hover img {
  opacity: 1;
}
.sec-recruit .btn {
  width: 100%;
  border: 2px solid #fff;
  border-radius: 9999px;
  background-color: #243b98;
  justify-content: center;
  position: relative;
  transition: 0.2s;
}
.sec-recruit .btn:hover {
  background-color: var(--color-light-blue);
  border-color: var(--color-light-blue);
  color: var(--color-blue);
}
.sec-recruit .btn:hover img {
  filter: brightness(0) saturate(100%) invert(26%) sepia(37%) saturate(3302%) hue-rotate(210deg) brightness(96%) contrast(99%);
}
.sec-recruit .btn::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-blue);
  scale: 1.17;
  transform-origin: right top;
}
@media (width > 768px) {
  .sec-recruit .btn {
    height: 4.7514619883vw;
    gap: 1.0964912281vw;
    font-size: clamp(12px, 1.7543859649vw, 20px);
  }
  .sec-recruit .btn img {
    width: 4.6052631579vw;
    transform: translateY(0.1461988304vw);
  }
  .sec-recruit .btn::after {
    right: 1.4619883041vw;
  }
}
@media (width <= 768px) {
  .sec-recruit .btn {
    width: 94.1489361702vw;
    max-width: 100%;
    height: 13.2978723404vw;
    gap: 2.6595744681vw;
    font-size: min(4.7872340426vw, 20px);
  }
  .sec-recruit .btn img {
    width: 11.9680851064vw;
    transform: translateY(0.2659574468vw);
  }
  .sec-recruit .btn::after {
    right: 3.9893617021vw;
  }
}

/* 会社概要 COMPANY OVERVIEW */
@media (width > 768px) {
  .sec-company {
    padding-inline: 8.0409356725vw;
  }
}
@media (width <= 768px) {
  .sec-company {
    padding-inline: 5.3191489362vw;
  }
}
@media (width > 768px) {
  .sec-company {
    padding-block: 10.9649122807vw 7.3099415205vw;
    display: grid;
    grid-template-columns: 17.5438596491vw 1fr;
    align-items: start;
  }
}
@media (width <= 768px) {
  .sec-company {
    padding-block: 15.9574468085vw;
  }
}
.sec-company h2 {
  display: grid;
  font-family: var(--font-min);
  font-weight: 400;
  letter-spacing: 2rem;
}
@media (width > 768px) {
  .sec-company h2 {
    gap: 1.0964912281vw;
    font-size: clamp(12px, 1.9005847953vw, 36px);
  }
  .sec-company h2 img {
    width: min(5.9210526316vw, 140px);
  }
}
@media (width <= 768px) {
  .sec-company h2 {
    gap: 2.6595744681vw;
    font-size: min(5.3191489362vw, 28px);
  }
  .sec-company h2 img {
    width: 43.6170212766vw;
  }
}
.sec-company dl {
  display: grid;
  grid-template-columns: auto 1fr;
}
@media (width > 768px) {
  .sec-company dl {
    margin-right: 5.1169590643vw;
    margin-bottom: 2.5584795322vw;
  }
}
@media (width <= 768px) {
  .sec-company dl {
    margin-block: 6.6489361702vw;
  }
}
.sec-company :is(dt, dd) {
  border-top: 1px dashed #707070;
  padding-block: 0.6em;
  line-height: 2.1;
}
@media (width > 768px) {
  .sec-company dt {
    padding-right: 5em;
  }
}
@media (width <= 768px) {
  .sec-company dt {
    padding-right: 2em;
  }
}

/* 最新のお知らせ NEWS */
@media (width > 768px) {
  .sec-news {
    padding-inline: 8.0409356725vw;
  }
}
@media (width <= 768px) {
  .sec-news {
    padding-inline: 5.3191489362vw;
  }
}
.sec-news {
  border-top: 1px solid var(--color-border);
}
@media (width > 768px) {
  .sec-news {
    padding-block: 7.3099415205vw 0vw;
  }
}
@media (width <= 768px) {
  .sec-news {
    padding-block: 15.9574468085vw 0vw;
  }
}
@media (width > 768px) {
  .sec-news .grid-Box {
    display: grid;
    grid-template-columns: 17.5438596491vw 1fr;
    align-items: start;
  }
}
.sec-news h2 {
  display: grid;
  font-family: var(--font-min);
  font-weight: 400;
  letter-spacing: 2rem;
}
@media (width > 768px) {
  .sec-news h2 {
    gap: 0.730994152vw;
    font-size: clamp(12px, 1.9005847953vw, 36px);
  }
  .sec-news h2 img {
    width: min(2.9239766082vw, 75px);
  }
}
@media (width <= 768px) {
  .sec-news h2 {
    margin-bottom: 5.3191489362vw;
    gap: 2.6595744681vw;
    font-size: min(5.3191489362vw, 28px);
  }
  .sec-news h2 img {
    width: 7.9787234043vw;
  }
}
.sec-news .more_link {
  text-align: center;
}
@media (width > 768px) {
  .sec-news .more_link {
    margin-top: 5.1169590643vw;
  }
}
@media (width <= 768px) {
  .sec-news .more_link {
    margin-top: 10.6382978723vw;
  }
}
.sec-news .button {
  font-family: var(--font-min);
}
@media (width > 768px) {
  .sec-news .button {
    width: min(41.1549707602vw, 500px);
    height: min(6.798245614vw, 100px);
    font-size: clamp(12px, 1.9005847953vw, 20px);
  }
}
@media (width <= 768px) {
  .sec-news .button {
    width: 106.3829787234vw;
    max-width: 100%;
    height: 15.9574468085vw;
    font-size: min(5.3191489362vw, 20px);
  }
}