@charset "utf-8";

/* =====================================================
   Layout
===================================================== */

.pc { display: block !important; }
.sp { display: none !important; }
.pci { display: inline !important; }
.spi { display: none !important; }

.h_menu,
#sp_global_nav { display: none; }

header {
  position: fixed;
  padding-top: 3rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 1840px;
  z-index: 999;
}
header .header__inner {
  padding: 0 1.5rem 0 5rem;
  height: 80px;
  align-items: center;
  clip-path: polygon(2% 0, 100% 0%, 97.8% 100%, 0% 100%);
  background-color: rgba(255,255,255,.9);
  box-shadow: 0 0 1.8rem rgba(0, 0, 0, 0.12);
}
header .site_logo {
  transition: .7s;
}
header .site_nav ul {
  align-items: center;
  gap: 0 2.6rem;
}
header .site_nav a {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
header .site_nav .btn {
  width: 23.6rem;
}
header .site_nav .btn.btn_rec {
  margin-left: 1.4rem;
}
header .site_nav .btn.btn_green {
  margin-left: -2rem;
}
header .site_nav .btn a { 
  padding: 1.6rem 0 1.8rem 7.3rem;
  font-size: 1.8rem;
}
header .site_nav .btn.btn_green a {
  padding: 1.6rem 0 1.8rem 6.7rem;
}
header .site_nav .btn a::before {
  left: 3rem;
  width: 3.4rem;
  height: 3.4rem;
  background: url(../../images/src/common/ico_search.svg) no-repeat left center / 100%;
}
header .site_nav .btn_green a::before {
  left: 3.8rem;
  width: 2rem;
  height: 1.6rem;
  background-image: url(../../images/src/common/ico_mail.svg);
}
header .site_nav .btn a::after {
  width: 1.7rem;
  height: 0.8rem;
}

.video_mv {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;   /* ← 追加 */
  height: 100vh;
  z-index: -1;
  overflow: hidden; /* ← 重要：はみ出しをカット */
}

.video_mv video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  width: auto;       /* ← 重要 */
  height: auto;      /* ← 重要 */
  min-width: 100vw;  /* ← 画面を必ず覆う */
  min-height: 150vh; /* ← 画面を必ず覆う */

  object-fit: cover; /* 念のため */
}


.cta {
  padding: 7rem 0;
  background-color: #fff;
}
.cta.newscta {
  padding: 7rem 0;
  background-color: var(--gray);
}
.cta .cta__inner {
  margin: 0 auto;
  justify-content: center;
  align-items: stretch;
  padding: 6rem 0;
  width: 100%;
  max-width: 1344px;
  color: #fff;
  background: var(--gradation-green);
}
.cta .cta__inner .left_col {
  width: 50rem;
  border-right: 1px solid var(--green-bdr);
}
.cta .cta__inner .left_col .ttl {
  margin-bottom: 2.7rem;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
}
.cta .cta__inner .left_col .txt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}
.cta .cta__inner h2 {
  font-size: 6.6rem;
  
}
.cta .cta__inner .right_col {
  margin-left: 7.4rem;
  width: 43.8rem;
}
.cta .cta__inner .right_col .btn {
  margin-bottom: 3.2rem;
}
.cta .cta__inner .right_col .btn a {
  padding-left: 10.6rem;
  color: var(--green);
  background-color: #fff;
}
.cta .cta__inner .right_col .btn a::before {
  left: 6.4rem;
  width: 2.4rem;
  height: 1.9rem;
  background: url(../../images/src/common/ico_mail_green.svg) no-repeat left center / 100%;
}
.cta .cta__inner .right_col .btn a::after {
  background-image: url(../../images/src/common/arrow_green.svg);
}
.cta .cta__inner .right_col .fs22 {
  letter-spacing: 0.02em;
}
.cta .cta__inner .right_col .tel {
  position: relative;
  display: block;
  padding-left: 4.5rem;
  font-size: 4.8rem;
  
  text-align: center;
}
.cta .cta__inner .right_col .tel::before {
  content: '';
  position: absolute;
  left: 3.3rem;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 3.1rem;
  height: 3.1rem;
  background: url(../../images/src/common/ico_tel.svg) no-repeat left center / 100%;
}

footer {
  background: url(../../images/src/common/ft_bg.webp) no-repeat top center / cover;
}
.footer__inner {
  padding: 8.4rem 0 12.6rem;
  color: #fff;
}
.footer__inner .logo {
  margin-bottom: 2.7rem;
}
.footer__inner ul {
  width: 34rem;
  gap: 1.6rem 0;
}
.footer__inner ul li {
  width: 17rem;
}
.footer__inner ul li a {
  position: relative;
  padding-left: 1.5rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.77;
  letter-spacing: 0.02em;
}
.footer__inner ul li a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0.6rem;
  height: 1.2rem;
  background: url(../../images/src/common/arrow_white02.svg) no-repeat left center / 100%;
  transition: .8s;  
}

#copyright {
  margin-top: 3.2rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.28;
  letter-spacing: 0.08em;
}


/* ----------------
  TOP page
-------------------*/

.video_mv {
  width: 100%;
}
.hero {
  background: url(../../images/src/top/mv_bg.png) no-repeat top center / 100%;
}
.hero .hero__inner {
  display: flex;
  /*padding-left: 12rem;*/
  padding-left: 2%;
  padding-bottom: 1%;
  /*align-items: center;*/
  align-items: end;
  height: 100vh;
}
.hero .intro {
  position: relative;
  top: 0;
  margin: calc(100vh + 100vh) auto 0;
  padding: 28.5rem 0 37.8rem 6.3%;
  width: 100%;
  max-width: 1920px;
  overflow: hidden;
}
.hero .intro::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--bg-color);
  transform: skewY(-7deg) translateY(12rem);
}
.hero .intro::after {
  content: '';
  position: absolute;
  top: 17.8rem;
  right: 21.2rem;
  width: 61rem;
  height: 50.3rem;
  background: url(../../images/src/top/mv_logo.png) no-repeat right top / 100%;
}

.hero .intro .ttl {
  font-size: 6.9rem;
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: 1.1;
}
.hero .intro .ttl.s02 {
  transition-delay: .4s;
}
.hero .intro .ttl_en {
  margin-left: 1rem;
  font-size: 2.3rem;
  font-weight: 400;
  letter-spacing: 0.12em;
}
.hero .intro .ttl.s02 .ls {
  margin-right: 2rem;
  letter-spacing: -0.16em;
}

/* 斜めにキラッと光が通る（参考: https://takatoblog.org/animation-with-shine-characters/ ） */
.hero .intro .gradient {
  font-size: 11.1rem;
  font-weight: 700;
  color: var(--orange);
  background-image: linear-gradient(
    70deg,
    var(--orange) 42%,
    #FED800 45%,
    var(--green) 50%,
    #FED800 55%,
    var(--orange) 58%
  );
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: shine-sweep 4s linear infinite;
}
@keyframes shine-sweep {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.hero .intro .ttl.s02 .ls {
  font-size: 12rem;
}
.hero .intro .text_bx {
  position: relative;
  margin: 7.6rem 0 0 13%;
}
.hero .intro .text_bx::before,
.hero .intro .text_bx::after {
  content: '';
  position: absolute;

}
.hero .intro .text_bx::before {
  left: -22.7%;
  top: 13.9rem;
  width: 15.5rem;
  height: 40rem;
  background: url(../../images/src/top/border01.svg) no-repeat left top / 100%;
}
.hero .intro .text_bx::after {
  right: 7.1rem;
  top: -14.6rem;
  width: 34.5rem;
  height: 104.8rem;
  background: url(../../images/src/top/border02.svg) no-repeat left top / 100%;
}
.hero .intro .txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.06em;
}
.hero .intro .txt .yellow_bg {
  background-color: rgba(254, 216, 0, .6);
}
.hero .intro .txt + .txt {
  margin-top: 4rem;
}

.hero .intro .t02 {
  transition-delay: .2s;
}
.hero .intro .t03 {
  transition-delay: .4s;
}
.hero .intro .t04 {
  transition-delay: .4s;
}



.top_recruit01 {
  margin-top: -13%;
  overflow: hidden;
}
.top_recruit01 .orange_bx {
  margin-top: -7.8rem;
  padding: 12.5rem 0 7.1rem;
  background-color: var(--orange);
}
.top_recruit01 .orange_bx .bx {
  position: relative;
  align-items: center;
}
.top_recruit01 .orange_bx .bx h2 {
  position: absolute;
  color: rgba(255,255,255,.1);
  font-size: 29.1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
  top: -11rem;
  left: -11rem;
}
.top_recruit01 .orange_bx .ttl {
  color: #fff;
  font-size: 4.2963rem;
  font-weight: 700;
  line-height: 1.34;
  letter-spacing: 0.02em;
}
.top_recruit01 .orange_bx .btn {
  width: 41.8rem;
}
.swiper01 {
  overflow: visible;
}
.swiper01 .swiper-wrapper {
  transition-timing-function: linear; 
}

.top_about {
  /*padding: 13rem 16rem 13rem 14.2rem;*/
  margin: 0 auto;
  padding: 13rem 0;
  background-color: #fff;
}
.top_about .about_bx {
  margin: 0 auto;
  width: 1603px;
  max-width: 95%;
  align-items: center;
}
.top_about .img {
  /*width: 80.2rem;*/
  width: 50%;
}
.top_about .right_col {
  /*width: 70.7rem;*/
  width: 44.1%;
}
.top_about .right_col h2 {
  font-size: 8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
}
.top_about .right_col .ttl_jp {
  margin-bottom: 4.7rem;
  color: var(--orange);
}
.top_about .right_col .ttl {
  margin-bottom: 3.2rem;
  font-size: min(3vw,4.4rem);
  font-weight: 700;
  letter-spacing: 0.02em;
}
.top_about .right_col .ttl span {
  font-size: min(3.2vw,5rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  background: linear-gradient(transparent 70%, rgba(254, 216, 0, .6) 70%);
}
.top_about .right_col .ttl span .kagi {
  margin-left: -3rem;
  font-style: normal;
}
.top_about .right_col .ttl span .kagi2 {
  margin-right: -3rem;
  font-style: normal;
}
.top_about .right_col .txt {
  line-height: 2.11;
}
.top_about .right_col .txt + .txt {
  margin-top: 2rem;
}

.top_service {
  padding: 10.3rem 0 12rem;
  background-color: var(--gray);
  overflow: hidden;
}
.top_service .service_bx {
  padding-bottom: 4.7rem;
  background: url(../../images/src/top/service_bg.webp) no-repeat left top 2rem / cover;
}
.top_service .service_bx .ttl_blc {
  margin-bottom: 4.1rem;
  align-items: center;
  width: 81%;
}
.top_service .service_bx .ttl_bx h2 {
  margin-top: -4.3rem;
  font-size: 10.2rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1;
}
.top_service .service_bx .ttl_bx .ttl_jp {
  color: var(--orange);
}
.top_service .service_bx .ttl_blc .btn {
  margin-top: -4.4rem;
  width: 41.8rem;
}
.top_service .service_bx .service01 {
  margin-bottom: 6.2rem;
  flex-wrap: nowrap;
}
.top_service .service_bx .service02 {
  flex-wrap: nowrap;
}
.top_service .service_bx .left_col {
  position: relative;
  /*margin-left: 16rem;*/
  margin-left: 8%;
  width: 63rem;
}
.top_service .service_bx .left_col::before,
.top_service .service_bx .left_col::after {
  content: '';
  position: absolute;
  z-index: 0;
}
.top_service .service_bx .left_col::before {
  right: -29rem;
  top: -3rem;
  width: 10.9rem;
  height: 24.9rem;
  background: url(../../images/src/top/service01_bg01.svg) no-repeat left top / 100%;
}
.top_service .service_bx .left_col::after {
  left: -16rem;
  bottom: -7rem;
  width: 6.3rem;
  height: 12.2rem;
  background: url(../../images/src/top/service01_bg02.svg) no-repeat left top / 100%;
}
.top_service .service_bx .left_col .z_bx {
  position: relative;
  z-index: 1;
}
.top_service .service_bx .left_col .ttl_en {
  margin-bottom: 2.7rem;
  color: var(--orange);
  font-size: 14.2rem;
  
  opacity: 0.28;
}
.top_service .service_bx .left_col .ttl_sub_en {
  margin-bottom: 3.6rem;
  font-size: 2.2rem;
  letter-spacing: 0.02em;
}
.top_service .service_bx .left_col h3 {
  font-size: 5.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.top_service .service_bx .left_col .txt {
  margin-bottom: 3.6rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 2;
}
.top_service .service_bx .left_col .btn {
  margin-left: -5rem;
  width: 41.8rem;
}
.top_service .service_bx .img {
  width: 118.7rem;
}
.top_service .service_bx .img img {
  height: 71.6rem;
  object-position: left;
  clip-path: polygon(32rem 0, 100% 0%, 100% 100%, 0% 100%);
}

.top_service .service_bx .service02 .left_col {
  left: -7.2rem;
  margin-left: 0;
  /*margin-right: 15.9rem;*/
  margin-right: 8%;
  width: 64.6rem;
}
.top_service .service_bx .service02 .left_col .ttl_en {
  color: var(--green);
  opacity: 0.28;
}
.top_service .service_bx .service02 .img img {
  /*object-position: right;*/
  clip-path: polygon(0% 0, 100% 0%, calc(100% - 35rem) 100%, 0% 100%);
}
.top_service .service_bx .service02 .left_col::before {
  right: -23rem;
  top: -3rem;
  width: 15.9rem;
  height: 36rem;
  background: url(../../images/src/top/service02_bg01.svg) no-repeat left top / 100%;
}
.top_service .service_bx .service02 .left_col::after {
  left: -30rem;
  bottom: -10rem;
  width: 9.3rem;
  height: 17.2rem;
  background: url(../../images/src/top/service02_bg02.svg) no-repeat left top / 100%;
}

.movie_area {
  position: relative;
}
.movie_area button {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border-radius: 50%;
  border: 1px solid #fff;
  background-color: transparent;
  width: 19.8rem;
  height: 19.8rem;
  text-align: center;
  cursor: pointer;
}
/* 中央の円 */
.movie_area button::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  opacity: 1;
  transform: scale(1);
  transition: transform .8s cubic-bezier(.19,1,.22,1),
              opacity   .8s cubic-bezier(.19,1,.22,1);
}
.movie_area span.f_viga {
  margin-bottom: 1rem;
  color: #fff;
  font-size: 2rem;
  
}
.movie_area .icon svg {
  margin: 0 auto;
  text-align: center;
}
.movie_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  display: none;
  z-index: 9999;
}

.movie_modal_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 74%;
}

.movie_modal video {
  width: 100%;
  height: auto;
}

.movie_close {
  position: absolute;
  top: -40px;
  right: 0;
  font-size: 24px;
  color: #fff;
  background: none;
  border: none;
  cursor: pointer;
}

.top_company {
  position: relative;
  padding: 9rem 0 10rem;
  color: #fff;
  background: var(--gradation-green);
}
.top_company .bg {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #e2e2e2;
  mix-blend-mode: multiply;
  width: 51%;
  height: 100%;
  clip-path: polygon(63% 0, 100% 0, 100% 100%, 0% 100%);
}
.top_company .ttl_bx {
  margin: 0 auto;
  width: 84%;
  max-width: 1600px;
}
.top_company h2 {
  font-size: 8rem;
  line-height: 1;
  
}
.top_company .company_bx {
  margin-top: 3.6rem;
  align-items: stretch;
}
.top_company .company_bx .left_col,
.top_company .company_bx .right_col {
  position: relative;
  flex: 1;
}

.top_company .company_bx .parts a {
  position: relative;
  padding: 2rem 0 1.9rem 17%;
  width: 100%;
  align-items: center;
  justify-content: left;
  gap: 0 3rem;
  border-top: 0.1rem solid #fff;
}
.top_company .company_bx .parts:last-of-type a {
  border-bottom: 0.1rem solid #fff;
}
.top_company .company_bx .parts a::after {
  content: '';
  position: absolute;
  right: 8rem;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 2.6rem;
  height: 1.2rem;
  background: url(../../images/src/common/arrow_white.svg) no-repeat right center / 100%;
  transition: transform 0.4s ease, opacity 0.3s ease;
}

.top_company .company_bx .parts a .img {
  width: 12.6rem;
}
.top_company .company_bx .parts a .f_viga {
  font-size: 1.8rem;
  
}
.top_company .company_bx .parts a .ttl {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 0.02em;
}
.top_company .company_gallery_item {
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.top_company .company_gallery_item.is_show {
  opacity: 1;
}

.top_company .company_gallery_item img {
  height: 68.1rem;
  object-fit: cover;
  object-position: center;
}
@keyframes arrow-once {
  0% {
    transform: translateX(0);
    opacity: 1;
  }

  40% {
    transform: translateX(1rem); /* 右へ抜ける */
    opacity: 0;
  }

  41% {
    transform: translateX(-1rem); /* 左にワープ */
    opacity: 0;
  }

  80% {
    transform: translateX(0); /* 左から戻る */
    opacity: 1;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.top_social {
  position: relative;
  padding-top: 10rem;
  background-color: #fff;
}
.top_social .bg {
  position: absolute;
  right: 0;
  top: 0;
  background-color: #F5F5F5;
  width: 118.5%;
  height: 100%;
  clip-path: polygon(57% 0, 100% 0, 100% 100%, 0% 100%);
}
.top_social .social_block {
  position: relative;
  margin: 0 auto;
  width: 95%;
  max-width: 1240px;
  padding: 6rem 9rem 9rem;
  border: 2px solid var(--green);
  box-shadow: 0 0 54px rgba(20, 141, 28, 0.40);
  background-color: #fff;
  z-index: 10;
}
.top_social .social_block h2 {
  font-size: 2rem;
}
.top_social .social_block .ttl_jp {
  margin: 1rem 0 2.4rem;
  font-size: 4.6rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.top_social .social_block .txt {
  margin-bottom: 4.6rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}

.top_social .social_block .social01 {
  margin-bottom: 5.7rem;
  padding-bottom: 5rem;
  border-bottom: 1px solid var(--gray02);
}
.top_social .social_block .flex > .img {
  /*width: 55.2rem;*/
  width: 52.27%;
}
.top_social .social_block .flex .text_area {
  /*width: 44.4rem;*/
  width: 42%;
  display: flex;
  flex-direction: column;
}
.top_social .social_block .flex .text_area .ttl {
  position: relative;
  margin-bottom: 1.4rem;
  padding-left: 8.7rem;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.46;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.top_social .social_block .flex .text_area .ttl::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 7.2rem;
}
.top_social .social_block .social01.flex .text_area .ttl::before {
  height: 6.5rem;
  background: url(../../images/src/top/social_ico01.svg) no-repeat left center / 100%;
}
.top_social .social_block .social02.flex .text_area .ttl::before {
  height: 5.3rem;
  background: url(../../images/src/top/social_ico02.svg) no-repeat left center / 100%;
}
.top_social .social_block .flex .text_area .txt {
  margin-bottom: 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.88;
  text-align: left;
}
.top_social .social_block .flex .text_area ul {
  margin-top: 0.5rem;
}
.top_social .social_block .flex .text_area ul li {
  position: relative;
  padding-left: 1.7rem;
  color: var(--green);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.77;
  letter-spacing: 0.02em;
}
.top_social .social_block .flex .text_area ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: var(--green);
}

.top_social .social_block .flex .text_area > .img {
  margin-top: auto;
}

.top_social .ticker-container {
  margin-top: -4.3rem;
  position: relative;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  z-index: 5;
}
.top_social .ticker-wrap {
  display: inline-block;
  animation: ticker 20s linear infinite; /* 速度調整 */
}	  
.top_social .ticker-move {
  display: inline-block;
}
.top_social .ticker-item {
  display: inline-block;
  color: var(--green);
  font-size: 20rem;
  line-height: 1;
  opacity: .14;
  padding: 0 30px; /* テキスト間のスペース */
}
  
@keyframes ticker {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0); /* 半分だけ動かす */
  }
  }
  
@keyframes ticker02 {
  0% {
    transform: translate3d(-50%, 0, 0); /* ←最初は左に半分寄せておく */
    }
    100% {
    transform: translate3d(0, 0, 0); /* →方向へ移動して戻る */
    }
}
.top_news {
  margin: 11.3rem auto 0;
  padding-bottom: 14rem;
  width: 95%;
  max-width: 1634px;
  position: relative;
  z-index: 5;
}
.top_news .left_col {
  width: 25.8rem;
  display: flex;
  flex-direction: column;
}
.top_news .left_col .ttl_jp {
  margin-bottom: 3rem;
}
.top_news .left_col .btn {
  margin-top: auto;
  margin-left: -3.5rem;
}
.top_news h2 {
  font-size: 8rem;
  line-height: 1;
}
.top_news .right_col {
 /* width: 118rem;*/
 width: 72.2%;
}
.top_news .right_col .parts + .parts {
  margin-top: 3rem;
}
.top_news .right_col a {
  position: relative;
  padding: 3.6rem 3rem;
  width: 100%;
  border: 1px solid var(--gray-bdr);
  align-items: center;
  background-color: #fff;
}
.top_news .right_col a::after {
  content: '';
  position: absolute;
  right: 5rem;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 2.6rem;
  height: 1.2rem;
  background: url(../../images/src/common/arrow_green.svg) no-repeat right center / 100%;
  transition: .7s;
}
.top_news .right_col a .cate {
  display: inline-block;
  margin-right: 3.5rem;
  padding: 0.2rem 3rem;
  min-width: 13.6rem;
  color: var(--green);
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  border: 1px solid var(--green);
}
.top_news .right_col a .date {
  display: inline;
  margin-right: 5rem;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.top_news .right_col a .ttl {
  width: 72rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.top_recruit {
  position: relative;
  background: var(--gradation-orange);
  overflow: hidden;
}
.top_recruit::before {
  content: '';
  position: absolute;
  left: 66.2rem;
  top: 0;
  width: 65.52%;
  height: 100%;
  background: url(../../images/src/top/recruit_bg.webp) no-repeat right top / cover;
  clip-path: polygon(31% 0, 100% 0%, 100% 100%, 0% 100%);
}
.top_recruit .recruit_block {
  margin: 0 auto;
  padding: 10rem 0 11rem;
  width: 95%;
  max-width: 1634px;
  color: #fff;
}
.top_recruit .recruit_block h2 {
  font-size: 8rem;
  line-height: 1;
}
.top_recruit .recruit_block .ttl {
  margin: 3.4rem 0 2.8rem;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: 0.02em;
}
.top_recruit .recruit_block .btn {
  margin-top: 5rem;
  width: 41.8rem;
}

/* ----------------
  下層ページ
-------------------*/

.lowerpage {
  position: relative;
  background: var(--bg-color);
}
.lowerpage::before {
  content: '';
  position: absolute;
  top: 0;
  right: 65.1rem;
  width: 18.6rem;
  height: 36rem;
  background: url(../../images/src/common/border01.svg) no-repeat right top / 100%;
}
/*.lowerpage .cta {
  background-color: var(--bg-color);
}*/


/* --------------------------------
  ABOUT 東海重工について
-----------------------------------*/

#about .category {
  position: relative;
  padding: 2.6rem 0;
  background: var(--gradation-green);
}
#about .category::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 1.8rem;
  width: 7.9rem;
  height: 17.2rem;
  background: url(../../images/src/common/border02.svg) no-repeat left bottom / 100%;
}
#about .category ul {
  justify-content: center;
  gap: 0 2.5rem;
}
#about .category ul li {
  flex: 1;
}
#about .category ul li a {
  display: block;
  position: relative;
  padding: 1.4rem 2rem;
  width: 100%;
  color: var(--green);
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  background-color: #fff;
}
#about .category ul li a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2.1rem;
  margin: auto;
  width: 1.2rem;
  height: 0.6rem;
  background: url(../../images/src/common/arrow_bottom.svg) no-repeat right center / 100%;
}

#about #greeting {
  position: relative;
  margin-top: -11rem; 
  padding-top: 22rem;
  align-items: end;
}
#about #greeting::before {
  content: '';
  position: absolute;
  right: -27.5rem;
  bottom: 0;
  width: 19.5rem;
  height: 36rem;
  background: url(../../images/src/about/border01.svg) no-repeat right bottom / 100%;
}
#about #greeting .ttlbx {
  margin-bottom: 4rem;
}
#about #greeting .left_col {
  /*width: 74rem;*/
  width: 61.6%;
}
#about #greeting .left_col .txt {
  line-height: 2.22;
}
#about #greeting .left_col .t_ceo {
  margin-top: 4rem;
  font-weight: 700;
  line-height: 2.11;
}
#about #greeting .left_col .t_ceo .name {
  font-size: 2.8rem;
  font-weight: 700;
}
#about #greeting .img {
  /*width: 44.2rem;*/
  width: 36.8%;
}

#about .over {
  overflow: hidden;
}
#about #motto {
  position: relative;
  margin-top: -11rem; 
  padding-top: 25.7rem;
  padding-bottom: 28.6rem;
  align-items: center;
  max-width: 1300px;
  gap: 0 7rem;
}
#about #motto::before {
  content: '';
  position: absolute;
  top: -9rem;
  left: 7.2rem;
  width: 118%;
  height: 100%;
  background-color: #fff;
  clip-path: polygon(29% 0%, 100% 0, 100% 100%, 0% 100%);
  z-index: -1;
}

#about #motto::after {
  content: '';
  position: absolute;
  left: -30.8rem;
  top: 55rem;
  width: 12.9rem;
  height: 25rem;
  background: url(../../images/src/about/border02.svg) no-repeat left bottom / 100%;
}


.parallax_content_tab {
  margin: -15.6rem 0 0;
}
.parallax_content.img_bg_01 {
  min-height: 582px;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-image: url(../../images/src/about/motto_plla.webp);
}

#about #motto .img {
  /*width: 76.2rem;*/
  width: 58.615%;
}
#about #motto .right_col {
  /*width: 47rem;*/
  width: 34.1538%;
}

#about #motto .right_col h2.f_viga {
  margin-bottom: 1rem;
  line-height: 1;
}
#about #motto .right_col .ttl {
  margin-bottom: 2.3rem;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.58;
  letter-spacing: 0.02em;
}
#about #motto .right_col .ttl .marker {
  font-size: 5.6rem;
  font-weight: 700;
  background: linear-gradient(transparent 70%, rgba(254, 216, 0, .6) 30%);
}
#about #motto .right_col .ttl .marker .kagi {
  margin-left: -3rem;
  font-style: normal;
}
#about #motto .right_col .ttl .marker .kagi2 {
  margin-right: -3rem;
  font-style: normal;
}

#about #motto .right_col .txt {
  font-size: 2rem;
  line-height: 2;
}
#about #motto .right_col .txt .st {
  font-size: 2.6rem;
}

#about #overview,
#about #history ,
#about #access {
  position: relative;
  margin-top: -11rem; 
  padding-top: 21rem;
}

#about #overview {
  position: relative;
}
#about #overview::after {
  content: '';
  position: absolute;
  top: 83.1rem;
  left: -27.4rem;
  width: 13.9rem;
  height: 24.6rem;
  background: url(../../images/src/about/border03.svg) no-repeat left top / 100%;
}
#about #overview table {
  margin: 0 auto;
  width: 100%;
}
#about #overview table td {
  line-height: 1.8;
}
#about #overview table dl {
  justify-content: left;
  gap: 0 2rem;
}

#about #overview table dl + dl {
  margin-top: 3rem;
}

#about #overview table dl dt {
  font-weight: 700;
}
#about .sec04 {
  position: relative;
  margin-top: 22rem;
  padding-bottom: 10rem;
  background: url(../../images/src/about/history_bg.webp) no-repeat top center / cover;
}
#about .sec04::after {
  content: '';
  position: absolute;
  top: -24.8rem;
  right: 11.9rem;
  width: 18.6rem;
  height: 36rem;
  background: url(../../images/src/about/border04.svg) no-repeat right top / 100%;
}
#about #history {
  padding: 11rem 0;
}
#about .sec04 #history .ttlbx {
  margin-bottom: 5rem;
  color: #fff;
}
#about #history .history_block {
  position: relative;
}
#about #history .history_block::before {
  content: '';
  position: absolute;
  left: 3.4rem;
  top: 0.5rem;
  width: 2px;
  height: 96%;
  background: rgba(255,255,255,.6);
}
#about #history .history_block dl {
  margin-bottom: 4.2rem;
}
#about #history .history_block dl dt {
  display: inline-block;
  margin-bottom: 1.2rem;
  padding: 1rem 3.2rem;
  color: #fff;
  font-size: 2.8rem;
  line-height: 1;
  text-align: center;
  background: var(--gradation-green);
  clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
}
#about #history .history_block dl dd {
  padding-left: 6.3rem;
  color: #fff;
  font-size: 2rem;
}

#about .sec05 {
  background-color: #fff;
}
#about #access {
  margin-bottom: 9rem;
  padding-top: 18rem;
}
#about #access .img {
  /*width: 56.4rem;*/
  width: 47%;
}
#about #access > .flex {
  align-items: end;
}
#about #access .right_col {
  /*width: 56rem;*/
  width: 46.6%;
}
#about #access .right_col .ttl {
  margin-bottom: 2.6rem;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.37;
  letter-spacing: 0.02em;
}
#about #access .right_col th,
#about #access .right_col td {
  padding: 3rem;
  text-align: left;
}
#about #access .right_col th {
  padding: 2.6rem 0;
  width: 28%;
}
#about #access .right_col th .flex {
  justify-content: left;
  align-items: center;
  gap: 0 1.5rem;
}
#about #access .right_col th .flex i {
  width: 2.4rem;
}
#about #access .right_col td {
  font-weight: 500;
  line-height: 1.66;
}
#about #access .right_col td a {
  color: var(--orange);
  text-decoration: underline;
}



/* --------------------------------
  SERIVCE 事業内容
-----------------------------------*/

#service .sec01 {
  position: relative;
  margin-top: 10rem;
  margin-bottom: 11rem;
}
#service .sec01::before {
  content: '';
  position: absolute;
  left: 0;
  top: -8.2rem;
  width: 7.9rem;
  height: 17.2rem;
  background: url(../../images/src/common/border02.svg) no-repeat left bottom / 100%;
}
#service .sec01::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 1.8rem;
  width: 7.9rem;
  height: 17.2rem;
  background: url(../../images/src/common/border02.svg) no-repeat left bottom / 100%;
}
#service .sec01 .txt {
  margin-bottom: 5.2rem;
  font-size: 2rem;
  line-height: 4.8rem;
}
#service .sec01 .txt span {
  font-size: 3rem;
  font-weight: 700;
}
#service .sec01 ul {
  margin: 0 auto;
  max-width: 1085px;
  width: 100%;
  justify-content: center;
}
#service .sec01 ul li {
  flex: 1;
}
#service .sec01 ul li a {
  padding-left: 9rem;
  font-size: 2.4rem;
}
#service .sec01 ul li a::after {
  width: 1.2rem;
  height: 2.7rem;
  background-image: url(../../images/src/common/arrow_bottom_white.svg);
  transition: bottom .7s;
}
#service .sec01 ul li:last-of-type a {
  background-color: var(--green);
}
#service .service01 {
  position: relative;
  margin-bottom: 6.2rem;
  flex-wrap: nowrap;
}
#service .service01::before {
  content: '';
  position: absolute;
  top: 10.3rem;
  left: 0;
  width: 169.3rem;
  height: 66.4rem;
  background: url(../../images/src/service/sec02_bg01.webp) no-repeat left top / 100%;
}
#service .service02 {
  flex-wrap: nowrap;
}
#service #service01 .left_col,
#service #service02 .left_col {
  position: relative;
  margin-left: 16rem;
  width: 63rem;
}
#service #service01 .left_col::before,
#service #service01 .left_col::after,
#service #service02 .left_col::before,
#service #service02 .left_col::after  {
  content: '';
  position: absolute;
  z-index: 0;
}
#service #service01 .left_col::before,
#service #service02 .left_col::before {
  right: -29rem;
  top: 0;
  width: 10.9rem;
  height: 24.9rem;
  background: url(../../images/src/top/service01_bg01.svg) no-repeat left top / 100%;
}
#service #service01 .left_col::after,
#service #service02 .left_col::after {
  left: -12rem;
  bottom: -15rem;
  width: 9.3rem;
  height: 20.9rem;
  background: url(../../images/src/service/border01.svg) no-repeat left top / 100%;
}
#service #service01 .left_col .z_bx,
#service #service02 .left_col .z_bx {
  position: relative;
  z-index: 1;
}
#service #service01 .left_col .ttl_en,
#service #service02 .left_col .ttl_en {
  margin-bottom: 2.7rem;
  color: var(--orange);
  font-size: 14.2rem;
  opacity: 0.28;
}
#service #service02 .left_col .ttl_en {
  color: var(--green);
}
#service #service01 .left_col .ttl_sub_en,
#service #service02 .left_col .ttl_sub_en {
  margin-bottom: 3.6rem;
  font-size: 2.2rem;
  letter-spacing: 0.02em;
}
#service #service01 .left_col h2,
#service #service02 .left_col h2 {
  font-size: 5.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
#service #service01 .left_col .txt,
#service #service02 .left_col .txt {
  margin-bottom: 3.6rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 2;
}
#service #service01 .left_col .btn,
#service #service02 .left_col .btn {
  margin-left: -5rem;
  width: 41.8rem;
}
#service #service01 .img,
#service #service02 .img {
  width: 118.7rem;
}
#service #service01 .img img,
#service #service02 .img img  {
  height: 71.6rem;
  object-position: left;
  clip-path: polygon(32rem 0, 100% 0%, 100% 100%, 0% 100%);
}

#service .sec02 {
  overflow: hidden;
}
#service .sec02 h2 {
  font-size: 4.6rem;
}
#service .sec02 .ttl_sub_en {
  margin-bottom: 0.4rem;
  font-size: 2rem;
}
#service .sec02 .ttl_sub_en.mb60 {
  margin-bottom: 6rem;
}
#service .sec02 .service01_block {
  margin: 14.3rem auto 0;
  max-width: 1374px;
  width: 95%;
}
#service .sec02 .service01_block .img {
 /* width: 72.4rem;*/
 width: 52.7%;
}
#service .sec02 .service01_block .box {
  margin-bottom: 6.7rem;
  align-items: center;
}
#service .sec02 .service01_block .right_col {
  /*width: 58.8rem;*/
  width: 42.8%;
}
#service .sec02 .service01_block .right_col h3 {
  display: inline-block;
  margin-bottom: 2.2rem;
  padding: 0.2rem 5.4rem 0.7rem 4.2rem;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  background-color: var(--orange);
  clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
}
#service .sec02 .service01_block .right_col .txt {
  line-height: 2.22;
}
#service .sec02 .service01_block .right_col .txt + .txt {
  margin-top: 2rem;
}

#service .service02 .left_col {
  left: -7.2rem;
  margin-left: 0;
  margin-right: 15.9rem;
  width: 64.6rem;
}
#service .service02 .left_col .ttl_en {
  color: var(--green);
  opacity: 0.28;
}
#service .service02 .img img {
  object-position: right;
  clip-path: polygon(0% 0, 100% 0%, calc(100% - 35rem) 100%, 0% 100%);
}
#service .service02 .left_col::before {
  right: -23rem;
  top: -3rem;
  width: 15.9rem;
  height: 36rem;
  background: url(../../images/src/top/service02_bg01.svg) no-repeat left top / 100%;
}
#service .service02 .left_col::after {
  left: -27rem;
  bottom: -4rem;
  width: 9.3rem;
  height: 17.2rem;
  background: url(../../images/src/top/service02_bg02.svg) no-repeat left top / 100%;
}

#service .sec02 .service01_block .parts + .parts {
  margin-top: 6rem;
}
#service .sec02 .service01_block .parts .ttl_bx {
  padding-bottom: 2.2rem;
  height: 11.8rem;
  align-items: center;
}
#service .sec02 .service01_block .parts .ttl_bx .num {
  position: relative;
  color: var(--gray);
  font-size: 3rem;
}
#service .sec02 .service01_block .parts .ttl_bx .num::before {
  content: '';
  position: absolute;
  top: -3.3rem;
  left: -5.9rem;
  width: 12.9rem;
  height: 15.1rem;
  aspect-ratio: 139/132;
  background-color: var(--orange);
  clip-path: polygon(55% 0, 100% 0%, 45% 100%, 0% 100%);
  z-index: -1;
}
#service .sec02 .service01_block .parts .ttl_bx .ttl {
  margin: 0 auto 0 4.9rem;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
#service .sec02 .service01_block .parts .ttl_bx .sub {
  margin-left: 7rem;
  /*width: 59.8rem;*/
  width: 49%;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.77;
  letter-spacing: 0.02em;
}
#service .sec02 .service01_block .parts ul {
  justify-content: center;
  gap: 0 2.8rem;
}
#service .sec02 .service01_block .parts ul li {
  flex: 1;
}

#service .sec02 .service01_block .parts .white_bx {
  margin-top: 2.2rem;
  padding: 1.3rem 0 1.5rem;
  text-align: center;
  background-color: #fff;
}
#service .sec02 .service01_block .parts .white_bx span {
  color: var(--orange);
}
#service #service02 {
  margin-top: 12rem;
}
#service .service02_block {
  margin: 14.3rem auto 11rem;
}
#service .service02_block .box_s02 {
  margin: 5rem auto 10rem;
  width: 95%;
  max-width: 1574px;
  justify-content: left;
  align-items: stretch;
  gap: 0 8rem;
}
#service .service02_block .box_s02 .img {
  /*width: 72.7rem;*/
  width: 46.18%;
}
#service .service02_block .box_s02 .img img {
  height: 100%;
}
#service .service02_block .box_s02 .right_col {
  /*width: 58rem;*/
  width: 36.8%;
}
#service .service02_block .box_s02 .right_col .ttl {
  display: inline-block;
  margin-bottom: 2.4rem;
  padding: 0.2rem 4.8rem 0.7rem 5rem;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  clip-path: polygon(7% 0, 100% 0%, 92% 100%, 0% 100%);
  background-color: var(--green);
}
#service .service02_block .box_s02 .right_col .txt {
  line-height: 2.11;
}
#service .service02_block .box_s02 .right_col .txt + .txt {
  margin-top: 3rem;
}
#service .service02_block .business_bx {
  margin-top: 5rem;
  gap: 0 3rem;
}
#service .service02_block .business_bx .parts {
  flex: 1;
  background-color: #fff;
}
#service .service02_block .business_bx .parts .txtbx {
  padding: 1.9rem 3rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 0.92;
}
#service .service02_block .business_bx .parts .txtbx .num {
  margin-right: 1.4rem;
  color: var(--green);
  font-size: 3rem;
}
#service .service02_block .business_bx .parts .txtbx .fs18 {
  font-size: 1.8rem;
  font-weight: 700;
}
#service .service02_block .info_disc {
  margin: 6rem auto 11rem;
  padding: 4rem 0;
  border: 0.1rem solid rgba(0, 0, 0, 0.20);
  background-color: #fff;
  justify-content: left;
  align-items: center;
}
#service .service02_block .info_disc .left_col {
  /*width: 29.2rem;*/
  width: 24.37%;
}
#service .service02_block .info_disc .left_col p {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
#service .service02_block .info_disc .left_col p span {
  font-size: 2.8rem;
  font-weight: 700;
}
#service .service02_block .info_disc .right_col {
  padding: 1rem 5rem 0 4.4rem;
  /*width: 90.8rem;*/
  width: 75.6%;
  border-left: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#service .service02_block .info_disc .right_col .ttl {
  margin-bottom: 1rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.54;
}
#service .service02_block .info_disc .right_col .txt {
  font-weight: 400;
  line-height: 1.66;
}
#service .service02_block .info_disc .right_col .kome {
  margin: 0.4rem 0 3.2rem 1rem;
  text-indent: -1rem;
  font-size: 1.6rem;
  font-weight: 400;
}
#service .service02_block .info_disc .right_col .btn {
  width: 26.3rem;
}
#service .service02_block .info_disc .right_col .btn a {
  border: 0.2rem solid var(--green);
  padding: 1.7rem 0 2rem 5.1rem;
  color: var(--green);
  font-size: 1.6rem;
  clip-path: none;
  background-color: #fff;
}
#service .service02_block .info_disc .right_col .btn a::after {
  background-image: url(../../images/src/common/arrow_green.svg);
}
#service .service02_block .step_bx {
  margin: 3.2rem auto 0;
}
#service .service02_block .step_bx .parts {
  position: relative;
  padding: 3.5rem 5.6rem 3.7rem 3.7rem;
  background: #FFF;
  box-shadow: 0 0 1.6rem 0 rgba(20, 141, 28, 0.31);
  align-items: center;
}
#service .service02_block .step_bx .parts::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3.7rem;
  margin: auto;
  width: 4.2rem;
  height: 2.1rem;
  background: url(../../images/src/service/triangle.svg) no-repeat center bottom / 100%;
}
#service .service02_block .step_bx .parts:last-of-type::after {
  display: none;
}
#service .service02_block .step_bx .parts + .parts {
  margin-top: 5rem;
}
#service .service02_block .step_bx .parts .ttl_bx {
  /*width: 37.2rem;*/
  width: 34%;
  justify-content: left;
  align-items: center;
}
#service .service02_block .step_bx .parts .num {
  /*width: 4.7rem;*/
  width: 19%;
  font-size: 1.8rem;
  line-height: 1;
  text-align: center;
}
#service .service02_block .step_bx .parts .num span {
  display: block;
  font-size: 3rem;
}
#service .service02_block .step_bx .parts .ico {
  margin: 0 3.5rem 0 4rem;
  width: 6.3rem;
}
#service .service02_block .step_bx .parts .ico img {
  margin: 0 auto;
}
#service .service02_block .step_bx .parts:nth-of-type(1) .ico img { width: 54px; }
#service .service02_block .step_bx .parts:nth-of-type(2) .ico img { width: 61px; }
#service .service02_block .step_bx .parts:nth-of-type(3) .ico img { width: 42px; }
#service .service02_block .step_bx .parts:nth-of-type(4) .ico img { width: 63px; }
#service .service02_block .step_bx .parts:nth-of-type(5) .ico img { width: 60px; }

#service .service02_block .step_bx .parts .ttl {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.61;
}
#service .service02_block .step_bx .parts .right_col {
  /*width: 69.7rem;*/
  width: 59.9%;
}





/* --------------------------------
  RECRUIT 採用情報
-----------------------------------*/
.recruit_header {
  position: relative;
  padding: 0;
  max-width: initial;
  clip-path: polygon(0 0, 100% 0%, 100% 86%, 0% 100%);
  z-index: 10;
}
.recruit_header::before,
.recruit_header::after {
  content: '';
  position: absolute;
  top: 0;
  z-index: 1;
}
.recruit_header::before {
  left: -2rem;
  /*width: 51.9rem;*/
  width: 27.2%;
  height: 125.2rem;
  background: url(../../images/src/recruit/hd_img01.webp) no-repeat left top / 100%;
}
.recruit_header::after {
  right: 0;
  /*width: 96.2rem;*/
  width: 50.5%;
  height: 189.4rem;
  background: url(../../images/src/recruit/hd_img02.webp) no-repeat left top / cover;
}
.recruit_header .rec_catch {
  position: relative;
  margin: 0 auto;
  padding-top: 9.7rem;
  padding-bottom: 15.7rem;
  width: 95%;
  max-width: 106.8rem;
  z-index: 100;
}
.recruit_header .rec_catch .logo {
  margin: 0 auto;
  width: 49.9rem;
}
.recruit_header .rec_catch .tac img {
  text-align: center;
}
.recruit_header .rec_catch .catchcopy {
  margin: 5.3rem auto 7rem;
  /*width: 106.8rem;*/
  width: min(55.625vw, 106.8rem);
}
.recruit_header .rec_catch .btn {
  margin: 0 auto;
  width: 41.8rem;
}

.recruit_header .rec_catch .btn a {
  z-index: 99;
}
.recruit_header .rec_catch .btn a span {
  position: relative;
  z-index: 2;
  color: var(--orange);
}
.recruit_header .rec_catch .btn a::before {
  left: 0.2rem;
  width: 99%;
  height: 97%;
  background-color: #fff;
  clip-path: polygon(13% 0, 100% 0%, 87% 100%, 0% 100%);
}
.recruit_header .rec_catch .btn a::after {
  background-image: url(../../images/src/common/arrow_orange.svg);
  z-index: 3;
}


.recruit_header .menu {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1040px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.recruit_header .menu.is-sticky,
.menu.is-sticky {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1040px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.recruit_header .menu .rec_nav,
.menu .rec_nav {
  align-items: center;
  justify-content: center;
  background: var(--gradation-orange02);
  clip-path: polygon(2% 0%, 98% 0%, 100% 100%, 0% 100%);
  gap: 0 1.4rem;
  cursor: pointer;
  min-height: 5.5rem;
  flex-shrink: 0;
}
.recruit_header .menu .rec_nav .hamburger,
.menu .rec_nav .hamburger {
  position: relative;
  width: 22px;
  height: 12px;
}
.recruit_header .menu .rec_nav .hamburger span,
.menu .rec_nav .hamburger span {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  right: 0;
  margin: 0 auto;
  background-color: #fff;
}
.recruit_header .menu .rec_nav .hamburger span:nth-of-type(1),
.menu .rec_nav .hamburger span:nth-of-type(1) {
  top: 0;
}
.recruit_header .menu .rec_nav .hamburger span:nth-of-type(2),
.menu .rec_nav .hamburger span:nth-of-type(2) {
  top: 6px;
}
.recruit_header .menu .rec_nav .hamburger span:nth-of-type(3),
.menu .rec_nav .hamburger span:nth-of-type(3) {
  top: 12px;
}

.recruit_header .menu.active .rec_nav .hamburger span:nth-of-type(1),
.menu.active .rec_nav .hamburger span:nth-of-type(1) {
  top: 45%;
  -webkit-transform: translateY(50%) rotate(-45deg);
  transform: translateY(50%) rotate(-45deg);
}
.recruit_header .menu.active .rec_nav .hamburger span:nth-of-type(2),
.menu.active .rec_nav .hamburger span:nth-of-type(2) {
  display: none;
}
.recruit_header .menu.active .rec_nav .hamburger span:nth-of-type(3),
.menu.active .rec_nav .hamburger span:nth-of-type(3) {
  top: 45%;
  -webkit-transform: translateY(50%) rotate(45deg);
  transform: translateY(50%) rotate(45deg);

}

.recruit_header .menu .rec_nav p,
.menu .rec_nav p {
  padding: 1.4rem 0;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
}
.recruit_header .menu .rec_globalmenu,
.menu .rec_globalmenu {
  height: 0;
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  flex-shrink: 0;
}
.recruit_header .menu.active .rec_globalmenu,
.menu.active .rec_globalmenu {
  height: 305px;
  background-color: #fff;
}
.recruit_header .menu .rec_globalmenu .grid,
.menu .rec_globalmenu .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.recruit_header .menu .rec_globalmenu .grid li,
.menu .rec_globalmenu .grid li {
  display: flex;
  align-items: center;
  height: 153px;
  border-right: 0.1rem solid rgba(0, 0, 0, 0.20);
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.20);
}
.recruit_header .menu .rec_globalmenu .grid li:nth-child(3),
.recruit_header .menu .rec_globalmenu .grid li:nth-child(6),
.menu .rec_globalmenu .grid li:nth-child(3),
.menu .rec_globalmenu .grid li:nth-child(6) {
  border-right: none;
}
.recruit_header .menu .rec_globalmenu .grid li:nth-child(n+4) {
  border-bottom: none;
}
.recruit_header .menu .rec_globalmenu .grid li:nth-child(6) span,
.menu .rec_globalmenu .grid li:nth-child(6) span {
  font-size: 3.2rem;
}
.recruit_header .menu .rec_globalmenu .grid li a,
.menu .rec_globalmenu .grid li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  padding: 0 0 0 3rem;
  width: 100%;
  height: 100%;
  color: var(--orange);
  font-size: 1.6rem; 
  font-weight: 700;
  line-height: 1;
  text-align: left;
}
.recruit_header .menu .rec_globalmenu .grid li a::after,
.menu .rec_globalmenu .grid li a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3rem;
  margin: auto;
  width: 2.6rem;
  height: 1.3rem;
  background: url(../../images/src/common/arrow_orange.svg) no-repeat right center / 100%;
}
.recruit_header .menu .rec_globalmenu .grid li span,
.menu .rec_globalmenu .grid li span {
  display: block;
  margin-bottom: 1.1rem;
  color: #000;
  font-size: 4rem;
}



.recruit_header .message_block {
  position: relative;
  margin-top: -15rem;
  padding-top: 28rem;
  color: #fff;
  background: linear-gradient(101deg, #FEAE00 0.78%, #E95918 51.82%, #E95918 100%);
}

.recruit_header .message_block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40.9rem;
  background: linear-gradient(180deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%);
}
.recruit_header .message_block .message_box {
  position: relative;
  margin-left: min(15.313vw,29.4rem);
  padding-bottom: 25rem;
}

.recruit_header .message_block h2 {
  line-height: 1;
}
.recruit_header .message_block .ttl_jp {
  margin: 0.8rem 0 5.5rem;
}
.recruit_header .message_block .txt {
  margin-left: 0.8rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.3;
  letter-spacing: 0.06em;
}
.recruit_header .message_block .txt + .txt {
  margin-top: 3rem;
}
.recruit_header .message_block .txt02 {
  margin-left: 0.8rem;
  margin-top: 3.3rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.71;
  letter-spacing: 0.06em;
}


#recruit {
  position: relative;
}
#recruit::after {
  content: '';
  position: absolute;
  top: 0;
  left: 10rem;
  width: 11rem;
  height: 25.2rem;
  background: url(../../images/src/recruit/border01.svg) no-repeat right top / 100%;
  z-index: 10;
}


#recruit .top_about {
  padding: 0 0 12.6rem;
}
#recruit .top_about .about_bx {
  position: relative;
  margin-top: -19rem;
  z-index: 10;
  width: 100%;
  max-width: initial;
  justify-content: center;
  gap: 0 5rem;
}
#recruit .top_about .img {
  width: 45%;
  margin-left: min(8.073vw,15.5rem);
}
#recruit .top_about .about_bx .right_col {
  margin-top: 4rem;
  width: 42.1%;
}
#recruit .top_about .right_col h2 {
  letter-spacing: 0.06em;
}
#recruit .top_about .right_col .ttl_jp {
  margin: 0.8rem 0 4.8rem;
}
#recruit .top_about .right_col .txt {
}
#recruit .number_block {
  margin-top: 4rem;
}
#recruit .number_block .flex01,
#recruit .number_block .flex02,
#recruit .number_block .flex03 {
  padding: 3rem 0;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.20);
  justify-content: left;
}
#recruit .number_block .flex03.bd0 {
  border-bottom: 0;
}
#recruit .number_block .parts {
  padding-top: 4rem;
  padding-left: 4rem;
}
#recruit .number_block .parts .flex {
  align-items: center;
}
#recruit .number_block .parts .ttl {
  margin-bottom: 3rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.58;
}
#recruit .number_block .parts p {
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.11;
} 
#recruit .number_block .parts .num {
  margin-right: 0.3rem;
  color: var(--orange);
  font-size: 7.4rem;
  letter-spacing: -0.02em;
}
#recruit .number_block .parts .kome {
  margin-top: 3.4rem;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: right;
}
#recruit .number_block .parts .bx {
  text-align: center;
}
#recruit .number_block .no02 .ico {
  margin-right: 2rem;
}

#recruit .number_block .no02 .d_list {
  margin-left: auto;
}
#recruit .number_block .parts .d_list dl {
  gap: 0 0.9rem;
}
#recruit .number_block .parts .d_list dl + dl {
  margin-top: 2rem;
}
#recruit .number_block .parts.no04 .d_list dl + dl {
  margin-top: 3rem;
}
#recruit .number_block .parts .d_list dl dt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.11;
}
#recruit .number_block .parts .d_list dl dd {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 0.93;
}
#recruit .number_block .parts .d_list dl dd .num {
  font-size: 4.6rem;
}
#recruit .number_block .flex03 .parts {
  padding-left: 3.8rem;
  padding-right: 3.8rem;
  height: 30rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}
#recruit .number_block .flex03 .parts:nth-of-type(1),
#recruit .number_block .flex03 .parts:nth-of-type(2) {
  border-right: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#recruit .number_block .flex03 .parts {
  padding-top: 0;
}
#recruit .number_block .flex03 .ttl {
  margin-bottom: 0;
}
#recruit .number_block .flex03 .ico {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 14rem;
}


#recruit .number_block .no01 {
  margin-right: 0.7rem;
  padding-right: 4.2rem;
  /*width: 36.2rem;*/
  width: 30.5%;
  border-right: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#recruit .number_block .no02 {
  /*width: 75.6rem;*/
  width: 66%;
}
#recruit .number_block .no03 {
  padding-top: 0;
  margin-right: 4.7rem;
  padding-right: 2.5rem;
  /*width: 72.3rem;*/
  width: 58.25%;
  border-right: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#recruit .number_block .no03 .ico {
  width: 65%;
}
#recruit .number_block .no04 {
  padding: 0;
  /*width: 36.1rem;*/
  width: 35.05%;
}
#recruit .number_block .no03 .ttl {
  margin-bottom: -1rem;
}
#recruit .number_block .no04 .ttl {
  margin-bottom: 2rem;
}
#recruit .number_block .no04 .d_list dl dt {
  font-size: 2rem;
  line-height: 1.25;
}
#recruit .number_block .no04 .d_list dl dd {
  font-size: 2.8rem;
  text-align: right;
}
#recruit .number_block .no04 .d_list dl dd .num {
  font-size: 4.6rem;
  letter-spacing: -0.02em;
}
#recruit .number_block .no04 .d_list dl dd .normal {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.11;
}
#recruit .number_block .parts.no05 .d_list dl dd .num {
  font-size: 6.6rem;
}
#recruit .number_block .parts.no07 {
  display: flex !important;
  padding: 0 3.8rem;
  justify-content: flex-start;
  gap: 3rem 0;
}
#recruit .number_block .no07 .no07_01,
#recruit .number_block .no07 .no07_02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#recruit .number_block .no07 .no07_01 {
  padding: 0 3.5rem 2.4rem 0.7rem;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#recruit .number_block .no07 .no07_01 .bx {
  text-align: left;
}
#recruit .number_block .no07 .no07_01 .num {
  font-size: 4.2rem;
  font-weight: 900;
}

#recruit .number_block .no07 .no07_01 .ico {
  height: 9.5rem;
}
#recruit .number_block .no07 .no07_02 {
  padding-top: 0;
}
#recruit .number_block .no07 .no07_02 .ttl {
  white-space: nowrap;
  margin-bottom: 3rem;
}
#recruit .number_block .no07 .no07_02 .ico {
  height: 11.5rem;
}
#recruit .number_block .flex03 .no08,
#recruit .number_block .flex03 .no09,
#recruit .number_block .flex03 .no10 {
  height: 43.6rem;
  justify-content: left;
}
#recruit .number_block .flex03 .no08 .ttl,
#recruit .number_block .flex03 .no09 .ttl,
#recruit .number_block .flex03 .no10 .ttl {
  margin-bottom: 2.5rem;
}
#recruit .number_block .flex03 .no08 .ico,
#recruit .number_block .flex03 .no09 .ico,
#recruit .number_block .flex03 .no10 .ico {
  height: 12.5rem;
}
#recruit .number_block .flex03 .no08 .d_list,
#recruit .number_block .flex03 .no09 .d_list,
#recruit .number_block .flex03 .no10 .d_list {
  margin-top: 2rem;
}
#recruit .number_block .flex03 .parts .d_list dl {
  align-items: baseline;
}
#recruit .number_block .flex03 .parts .d_list dl dt {
  font-size: 2.4rem;
}
#recruit .number_block .flex03 .no08 dl dd .num,
#recruit .number_block .flex03 .no09 dl dd .num,
#recruit .number_block .flex03 .no10 dl dd .num {
  margin: 0 0.7rem 0 0.4rem;
  font-size: 4.6rem;
}
#recruit .number_block .flex03 .parts .d_list dl + dl {
  margin-top: 2rem;
}

#recruit .number_block .flex03 .no08 .kome,
#recruit .number_block .flex03 .no10 .kome {
  margin-top: auto;
  margin-bottom: 1.3rem;
}
#recruit .number_block .tar {
  margin-top: 2rem;
  font-size: 1.6rem;
  font-weight: 500;
}




#recruit .works {
  padding: 9rem 0 0;
  background-color: var(--gray);
}
#recruit .works h2 {
  margin-bottom: 0.3rem;
  line-height: 1;
}
#recruit .works .ttl_bx .txt {
  margin-top: 4rem;
  line-height: 2.11;
  text-align: center;
}
#recruit .works .works_block {
  margin-top: 7.5rem;
  padding-bottom: 9rem;
  position: relative;
  overflow: hidden;
}
#recruit .works .works_block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 43%;
  transform: translateX(-50%);
  width: 3034px;
  height: 100%;
  background-color: #fff;
  clip-path: polygon(32% 0%, 100% 0%, 65% 100%, 0% 100%);
}

#recruit .works .works_block .parts {
  position: relative;
  padding-top: 8.4rem;
  align-items: center;
  z-index: 20;
}

#recruit .works .works_block .parts.works01::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12.5rem;
  width: 14.7rem;
  height: 36rem;
  background: url(../../images/src/recruit/works_border01.svg) no-repeat left top / 100%;
}
#recruit .works .works_block .parts.works03::before {
  display: none;
}
#recruit .works .works_block .parts.works02::before {
  content: '';
  position: absolute;
  right: 0;
  top: 18.5rem;
  width: 15.9rem;
  height: 36rem;
  background: url(../../images/src/recruit/works_border02.svg) no-repeat left top / 100%;
}
#recruit .works .works_block .parts .left_col,
#recruit .works .works_block .parts .img {
  flex: 1;
}
#recruit .works .works_block .parts .left_col {
  display: flex;
  justify-content: end;
}
#recruit .works .works_block .works02 .left_col {
  display: flex;
  justify-content: start;
}
#recruit .works .works_block .parts .left_col .z_bx {
  display: flex;
  flex-direction: column;
  width: 60rem;
  padding-right: 6.9rem;
}
#recruit .works .works_block .works02 .left_col .z_bx {
  padding-left: 6.9rem;
  padding-right: 0;
}
#recruit .works .works_block .parts .left_col .ttl_en {
  margin-bottom: 1rem;
  color: var(--orange);
  font-size: 6.6rem;
  line-height: 1;
  opacity: .28;
  mix-blend-mode: multiply;
}
#recruit .works .works_block .parts.works02 .left_col .ttl_en  {
  color: var(--green);
}
#recruit .works .works_block .parts .left_col .flex {
  margin-bottom: 2.5rem;
  justify-content: left;
  align-items: end;
  gap: 0 2.3rem;
}
#recruit .works .works_block .parts .left_col .flex h3 {
  font-size: 5.8rem;
  font-weight: 700;
  line-height: 1;
}
#recruit .works .works_block .parts .left_col .flex .ttl_sub_en {
  color: var(--orange);
  font-size: 2rem;
  line-height: 1.3;
}
#recruit .works .works_block .parts.works02 .left_col .flex .ttl_sub_en {
  color: var(--green);
}
#recruit .works .works_block .parts .left_col .txt {
  margin-bottom: 0.8rem;
  line-height: 2.11;
}
#recruit .works .works_block .parts .left_col .list {
  margin-top: 6rem;
  padding: 3rem 3.8rem;
  background-color: #FFF3EE;
}
#recruit .works .works_block .parts.works02 .left_col .list {
  background-color: #EEFAEF;
}
#recruit .works .works_block .parts .left_col .list .ttl {
  position: relative;
  margin-bottom: 2rem;
  padding-left: 3.3rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
#recruit .works .works_block .parts .left_col .list .ttl::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 2.2rem;
  height: 2.8rem;
  background: url(../../images/src/recruit/map_ico.svg) no-repeat left center / 100%;
}
#recruit .works .works_block .parts.works02 .left_col .list .ttl::before {
  background-image: url(../../images/src/recruit/map_ico_green.svg);
}
#recruit .works .works_block .parts .left_col .list ul {
  margin-left: 1.6rem;
}
#recruit .works .works_block .parts .left_col .list li {
  position: relative;
  padding-left: 1.7rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
}
#recruit .works .works_block .parts .left_col .list .flex {
  justify-content: left;
  margin-bottom: 1.8rem;
  width: 70%;
  gap: 1.5rem 0;
}
#recruit .works .works_block .parts .left_col .list .flex li {
  width: 34%;
}
#recruit .works .works_block .parts .left_col .list li::before {
   content: '';
   position: absolute;
   top: 0.7rem;
   left: 0;
   width: 0.8rem;
   height: 0.8rem;
   border-radius: 50%;
   background-color: var(--orange);
}
#recruit .works .works_block .parts.works02 .left_col .list li::before {
  background-color: var(--green);
}

#recruit .works .works_block .parts .left_col .list .kome {
  margin-left: 1.6rem;
  padding-left: 1.6rem;
  font-size: 1.6rem;
  font-weight: 400;
  text-indent: -1.6rem;
}
#recruit .member {
  padding-top: 13.9rem;
  padding-bottom: 9rem;
  overflow-x: hidden;
  background-color: var(--gray);
}
#recruit .member .ttl_bx {
  position: relative;
  z-index: 10;
}
#recruit .member .ttl_bx h2 {
  line-height: 1;
}
#recruit .member .member-swiper {
  margin-top: -5rem;
  overflow: visible;
}
#recruit .member .swiper-slide{
  max-width: 1200px;
  width: 100%;
}
#recruit .member .member_slider .parts {
  flex-wrap: nowrap;
  align-items: center;
}
#recruit .member .member_slider .parts .img {
  padding-left: 4rem;
  position: relative;
  width: 53.5%;
}
#recruit .member .member_slider .parts .img::before {
  content: '';
  position: absolute;
  top: -8.2rem; 
  left: 0;
  width: 61.7rem;
  height: 46.3rem;
  background-color: #fff;
  clip-path: polygon(34% 0%, 100% 0%, 65% 100%, 0% 100%);
  z-index: -1;
}
#recruit .member .member_slider .parts .img img {
  /*width: 64.2rem;*/
}
#recruit .member .member_slider .parts .right_col {
  margin-left: -12.8rem;
  width: 54.3rem;
}
#recruit .member .member_slider .parts .right_col .textarea .ttl {
  margin-bottom: 2.2rem;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.5;
}
#recruit .member .member_slider dl {
  margin: 3.4rem auto 0;
  max-width: 1040px;
  width: 100%;
  height: 21rem;
  padding: 1.5rem 4rem 1.5rem 0.4rem;
  background-color: #fff;
  align-items: center;
}
#recruit .member .member_slider dl dt {
  padding-left: 4rem;
  font-size: 1.8rem;
  font-weight: 700;
}
#recruit .member .member_slider dl dt .name {
  display: block;
  font-size: 3rem;
  font-weight: 700;
}
#recruit .member .member_slider dl dd {
  position: relative;
  padding-left: 3.7rem;
  width: 76rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.75;
}
#recruit .member .member_slider dl dd::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3rem;
  height: 13.8rem;
  background-color: rgba(0, 0, 0, 0.16);
}
#recruit .member .scrollbar-bx {
  position: relative;
  margin: 2.8rem auto 0;
  width: 100%;
  max-width: 763px;
  height: 60px;
}
#recruit .member .scrollbar-bx .swiper-scrollbar {
  top: 70%;
  left: 50%;
  width: 530px;
  height: 6px;
  transform: translate(-50%,-50%);
  background-color: #fff;
}
#recruit .member .scrollbar-bx .swiper-scrollbar-drag {
  background-color: var(--green);
}
#recruit .member .scrollbar-bx .swiper-button-prev,
#recruit .member .scrollbar-bx .swiper-button-next {
  width: 10.6rem;
  height: 6rem;
}
#recruit .member .scrollbar-bx .swiper-button-prev:after,
#recruit .member .scrollbar-bx .swiper-button-next:after {
  content: '';
  width: 100%;
  height: 100%;

}
#recruit .member .scrollbar-bx .swiper-button-prev:after {
  background: url(../../images/src/recruit/member_left.svg) no-repeat left top / 100%;
}
#recruit .member .scrollbar-bx .swiper-button-next:after {
  background: url(../../images/src/recruit/member_right.svg) no-repeat left top / 100%;
}

#recruit .member .member_more {
  margin-top: 10.3rem;
}
#recruit .member .member_more .ttl {
  margin-bottom: 1.8rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 2.64;
  text-align: center;
}

#recruit .culture {
  margin: 12rem auto 10rem;
}
#recruit .culture h2 {
  line-height: 1;
}
#recruit .culture .left_col {
  width: 29.5rem;
}
#recruit .culture .left_col .sticky {
  position: sticky;
  top: 0;
}
#recruit .culture .right_col {
  /*width: 83.5rem;*/
  width: 69.5%;
}
#recruit .culture .right_col .parts {
  padding: 3rem 0;
  align-items: center;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#recruit .culture .right_col .parts:last-of-type {
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#recruit .culture .right_col .parts .text_bx {
  /*width: 47.6rem;*/
  width: 57.1%;
}
#recruit .culture .right_col .parts .text_bx .ttl {
  margin-bottom: 1.2rem;
  font-size: 2.8rem;
  font-weight: 700;
}
#recruit .culture .right_col .parts .text_bx .ttl .num {
  margin-right: 0.9rem;
  font-size: 3rem;
}
#recruit .culture .right_col .parts .text_bx .txt {
  margin-left: 5.5rem;
  font-weight: 400;
}
#recruit .culture .right_col .parts .img {
  /*width: 31.8rem;*/
  width: 38.1%;
}
#recruit .faq {
  padding: 10rem 0 11rem;
  background-color: var(--gray);
}
#recruit .faq h2 {
  line-height: 1;
}
#recruit .faq .acd {
  margin-top: 5rem;
}
#recruit .faq dl {
  cursor: pointer;
}
#recruit .faq dl + dl {
  margin-top: 3rem;
}
#recruit .faq dl dt,
#recruit .faq dl dd {
  position: relative;
  padding: 3rem 10rem 3.4rem 11.8rem;
}
#recruit .faq dl dt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.9;
  background-color: #fff;
}
#recruit .faq dl dt::before,
#recruit .faq dl dd::before {
  content: '';
  position: absolute;
  top: 3rem;
  left: 2rem;
  width: 7.9rem;
  height: 4rem;
}
#recruit .faq dl dt::before {
  background: url(../../images/src/recruit/faq_q.svg) no-repeat left top / 100%;
}
#recruit .faq dl dd::before {
  background: url(../../images/src/recruit/faq_a.svg) no-repeat left top / 100%;
}
#recruit .faq dl dt::after {
  content: '';
  position: absolute;
  top: 3.9rem;
  right: 3rem;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../../images/src/recruit/plus.svg) no-repeat right top / 100%;
}
#recruit .faq dl.active dt::after {
  background-image: url(../../images/src/recruit/minus.svg);
}
#recruit .faq dl dd {
  display: none;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.11;
}
#recruit .job {
  padding: 8rem 0 10.4rem;
  color: #fff;
  background: var(--gradation-orange);
}
#recruit .job .left_col {
  display: flex;
  flex-direction: column;
  /*width: 50.5rem;*/
  width: 42%;
}
#recruit .job .left_col .btn {
  margin-top: auto;
  width: 41.8rem;
}
#recruit .job .btn a {
  color: var(--orange);
  background-color: #fff;
}
#recruit .job .btn a::after {
  background-image: url(../../images/src/common/arrow_orange.svg);
}
#recruit .job .left_col h2 {
  font-size: 6.4rem;
  line-height: 1.2;
}
#recruit .job .right_col {
  /*width: 64rem;*/
  width: 53.3%;
}
#recruit .job .right_col .txt {
  font-size: 2rem;
  line-height: 2;
}
#recruit .job .right_col .txt + .txt {
  margin-top: 3rem;
}
#recruit .ctbnr {
  margin: 7rem;
  justify-content: center;
  gap: 0 8rem;
  color: #fff;
}
#recruit .ctbnr .com,
#recruit .ctbnr .ct {
  flex: 1;
}
#recruit .ctbnr .com {
  transition-delay: .4s;
}
#recruit .ctbnr .ct {
  transition-delay: .7s;
}
#recruit .ctbnr .com a,
#recruit .ctbnr .ct a {
  display: block;
  padding: 3.7rem 0 5.5rem;
  width: 100%;
}
#recruit .ctbnr .com a {
  background: url(../../images/src/recruit/company_bg01.webp) no-repeat center top / cover;
}
#recruit .ctbnr .ct a {
  background: var(--gradation-green);
}
#recruit .ctbnr h2 {
  margin-bottom: 1rem;
  line-height: 1;
}
#recruit .ctbnr .txt {
  margin-top: 2.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}




















/* --------------------------------
  NEWS お知らせ
-----------------------------------*/
#news {
  background: url(../../images/src/news/bg.svg) no-repeat center top;
}
#news .category {
  margin-bottom: 8rem;
}
#news .category ul {
  justify-content: center;
  gap: 0 1.3rem;
}
#news .category ul li {
  width: 29rem;
}
#news .category ul li a {
  display: block;
  padding: 2rem 0;
  width: 100%;
  color: var(--green);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  text-align: center;
  border: 2px solid var(--green);
  background-color: #fff;
}
#news .category ul li.current a,
#news .category ul li.current-cat a {
  color: #fff;
  background-color: var(--green);
}
#news .news_list {
  padding-bottom: 10rem;
}
#news .news_list .parts + .parts {
  margin-top: 3rem;
}
#news .news_list .parts a {
  position: relative;
  width: 100%;
  border: 1px solid var(--gray-bdr);
  background-color: #fff;
  justify-content: left;
  align-items: center;
  gap: 0 3.6rem;
}
#news .news_list .parts a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom:0;
  right: 4rem;
  margin: auto;
  width: 2.6rem;
  height: 1.2rem;
  background: url(../../images/src/common/arrow_green.svg) no-repeat right center / 100%;
  transition: .7s;
}
#news .news_list .parts a .img {
  border-right: 1px solid var(--gray-bdr);
  /*width: 28rem;*/
  width: 23.37%;
}
#news .news_list .parts a .img img {
  height: 187px;
}
#news .news_list .parts a .box {
  width: 76.4rem;
}

#news .news_list .parts a .cate {
  margin-bottom: 1.2rem;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
#news .news_list .parts a .cate span {
  display: inline-block;
  margin-right: 2.2rem;
  width: 13.6rem;
  color: var(--green);
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  border: 2px solid var(--green);
}

#news .news_list .parts a .ttl {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.72;
  letter-spacing: 0.02em;
}

#news .news_title {
  position: relative;
  margin-bottom: 6rem;
  padding: 4.6rem 0 3.7rem;
  color: #fff;
  background-color: var(--green);
}

#news .news_title::before,
#news .news_title::after {
  content: '';
  position: absolute;
}
#news .news_title::before {
  left: 0;
  bottom: 9rem;
  width: 7.9rem;
  height: 17.2rem;
  background: url(../../images/src/common/border02.svg) no-repeat left bottom / 100%;
}
#news .news_title::after {
  right: 9.9rem;
  top: 9rem;
  width: 19.5rem;
  height: 36rem;
  background: url(../../images/src/about/border01.svg) no-repeat right bottom / 100%;
}
#news .news_title .cate {
  margin-bottom: 1rem;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
#news .news_title .cate span {
  margin-right: 2.2rem;
  padding: 0.2rem 2.8rem;
  border: 2px solid #fff;
  font-weight: 700;
  line-height: 1;
}
#news .news_title h2 {
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.58;
  letter-spacing: 0.02em;
}

#news .eyecatch {
  margin-bottom: 3rem;
}






/* --------------------------------
  Contact お問い合わせ
-----------------------------------*/
#contact .sec01 {
  position: relative;
  margin-bottom: 10rem;
  padding: 6.5rem 0;
  color: #fff;
  background: var(--gradation-green);
}
#contact .sec01::before,
#contact .sec01::after {
  content: '';
  position: absolute;
  background: no-repeat left top / 100%;
}
#contact .sec01::before {
  left: 0;
  top: -8.1rem;
  width: 7.9rem;
  height: 17.2rem;
  background-image: url(../../images/src/contact/border01.svg);
}
#contact .sec01::after {
  right: 13.9rem;
  bottom: -8.3rem;
  width: 10.5rem;
  height: 17.2rem;
  background-image: url(../../images/src/contact/border02.svg);
}
#contact .sec01 .inner_1000 {
  justify-content: center;
  align-items: center;
}
#contact .sec01 .phone_ttl {
  padding-right: 13rem;
}
#contact .sec01 .phone_ttl .f_viga {
  font-size: 6.6rem;
  line-height: 1
}
#contact .sec01 .phone_ttl .txt {
  font-weight: 700;
}
#contact .sec01 .phone_body {
   padding-left: 18rem;
   font-weight: 700;
   text-align: center;
   border-left: 1px solid var(--green-bdr);
}
#contact .sec01 .phone_body .ttl {
  font-size: 2.8rem;
}
#contact .sec01 .phone_body .tel a {
  position: relative;
  padding-left: 5rem;
  font-size: 6rem;
}
#contact .sec01 .phone_body .tel a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 3.1rem;
  height: 3.1rem;
  background: url(../../images/src/common/ico_tel.svg) no-repeat left center / 100%;
}
#contact .sec01 .phone_body .txt {
  font-size: 2rem;
}
#contact .sec02 {
  margin-bottom: 15rem;
}
#contact .sec02 .hisu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  background-color: var(--orange);
}
#contact .sec02 .kome {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 3.19;
}
#contact .sec02 .kome .hisu {
  display: inline;
  padding: 0 0.3rem 0.2rem;
}
#contact .sec02 table {
  margin-bottom: 5rem;
  width: 100%;
}
#contact .sec02 table tr {
  border-top: 1px solid rgba(0, 0, 0, 0.20);
  border-bottom: 1px solid rgba(0, 0, 0, 0.20);
}
#contact .sec02 table th,
#contact .sec02 table td {
  padding: 2.6rem 0;
}
#contact .sec02 table th {
  padding-left: 4rem;
}
#contact .sec02 table th::after {
  display: none;
}
#contact .sec02 table td {
  padding-left: 5.3rem;
  padding-right: 4rem;
  width: 90.5rem;
  box-sizing: border-box;
}
#contact .sec02 table td input[type="text"] {
  padding: 0 3rem;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 2.84;
  border: none;
  background-color: #fff;
}
#contact .sec02 table td textarea {
  padding: 0 3rem;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 2.84;
  width: 100%;
  border: none;
  background-color: #fff;
  resize: vertical;
}
#contact .sec02 table td .privacy {
  padding: 2.2rem 4rem 1.2rem;
  width: 100%;
  height: 29rem;
  border: 1px solid var(--gray03);
  background-color: #fff;
  overflow-y: scroll;
}
#contact .sec02 table td .privacy p,
#contact .sec02 table td .privacy dd {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.87;
  letter-spacing: 0.04em;
}
#contact .sec02 table td .privacy .ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.55;
}

#contact .sec02 table td .privacy dl {
  margin-top: 2rem;
}
#contact .sec02 table td .privacy dl dt {
  font-weight: 700;
}
#contact .sec02 table td .check {
  margin-top: 2rem;
}
#contact .sec02 table td .check p {
  margin-left: 1em; 
  text-indent: -1em;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 3.19;
  letter-spacing: 0.02em;
}
.checkblock input[type="checkbox"] {
  display: none;
}
.checkblock label {
  position: relative;
  padding-left: 4.2rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  }
  /* ===== 外枠 ===== */
.checkblock label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--border02-color);
  background-color: #fff;
  transform: translateY(-50%);
  box-sizing: border-box;
  border: 2px solid var(--orange);
}
/* ===== チェックボックス ===== */
.checkblock input[type="checkbox"] + label::before {
  
}

.checkblock input[type="checkbox"] + label::after {
  content: "";
  position: absolute;
  left: 0.8rem;
  top: 50%;
  width: 1.5rem;
  height: 0.8rem;
  border-left: 3px solid var(--orange);
  border-bottom: 3px solid var(--orange);
  transform: translateY(-60%) rotate(-45deg) scale(0);
  transition: 0.2s ease;
}

.checkblock input[type="checkbox"]:checked + label::after {
  transform: translateY(-60%) rotate(-45deg) scale(1);
}


#contact .sec02 .input_btn_list {
  margin-bottom: 3rem;
  justify-content: center;
}
#contact .sec02 .input_btn_list p {
  position: relative;
  width: 41.8rem;
}
#contact .sec02 .input_btn_list input {
  display: block;
  width: 100%;
  padding: 2.4rem 0 2.9rem 7.9rem;
  color: #fff;
  font-size: 2rem;  
  font-weight: 700;
  text-align: left;
  letter-spacing: 0.02em;
  border: none;
  clip-path: polygon(13% 0, 100% 0%, 87% 100%, 0% 100%);
  background-color: var(--orange);
  cursor: pointer;
}
#contact .sec02 .input_btn_list p::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 14%;
  margin: auto;
  width: 1.9rem;
  height: 1rem;
  background: url(../../images/src/common/arrow_white.svg) no-repeat right center / 100%;
  transition: right .7s;
}

#contact .sec02 .input_btn_list .ct_back input {
  padding-left: 15.8rem;
  background-color: var(--gray04);
}
#contact .sec02 .input_btn_list .ct_back::after {
  right: auto;
  left: 14%;
  transform: rotate(180deg);
}



/* -- 送信完了 -- */
#contact .complete_block {
  margin-bottom: 12rem;
  text-align: center;
}
#contact .complete_block h2 {
  margin-bottom: 3.9rem;
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
#contact .complete_block .txt {
  margin-bottom: 5rem;
  font-size: 2rem;
  line-height: 2.2;
}
#contact .complete_block .btn {
  margin: 0 auto;
  width: 41.8rem;
}
#contact .complete_block .btn a {
  padding-left: 0;
  text-align: center;
  background-color: var(--green);
}
#contact .complete_block .btn a::after {
  left: 7rem;
  right: auto;
  transform: rotate(180deg);
}







@media screen and (max-width: 1600px) {
  .hero .intro .text_bx::after {
    right: -7rem;
  }
}

@media screen and (max-width: 1300px) {
  #news .news_title::after {
    right:0;
  }
}

@media screen and (max-width: 1280px) {
  .hero .hero__inner {
    padding-bottom: 4%;
  }
  .hero .intro {
    padding-bottom: 27.8rem;
  }
  .hero .intro .text_bx::after {
    right: -25rem;
  }
  .hero .intro .ttl {
    font-size: min(4.594vw,6.9rem);
  }
  .hero .intro .gradient {
    font-size: min(6.781vw,11.1rem);
  }
  .hero .intro .ttl.s02 .ls {
    font-size: min(7.25vw,12rem);
  }
  .hero .intro::after {
    right: 0;
  }
  .lowerpage::before {
    right: min(32.813vw,42rem);
  }
  .top_news .left_col .btn {
    margin-left: 0;
  }
  #service .service02_block .box_s02 {
    align-items: center;
  }
  #service .service02_block .box_s02 .img img {
    height: auto;
  }
  #service .service02_block .box_s02 .right_col {
    width: 46%;
  }
  #service #service01 .left_col,
  #service #service02 .left_col {
    width: 77rem;
  }
  #recruit .works .works_block::before {
    width: 2644px;
  }
  #recruit .works .works_block .parts.works01::before,
  #recruit .works .works_block .parts.works02::before {
    display: none;
  }
  #news .news_title::after {
    right: 0;
    width: min(10.156vw,19.5rem);
  }
  .recruit_header::after {
    width: 56.5%;
    height: 168.4rem;
    background-image: url(../../images/src/recruit/hd_img02_tab.webp);
  }
  .recruit_header .rec_catch {
    padding-top: 6rem;
  }
  .recruit_header .rec_catch::before {
    content: '';
    position: absolute;
    right: 16rem;
    top: 0;
    width: 8.8rem;
    height: 15.9rem;
    background: url(../../images/src/recruit/border02.svg) no-repeat right top / 100%;
  }
  .recruit_header .rec_catch .logo {
    width: 40rem;
  }
  .recruit_header .message_block::after {
    content: '';
    position: absolute;
    right: 23%;
    top: -6%;
    width: 7.9rem;
    height: 21.9rem;
    background: url(../../images/src/recruit/border03.svg) no-repeat right bottom / 100%;
  }
  .recruit_header .message_block {
    padding-top: 10rem;
  }
  .recruit_header .message_block .message_box {
    margin-left: 7rem;
  }
  #recruit::after {
    left: 0;
  }
  #recruit .top_about .about_bx {
    margin-top: -14rem;
  }
  .recruit_header .message_block .message_box {
    padding-bottom: 19rem;
  }



}

@media screen and (max-width: 1180px) {
  header .site_logo {
    width: 25%;
  }
  .parallax_content_tab {
    position: relative;
  }
  .parallax_content.img_bg_01 {
    clip-path: inset(0);
    background: none;
  }
  .parallax_content_tab .parallax_content .img01 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-size: cover;
    background-position: center;
    z-index: -1;
    background-image: url(../../images/src/about/motto_plla.png);
  }
  .recruit_header::before {
    left: -5rem;
  }
  .recruit_header::after {
    width: 56.5%;
    height: 168.4rem;
    background-image: url(../../images/src/recruit/hd_img02_tab.webp);
  }
  .recruit_header .rec_catch {
    padding-top: 6rem;
  }
  .recruit_header .rec_catch::before {
  }
  .recruit_header .rec_catch .logo {
    width: 40rem;
  }
  .recruit_header .message_block {
    padding-top: 10rem;
  }
  .recruit_header .message_block .message_box {
    margin-left: 7rem;
  }
  #recruit::after {
    left: 0;
  }
  #recruit .works .works_block .parts .left_col .list {
    margin-top: 4rem;
  }
}

@media screen and (max-width: 1100px) {
  #main .title_block {
    padding-left: 7rem;
  }
  #news .news_title::after {
    display: none;
  }
}

@media screen and (max-width: 990px) {
  #recruit .number_block .no01 {
    width: 35%;
  }
  #recruit .number_block .no02 {
    width: 60%;
  }
}
@media screen and (max-width: 841px) {
  #recruit .top_about .about_bx {
    margin-top: -15rem;
  }
  #recruit .top_about .img {
    width: 45%;
    margin-left: 4rem;
  }
  #about #access .right_col th {
    width: 34%;
  }
  .parallax_content_tab .parallax_content {
    background-size: 100%;
  }
  #service .sec01 .txt {
    line-height: 1.8;
  }
}

@media screen and (max-width: 828px) {
  .pc { display: none !important; }
  .sp { display: block !important; }
  .pci { display: none !important; }
  .spi { display: inline !important; }
  .lowerpage::before {
    top: 13.527vw;
    right: 0;
    width: 20.894vw;
    height: 43.478vw;
    background-image: url(../../images/src/common/sp/border01.svg);
  }
  .lowerpage::after {
    content: '';
    position: absolute;
    top: 0;
    right: 22.222vw;
    width: 22.464vw;
    height: 26.087vw;
    background: url(../../images/src/common/sp/border02.svg) no-repeat right top / 100%;
  }
  header {
    padding-top: 4.348vw;
    margin: 0 1.932vw 0 2.657vw;
    width: auto;
    max-width: initial;
  }
  header .header__inner {
    padding: 0 1.696vw 0 7.367vw;
    height: 12.44vw;
    clip-path: polygon(7% 0, 100% 0%, 94% 100%, 0% 100%);
    box-shadow: 0 0 2.174vw rgba(0, 0, 0, 0.12);
  }
  header .site_logo {
    width: 49.155vw;
  }
  .hamburger {
    position: absolute;
    top: 5.556vw;
    right: 2vw;
    width: 16.546vw;
    height: 10.266vw;
    background-color: var(--green);
    clip-path: polygon(28% 0, 100% 0%, 72% 100%, 0% 100%);
    z-index: 9999;
  }
  .hamburger span {
    display: block;
    position: absolute;
    width: 4.831vw;
    height: 0.483vw;
    left: 0;
    right: 0;
    margin: auto;
    background-color: #fff;
    transition: .8s;
  }
  .hamburger span:nth-of-type(1) {
    top: 3.623vw;
  }
  .hamburger span:nth-of-type(2) {
    top: 5.153vw;
  }
  .hamburger span:nth-of-type(3) {
    top: 6.643vw;
  }
  .hamburger.active {
    background-color: #fff;
  }
  .hamburger.active span {
    background-color: var(--green);
  }
  .hamburger.active span:nth-of-type(1) {
    top: 45%;
    -webkit-transform: translateY(50%) rotate(-45deg);
    transform: translateY(50%) rotate(-45deg);
  }
  .hamburger.active span:nth-of-type(2) {
    display: none;
  }
  .hamburger.active span:nth-of-type(3) {
    top: 45%;
    -webkit-transform: translateY(50%) rotate(45deg);
    transform: translateY(50%) rotate(45deg);
  }
  .globalMenuSp {
    position: absolute;
    top: 0;
    right: -1.932vw;
    padding: 23.068vw 7.246vw 10.87vw;
    height: 100vh;
    width: 68.841vw;
    background-color: var(--green);
    transform: translateX(100%);
    transition: transform .4s ease;
    z-index: 9998;
  }
  .globalMenuSp.active {
    transform: translateX(0);
  }
  .globalMenuSp li a {
    display: block;
    position: relative;
    padding: 6.039vw 0 6.039vw 3.865vw;
    width: 100%;
    color: #fff;
    font-size: 4.589vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    border-top: 0.242vw solid rgba(255,255,255,.5);
  }
  .globalMenuSp li a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 1.208vw;
    height: 2.415vw;
    background: url(../../images/src/common/arrow_white02.svg) no-repeat left center / 100%;
  }
  .globalMenuSp li:last-of-type a {
    border-bottom: 0.242vw solid rgba(255,255,255,.5);
  }
  
  
  
  .cta {
    padding: 9.662vw 3.623vw;
  }
  .cta .cta__inner {
    margin: 0 auto;
    padding: 12.077vw 6.039vw 10.145vw;
    width: 100%;
    max-width: initial;
  }
  .cta .cta__inner .left_col {
    padding-bottom: 6.522vw;
    width: 100%;
    border-right: none;
    border-bottom: 0.242vw solid var(--green-bdr);
  }
  .cta .cta__inner h2 {
    font-size: 14.493vw;
    line-height: 1;
    text-align: center;
  }
  .cta .cta__inner .left_col .ttl {
    margin-bottom: 4.831vw;
    font-size: 4.348vw;
    text-align: center;
  }
  .cta .cta__inner .left_col .txt {
    font-size: 4.106vw;
    line-height: 1.76;
    text-align: center;
  }
  .cta .cta__inner .right_col {
    margin: 6.763vw 0 0 0;
    width: 100%;
  }
  .cta .cta__inner .right_col .btn {
    margin-bottom: 6.522vw;
  }
  .cta .cta__inner .right_col .btn a {
    padding-left: 17.874vw;
  }
  .cta .cta__inner .right_col .btn a::before {
    left: 10.507vw;
    width: 4.831vw;
    height: 3.865vw;
  }
  .cta .cta__inner .right_col .fs22 {
    font-size: 4.348vw;
  }
  .cta .cta__inner .right_col .tel {
    margin: 1vw 0;
    padding-left: 8.333vw;
    font-size: 9.662vw;
    line-height: 1;
  }
  .cta .cta__inner .right_col .tel::before {
    left: 1.932vw;
    width: 6.401vw;
    height: 6.401vw;
  }
  
  footer {
    background-image: url(../../images/src/common/sp/ft_bg.webp);
  }
  .footer__inner {
    padding: 12.077vw 7.246vw 7.246vw;
  }
  .footer__inner .logo {
    width: 71.618vw;
    margin-bottom: 4.71vw;
  }
  .footer__inner .txt {
    margin-bottom: 6.039vw;
    font-size: 3.623vw;
    line-height: 1.6;
  }
  .footer__inner ul {
    margin-bottom: 6.039vw;
    width: 100%;
    gap: 0;
  }
  .footer__inner ul li {
    width: 50%;
  }
  .footer__inner ul li a {
    display: block;
    padding: 6.643vw 0 6.643vw 3.623vw;
    width: 100%;
    border-top: 0.121vw solid rgba(255,255,255,.5);
    font-size: 3.623vw;
    line-height: 1.06;
  }
  .footer__inner ul li:nth-of-type(even) a {
    padding-left: 7.246vw;
    border-left: 0.121vw solid rgba(255,255,255,.5);
  }
  .footer__inner ul li a::before {
    width: 1.57vw;
    height: 2.778vw;
  }
  .footer__inner ul li:nth-of-type(even) a::before {
    left: 3.623vw;
  }
  .footer__inner ul li:nth-of-type(5) a,
  .footer__inner ul li:nth-of-type(6) a {
    border-bottom: 0.121vw solid rgba(255,255,255,.5);
  }   
  #copyright {
    margin-top: 0;
    font-size: 2.899vw;
    line-height: 1.33;
    text-align: left;
  }
  
  /* ----------------
  TOP page
-------------------*/

  .video_mv {
    width: 100%;
    height: 100dvh;
  }
  .video_mv video {
    top: 0;
    left: 0;
    transform: scale(1);
    height: 100dvh;
    min-height: 100dvh;
  }
  .hero {
    background: url(../../images/src/top/sp/mv_bg.webp) no-repeat top 33vw center / 100%;
  }
  .hero .hero__inner {
    padding: 0 4.831vw 10.116vw 2.295vw;
    align-items: end;
    height: 100dvh;
  }
  .hero .intro {
    margin: 100vh auto 0;
    padding: 8.5vw 3.623vw 51.546vw;
    width: auto;
    max-width: initial;
    background-color: var(--bg-color);
  }
  .hero .intro::before {
    display: none;
  }
  .hero .intro::after {
    top: 4.952vw;
    right: -9.903vw;
    width: 70.048vw;
    height: 57.971vw;
  }
  .hero .intro .text_bx::after {
    right: 2vw;
    top: auto;
    bottom: -23vw;
    width: 75.969vw;
    height: 28.125vw;
    background-image: url(../../images/src/top/sp/border01.svg);
  }

  .hero .intro .ttl {
    font-size: 7.005vw;
    letter-spacing: -0.06em;
    line-height: 1.1;
  }
  .hero .intro .ttl .fs {
    font-size: 4.71vw;
    letter-spacing: 0;
  }
  .hero .intro .ttl_en {
    margin-left: 0;
    margin-top: 2.415vw;
    font-size: 2.899vw;
  }
  .hero .intro .ttl.s02 .ls {
    letter-spacing: -0.16em;
  }

  .hero .intro .gradient {
    font-size: 11.232vw;
  }
  .hero .intro .ttl.s02 .ls {
    font-size: 11.232vw;
  }
  .hero .intro .text_bx {
    margin: 4.831vw 0 0 0;
  }
  .hero .intro .txt {
    font-size: 4.106vw;
    line-height: 1.82;
  }
  .hero .intro .txt + .txt {
    margin-top: 4.831vw;
  }

  .top_recruit01 {
    margin-top: -37%;
    overflow: hidden;
  }
  .top_recruit01 .orange_bx {
    margin-top: -9.541vw;
    padding: 8.092vw 0 9.662vw;
  }
  .top_recruit01 .orange_bx .bx {
    display: block;
  }
  .top_recruit01 .orange_bx .bx h2 {
    font-size: 27.295vw;
    top: 0;
    left: 0;
  }
  .top_recruit01 .orange_bx .ttl {
    margin: 0 0 5.797vw 4.589vw;
    padding-top: 7.971vw;
    font-size: 7.005vw;
    line-height: 1.41;
  }
  .top_recruit01 .orange_bx .btn {
    margin: 0 auto;
    width: 87.077vw;
  }

  .top_about {
    padding: 12.077vw 2.415vw 10.87vw 3.623vw;
  }
  .top_about .img {
    order: 2;
    width: 100%;
  }
  .top_about .right_col {
    order: 1;
    width: 100%;
  }
  .top_about .right_col h2 {
    font-size: 14.493vw;
  }
  .top_about .right_col .ttl_jp {
    margin-bottom: 3.744vw;
  }
  .top_about .right_col .ttl {
    margin-left: 0;
    margin-bottom: 3.14vw;
    font-size: 5.797vw;
    line-height: 1.73;
  }
  .top_about .right_col .ttl span {
    font-size: 7.246vw;
  }
  .top_about .right_col .ttl span .kagi {
    margin-left: -5vw;
  }
  .top_about .right_col .ttl span .kagi2 {
    margin-right: -5vw;
  }

  .top_about .right_col .txt {
    line-height: 1.81;
  }
  .top_about .right_col .txt + .txt {
    margin-top: 4vw;
  }

  .top_service {
    padding: 12.077vw 0;
  }
  .top_service .service_bx {
    padding-bottom: 0;
    background: url(../../images/src/top/sp/service_bg.webp) no-repeat right 7.314vw / 100%;
  }
  .top_service .service_bx .ttl_blc {
    display: block;
    margin-bottom: 9.903vw;
    padding: 0 3.623vw;
    width: auto;
  }
  .top_service .service_bx .ttl_bx h2 {
    margin-top: -5.314vw;
    font-size: 14.493vw;
  }
  .top_service .service_bx .ttl_blc .btn {
    margin: 6.159vw auto 0;
    width: 87.077vw;
  }
  .top_service .service_bx .service01 {
    margin-bottom: 6.039vw;
    display: block;
  }
  .top_service .service_bx .service02 {
    flex-wrap: wrap;
  }
  .top_service .service_bx .left_col {
    margin: 0;
    padding: 0 3.623vw;
    width: auto;
  }
  .top_service .service_bx .left_col::before {
    right: 0;
    top: 0;
    width: 19.928vw;
    height: 39.493vw;
    background: url(../../images/src/top/sp/service01_bg01.svg) no-repeat left top / 100%;
  }
  .top_service .service_bx .left_col::after {
    display: none;
  }
  .top_service .service_bx .left_col .z_bx {
    position: relative;
    z-index: 1;
  }
  .top_service .service_bx .left_col .ttl_en {
    margin-bottom: 0;
    font-size: 14.976vw;
    line-height: 1;
  }
  .top_service .service_bx .left_col .ttl_sub_en {
    margin-bottom: 4.831vw;
    font-size: 3.865vw;
  }
  .top_service .service_bx .left_col h3 {
    font-size: 10.145vw;
  }
  .top_service .service_bx .left_col .txt {
    margin-bottom: 6.039vw;
    font-size: 3.865vw;
    line-height: 1.81;
  }
  .top_service .service_bx .left_col .btn {
    margin: 0 auto 6.039vw;
    width: 87.077vw;
  }
  .top_service .service_bx .img {
    width: 107%;
    margin-left: -6.039vw;
  }
  .top_service .service_bx .img img {
    height: auto;
    clip-path: polygon(32rem 0, 100% 0%, 100% 100%, 0% 100%);
  }

  .top_service .service_bx .service02 .left_col {
    order: 1;
    left: 0;
    margin: 0;
    width: 100%;
  }
  .top_service .service_bx .service02 .left_col .ttl_en {
    color: var(--green);
    opacity: 0.28;
  }
  .top_service .service_bx .service02 .img {
    position: relative;
    order: 2;
    margin: 0 -6.039vw 0 0;
  }
  .top_service .service_bx .service02 .img img {
    object-position: right;
    clip-path: polygon(0% 0, 100% 0%, calc(100% - 35rem) 100%, 0% 100%);
  }
  .top_service .service_bx .service02 .left_col::before {
    right: 0;
    top: 0;
    width: 19.928vw;
    height: 40.821vw;
    background: url(../../images/src/top/sp/service02_bg01.svg) no-repeat left top / 100%;
  }
  .top_service .service_bx .service02 .left_col::after {
    display: none;
  }
  .top_service .service_bx .service02 .img::after {
    content: '';
    position: absolute;
    right: 9.367vw;
    bottom: -4vw;
    width: 11.232vw;
    height: 20.773vw;
    background: url(../../images/src/top/service02_bg02.svg) no-repeat left top / 100%;
  }

  .movie_area button {
    border-width: 0.121vw;
    width: 35.749vw;
    height: 35.749vw;
  }
  .movie_area span.f_viga {
    margin-bottom: 0.966vw;
    font-size: 4.831vw;
    
  }

  .top_company {
    padding: 12.077vw 0;
  }
  .top_company .bg {
    width: 45%;
    clip-path: polygon(294% 0, 100% 0, 100% 100%, 0% 100%);
  }
  .top_company .ttl_bx {
    width: auto;
    max-width: initial;
    padding-left: 3.603vw;
  }
  .top_company h2 {
    font-size: 14.493vw;
    
  }
  .top_company .company_bx {
    margin-top: 6.039vw;
    display: block;
  }

  .top_company .company_bx .parts a {
    padding: 3.623vw;
    gap: 0 5.314vw;
    border-top-width: 0.121vw;
  }
  .top_company .company_bx .parts:last-of-type a {
    border-bottom-width: 0.121vw;
  }
  .top_company .company_bx .parts a::after {
    right: 7.246vw;
    width: 5.435vw;
    height: 2.415vw;
  }

  .top_company .company_bx .parts a .img {
    width: 33.092vw;
  }
  .top_company .company_bx .parts a .f_viga {
    margin-bottom: 2.053vw;
    font-size: 3.623vw;
    
  }
  .top_company .company_bx .parts a .ttl {
    font-size: 5.314vw;
    line-height: 0.72;
  }
  .top_company .right_col {
    display: none;
  }

  .top_social {
    padding: 13.285vw 3.623vw 12.077vw;
  }
  .top_social .bg {
    width: 106%;
    clip-path: none;
    background: url(../../images/src/top/sp/social_bg.svg) no-repeat left top / 100%;
  }
  .top_social .bg::after {
    content: '';
    position: absolute;
    left: 0;
    top: 25%;
    width: 100%;
    height: 100%;
    background-color: #F5F5F5;
  }
  .top_social .social_block {
    width: 100%;
    max-width: initial;
    padding: 9.662vw 4.831vw;
    border-width: 0.242vw;
    box-shadow: 0 0 6.522vw rgba(20, 141, 28, 0.40);
  }
  .top_social .social_block h2 {
    font-size: 3.865vw;
  }
  .top_social .social_block .ttl_jp {
    margin: 0 0 3.623vw;
    font-size: 7.246vw;
  }
  .top_social .social_block .txt {
    margin-bottom: 6.039vw;
    font-size: 3.865vw;
    line-height: 1.81;
    text-align: left;
  }

  .top_social .social_block .social01 {
    margin-bottom: 6.039vw;
    padding-bottom: 7.246vw;
    border-bottom-width: 0.121vw;
  }
  .top_social .social_block .flex > .img {
    order: 2;
    width: 100%;
  }
  .top_social .social_block .flex .text_area {
    margin-bottom: 3.382vw;
    order: 1;
    width: 100%;
  }
  .top_social .social_block .flex .text_area .ttl {
    margin-bottom: 2.053vw;
    padding-left: 16.425vw;
    font-size: 4.831vw;
    line-height: 1.49;
  }
  .top_social .social_block .flex .text_area .ttl::before {
    width: 13.647vw;
  }
  .top_social .social_block .social01.flex .text_area .ttl::before {
    height: 12.198vw;
  }
  .top_social .social_block .social02.flex .text_area .ttl::before {
    width: 13.527vw;
    height: 9.783vw;
  }
  .top_social .social_block .flex .text_area .txt {
    font-size: 3.623vw;
    line-height: 1.8;
  }
  .top_social .social_block .flex .text_area ul {
    margin-top: 1.208vw;
  }
  .top_social .social_block .flex .text_area ul li {
    padding-left: 3.14vw;
    font-size: 3.382vw;
  }
  .top_social .social_block .flex .text_area ul li::before {
    width: 1.812vw;
    height: 1.812vw;
  }
  .top_social .social_block .flex .text_area > .img {
    margin-top: 4.227vw;
  }


  .top_social .ticker-container {
    margin-top: -2.415vw;
  }
  .top_social .ticker-item {
    font-size: 19.203vw;
    padding: 0 3.623vw; /* テキスト間のスペース */
  }
    
  .top_news {
    margin: 12.681vw auto 0;
    padding-bottom: 0;
    width: auto;
    max-width: initial;
  }
  .top_news .left_col {
    margin-bottom: 4.831vw;
    width: 100%;
    display: block;
  }
  .top_news .btn {
    margin: 7.246vw auto 0;
    width: 87.077vw;
  }
  .top_news .btn a {
    padding: 4.469vw 0 5.193vw 0;
    text-align: center;
  }
  .top_news h2 {
    font-size: 14.493vw;
  }
  .top_news .right_col {
  width: 100%;
  }
  .top_news .right_col .parts + .parts {
    margin-top: 3.623vw;
  }
  .top_news .right_col a {
    padding: 4.831vw 3.623vw 6.039vw 3.623vw;
    border-width: 0.121vw;
    gap: 1.812vw 0;
  }
  .top_news .right_col a::after {
    right: 3.623vw;
    width: 5.193vw;
    height: 2.415vw;
  }
  .top_news .right_col a .cate {
    margin-right: 2.415vw;
    padding: 0 2.415vw;
    min-width: 18.599vw;
    font-size: 3.382vw;
    border-width: 0.362vw;
  }
  .top_news .right_col a .date {
    margin-right: 5rem;
    font-size: 3.382vw;
  }
  .top_news .right_col a .ttl {
    width: 80%;
    font-size: 3.865vw;
    line-height: 1.43;
  }

  .top_recruit {
    padding: 12.077vw 0 13.043vw;
  }
  .top_recruit::before {
    display: none;
  }
  .top_recruit .recruit_block {
    padding: 0 3.623vw 9.662vw;
    width: auto;
    max-width: initial;
  }
  .top_recruit .recruit_block h2 {
    font-size: 14.493vw;
  }
  .top_recruit .recruit_block .ttl {
    margin: 6.039vw 0 3.623vw;
    font-size: 7.005vw;
    line-height: 1.41;
    white-space: nowrap;
  }
  .top_recruit .recruit_block .btn {
    margin: 7.246vw auto 0;
    width: 87.077vw;
  }

/* --------------------------------
  ABOUT 東海重工について
-----------------------------------*/

  #about .category {
    padding: 3.623vw;
  }
  #about .category::before {
    display: none;
  }
  #about .category ul {
    justify-content: left;
    gap: 3.14vw;
  }
  #about .category ul li {
    flex: none;
    width: 28.744vw;
  }
  #about .category ul li a {
    padding: 2.295vw 0 3.019vw 3.623vw;
    font-size: 3.865vw;
  }
  #about .category ul li a::after {
    right: 3.623vw;
    width: 2.415vw;
    height: 1.087vw;
  }

  #about #greeting {
    margin-top: -17vw; 
    padding: 23.531vw 2.657vw 0 3.623vw;
  }
  #about #greeting::before {
    display: none;
  }
  #about #greeting .ttlbx {
    margin-bottom: 4rem;
  }
  #about #greeting .left_col {
    width: 100%;
  }
  #about #greeting .left_col .txt {
    line-height: 1.81;
  }
  #about #greeting .left_col .t_ceo {
    margin-top: 6.039vw;
    line-height: 1.18;
    text-align: right;
  }
  #about #greeting .left_col .t_ceo .name {
    font-size: 5.072vw;
  }
  #about #greeting .img {
    margin: 9.662vw auto 0;
    width: 68.841vw;
    text-align: center;
  }

  #about .over {
    overflow: hidden;
  }
  #about #motto {
    margin-top: -17vw; 
    padding: 30.531vw 3.623vw 14.493vw;
    gap: 0;
  }
  #about #motto::before {
    top: -7.758vw;
    left: 0;
    width: 100%;
    clip-path: none;
    background: url(../../images/src/about/sp/motto_bg_w.webp) no-repeat left top;
    background-size: auto 100%;
  }

  #about #motto::after {
    left: 0;
    top: auto;
    bottom: 48vw;
    width: 10.749vw;
    height: 43.478vw;
    background-image: url(../../images/src/about/sp/border02.svg);
  }


  .parallax_content_tab {
    margin: -9vw 0 0;
    position: relative;
  }
  .parallax_content.img_bg_01 {
    min-height: 70.29vw;
    background-image: url(../../images/src/about/sp/motto_plla.webp);
  }

  #about #motto .img {
    order: 2; 
    width: 100%;
  }
  #about #motto .right_col {
    position: relative;
    order: 1;
    width: 100%;
  }
  #about #motto .right_col::before {
    content: '';
    position: absolute;
    right: 9.077vw;
    top: -6vw;
    width: 22.464vw;
    height: 43.478vw;
    background: url(../../images/src/about/sp/border03.svg) no-repeat right top / 100%;
  }
  
  #about #motto .right_col h2 {
    line-height: 1;
  }
  #about #motto .right_col .ttl {
    margin-bottom: 4.589vw;
    font-size: 5.797vw;
    line-height: 1.78;
  }
  
  #about #motto .right_col .txt {
    font-size: 3.865vw;
    line-height: 1.81;
  }
  #about #motto .right_col .txt .st {
    font-size: 4.831vw;
  }
  
  #about #motto .right_col .ttl .marker {
    font-size: 7.246vw;
  }
  #about #motto .right_col .ttl .marker .kagi {
    margin-left: -4vw;
    font-style: normal;
  }
  #about #motto .right_col .ttl .marker .kagi2 {
    margin-right: -3vw;
    font-style: normal;
  }

  #about #overview,
  #about #history ,
  #about #access {
    margin-top: -17vw; 
    padding-top: 23.531vw;
  }

  #about #overview::after {
    display: none;
  }
  #about #overview {
    padding-left: 3.623vw;
    padding-right: 3.623vw;
    padding-bottom: 14.493vw;
  }
  #about #overview table {
    margin: 0 auto;
    width: 100%;
  }
  #about #overview table dl {
    justify-content: left;
    gap: 0 2rem;
  }

  #about #overview table dl + dl {
    margin-top: 3rem;
  }

  #about #overview table dl dt {
    font-weight: 700;
  }
  #about .sec04 {
    margin-top: 18vw;
    padding-left: 3.623vw;
    padding-right: 3.623vw;
    padding-bottom: 0;
    background-image: url(../../images/src/about/sp/history_bg.webp);
  }
  #about .sec04::after {
    display: none;
  }
  #about #history {
    padding: 14.493vw 0;
  }
  #about .sec04 #history .ttlbx {
    margin-bottom: 6.039vw;
  }
  #about #history .history_block::before {
    left: 4.831vw;
    top: 0.604vw;
    width: 0.242vw;
    height: 96%;
  }
  #about #history .history_block dl {
    margin-bottom: 7.246vw;
  }
  #about #history .history_block dl dt {
    margin-bottom: 3.623vw;
    padding: 1.812vw 5.831vw;
    font-size: 6.28vw;
  }
  #about #history .history_block dl dd {
    padding-left: 10.87vw;
    font-size: 4.106vw;
    line-height: 1.64;
  }

  #about #access {
    margin-bottom: 7.246vw;
    padding-top: 22vw;
    padding-left: 3.623vw;
    padding-right: 3.623vw;
  }
  #about #access .img {
    width: 100%;
  }
  #about #access .right_col {
    margin-top: 7.246vw;
    width: 100%;
  }
  #about #access .right_col .ttl {
    margin-bottom: 6.039vw;
    font-size: 5.556vw;
    line-height: 0.95;
  }
  #about #access .right_col table {
    width: 100%;
  }
  #about #access .right_col th,
  #about #access .right_col td {
    padding: 0 0 5.314vw;
    text-align: left;
  }
  #about #access .right_col th {
    padding: 5.314vw 0 2.174vw;
    width: 100%;
  }
  #about #access .right_col th .flex {
    gap: 0 1.449vw;
  }
  #about #access .right_col th .flex i {
    width: 3.382vw;
  }
  #about #access .right_col td {
    padding-left: 3.382vw;
    line-height: 1.53;
  }
  #about #access iframe {
    height: 49.517vw;
  }



  /* --------------------------------
    SERIVCE 事業内容
  -----------------------------------*/

  #service .sec01 {
    margin-top: 7.971vw;
    margin-bottom: 16.304vw;
    padding: 0 3.623vw;
  }
  #service .sec01::before {
    display: none;
  }
  #service .sec01 .txt {
    margin-bottom: 6.039vw;
    font-size: 3.865vw;
    line-height: 2;
  }
  #service .sec01 .txt span {
    font-size: 5.314vw;
  }
  #service .sec01 ul {
    max-width: initial;
  }
  #service .sec01 ul li {
    flex: 1;
  }
  #service .sec01 ul li a {
    padding: 4.348vw 0 12.56vw;
    font-size: 4.348vw;
    text-align: center;
    clip-path: polygon(15% 0, 100% 0%, 85% 100%, 0% 100%);
  }
  #service .sec01 ul li a::after {
    width: 2.415vw;
    height: 5.435vw;
    left: 0;
    right: 0;
    top: auto;
    bottom: 4.589vw;
  }
  
  #service .sec02 {
    position: relative;
    overflow: visible;
  }
  #service .service01 {
    margin-bottom: 6.039vw;
    display: block;
    overflow: hidden;
  }
  #service .service01::before {
    top: 8.145vw;
    left: 0;
    width: 100%;
    height: 167.874vw;
    background: url(../../images/src/service/sp/sec02_bg01.webp) no-repeat left top / 100%;
    z-index: -1;
  }
  #service #service02::before {
    top: 8.145vw;
    height: 143.357vw;
    background: url(../../images/src/service/sp/sec02_bg02.webp) no-repeat left top / 100%;
    z-index: -1;
  }
  
  #service .service02 {
    display: block;
  }
  #service #service01 .left_col,
  #service #service02 .left_col {
    margin: 0;
    padding: 0 3.623vw;
    width: auto;
  }
  
  #service .sec02::before,
  #service .sec02::after {
    content: '';
    position: absolute;
    right: 0;
    top: -9vw;
    width: 19.928vw;
    height: 39.493vw;
    background: url(../../images/src/top/sp/service01_bg01.svg) no-repeat left top / 100%;
  }
  #service .sec02::after {
    top: auto;
    bottom: 38.5%;
  }
  #service #service01 .left_col::after,
  #service #service02 .left_col::after {
    left: 0;
    bottom: -62vw;
    width: 10.87vw;
    height: 43.478vw;
    background: url(../../images/src/service/sp/border01.svg) no-repeat left top / 100%;
  }
  #service #service01 .left_col .ttl_en,
  #service #service02 .left_col .ttl_en {
    margin-bottom: 0;
    font-size: 14.976vw;
    line-height: 1;
  }
  #service #service01 .left_col .ttl_sub_en,
  #service #service02 .left_col .ttl_sub_en {
    margin-bottom: 4.831vw;
    font-size: 3.865vw;
  }
  #service #service01 .left_col h2,
  #service #service02 .left_col h2 {
    font-size: 10.145vw;
  }
  #service #service01 .left_col .txt,
  #service #service02 .left_col .txt {
    margin-bottom: 6.039vw;
    font-size: 3.865vw;
    line-height: 1.81;
  }
  #service #service01 .img,
  #service #service02 .img {
    width: 107%;
    margin-left: -6.039vw;
  }
  #service #service01 .img img,
  #service #service02 .img img  {
    height: auto;
    clip-path: polygon(30% 0, 100% 0%, 100% 100%, 0% 100%);
  }
  #service .sec02 h2 {
    font-size: 7.246vw;
  }
  #service .sec02 .ttl_sub_en {
    margin-bottom: 7.246vw;
    font-size: 3.623vw;
  }
  #service .sec02 .service01_block {
    margin: 19.082vw 3.623vw 0;
    max-width: initial;
    width: auto;
  }
  #service .sec02 .service01_block .img {
    order: 2;
    width: 100%;
  }
  #service .sec02 .service01_block .box {
    margin-bottom: 12.44vw;
    gap: 6.763vw 0;
  }
  #service .sec02 .service01_block .right_col {
    order: 1;
    width: 100%;
  }
  #service .sec02 .service01_block .right_col h3 {
    margin-bottom: 3.019vw;
    padding: 0 6.039vw 0.725vw;
    font-size: 5.314vw;
    clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
  }
  #service .sec02 .service01_block .right_col .txt {
    line-height: 1.86;
  }
  #service .sec02 .service01_block .right_col .txt + .txt {
    margin-top: 3.623vw;
  }

  #service .sec02 .service01_block .parts + .parts {
    margin-top: 10.386vw;
  }
  #service .sec02 .service01_block .parts .ttl_bx {
    justify-content: left;
    height: auto;
    padding-bottom: 3.623vw;
  }
  #service .sec02 .service01_block .parts .ttl_bx .num {
    margin-right: 8.696vw;
    font-size: 5.314vw;
  }
  #service .sec02 .service01_block .parts .ttl_bx .num::before {
    top: -3.986vw;
    left: -3.623vw;
    width: 18.116vw;
    height: 36.232vw;
    aspect-ratio: initial;
    clip-path: none;
    background: url(../../images/src/service/sp/num_bg.svg) no-repeat left top / 100%;
  }
  #service .sec02 .service01_block .parts .ttl_bx .ttl {
    margin: 0 0 2.053vw;
    font-size: 5.556vw;
    line-height: 1.3;
  }
  #service .sec02 .service01_block .parts .ttl_bx .sub {
    margin-left: 7.072vw;
    width: 100%;
    font-size: 3.865vw;
    line-height: 1.68;
  }
  #service .sec02 .service01_block .parts ul {
    gap: 1.932vw 0;
  }
  #service .sec02 .service01_block .parts ul li {
    flex: none;
    width: 100%;
  }

  #service .sec02 .service01_block .parts .white_bx {
    margin-top: 4.831vw;
    padding: 2.536vw 7.246vw 3.261vw 3.623vw;
    text-align: left;
  }
  #service #service02 {
    margin-top: 14.614vw;
  }
  #service .service02_block {
    position: relative;
    margin: 17.15vw 3.623vw 12.077vw;
  }
  #service .service02_block .box_s02 {
    margin: 0 0 13.768vw;
    width: auto;
    max-width: initial;
    gap: 0 9.662vw;
  }
  #service .service02_block .box_s02 .img {
    order: 2;
    width: 100%;
  }
  #service .service02_block .box_s02 .right_col {
    margin-bottom: 6.763vw;
    order: 1;
    width: 100%;
  }
  #service .service02_block .box_s02 .right_col .ttl {
    margin-bottom: 3.019vw;
    padding: 0.072vw 6.763vw 0.725vw 7.126vw;
    font-size: 5.314vw;
  }
  #service .service02_block .box_s02 .right_col .txt {
    line-height: 1.86;
  }
  #service .service02_block .box_s02 .right_col .txt + .txt {
    margin-top: 3.623vw;
  }
  #service .service02_block .business_bx {
    margin-top: 7.246vw;
    gap: 6.039vw 0;
  }
  #service .service02_block .business_bx .parts {
    flex: none;
    width: 100%;
  }
  #service .service02_block .business_bx .parts .txtbx {
    padding: 2.295vw 3.623vw 2.536vw;
    font-size: 4.831vw;
    line-height: 0.85;
  }
  #service .service02_block .business_bx .parts .txtbx .num {
    margin-right: 2.415vw;
    font-size: 5.314vw;
  }
  #service .service02_block .business_bx .parts .txtbx .fs18 {
    font-size: 3.623vw;
  }
  #service .service02_block .info_disc {
    margin: 8.454vw auto 12.077vw;
    padding: 6.039vw 3.623vw;
    border-width: 0.121vw;
  }
  #service .service02_block .info_disc .left_col {
    width: 100%;
  }
  #service .service02_block .info_disc .left_col p {
    margin-bottom: 3.623vw;
    font-size: 4.589vw;
    text-align: left;
  }
  #service .service02_block .info_disc .left_col p span {
    font-size: 5.556vw;
  }
  #service .service02_block .info_disc .right_col {
    padding: 4.106vw 0 0;
    width: 100%;
    border-left: none;
    border-top: 0.121vw solid rgba(0, 0, 0, 0.20);
  }
  #service .service02_block .info_disc .right_col .ttl {
    margin-bottom: 2.415vw;
    font-size: 4.348vw;
    line-height: 1.55;
  }
  #service .service02_block .info_disc .right_col .txt {
    line-height: 1.62;
  }
  #service .service02_block .info_disc .right_col .kome {
    margin: 1.208vw 0 4.348vw 3.623vw;
    text-indent: -3.623vw;
    font-size: 3.623vw;
  }
  #service .service02_block .info_disc .right_col .btn {
    width: 48.792vw;
  }
  #service .service02_block .info_disc .right_col .btn a {
    border-width: 0.242vw;
    padding: 2.899vw 3.623vw 3.744vw;
    font-size: 3.623vw;
  }
  #service .service02_block .step_bx {
    margin: 6.039vw auto 0;
  }
  #service .service02_block .step_bx .parts {
    position: relative;
    padding: 6.039vw 4.831vw;
    box-shadow: 0 0 1.932vw 0 rgba(20, 141, 28, 0.31);
  }
  #service .service02_block .step_bx .parts::after {
    bottom: -7.729vw;
    width: 9.662vw;
    height: 4.71vw;
  }
  #service .service02_block .step_bx .parts + .parts {
    margin-top: 10.024vw;
  }
  #service .service02_block .step_bx .parts .ttl_bx {
    margin-bottom: 0.966vw;
    width: 100%;
    justify-content: left;
    gap: 0 4.227vw;
  }
  #service .service02_block .step_bx .parts .num {
    width: 9.42vw;
    font-size: 3.623vw;
  }
  #service .service02_block .step_bx .parts .num span {
    font-size: 6.763vw;
  }
  #service .service02_block .step_bx .parts .ico {margin: 0; width: 10.266vw;}
  #service .service02_block .step_bx .parts .ico img { margin: 0 auto; }
  #service .service02_block .step_bx .parts:nth-of-type(1) .ico img { width: 8.696vw; }
  #service .service02_block .step_bx .parts:nth-of-type(2) .ico img { width: 9.903vw; }
  #service .service02_block .step_bx .parts:nth-of-type(3) .ico img { width: 6.643vw; }
  #service .service02_block .step_bx .parts:nth-of-type(4) .ico img { width: 10.266vw; }
  #service .service02_block .step_bx .parts:nth-of-type(5) .ico img { width: 10.266vw; }

  #service .service02_block .step_bx .parts .ttl {
    font-size: 4.831vw;
    line-height: 1.05;
  }
  #service .service02_block .step_bx .parts .right_col {
    width: 100%;
  }


  /* ----------------
    NEWS お知らせ
  -------------------*/
  #news {
    background: none;
  }
  #news .category {
    margin: 0 3.623vw 8.454vw;
  }
  #news .category ul {
    justify-content: center;
    gap: 3.623vw 3.382vw;
  }
  #news .category ul li {
    width: 44.686vw;
  }
  #news .category ul li a {
    padding: 2.415vw 0;
    font-size: 3.865vw;
    border-width: 0.242vw;
  }
  #news .news_list {
    margin: 0 3.623vw;
    padding-bottom: 14.493vw;
  }
  #news .news_list .parts + .parts {
    margin-top: 3.623vw;
  }
  #news .news_list .parts a {
    position: relative;
    padding: 4.831vw 3.623vw;
    gap: 0 3.6rem;
  }
  #news .news_list .parts a::after {
    right: 3.623vw;
    width: 5.193vw;
    height: 2.415vw;
  }
  #news .news_list .parts a .img {
    margin-bottom: 2.415vw;
    display: flex;
    align-items: center;
    justify-content: left;
    width: 100%;
    gap: 0 3.623vw;
    border: none;
  }
  #news .news_list .parts a .imgsp {
    width: 48.068vw;
  }
  #news .news_list .parts a .img img {
    border: 1px solid var(--gray-bdr);
    height: 32.126vw;
  }
  #news .news_list .parts a .box {
    width: 100%;
  }

  #news .news_list .parts a .cate {
    margin-bottom: 0;
    font-size: 3.382vw;
  }
  #news .news_list .parts a .cate span {
    display: block;
    margin-right: 0;
    margin-bottom: 0.966vw;
    width: 18.599vw;
    font-size: 3.382vw;
    border: 2px solid var(--green);
  }

  #news .news_list .parts a .ttl {
    font-size: 3.865vw;
    line-height: 1.43;
  }


  #news .news_title {
    margin-bottom: 7.246vw;
    padding: 6.039vw 3.623vw;
  }
  #news .news_title::before,
  #news .news_title::after {
    display:none;
  }
  #news .news_title .cate {
    margin-bottom: 3.019vw;
    font-size: 3.382vw;
  }
  #news .news_title .cate span {
    margin-right: 3.623vw;
    padding: 0.121vw 2.295vw;
    border-width: 0.362vw;
  }
  #news .news_title h2 {
    font-size: 5.556vw;
    line-height: 1.43;
  }

  #news .eyecatch {
    margin: 0 3.623vw 4.831vw;
  }


  /* --------------------------------
    Contact お問い合わせ
  -----------------------------------*/

  #contact .sec01 {
    margin-bottom: 10.87vw;
    padding: 12.077vw 0;
  }
  
  #contact .sec01::before,
  #contact .sec01::after {
    display: none;
  }
  #contact .sec01 .inner_1000 {
    justify-content: center;
    align-items: center;
  }
  #contact .sec01 .phone_ttl {
    width: 100%;
    padding: 0 0 6.039vw;
    text-align: center;
  }
  #contact .sec01 .phone_ttl .f_viga {
    margin-bottom: 2.415vw;
    font-size: 14.493vw;
  }
  #contact .sec01 .phone_ttl .txt {
    font-size: 4.589vw;
  }
  #contact .sec01 .phone_body {
     padding-left: 0;
     border-left: none;
  }
  #contact .sec01 .phone_body .ttl {
    font-size: 5.072vw;
  }
  #contact .sec01 .phone_body .tel a {
    padding-left: 8.333vw;
    font-size: 11.353vw;
  }
  #contact .sec01 .phone_body .tel a::before {
    width: 7.126vw;
    height: 7.126vw;
  }
  #contact .sec01 .phone_body .txt {
    font-size: 3.865vw;
  }
  #contact .sec02 {
    margin: 0 3.623vw 12.077vw;
  }
  #contact .sec02 .hisu {
    width: 7.367vw;
    font-size: 2.899vw;
  }
  #contact .sec02 .kome {
    margin-bottom: 4.831vw;
    font-size: 3.382vw;
    line-height: 1.82;
    padding: 0.845vw;
  }
  #contact .sec02 .kome .hisu {
    padding: 0 0.845vw;
  }
  #contact .sec02 table {
    margin-bottom: 8.454vw;
  }
  #contact .sec02 table th,
  #contact .sec02 table td {
    display: block;
    width: 100%;
    padding: 0;
  }
  #contact .sec02 table th {
    padding: 3.382vw 0 2.174vw;
  }
  #contact .sec02 table th .flex {
    justify-content: left;
    gap: 0 1.812vw;
  }
  #contact .sec02 table th p {
    font-size: 3.623vw;
  }
  #contact .sec02 table td {
    padding: 0 0 4.831vw;
    width: 100%;
  }
  #contact .sec02 table td input[type="text"] {
    padding: 2.295vw 3.623vw;
    font-size: 3.623vw;
    line-height: 1.7;
  }
  #contact .sec02 table td textarea {
    padding: 2.295vw 3.623vw;
    font-size: 3.623vw;
    line-height: 1.7;
  }
  #contact .sec02 table td .privacy {
    padding: 3.623vw;
    width: 100%;
    height: 67.391vw;
  }
  #contact .sec02 table td .privacy p,
  #contact .sec02 table td .privacy dd {
    font-size: 3.623vw;
    line-height: 1.53;
  }
  #contact .sec02 table td .privacy .ttl {
    font-size: 4.106vw;
    line-height: 2.15;
  }
  
  #contact .sec02 table td .privacy dl {
    margin-top: 2.415vw;
  }
  #contact .sec02 table td .privacy dl dt {
    font-size: 3.865vw;
  }
  #contact .sec02 table td .check {
    margin-top: 4.589vw;
  }
  #contact .sec02 table td .check p {
    margin-top: 1.2vw;
    margin-left: 3.382vw; 
    text-indent: -3.382vw;
    font-size: 3.382vw;
    line-height: 1.57;
  }
  .checkblock label {
    padding-left: 7.85vw;
    font-size: 3.623vw;
    }
    /* ===== 外枠 ===== */
    .checkblock label::before {
      width: 5.797vw;
      height: 5.797vw;
    }
    /* ===== チェックボックス ===== */
  
  .checkblock input[type="checkbox"] + label::after {
    left: 1.2vw;
    width: 3.23vw;
    height: 1.8vw;
  }
  
  #contact .sec02 .input_btn_list {
    margin-bottom: 3.623vw;
    gap: 3.623vw 0;
  }
  #contact .sec02 .input_btn_list p {
    width: 87.077vw;
  }
  #contact .sec02 .input_btn_list input {
    padding: 4.348vw 0;
    font-size: 4.348vw; 
    text-align: center;
    clip-path: polygon(13% 0, 100% 0%, 87% 100%, 0% 100%);
  }
  #contact .sec02 .input_btn_list p::after { 
    right: 12.077vw;
    width: 5.435vw;
    height: 2.415vw;
  }

  /* -- 送信完了 -- */
  #contact .complete_block {
    margin-bottom: 14.493vw;
  }
  #contact .complete_block h2 {
    margin-bottom: 4.831vw;
    font-size: 6.522vw;
    line-height: 1.37;
  }
  #contact .complete_block .txt {
    margin-bottom: 6.039vw;
    font-size: 3.865vw;
    line-height: 1.75;
  }
  #contact .complete_block .btn {
    width: 86.957vw;
  }
  #contact .complete_block .btn a::after {
    left: 8.454vw;
    right: auto;
    transform: rotate(180deg);
  }

  #contact .sec02 .input_btn_list .ct_back input {
    padding-left: 0;
  }
  #contact .sec02 .input_btn_list .ct_back::after {
    left: 12.077vw;
  }


/* --------------------------------
  RECRUIT 採用情報
-----------------------------------*/
.recruit_header {
  position: relative;
  padding: 0;
  margin: 0;
  max-width: initial;
  clip-path: polygon(0 0, 100% 0%, 100% 98%, 0% 100%);
  z-index: 10;
}
.recruit_header::before,
.recruit_header::after {
  display: none;
}
.recruit_header .rec_catch {
  position: relative;
  margin: 0 auto;
  padding-top: 51.449vw;
  padding-bottom: 65.338vw;
  width: auto;
  max-width: initial;
  background: url(../../images/src/recruit/sp/rec_hd_bg.webp) no-repeat center top / 100%;
}
.recruit_header .rec_catch .logo {
  margin: 0 auto;
  width: 58.575vw;
}
.recruit_header .rec_catch .tac img {
  text-align: center;
}
.recruit_header .rec_catch .catchcopy {
  margin: 3.623vw 2.415vw 9.662vw 3.019vw;
  width: 93.739vw;
}
.recruit_header .rec_catch .btn {
  margin: 0 auto;
  width: 79.469vw;
}
.recruit_header .rec_catch .btn a {
  clip-path: polygon(13% 0, 100% 0%, 86.5% 100%, 0% 100%);
}
.recruit_header .rec_catch .btn a span {
  position: relative;
  z-index: 2;
  color: var(--orange);
}
.recruit_header .rec_catch .btn a::before {
  left: 0.242vw;
}


.recruit_header .menu {
  width: 100%;
  max-width: initial;
}

.recruit_header .menu.is-sticky,
.menu.is-sticky {
  width: 100%;
}
.recruit_header .menu .rec_nav,
.menu .rec_nav {
  margin: 0 auto;
  width: 40vw;
  gap: 0 1.691vw;
  min-height: 9.179vw;
}
.recruit_header .menu .rec_nav .hamburger,
.menu .rec_nav .hamburger {
  top: 0;
  width: 4.348vw;
  height: 2.415vw;
  background-color: transparent;
  clip-path:none;
}
.recruit_header .menu .rec_nav .hamburger span,
.menu .rec_nav .hamburger span {
  height: 0.329vw;
}
.recruit_header .menu .rec_nav .hamburger span:nth-of-type(1),
.menu .rec_nav .hamburger span:nth-of-type(1) {
  top: 0;
}
.recruit_header .menu .rec_nav .hamburger span:nth-of-type(2),
.menu .rec_nav .hamburger span:nth-of-type(2) {
  top: 0.725vw;
}
.recruit_header .menu .rec_nav .hamburger span:nth-of-type(3),
.menu .rec_nav .hamburger span:nth-of-type(3) {
  top: 1.449vw;
}

.recruit_header .menu .rec_nav p,
.menu .rec_nav p {
  padding: 1.691vw 0 1.932vw;
  font-size: 4.106vw;
}
.recruit_header .menu.active .rec_globalmenu,
.menu.active .rec_globalmenu {
  height: 68.478vw;
}
.recruit_header .menu .rec_globalmenu .grid,
.menu .rec_globalmenu .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.recruit_header .menu .rec_globalmenu .grid li,
.menu .rec_globalmenu .grid li {
  height: 22.826vw;
  border-right: none;
}
.recruit_header .menu .rec_globalmenu .grid li:nth-of-type(odd),
.menu .rec_globalmenu .grid li:nth-of-type(odd) {
  border-right: 0.1rem solid rgba(0, 0, 0, 0.20);
}
.recruit_header .menu .rec_globalmenu .grid li:nth-child(6) span,
.menu .rec_globalmenu .grid li:nth-child(6) span {
  font-size: 5.556vw;
}
.recruit_header .menu .rec_globalmenu .grid li a,
.menu .rec_globalmenu .grid li a {
  padding: 0 0 0 4.831vw;
  font-size: 3.14vw;
}
.recruit_header .menu .rec_globalmenu .grid li a::after,
.menu .rec_globalmenu .grid li a::after {
  right: 4.71vw;
  width: 5.193vw;
  height: 2.415vw;
}
.recruit_header .menu .rec_globalmenu .grid li span,
.menu .rec_globalmenu .grid li span {
  display: block;
  margin-bottom: 1.329vw;
  color: #000;
  font-size: 6.763vw;
}



.recruit_header .message_block {
  position: relative;
  margin-top: -5.556vw;
  padding-top: 33.454vw;
}

.recruit_header .message_block::before {
  height: 49.396vw;
}
.recruit_header .message_block .message_box {
  margin: 0 3.623vw;
  padding-bottom: 31.894vw;
}

.recruit_header .message_block h2 {
  line-height: 1;
}
.recruit_header .message_block .ttl_jp {
  margin: 20px 0 58px
}
.recruit_header .message_block .txt {
  margin-left: 0;
  font-size: 3.865vw;
  line-height: 1.81;
}
.recruit_header .message_block .txt + .txt {
  margin-top: 3.623vw;
}
.recruit_header .message_block .txt02 {
  margin-left: 0;
  margin-top: 6.28vw;
  font-size: 5.072vw;
  line-height: 1.61;
}


#recruit {
  position: relative;
}
#recruit::after {
  display: none;
}


#recruit .top_about {
  padding: 0 3.623vw 14.493vw;
}
#recruit .top_about .about_bx {
  margin-top: 0;
  gap: 8.454vw 0;
}
#recruit .top_about .about_bx::before {
  content: '';
  position: absolute;
  top: 8vw;
  right: 0;
  width: 22.464vw;
  height: 43.478vw;
  background: url(../../images/src/recruit/sp/border.svg) no-repeat right top / 100%;
}
#recruit .top_about .img {
  width: 100%;
  margin-left: 0;
}
#recruit .top_about .about_bx .right_col {
  margin-top: 9.662vw;
  width: 100%;
}
#recruit .top_about .right_col h2 {
  letter-spacing: 0.06em;
}
#recruit .top_about .right_col .ttl_jp {
  margin: 2.415vw 0 3.623vw;
}
#recruit .top_about .right_col .txt {
}


#recruit .number_block {
  margin-top: 4rem;
}
#recruit .number_block .flex01,
#recruit .number_block .flex02,
#recruit .number_block .flex03 {
  padding: 0;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.20);
  justify-content: left;
}
#recruit .number_block .flex03 {
  border-bottom: 0;
}
#recruit .number_block .flex02 {
  padding-bottom: 5rem;
}
#recruit .number_block .flex03.bd0 {
  border-bottom: 0;
}
#recruit .number_block .parts {
  padding: 6.763vw 3.623vw 7.488vw 2.295vw;
}
#recruit .number_block .parts .flex {
  align-items: center;
}
#recruit .number_block .parts .ttl {
  margin-bottom: 0;
  font-size: 4.589vw;
  line-height: 1;
}
#recruit .number_block .parts p {
  font-size: 5.072vw;
  line-height: 0.9;
} 
#recruit .number_block .parts .num {
  margin-right: 0;
  font-size: 11.353vw;
}
#recruit .number_block .parts .kome {
  margin-top: 2.295vw;
  margin-left: auto;
  font-size: 3.623vw;
}
#recruit .number_block .parts .bx {
  text-align: center;
}
#recruit .number_block .no02 .d_list {
  margin-left: auto;
}
#recruit .number_block .parts .d_list dl {
  gap: 0 1.812vw;
}
#recruit .number_block .parts .d_list dl + dl {
  margin-top: 1.57vw;
}
#recruit .number_block .parts .d_list dl dt {
  font-size: 3.865vw;
  line-height: 1.2;
}
#recruit .number_block .parts .d_list dl dd {
  font-size: 4.589vw;
  line-height: 0.97;
}
#recruit .number_block .parts .d_list dl dd .num {
  font-size: 8vw;
}
#recruit .number_block .flex03 .parts {
  padding-left: 0;
  width: 50%;
  flex: none;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#recruit .number_block .flex03 .parts:nth-of-type(1),
#recruit .number_block .flex03 .parts:nth-of-type(3) {
  width: 50%;
}
#recruit .number_block .flex03 .parts:nth-of-type(2) {
  width: 50%;
}
#recruit .number_block .flex03 .parts:nth-of-type(2),
#recruit .number_block .flex03 .parts.no12 {
  border-right: 0;
}
#recruit .number_block .flex03 .parts:nth-of-type(odd) {
  border-right: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#recruit .number_block .flex03 .parts {
  padding-top: 6.763vw;
  padding-right: 0;
}
#recruit .number_block .flex03 .ttl {
  text-align: center;
  margin-bottom: 2.295vw;
}
#recruit .number_block .flex03 .ico {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 19.203vw;
}
#recruit .number_block .flex03 .ico img {
  height: 100%;
}
#recruit .number_block .no05 .ico img { width: 23.551vw; }
#recruit .number_block .no06 .ico img { width: 17.15vw; }
#recruit .number_block .no07_01 .ico img { width: 13.406vw; }
#recruit .number_block .no07_02 .ico img { width: 21.377vw; }
#recruit .number_block .no08 .ico img { width: 14.251vw; }
#recruit .number_block .no09 .ico img { width: 10.87vw; }
#recruit .number_block .no10 .ico img { width: 11.353vw; }


#recruit .number_block .no01 {
  display: flex;
  justify-content: left;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 17.029vw;
  padding: 6.763vw 3.623vw 7.488vw 2.295vw;
  width: 100%;
  border-right: none;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#recruit .number_block .no01 .flex {
  width: 61%;
}
#recruit .number_block .no01 .ico {
  width: 14.13vw;
}
#recruit .number_block .no02 {
  width: 100%;
}
#recruit .number_block .no02 > .flex {
  justify-content: left;
  gap: 0 1.329vw;
}
#recruit .number_block .no02 .ttl {
  margin-bottom: 4.71vw;
}
#recruit .number_block .no02 .ico {
  width: 20.048vw;
}
#recruit .number_block .no04 {
  padding: 6.763vw 3.623vw 3vw 2.295vw;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#recruit .number_block .no03 {
  padding-top: 6.763vw;
  padding-bottom: 7.488vw;
  margin-right: 0;
  padding-right: 0;
  width: 100%;
  border-right: none;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.20);
}

#recruit .number_block .no03 .ico {
  width: 56.884vw;
}
#recruit .number_block .no02 .ico {
  margin-right: 0;
}

#recruit .number_block .no03 .ttl {
  margin-bottom: -1vw;
}
#recruit .number_block .no04 .ttl {
  margin-bottom: 0;
}
#recruit .number_block .no04 .d_list dl {
  gap: 0 4vw;
}
#recruit .number_block .no04 .d_list dl dt {
  font-size: 3.865vw;
  line-height: 1.12;
}
#recruit .number_block .no04 .d_list dl dd {
  font-size: 4.589vw;
}
#recruit .number_block .no04 .d_list dl dd .num {
  font-size: 8vw;
}
#recruit .number_block .no04 .d_list dl dd .normal {
  font-size: 3.623vw;
  line-height: 1.26;
}

#recruit .number_block .no07.pc {
  display: none !important;
}
#recruit .number_block .no07 {
  padding: 0 3rem;
}
#recruit .number_block .no07 .no07_01,
#recruit .number_block .no07 .no07_02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#recruit .number_block .flex03 .parts.no07_01 {
  padding: 6.763vw 0 0;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.20);
  border-right: 0.1rem solid rgba(0, 0, 0, 0.20);
}
#recruit .number_block .flex03 .parts.no07_02 {
  border-right: none;
}
#recruit .number_block .no07_01 .num {
  font-size: 8.696vw;
  font-weight: 900;
}

#recruit .number_block .no07_01 .ico {
  margin-top: 6.039vw;
  height: auto;
}
#recruit .number_block .no07 .no07_02 {
  padding-top: 3rem;
}
#recruit .number_block .no07 .no07_02 .ttl {
  white-space: nowrap;
}
#recruit .number_block .flex03 .no07_02 .ico {
  height: auto;
}
#recruit .number_block .flex03 .parts.no08,
#recruit .number_block .flex03 .parts.no09,
#recruit .number_block .flex03 .parts.no10 {
  padding: 6.763vw 4.952vw 5.797vw 3.502vw;
  width: 100%;
  height: auto;
  justify-content: left;
  border-right: none;
}
#recruit .number_block .flex03 .no08 .ttl,
#recruit .number_block .flex03 .no09 .ttl,
#recruit .number_block .flex03 .no10 .ttl {
  text-align: left;
  margin-bottom: 0;
}
#recruit .number_block .flex03 .no08 .bx,
#recruit .number_block .flex03 .no09 .bx,
#recruit .number_block .flex03 .no10 .bx {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#recruit .number_block .flex03 .no08 .ico,
#recruit .number_block .flex03 .no09 .ico,
#recruit .number_block .flex03 .no10 .ico {
  width: 28.019vw;
  height: auto;
}
#recruit .number_block .flex03 .no08 .d_list,
#recruit .number_block .flex03 .no09 .d_list,
#recruit .number_block .flex03 .no10 .d_list {
  margin-top: 2rem;
}
#recruit .number_block .flex03 .parts .d_list dl {
  align-items: baseline;
  width: 54.309vw;
}
#recruit .number_block .flex03 .parts.no05 .d_list dl {
  margin: 0 5.676vw 0 3.623vw;
  width: auto;
}
#recruit .number_block .flex03 .parts .d_list dl dt {
  font-size: 3.865vw;
}
#recruit .number_block .parts.no05 .d_list dl dd .num {
  font-size: 9.42vw;
}
#recruit .number_block .flex03 .no08 dl dd .num,
#recruit .number_block .flex03 .no09 dl dd .num,
#recruit .number_block .flex03 .no10 dl dd .num,
#recruit .number_block .flex03 .no10 dl.haken dd .num {
  margin: 0 0.966vw 0 0.483vw;
  font-size: 9.42vw;
}
#recruit .number_block .flex03 .parts .d_list dl + dl {
  margin-top: 3.382vw;
}

#recruit .number_block .flex03 .no08 .kome,
#recruit .number_block .flex03 .no10 .kome {
  margin-top: 3.382vw;
  margin-bottom: 0;
}

#recruit .number_block .tar {
  margin-top: 3.14vw;
  font-size: 3.14vw;
}









#recruit .works {
  padding: 13.285vw 0 0;
}
#recruit .works .ttl_bx {
  padding: 0 3.623vw;
}
#recruit .works h2 {
  margin-bottom: 2.415vw;
}
#recruit .works .ttl_bx .txt {
  margin-top: 5.918vw;
  line-height: 1.81;
  text-align: left;
}
#recruit .works .works_block {
  margin-top: 9.662vw;
  padding-bottom: 9.662vw;
}
#recruit .works .works_block::before {
  left: 11%;
  transform: translateX(-50%);
  width: 265.459vw;
  clip-path: polygon(50% 0%, 100% 0%, 100% 100%, 0% 100%);
}

#recruit .works .works_block .parts {
  padding: 3.382vw 3.623vw 7.246vw;
}
#recruit .works .works_block .parts.works03 {
  padding-bottom: 0;
}

#recruit .works .works_block .parts.works01::before,
#recruit .works .works_block .parts.works02::before {
    display: none;
}
#recruit .works .works_block .parts .left_col,
#recruit .works .works_block .parts .img {
  flex: none;
  width: 100%;
}
#recruit .works .works_block .parts .img {
  margin-top: 6.039vw;
  order: 2;
}
#recruit .works .works_block .parts .left_col {
  order: 1;
  display: flex;
  justify-content: end;
}
#recruit .works .works_block .works02 .left_col {
  display: flex;
  justify-content: start;
}
#recruit .works .works_block .parts .left_col .z_bx {
  display: block;
  width: 100%;
  padding-right: 0;
}
#recruit .works .works_block .works02 .left_col .z_bx {
  padding-left: 0;
  padding-right: 0;
}
#recruit .works .works_block .parts .left_col .ttl_en {
  margin-bottom: 0;
  font-size: 11.393vw;
}
#recruit .works .works_block .parts .left_col .flex {
  margin-bottom: 1.691vw;
  gap: 0 3.382vw;
}
#recruit .works .works_block .parts .left_col .flex h3 {
  font-size: 10.145vw;
}
#recruit .works .works_block .parts .left_col .flex .ttl_sub_en {
  font-size: 3.875vw;
  line-height: 1.24;
}
#recruit .works .works_block .parts .left_col .txt {
  margin-bottom: 6.039vw;
  line-height: 1.81;
}
#recruit .works .works_block .parts .left_col .list {
  padding: 4.227vw 4.831vw;
}
#recruit .works .works_block .parts .left_col .list .ttl {
  margin-bottom: 4vw;
  padding-left: 5.918vw;
  font-size: 4.589vw;
}
#recruit .works .works_block .parts .left_col .list .ttl::before {
  width: 4.348vw;
  height: 5.435vw;
}
#recruit .works .works_block .parts .left_col .list ul {
  margin-left: 1.6vw;
}
#recruit .works .works_block .parts .left_col .list .flex {
  margin-bottom: 3vw;
  gap: 3.623vw 2vw;
}
#recruit .works .works_block .parts .left_col .list li {
  padding-left: 3.019vw;
  font-size: 3.865vw;
}

#recruit .works .works_block .parts .left_col .list .flex li {
  width: 40%;
}
#recruit .works .works_block .parts .left_col .list li::before {
   top: 1.604vw;
   width: 1.416vw;
   height: 1.416vw;
}
#recruit .works .works_block .parts .left_col .list .kome {
  margin-left: 3.14vw;
  padding-left: 0;
  font-size: 3.14vw;
  font-weight: 500;
  text-indent: -3.14vw;
}
#recruit .member {
  padding-top: 13.285vw;
  padding-bottom: 12.077vw;
}
#recruit .member .ttl_bx h2 {
  margin-bottom: 2.415vw;
  text-align: center;
}
#recruit .member .ttl_bx .ttl_jp {
  margin-bottom: 11.353vw;
  text-align: center;
}
#recruit .member .member_slider {
  margin-top: 0;
}
#recruit .member .member_slider {
  width: 100%;
}
#recruit .member .member_slider .parts {
  flex-wrap: wrap;
}

#recruit .member .member_slider .swiper-slide + .swiper-slide {
  margin-top: 16vw;
}
#recruit .member .member_slider .parts .img {
  padding-left: 0;
  margin-left: -10.266vw;
  width: 98.309vw;
}
#recruit .member .member_slider .parts .img img {
  position: relative;
}
#recruit .member .member_slider .parts .img::before {
  top: -6.039vw; 
  left: -6.039vw;
  width: 91.304vw;
  height: 64.372vw;
  z-index: 0;
}
#recruit .member .member_slider .parts .right_col .textarea .ttl {
  margin-bottom: 2.174vw;
  font-size: 5.797vw;
  line-height: 1.45;
}
#recruit .member .member_slider .parts .right_col {
  margin-left: 0;
  width: 100%;
}
#recruit .member .member_slider .parts .right_col .textarea {
  padding: 4.831vw 3.623vw 0;
}
#recruit .member .member_slider dl {
  margin: 5.314vw 3.623vw 0;
  padding: 3.623vw 3.623vw 4.831vw;
  max-width: initial;
  width: auto;
  height: auto;
}
#recruit .member .member_slider dl dt {
  margin-bottom: 0.725vw;
  width: 100%;
  font-size: 3.623vw;
}
#recruit .member .member_slider dl dt .name {
  font-size: 5.314vw;
}

#recruit .member .member_slider dl dd {
  width: 100%;
  font-size: 3.382vw;
  line-height: 1.66;
}
#recruit .member .member_slider dl dd::before {
  display: none;
}
#recruit .member .member_slider dl dd .st {
  font-size: 3.623vw;
}
#recruit .member .scrollbar-bx {
  margin: 10.87vw 3.623vw 0;
  width: auto;
  max-width: initial;
  height: 10.266vw;
}
#recruit .member .scrollbar-bx .swiper-scrollbar {
  top: 4vw;
  left: 20.72vw;
  width: 50vw;
  height: 1.208vw;
  transform: none;
}
#recruit .member .scrollbar-bx .swiper-button-prev,
#recruit .member .scrollbar-bx .swiper-button-next {
  width: 18.116vw;
  height: 10.266vw;
}

#recruit .member .member_more {
  margin-top: 10.3rem;
}
#recruit .member .member_more .ttl {
  position: relative;
  margin-bottom: 5.072vw;
  font-size: 5.072vw;
  line-height: 1.33;
}
#recruit .member .member_more .ttl::before,
#recruit .member .member_more .ttl::after {
  content: '';
  position: absolute;
  top: 3vw;
  width: 4.469vw;
  height: 100%;
}
#recruit .member .member_more .ttl::before {
  left: 12vw;
  background: url(../../images/src/recruit/sp/line01.svg) no-repeat left top / 100%;
}
#recruit .member .member_more .ttl::after {
  right: 12vw;
  background: url(../../images/src/recruit/sp/line02.svg) no-repeat left top / 100%;
}

#recruit .culture {
  margin: 13.285vw auto 10.87vw;
  padding: 0 3.623vw;
}
#recruit .culture h2 {
  line-height: 1;
}
#recruit .culture .left_col,
#recruit .culture .right_col {
  width: 100%;
}
#recruit .culture .left_col {
  margin-bottom: 7.246vw;
}
#recruit .culture .right_col .parts {
  padding: 4.831vw 0;
  align-items: center;
  border-top-width: 0.121vw;
}
#recruit .culture .right_col .parts:last-of-type {
  border-bottom-width:  0.121vw;
}
#recruit .culture .right_col .parts .text_bx {
  width: 54.348vw;
}
#recruit .culture .right_col .parts .text_bx .ttl {
  margin-bottom: 0;
  font-size: 5.072vw;
}
#recruit .culture .right_col .parts .text_bx .ttl .num {
  display: block;
  margin-right: 0;
  font-size: 5.556vw;
}
#recruit .culture .right_col .parts .txt {
  margin: 2.174vw 0 0;
  font-weight: 400;
}
#recruit .culture .right_col .parts .txt .fs16 {
  font-size: 3.14vw;
}
#recruit .culture .right_col .parts .img {
  width: 38.406vw;
}
#recruit .faq {
  padding: 13.285vw 3.623vw 14.493vw;
}
#recruit .faq h2 {
  margin-bottom: 2.415vw;
}
#recruit .faq .acd {
  margin-top: 7.246vw;
}
#recruit .faq dl {
  cursor: pointer;
}
#recruit .faq dl + dl {
  margin-top: 3.623vw;
}
#recruit .faq dl dt,
#recruit .faq dl dd {
  padding: 3.623vw 9.058vw 4.106vw 14.855vw;
}
#recruit .faq dl dt {
  font-size: 3.865vw;
  line-height: 1.56;
}
#recruit .faq dl dt::before,
#recruit .faq dl dd::before {
  top: 3.623vw;
  left: 2.415vw;
  width: 11.836vw;
  height: 6.643vw;
}
#recruit .faq dl dt::after { 
  top: 4.7vw;
  right: 3.623vw;
  width: 3.623vw;
  height: 3.623vw;
}
#recruit .faq dl dd {
  font-size: 3.623vw;
  line-height: 1.6;
}

#recruit .job {
  padding: 14.493vw 3.623vw 12.077vw;
}

#recruit .job .left_col,
#recruit .job .right_col {
  width: 100%;
}
#recruit .job .left_col {
  display: block;
}
#recruit .job .btn {
  margin-top: 7.246vw;
  width: 87.198vw;
}
#recruit .job .left_col h2 {
  margin-bottom: 2.415vw;
  font-size: 11.353vw;
  line-height: 1;
}
#recruit .job .ttl_jp {
  margin-bottom: 4.589vw;
}
#recruit .job .right_col .txt {
  font-size: 4.106vw;
  line-height: 1.76;
}
#recruit .job .right_col .txt + .txt {
  margin-top: 3.623vw;
}
#recruit .ctbnr {
  margin: 7.246vw 3.623vw;
  gap: 6.039vw 0;
}
#recruit .ctbnr .com,
#recruit .ctbnr .ct {
  flex: none;
  width: 100%;
}
#recruit .ctbnr .com a,
#recruit .ctbnr .ct a {
  padding: 9.662vw 0 6.763vw;
}
#recruit .ctbnr .com a {
  background-image: url(../../images/src/recruit/sp/company_bg01.webp);
  background-size: cover;
}
#recruit .ctbnr h2 {
  margin-bottom: 3.14vw;
}
#recruit .ctbnr .txt {
  margin-top: 4.348vw;
  font-size: 4.106vw;
  line-height: 1.64;
}


  
}



/* pcのみのhoverアクションはここ */
@media (hover: hover) and (pointer: fine) {
  header .site_logo:hover {
    opacity: 0.8;
  }
  header .site_nav li a:hover {
    color: var(--orange);
  }
  .footer__inner ul li a:hover {
    color: var(--orange);
  }
  .footer__inner ul li a:hover::before {
    background-image: url(../../images/src/common/arrow_orange02.svg);
  }

  
  .movie_area button:hover::after {
    transform: scale(1.1);
    opacity: 0;
    transition: transform 1.6s cubic-bezier(.19,1,.22,1),
                opacity   1.6s cubic-bezier(.19,1,.22,1);
  }
  .top_company .company_bx .parts a:hover {
    background-color: #248521;
  }
  .top_company .company_bx .parts a:hover::after {
    transform: translateX(4rem);
    opacity: 0;
  }
  
  .top_company .company_bx .parts a:hover::after {
    animation: arrow-once 0.8s ease-in-out forwards;
  }
  .top_news .right_col a:hover {
    border-color: var(--green);
  }
  .top_news .right_col a:hover::after { 
    right: 3rem;
  }
  #about .category ul li a:hover {
    opacity: .7;
  }
  #service .sec01 ul li a:hover::after {
    right: 0;
  }
  .recruit_header .menu .rec_globalmenu .grid li a:hover,
  .menu .rec_globalmenu .grid li a:hover {
    background-color: var(--gray);
  }
  #news .category ul li a:hover {
    color: #fff;
    background-color: var(--green);
  }
  #news .news_list .parts a:hover {
    border-color: var(--green);
  }
  #news .news_list .parts a:hover::after {  
    right: 3rem;
  }
  
}