@charset "utf-8";
/* トップ
-------------------------------------------------------------------*/
:root .home-title_box {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap: 0.875em;
  width: fit-content;
  font-size:1.5rem;
  font-weight:bold;
}
:root .home-title_box [lang="en"] {
  font-size:3.333334em;
  line-height:0.75;
  color: transparent;
  background-image:  url(../img/top/bg-text.png);
  background-color: var(--fontcolor);
  background-clip: text;
  background-repeat: no-repeat;
  background-size: 687px;
  background-position: -400px -330px;
}
:root .home-title_box.text_white * {
  color: #fff !important;
  background: none !important;
}
:root .home-title_box.text_white.slide-in::before {
  background:#fff;
}
.home .bg-movie_wrap {
  transition: 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  overflow-x: clip;
}
.home .bg-movie_wrap.is-active {
  background: rgba(14, 17, 33, 0.6);
}
.home .bg-movie_wrap .bg-movie_box {
  position: sticky;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: -100;
  margin-bottom: -100svh;
}
.home .bg-movie_wrap .bg-movie_box * {
  max-width: inherit;
  width: 100%;
  height: 100vh;
  object-fit: cover;
  object-position: 47%;
}
.home #mv {
  min-height: 96.5svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  color: #fff;
}
.home #mv .mv-title {
  font-size: 2.864583333333333vw;
  font-weight: bold;
  margin-left: 0.72em;
  margin-bottom: 0.5em;
}
.home #mv .mv-title img{
  width: min(50vw , 700px) ; 
}
.home #mv .mv-en {
  font-size: 16.66666666666667vw;
  font-weight: bold;
  line-height: 0.72;
  margin-left: 0.02em;
}
.home #company {
  min-height: 100svh;
  color: #fff;
  padding-block: 11.25em 10vw;
}
.home #company .widewrap {
  position: relative;
  max-width: calc(1400px + 2em);
}
.home #company .company-title {
  font-size: 1.875rem;
  font-weight: 600;
  margin-bottom: 3em;
}
.home #company .company-content_box {
  width: min(100%, 722px);
}
.home #company .company-sub_title {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 0.75em;
}
.home #company .company-image {
  position: absolute;
  top: 28%;
  right: calc(50% - 470px);
  translate: 50%;
  width: clamp(500px, 33.95833334vw, 652px);
}
.home #company .company-lead {
  font-size: 1.375rem;
  line-height: 2.7;
}
.home #company .company-lead:last-of-type {
  margin-bottom: 3em;
}
.home #movie{
  background: #fff;
  padding-top: 8em;
}
.home #movie::after{ 
  display: block;
  content: "";
  height: 1px;
  width: 96%;
  margin: auto;
  max-width: 1620px;
  background: #e7e7e7;
}
.home #movie .movie-flex_wrap{
    padding-bottom: 8em;
    display: flex;
    gap: 10%;
    justify-content: space-between;
    align-items: center;
}
.home #movie .movie-flex_wrap .pr_movie{
  position: relative;
  z-index: 0;
}
.home #movie .movie-flex_wrap .pr_movie .fp{
  background: #fff;
  color: var(--key);
  height: 10em;
  width: 10em;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  inset: auto auto -6% -6%;
  filter: drop-shadow(2px 2px 10px #b7c5ff);
  text-align:center;
  transition: transform 0.2s;
}
.home #movie .movie-flex_wrap .pr_movie .fp span{
  position: relative;
  z-index: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  padding-bottom: 1em;
}
.home #movie .movie-flex_wrap .pr_movie .fp span::before{
  content: "";
  position: absolute;
  margin: auto;
  inset: auto 0 -1em 0;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 16px;
  border-color: transparent transparent transparent var(--key); 
}
.home #movie .movie-flex_wrap .pr_movie:hover .fp{
  transform: translateY(5px);
}
.home #service {
  min-height: 100svh;
  background: #fff;
  padding-block: 10em 9.25em;
}
.home #service .service_left_wrap {
  position:absolute;
  width: 33.33334vw;
  left: 11.5%;
}
.home #service .service_photo {
  position:relative;
  z-index: 10;
  aspect-ratio: 128/165;
  filter: drop-shadow(-2.5em 2.5em 2.375em rgba(37,56,134,0.3));
  will-change: filter;
}
.home #service .service_photo .img-cover {
  position:absolute;
  opacity:0;
  visibility:hidden;
  transform:translateY(20px);
  transition:var(--hover);
  transition-duration: .6s;
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}
.home #service .service_photo .img-cover.is-active {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.home #service .sercice_figure {
  position:absolute;
}
.home #service .sercice_figure.figure01 {
  z-index:15;
  bottom:-3.5%;
  right:-20.5%;
  width: 63.125%;
}
.home #service .sercice_figure.figure02 {
  z-index:5;
  bottom:-45%;
  left:-28%;
  width: 103.28125%;
}
.home #service .sercice_figure.figure03 {
  z-index:15;
  bottom: 3%;
  right: 17.5%;
  width:15vw;
  filter: drop-shadow(-1.5em 2em 2.375em rgba(37,56,134,0.3));
  will-change: filter;
}
.home #service .sercice_figure.figure04 {
  z-index:5;
  bottom: 12%;
  right: -3%;
  width:18.90625vw;
  filter: drop-shadow(2em 3em 2.375em rgba(37,56,134,0.3));
  will-change: filter;
}
.home #service .sercice_figure.figure05 {
  z-index:5;
  bottom: 6%;
  right: 35%;
  width: 10.9vw;
  filter: drop-shadow(2em 3em 2.375em rgba(37,56,134,0.3));
  will-change: filter;
}
.home #service .service-content_box {
  width: min(47%,534px);
  margin-left:auto;
}
.home #service .service-link_list {
  margin-top: 2em;
}
.home #service .service-link_name a {
  display:flex;
  justify-content:flex-start;
  align-items: center;
  gap: 1.75em;
  min-height: 6.75em;
  text-decoration: none;
  border-bottom:1px solid #c6c6c6;
  padding:0.5em;
  padding-right:1.75em;
  transition:var(--hover);
}
.home #service .service-link_name a span {
  color:#c5c5c5;
  font-weight:bold;
  transition:var(--hover);
}
.home #service .service-link_name a em {
  flex: 1;
  font-size:1.5em;
  font-weight:500;
  transition:var(--hover);
}
.home #service .service-link_name a::after {
  content:"";
  display:inline-block;
  width:1.125em;
  aspect-ratio:18/13;
  background: #b6b6b6;
  mask:url(../img/common/icon-arrow.svg);
  mask-size:1em;
  mask-repeat:no-repeat;
  mask-position:right center;
  transform-origin: left;
  transition:var(--hover);
}
.home #service .service-link_name a.is-active {
  border-color:var(--key);
}
.home #service .service-link_name a.is-active :is(span,em) {
  color:var(--key);
}
.home #service .service-link_name a.is-active::after {
  background:var(--key);
}
.home #service .service-link_namedetails {
  line-height:1.8;
  max-height:0;
  padding-block:0;
  visibility:hidden;
}
.home #service .service-link_item:has(.service-link_name a.is-active) .service-link_namedetails {
  max-height:200svh;
  padding-block:1em 3.75em;
  visibility:visible;
}
.home #service .service_companyname_wrap {
  display:flex;
  justify-content:flex-start;
  align-items:center;
  font-size:11.25em;
  font-weight:bold;
  line-height:0.75;
  color:#f7f7f7;
  margin-top:0.9333334em;
}
.home #service .service_companyname_item {
  display:flex;
  justify-content:flex-start;
  align-items:center;
  white-space:nowrap;
  transform: translateX(0);
  animation: loop_text 20s infinite linear;
}
@keyframes loop_text {
  0% {transform: translateX(0);}
  100% {transform: translateX(-100%);} 
}
.home #service #service-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 4.5833334em;
  aspect-ratio:1/1;
  background-color: var(--key);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: bold;
  color: #fff;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease, width 0.3s ease;
}
.home #service #service-cursor.is-active {
  opacity: 1;
  width: 7.3333334em;
}
.home #service #service-cursor.is-hover {
  width: 9.1666667em;
}
.home #about {
  background:var(--gradation);
  padding-block:7.5em 8.75em;
}
.home #about .about-flex_wrap {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  color:#fff;
  border-bottom:2px solid;
  padding-bottom:3.75em;
  margin-bottom:6em;
}
.home #about .about-lead {
  font-size:1.125rem;
  line-height:1.8;
  margin-top:1em;
}
.home #about .about-card_list {
  display:flex;
  flex-direction:column;
  gap: 2.5em;
}
.home #about .about-card_item {
  position: sticky;
  top: calc(var(--header) + 1.5em);
  width: 100%;
  min-height: 452px;
  background-color: #fff;
  padding:3em 1em;
  filter:var(--shadow);
  overflow: hidden;
  will-change: transform,filter;
  --white-overlay: 0;
}
.home #about .about-card_item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: var(--white-overlay);
  pointer-events: none;
}
.home #about .about-card_item .about-card_inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:4.375em;
  width:min(100%,1100px);
  margin-inline:auto;
}
.home #about .about-card_item .about-card_inner > * {
  flex:1;
}
.home #about .about-card_item .about-card_num {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  font-size:1.25rem;
  font-weight:bold;
  color:#fff;
  background:var(--accent);
  border-radius:3em;
  padding:0.1em 1em;
  margin-bottom:0.5em;
}
.home #about .about-card_item .about-card_title {
  font-size:1.75rem;
  font-weight:bold;
  margin-bottom:0.75em;
}
.home #about .about-card_item p:not([class]) {
  line-height:1.8;
}
.home #works .works-bg_wrap {
  position: absolute;
  inset: 0;
  padding-bottom:8.75em;
}
.home #works .works-bg_wrap .works-bg_image {
  height:100%;
}
.home #works .works-bg_wrap img {
  max-width: inherit;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home #works .works-bg_wrap .slider {
  position: relative;
  width:100%;
  overflow: hidden;
  margin: 0 auto;
  height: 100%;
}
.home #works .works-bg_wrap .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-size: cover;
  background-position: center;
  animation: fadeAnimation 15s infinite;
}
.home #works .works-bg_wrap .slide1 {
  background-image: url('../img/top/bg-works01.png');
  animation-delay: 0s;
}
.home #works .works-bg_wrap .slide2 {
  background-image: url('../img/top/bg-works02.png');
  animation-delay: 5s;
}
.home #works .works-bg_wrap .slide3 {
  background-image: url('../img/top/bg-works03.png');
  animation-delay:10s;
}

@keyframes fadeAnimation {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  43% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}




.home #works .works-content_wrap {
  position: relative;
  inset: 0 0 auto;
  padding-top: 27vw;
}
.home #works .works-content_wrap .sitewrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:8.75em 1.5em;
}
.home #works .works-content_wrap .home-title_box {
  order:1;
}
.home #works .works-content_wrap .news-items {
  order:3;
  width: 100%;
}
.home #works .works-content_wrap .news-items.no-list{
	background: #fff;
	box-shadow: 1px 1px 10px #ccc;
	padding: 3.5em 1em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.home #works .works-content_wrap .news-items.no-list .no-data{
	margin: 0;
	color: #282828;
	font-size: 1.125em;
}
.home #works .works-content_wrap .btn {
  order:2;
}
.home #recruit {
  padding-block:8.75em;
}
.home #recruit .widewrap {
  position:relative;
  z-index:5;
  display:flex;
  justify-content:center;
  align-items:center;
  background:var(--accent);
  padding-block:8.75em;
  overflow:hidden;
}
.home #recruit .recruit-lead {
  font-size:1.125rem;
  color:#fff;
  line-height:1.8;
  margin-block:1.25em;
  filter:drop-shadow(1px 1px 0 var(--accent))drop-shadow(-1px 1px 0 var(--accent))drop-shadow(1px -1px 0 var(--accent))drop-shadow(-1px -1px 0 var(--accent));
  will-change:filter;
}
.home #recruit .recruit-imgae_wrap {
  position:absolute;
  z-index:-5;
  display:flex;
  justify-content: center;
  align-items: flex-end;
  gap:0.625em;
  width: min(65%,854px);
  top:0;
  right: -3.25%;
  bottom: 0;
  rotate:15deg;
  transform-origin: center;
}
.home #recruit .recruit-imgae_wrap .recruit-imgae_list {
  display:flex;
  justify-content:center;
  align-items: flex-start;
  flex-direction:column;
  gap:0.625em;
  transform: translateY(50%);
  animation:loop_up 40s infinite linear;
}
.home #recruit .recruit-imgae_wrap .recruit-imgae_list:nth-child(odd) {
  animation-name:loop_down;
} 
@keyframes loop_up {
  0% {transform: translateY(75%);}
  100% {transform: translateY(25%);} 
}
@keyframes loop_down {
  0% {transform: translateY(25%);}
  100% {transform: translateY(75%);} 
}
.home #recruit .recruit-imgae_wrap .recruit-image_box {
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  gap:0.625em;
}
.home #recruit .recruit-imgae_wrap .recruit-image {
  border-radius:0.625em;
  overflow:hidden;
}
.home #news .sitewrap {
  width:min(100%,1000px);
  display:flex;
  justify-content:space-between;
  align-items: flex-end;
  flex-wrap:wrap;
  gap: 4.75em 1.5em;
}
.home #news .home-title_box {
  order:1;
}
.home #news .news-items {
  order:3;
  width: 100%;
}
.home #news .btn {
  order:2;
}
@media screen and (max-width:1480px) {
  .home #company .company-image {
    right: 0;
    translate: none;
  }
}
@media screen and (max-width:1270px) {
  .home #company {
    padding-bottom: max(40vw, 440px);
  }
  .home #company .company-image {
    top: 80%;
  }
}
@media screen and (max-width:1000px) {
  .home #company .company-image {
    top: 90%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) and (orientation: portrait) {
  .home :is(#mv,#company,#service) {
    min-height: 50vh;
  }
}
@media screen and (max-width:767px) {
  :root .home-title_box {
    gap: 0.875em;
    font-size:1rem;
    font-weight:bold;
  }
  .home #mv {
    min-height: 75svh;
  }
  .home #mv .mv-title {
    font-size: 2.5rem;
    margin-left: 0.125em;
    margin-bottom: 0.25em;
  }
  .home #mv .mv-title img{
    width: min(60vw , 400px);
  }
  .home #company {
    min-height: 0;
    padding-block: 6em 8em;
  }
  .home #company .company-title {
    font-size: 1.5rem;
    margin-bottom: 0.75em;
  }
  .home #company .company-content_box {
    width: 100%;
  }
  .home #company .company-sub_title {
    font-size: 1.75rem;
    margin-bottom: 1.25em;
  }
  .home #company .company-image {
    position: static;
    width: 90%;
    margin-inline:auto;
    margin-bottom:1.5em;
  }
  .home #company .company-lead {
    font-size: 1.25rem;
    line-height: 2;
  }
  .home #company .company-lead:last-of-type {
    margin-bottom: 1em;
  }
  .home #movie{
    background: #fff;
    padding-top: 4em;
  }
  .home #movie .movie-flex_wrap{
      padding-bottom: 4em;
    flex-direction: column;
    align-items: flex-start;
    gap: 2em;
  }
  .home #movie .movie-flex_wrap .pr_movie .fp{
    height: 6em;
    width: 6em;
    inset: auto auto -2% -2%;
  }
  .home #movie .movie-flex_wrap .pr_movie .fp span::before{
    top: 2em;
    border-width: 6px 0 6px 12px;
  } 
  .home #service {
    min-height: 0;
    padding-block: 6em 9.25em;
  }
  .home #service .service_left_wrap {
    display:none;
  }
  .home #service .sercice_figure.figure03 {
    bottom: 3%;
    right: auto;
    left:5%;
    width:160px;
  }
  .home #service .sercice_figure.figure04 {
    bottom: 3%;
    width:200px;
  }
  .home #service .sercice_figure.figure05{
    display: none;
  }
  .home #service .service-content_box {
    width: 100%;
  }
  .home #service .service-link_list {
    margin-top: 1em;
  }
  .home #service .service-link_name a {
    gap: 1em;
    min-height: 4em;
    padding-right:1em;
  }
  .home #service .service-link_name a.is-active {
    border-color: #c5c5c5;
  }
  .home #service .service-link_name a.is-active span {
    color: #c5c5c5;
  }
  .home #service .service-link_name a.is-active em {
    color:var(--fontcolor);
  }
  .home #service .service-link_name a.is-active::after {
    background: #b6b6b6;
  }
  .home #service :is(.service-link_item,.service-link_item:has(.service-link_name a.is-active)) .service-link_namedetails {
    display: flex;
    gap: 1em;
    line-height:1.8;
    max-height:100%;
    padding-block:1em 1.5em;
    visibility:visible;
  }
  .home #service .service-link_image {
    width:20%;
  }
  .home #service .service-link_namedetails p {
   width:80%;
  }
  .home #service .service_companyname_wrap {
    font-size:5em;
    margin-block: 0.3em 0.9333334em;
  }
  .home #service #service-cursor {
    display:none;
  }
  .home #about {
    padding-block:4.5em 6em;
  }
  .home #about .about-flex_wrap {
    flex-direction:column;
    align-items:center;
    gap:1.5em;
    padding-bottom:2.75em;
    margin-bottom:3em;
  }
  .home #about .about-lead {
    font-size:1rem;
    line-height:1.8;
  }
  .home #about .about-card_item {
    min-height: 0;
    padding-block:2em;
  }
  .home #about .about-card_item .about-card_inner {
    flex-direction:column;
    gap:1.5em;
  }
  .home #about .about-card_item .about-card_num {
    font-size:1.125rem;
  }
  .home #about .about-card_item .about-card_title {
    font-size:1.5rem;
    margin-bottom:0.5em;
  }
  .home #works .works-bg_wrap {
    position: absolute;
    inset: 0;
    padding-bottom:0;
  }
  .home #works .works-content_wrap {
    inset: 0 0 auto;
    padding-block: 5em;
  }
  .home #works .works-content_wrap .sitewrap {
    justify-content:center;
    gap:1.5em 1.5em;
  }
  .home #works .works-content_wrap .home-title_box {
    align-items:center;
  }
  .home #works .works-content_wrap .news-items {
    order:2;
    width: 100%;
  }
  .home #works .works-content_wrap .btn {
    order:3;
  }
	.home #works .works-bg_wrap .slider {
		position: relative;
		width:100%;
		overflow: hidden;
		margin: 0 auto;
		height:35%;
	}
  .home #recruit {
    padding-block:2em 4em;
  }
  .home #recruit .widewrap {
    flex-direction:column-reverse;
    gap: 1.5em;
    padding: 0 0 2.5em;
  }
  .home #recruit .recruit-lead {
    font-size:1rem;
    filter:none;
  }
  .home #recruit .recruit-imgae_wrap {
    position:static;
    width: 130%;
    aspect-ratio: 2/1;
    gap:0.875em;
    overflow:hidden;
    rotate: 0deg;
  }
  .home #recruit .recruit-imgae_wrap .recruit-imgae_list {
    rotate:15deg;
    translate:-20%;
    transform-origin:left bottom;
  }
  .home #news .sitewrap {
    justify-content:center;
    gap: 1.5em;
  }
  .home #news .home-title_box {
    align-items: center;
  }
  .home #news .news-items {
    order:2;
    width: 100%;
  }
  .home #news .btn {
    order:3;
  }
}


/* 採用
-------------------------------------------------------------------*/
main.recruit ul{
  padding: 0;
}
main.recruit ul li::marker{
	content: none;
}
main.recruit .rec-ttl{
  font-size: 2.625rem;
  font-weight: 600;
  margin-bottom: 1em;
}
main.recruit .rec-ttl [lang="en"]{
  font-size: 1.35rem;
  color: #e7270d;
}
main.recruit .rec-ttl.rev,
main.recruit .rec-ttl.rev [lang="en"]{
  color: #fff !important;
}
@media screen and (max-width:767px) {
	main.recruit .rec-ttl{
	  font-size: 2rem;
	  margin-bottom: 1em;
	}
	main.recruit .rec-ttl [lang="en"]{
	  font-size: 1.125rem;
	}
}
main.recruit #mv-rec{
	background: linear-gradient(155deg, #e7270d 0% 30%, #fe9722 100%);
	overflow: hidden;
	position: relative;
	z-index: -1;
	clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%);
	margin-bottom: -29vh;
}
main.recruit #mv-rec .mv-rec-inner{
	padding: 30vh 6% 70vh;
	text-align: left;
}
main.recruit #mv-rec .mv-img{
	position: absolute;
	z-index: 0;
	margin: auto;
	inset: 32% calc(50% + 180px) auto auto;
}
main.recruit #mv-rec .mv-ttl{
	opacity: 0;
	filter: blur(10px);
	transition: opacity 2.0s ease 0.5s, filter 2.0s ease 0.5s;
}
main.recruit #mv-rec .mv-ttl.once{
	opacity: 1; filter: blur(0); 
}


main.recruit #mv-rec .recruit-imgae_wrap {
  position:absolute;
  z-index:-2;
  display:flex;
  justify-content: center;
  align-items: flex-end;
  gap:0.625em;
  width: min(67%,1210px);
  top:0;
  right: -4.5%;
  bottom: 0;
  rotate:15deg;
  transform-origin: center;
}
main.recruit #mv-rec .recruit-imgae_wrap .recruit-imgae_list {
  display:flex;
  justify-content:center;
  align-items: flex-start;
  flex-direction:column;
  gap:0.7em;
  transform: translateY(50%);
  animation:loop_up 40s infinite linear;
}
main.recruit #mv-rec .recruit-imgae_wrap .recruit-imgae_list:nth-child(odd) {
  animation-name:loop_down;
} 
@keyframes loop_up {
  0% {transform: translateY(75%);}
  100% {transform: translateY(25%);} 
}
@keyframes loop_down {
  0% {transform: translateY(25%);}
  100% {transform: translateY(75%);} 
}
main.recruit #mv-rec .recruit-imgae_wrap .recruit-image_box {
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  gap:0.7em;
}
main.recruit #mv-rec .recruit-imgae_wrap .recruit-image {
  border-radius:0.7em;
  overflow:hidden;
  width: min(380px , 21vw);
  aspect-ratio: 278 / 398;
}
main.recruit #mv-rec .recruit-imgae_wrap .recruit-image img{
	object-fit: cover;
	width: 100%;
}
@media screen and (max-width:1600px) {
	main.recruit #mv-rec{
		margin-bottom: -29vh;
	}
	main.recruit #mv-rec .mv-rec-inner{
		padding: 26vh 3% 60vh;
	}
	main.recruit #mv-rec .mv-img{
		inset: 32% calc(50% + 180px) auto auto;
	}
	main.recruit #mv-rec .recruit-imgae_wrap {
	  width: min(56% , 1210px);
	  right: -3.5%;
	}
	main.recruit #mv-rec .recruit-imgae_wrap .recruit-image {
	  width: min(380px , 18vw);
	}
}
@media screen and (max-width:1240px) {
	main.recruit #mv-rec .mv-rec-inner{
		padding: 26vh 2% 50vh;
	}
	main.recruit #mv-rec .mv-img{
		inset: 40% auto auto 2%;
		width: 30%;
	}
	main.recruit #mv-rec .mv-ttl{
		width: 46%;
	}
	main.recruit #mv-rec .recruit-imgae_wrap {
	  width: min(56% , 1210px);
	  right: -4.5%;
	}
}
@media screen and (max-width:767px) {
	main.recruit #mv-rec{
		background: linear-gradient(155deg, #e7270d 0% 30%, #fe9722 100%);
		clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
		margin-bottom: -7em;
	}
	main.recruit #mv-rec .mv-rec-inner{
		padding: 8em 15px 33em;
	}
	main.recruit #mv-rec .mv-ttl{
		width: 80%;
	}
	
	main.recruit #mv-rec .mv-img{
		position: absolute;
		z-index: 0;
		margin: auto;
		inset: 20% auto auto 20%;
		width: 70%;
	}
	main.recruit #mv-rec .recruit-imgae_wrap {
	  width: 132%;
	  right: -16%;
	  clip-path: polygon(0 45%, 100% 0, 100% 100%, 0 100%);
	  overflow: hidden;
	  top: 15%;
	  transform: translateY(40px);
	}
	main.recruit #mv-rec .recruit-imgae_wrap .recruit-imgae_list {
	  display:flex;
	  justify-content:center;
	  align-items: flex-start;
	  flex-direction:column;
	  gap:0.7em;
	  transform: translateY(50%);
	  animation:loop_up 40s infinite linear;
	}

	main.recruit #mv-rec .recruit-imgae_wrap .recruit-image_box {
	  display:flex;
	  justify-content:center;
	  align-items:center;
	  flex-direction:column;
	  gap:0.7em;
	}
	main.recruit #mv-rec .recruit-imgae_wrap .recruit-image {
	  border-radius:0.7em;
	  overflow:hidden;
	  width: min(380px , 40vw);
	  aspect-ratio: 278 / 398;
	}
}

main.recruit #messa {
  padding-inline: 2%;
  margin-bottom: 8em;
}
main.recruit #messa .rec-ttl{
  font-size: 2.875rem;
}
main.recruit #messa .rec-ttl [lang="en"]{
  font-size: 1.875rem;
}
main.recruit #messa .messa-inner{
  max-width: 1700px;
  box-shadow: 0 0 40px rgba(255, 0, 0, 0.1);
  margin-inline: auto;
  border-radius: 1.5em;
  padding: 6em 6em 2em;
  display: flex;
  align-items: center;
  gap: 1em 4%;
  background: #fff;
}
main.recruit #messa .txt-area {
  text-align: left;
  width: 40%;
}
main.recruit #messa .txt-area .messa-lead{
  font-size: 1.125rem;
  line-height: 2.78;
  margin-bottom: 4em;
}
@media screen and (max-width:1600px) {
	main.recruit #messa .messa-inner{
	  padding: 4em 3% 2em;
	}
	main.recruit #messa .img-area {
	  width: 50%;
	}
	main.recruit #messa .txt-area {
	  width: 46%;
	}
}
@media screen and (max-width:1350px) {
	main.recruit #messa .messa-inner{
	  flex-direction: column;
	}
	main.recruit #messa .img-area {
	  width: 100%;
	  max-width: 803px;
	}
	main.recruit #messa .txt-area {
	  width: 100%;
	}
}
@media screen and (max-width:767px) {
	main.recruit #messa {
	  padding-inline: 15px;
	  margin-bottom: 4em;
	}
	main.recruit #messa .rec-ttl{
	  font-size: 1.75rem;
	}
	main.recruit #messa .rec-ttl [lang="en"]{
	  font-size: 1.125rem;
	}
	main.recruit #messa .messa-inner{
	  box-shadow: 0 0 10px rgba(255, 0, 0, 0.1);
	  margin-inline: auto;
	  border-radius: 1em;
	  padding: 2em 1.5em 2em;
	  gap: 1em 4%;
	}
	main.recruit #messa .txt-area {
	  text-align: left;
	  width: 100%;
	}
	main.recruit #messa .txt-area .messa-lead{
	  font-size: 1rem;
	  line-height: 1.8;
	  margin-bottom: 2em;
	}
}
main.recruit #inter {
  padding-inline: 2%;
  margin-bottom: 8em;
}
main.recruit #inter .inter-inner{
  max-width: 1700px;
  margin-inline: auto;
}

main.recruit #inter .rec-ttl {
  text-align: left;
}
main.recruit #inter .inter-list {
  display: flex;
  gap: 2em 4%;
  padding: 0;
  list-style: none;
}
main.recruit #inter .inter-list .inter-item {
  width: calc(100% - 12% / 4);
  text-align: left;
}
main.recruit #inter .inter-list .inter-item:nth-child(even){
  margin-top: 4em;
}
main.recruit #inter .inter-list .inter-item a.modal-multi {
  text-decoration-line: none;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .img-area {
  position: relative;
  z-index: 0;
  margin-bottom: 1em;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .img-area .inter-img {
  overflow: hidden;
  border-radius: 1em;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .img-area .inter-img img{
	transition:transform .3s ease;
	object-fit: cover;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .img-area .num{
  position: absolute;
  z-index: 1;
  margin: auto;
  inset: auto auto 0% 6%;
  font-size: 5rem;
  font-weight: 700;
  color: #e7270d;
}
main.recruit #inter .inter-list .inter-item a.modal-multi p.inter-lead {
  position: absolute;
  z-index: 1;
  margin: auto;
  inset: 4% 2% auto auto;
  writing-mode: vertical-rl;
  text-align: left;
  display: inline-block;
  color: #fff;
  font-size: 1.25rem;
  line-height: 2.5;
}
main.recruit #inter .inter-list .inter-item a.modal-multi p.inter-lead span {
    background: #000;
    padding: 0.5em 0.21em;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .txt-area {
  position: relative;
  z-index: 0;

}
main.recruit #inter .inter-list .inter-item a.modal-multi .txt-area hgroup p.inter-en {
  font-weight: 800;
  color: #e7270d;
  text-decoration: none !important;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .txt-area hgroup h3.inter-ttl {
  font-weight: 600;
  font-size: 2em;
  margin-bottom: 0.15em;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .txt-area p.inter-info {
  color: #979797;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button {
  width: 3.625em;
  height: 3.625em;
  border: none;
  border-radius: 50%;
  background: linear-gradient(145deg, #ff9638 0%, #ff4b2b 75%, #ff3828 100%);
  box-shadow: 0 0.25em 1em rgba(255, 75, 43, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  inset: 0 0 auto auto;
  padding: 0;
	transition: transform .3s ease;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button span {
  position: relative;
  width: 1.125em;
  height: 1.125em;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button span::before,
main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button span::after {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 0.0625em;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button span::before {
  width: 1.125em;
  height: 0.1875em;
  top: 0.46875em;
  left: 0;
}
main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button span::after {
  width: 0.1875em;
  height: 1.125em;
  top: 0;
  left: 0.46875em;
}
@media (hover: hover) {
	main.recruit #inter .inter-list .inter-item a.modal-multi:hover .plus-button{
		transform:scale(.95);	
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi:hover .img-area .inter-img img {
		transform:scale(1.05);
	}
}
.modal-content .modal_inner{
	border-radius: 1.5em;
	padding: 1em 1em 1em;
	background: #fff;
}
.modal-content .modal_inner .modal_whole::-webkit-scrollbar{
    height: 8px;
    width: 8px;
}
.modal-content .modal_inner .modal_whole::-webkit-scrollbar-track {
    border-radius: 10px;
    background: #ebebeb
}
.modal-content .modal_inner .modal_whole::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #e4322c
}
.modal-content .modal_inner .modal_cont{
	display: flex;
	gap: 1em 4%;
	position: static;
}
.modal-content .modal_inner .modal_cont .img_aera {
	width: 34%;
	position: sticky;
	top:0;
	align-self:flex-start;
}
.modal-content .modal_inner .modal_cont .img_aera img {
	border-radius: 0.75em;
}
.modal-content .modal_inner .modal_cont .txt-area {
	width: 60%;
}
.modal-content .modal_inner .modal_cont .txt-area .modal_detail {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 0.5em 2em;
	padding-bottom: 1em;
	margin-bottom: 2em;
	border-bottom: 2px solid;
	border-image: linear-gradient(to right, #e7270d 0% 30%, #ddd 30% 100%) 1;
}
.modal-content .modal_inner .modal_cont .txt-area .modal_detail p.modal-num.en {
	color: #e7270d;
	font-weight: 700;
	font-size: 5em;
	line-height: 0.9;
}
.modal-content .modal_inner .modal_cont .txt-area .modal_detail hgroup p.modal-en {
	color: #e7270d;
	font-weight: 600;
	line-height: 1;
}
.modal-content .modal_inner .modal_cont .txt-area .modal_detail hgroup h3.modal-ttl {
	font-size: 2rem;
	font-weight: 600;
}
.modal-content .modal_inner .modal_cont .txt-area .modal_detail p.modal-info {
	color: #979797;
}
.modal-content .modal_inner .modal_cont .txt-area p.modal_lead {
	font-size: 1.75rem;
	font-weight: 600;
	margin-bottom: 1em;
}
.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item {
	background: #f9f7f7;
	border: 1px solid #edd5d5;
	border-radius: 0.5em;
	margin-bottom: 1.5em;
	padding: 1.5em;
}
.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item .faq_question,
.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item .faq_answer{
	display: flex;
	gap: 0.5em;
	margin-bottom: 1em;
}
.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item span.faq_icon {
	border-radius: 50%;
	width: 32px;
	height: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.25rem;
	font-weight: 600;
	background: #e73d2c;
	border: 1px solid #e73d2c;
	color: #fff;
}
.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item .faq_question h4{
	width: calc(100% - 2em);
	font-size: 1.25rem;
	font-weight: 600;
}
.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item .faq_answer span.faq_icon {
    color: #e73d2c;
    background: #fff;
}
.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item .faq_answer .faq_text {
	width: calc(100% - 2em);
	line-height: 1.8;
}
.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item .faq_answer .faq_text p {
	margin-bottom: 1em;
}
@media screen and (max-width:1600px) {
	main.recruit #inter .inter-list {
	  gap: 2em 2%;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi p.inter-lead {
	  font-size: min(1.125rem, 1.4vw);
	}
}
@media screen and (max-width:767px) {
	main.recruit #inter {
	  padding-inline: 15px;
	  margin-bottom: 4em;
	}
	main.recruit #inter .inter-inner{
		
	}
	
	main.recruit #inter .rec-ttl {
	  text-align: center;
	}
	main.recruit #inter .inter-list {
		gap: 0 4%;
		padding: 0;
		flex-wrap: wrap;
	}
	main.recruit #inter .inter-list .inter-item {
	  width: 48%;
	}
	main.recruit #inter .inter-list .inter-item:nth-child(even){
	  margin-top: 2em;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi {
		
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .img-area {
	  margin-bottom: 0.5em;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .img-area .inter-img {
	  overflow: hidden;
	  border-radius: 1em;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .img-area .inter-img img{

	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .img-area .num{
	  inset: auto auto 0% 2%;
	  font-size: 2.5rem;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi p.inter-lead {
	  inset: 2% 2% auto auto;
	  font-size: 0.75rem;
	  line-height: 2;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi p.inter-lead span {
	    padding: 0.25em 0.1em;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .txt-area {
	
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .txt-area hgroup p.inter-en {
		font-size: 0.875rem;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .txt-area hgroup h3.inter-ttl {
	  font-size: 1.5em;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .txt-area p.inter-info {
	font-size: 0.875rem;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button {
	  width: 2em;
	  height: 2em;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button span {
		width:.8em;
		height:.9em;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button span::before,
	main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button span::after {
		border-radius:.05em;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button span::before {
		width:.9em;
		height:.15em;
		top:.375em;
		left:0;
	}
	main.recruit #inter .inter-list .inter-item a.modal-multi .plus-button span::after {
		width:.15em;
		height:.9em;
		top:0;
		left:.375em;
	}

	.modal-content .modal_inner{
		border-radius: 1em;
		padding: 1em 0.5em 1em;
	}
	.modal-content .modal_inner .modal_whole::-webkit-scrollbar{
	    height: 6px;
	    width: 6px;
	}
	.modal-content .modal_inner .modal_cont{
		flex-direction: column;
	}
	.modal-content .modal_inner .modal_cont .img_aera {
		width: 80%;
		position: relative;
		text-align: center;
		margin-inline: auto;
	}
	.modal-content .modal_inner .modal_cont .txt-area {
		width: 100%;
	}
	.modal-content .modal_inner .modal_cont .txt-area .modal_detail {
		gap: 0.25em 1em;
		padding-bottom: 1em;
		margin-bottom: 2em;
	}
	.modal-content .modal_inner .modal_cont .txt-area .modal_detail p.modal-num.en {
		font-size: 3.4em;
		/* width: 100%; */
	}
	.modal-content .modal_inner .modal_cont .txt-area .modal_detail hgroup h3.modal-ttl {
		font-size: 1.75rem;
		font-weight: 600;
	}
	.modal-content .modal_inner .modal_cont .txt-area p.modal_lead {
		font-size: 1.25rem;
	}
	.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item {
		margin-bottom: 1em;
		padding: 1.5em 0.5em 0em;
	}
	.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item .faq_question,
	.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item .faq_answer{
		display: flex;
		gap: 1em;
	}
	.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item .faq_question h4{
		font-size: 1.125rem;
	}
	.modal-content .modal_inner .modal_cont .txt-area .qa-area .faq_item .faq_answer .faq_text {
		line-height: 1.6;
	}
}







main.recruit .data-bg{
	background: url(../img/recruit/bg_data.jpg);
}
main.recruit #data {

  padding: 6em 2% 6em;
}
main.recruit #data .data-inner{
  max-width: 1520px;
  margin-inline: auto;
}
main.recruit #data .data-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3em 3%;
}
main.recruit #data .data-list .data-item {
  width:calc(94% / 3);
  filter: drop-shadow(0 0 1em rgba(255, 0, 0, 0.1));
}
@media screen and (max-width:767px) {
	main.recruit ul{
		list-style:none;
	}
	main.recruit .data-bg{
		background: url(../img/recruit/bg_data.jpg);
		background-position: 70% 100%;
	}
	main.recruit #data {
	  padding: 4em 15px;
	}
	main.recruit #data .data-list {
	  display: flex;
	  flex-wrap: wrap;
	  gap: 1em 2%;
	}
	main.recruit #data .data-list .data-item {
	  width: 100%;
	  padding-inline: 1em;
	}
}
main.recruit #welf {
	background: linear-gradient(to bottom, transparent 0% 50%, #f8f6f6 50% 100%);
  text-align: left;
  position: relative;
  z-index: 0;
  padding: 6em 0;
}
main.recruit #welf::before{
	position: absolute;
	z-index: -1;
	display: block;
	width: 94%;
	height: 100%;
	border-radius: 1.5em 0 0 1.5em;
	content: "";
	inset: 0 0 0 auto;
	background: linear-gradient(171deg, #ff9a23 0%, #e8331a 100%);
}
main.recruit #welf .welf-inner{
	max-width: calc(1530px + 6%);
	margin: auto;
	display: flex;
	align-items: center;
	padding-inline: 3% 2%;
}
main.recruit #welf .rec-ttl{
  width: 17%;
}
main.recruit #welf .welf-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2em 3%;
  width: 83%;
}
main.recruit #welf .welf-list .welf-item {
  width: calc(94% / 3);
  background: #fff;
  padding: 2em 1em 2em 1.5em;
  display: flex;
  gap: 2em;
  align-items: center;
  border-radius: 0.75em;
}
main.recruit #welf .welf-list .welf-item .welf-icon {
  background: #fdf3f3;
  border-radius: 50%;
  padding: 1.5em;

}
main.recruit #welf .welf-list .welf-item p.welf-txt {
  font-size: 1.375rem;
  font-weight: 600;
}
main.recruit #welf .welf-list .welf-item p.welf-txt span {
  font-size: 0.875rem;
}
main.recruit #welf .welf-list .welf-item p.welf-txt .welf-mini{
	font-size:1rem;
}
@media screen and (max-width: 1840px){
	main.recruit #welf::before{
		width: 98%;
	}
}
@media screen and (max-width: 1530px){
	main.recruit #welf .welf-list .welf-item .welf-icon {
	  padding: 1em;
	}
	main.recruit #welf .welf-list .welf-item .welf-icon img{
		width: 50px;
	}
	main.recruit #welf .welf-list .welf-item p.welf-txt {
	  font-size: 1.4vw;
	}
}
@media screen and (max-width: 1200px){
	main.recruit #welf .welf-inner{
		flex-direction: column;
		align-items: flex-start;
		padding-inline: 6% 2%;
	}
	main.recruit #welf .rec-ttl{
		width: 100%;
	}
	main.recruit #welf .welf-list {
	  width: 100%;
	}
	main.recruit #welf .welf-list {
	  width: 100%;
	}
}
@media screen and (max-width:767px) {
	main.recruit #welf {
	  padding: 4em 0;
	}
	main.recruit #welf::before{
		width: 100%;
		border-radius: 0;
	}
	main.recruit #welf .welf-inner{
		padding-inline: 15px;
	}
	main.recruit #welf .rec-ttl{
		text-align: center;
	}
	main.recruit #welf .welf-list {
	  gap: 1em 4%;
	}
	main.recruit #welf .welf-list .welf-item {
	  width: 48%;
	  padding: 1em;
	  display: flex;
	  flex-direction: column;
	  gap: 0.5em;
	}
	main.recruit #welf .welf-list .welf-item .welf-icon {
	  padding: 1.5em;
	}
	main.recruit #welf .welf-list .welf-item .welf-icon img{
	  width: 40px;
	}
	main.recruit #welf .welf-list .welf-item p.welf-txt {
	  font-size: 1rem;
	  text-align: center;
	}
	main.recruit #welf .welf-list .welf-item p.welf-txt .welf-mini{
		font-size:0.86rem;
	}
}
main.recruit #sys {
  background: linear-gradient(90deg, #f8f6f6 0% 92%, #ffffff 92% 100%);
  padding-block: 10em 6em;
}
main.recruit #sys .sys-title{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:1em;
	margin-bottom: 1em;
}
main.recruit #sys .sys-title .sys-txt{
	padding-top:3.5em;
}
main.recruit #sys .sys-title .sys-txt .sys-style02{
	font-size:1.5rem;
	font-weight:600;
	margin-bottom:0.75em;
}
main.recruit #sys .sys-title .sys-txt p{
	font-size:1.125rem;
	font-weight:500;
}
main.recruit #sys .rec-sys-wrap{
	position:relative;
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
}
main.recruit #sys .rec-sys-wrap .rec-sys-image{
	width:45%;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text{
	width:55%;
	display:flex;
	flex-direction:column;
	gap: 4.5em;
	padding-top: 11em;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	gap: 1.5em;
	position: relative;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .step01{
	--step-color:#2c49af;
	margin-left: -15em;
	order:4;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .step02{
	--step-color:#99b239;
	margin-left: -10em;
	order:3;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .step03{
	--step-color:#e16e1a;
	margin-left: -5em;
	order:2;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .step04{
	--step-color:#e74c3c;
	margin-left:0em;
	order:1;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item .rec-sys-area{
	flex:1;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item .sys-style{
	font-size:1.25rem;
	font-weight:bold;
	color:var(--step-color);
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item p{
	font-weight:500;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item ul{
	display:flex;
	justify-content:flex-start;
	align-items:center;
	gap: 0.25em 0.75em;
	flex-wrap: wrap;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item ul li{
	position:relative;
	font-size:1rem;
	padding-left:1.125em;
}
main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item ul li:before{
	content:"";
	width:1em;
	height:1em;
	background:var(--step-color);
	position:absolute;
	inset:0 auto 0 0;
	margin:auto;
	border-radius:50%;
}
@media screen and (max-width:1250px) {
	main.recruit #sys .rec-sys-wrap .rec-sys-text{
		padding-top:13%;
		gap:10%
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item .sys-style{
		font-size:min(1.6vw,1.25rem);
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item p,
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item ul li{
		font-size: min(1.3vw,1rem);
	}
}
@media screen and (max-width:1030px) {
	main.recruit #sys .rec-sys-wrap .rec-sys-text{
		padding-top:13%;
		gap:12%
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .step01{
		margin-left: -12em;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .step02{
		margin-left: -7em;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .step03{
		margin-left: -2em;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-icon{
		width:55px;
	}
}
@media screen and (max-width:767px) {
	main.recruit #sys {
		background: linear-gradient(90deg, #f8f6f6 0% 96%, #ffffff 96% 100%);
		padding-block: 4em;
	}
	main.recruit #sys .sys-title{
		flex-wrap:wrap;
		margin-bottom: 2em;
	}
	main.recruit #sys .sys-title .rec-ttl{
		margin-bottom:0;
	}
	main.recruit #sys .sys-title .sys-txt{
		padding-top: 0;
	}
	main.recruit #sys .sys-title .sys-txt .sys-style02{
		font-size: 1.29rem;
	}
	main.recruit #sys .sys-title .sys-txt p{
		font-size: 1rem;
	}
	main.recruit #sys .rec-sys-wrap{
		flex-wrap:wrap;
		flex-direction: column-reverse;
		gap: 3em;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-image{
		width: 41%;
		margin: 0;
		position: absolute;
		inset: auto 0 -10% auto;
		margin: auto;
		opacity: 0.6;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text{
		width:100%;
		gap: 2.5em;
		padding-top: 0;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item{
		gap: 1.5em;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .step01{
		margin-left:0em;
		order:1;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .step02{
		margin-left:0em;
		order:2;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .step03{
		margin-left:0em;
		order:3;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .step04{
		margin-left:0em;
		order:4;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-icon{
		width: 60px;
		position: absolute;
		inset: 0 auto auto 0;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item .rec-sys-area{
		display:flex;
		justify-content:flex-start;
		align-items:flex-start;
		flex-wrap:wrap;
		gap: 0;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item .rec-sys-area em{
		font-size: 1.71rem;
		font-weight:bold;
		color:var(--step-color);
		display: inline-block;
		margin-right: 0.5em;
		line-height: 1;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item .sys-style{
		font-size:1.29rem;
		margin-bottom:0.5em;
		margin-left: 4.5em;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item p,
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item ul li{
		font-size:1rem;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item p{
		margin-bottom:1em;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item ul{
		flex-wrap:wrap;
	}
	main.recruit #sys .rec-sys-wrap .rec-sys-text .rec-sys-item ul li{
		padding-left:1.25em;
		width:100%;
	}
}
main.recruit #info{
  padding-block: 6em 8em;
}
main.recruit #info .rec-ttl {
  text-align: center;
}
main.recruit #info .tab_change {
	position:relative;
	z-index:20;
}
main.recruit #info .tab_change>input[type="radio"] {
	display:none;
}
main.recruit #info .tab_change .box_cell.tab_control {
	display:flex;
	margin-bottom: 3em;
}
main.recruit #info .tab_change .box_cell.tab_control label {
	flex:1;
	background:#e7e7e7;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:1em;
	border-radius:1em 1em 0 0;
	transition:background .4s,color .4s,padding .4s;
	font-size:1.125rem;
	font-weight:600;
	cursor:pointer;
}
main.recruit #info .tab_change:has(> #tab01:checked) label[for="tab01"],
main.recruit #info .tab_change:has(> #tab02:checked) label[for="tab02"] {
	background:#e7270d;
	color:#fff;
}
main.recruit #info .tab_change .tab_contents {
	display:none;
}
main.recruit #info .tab_change:has(> #tab01:checked) .tab_contents.tab01,
main.recruit #info .tab_change:has(> #tab02:checked) .tab_contents.tab02 {
	display:block;
}
@media (any-hover:hover) {
	main.recruit #info .tab_change .box_cell.tab_control label:hover {
		background:#e7270d;
		color:#fff;
	}
}
main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr:first-child th {
	border-top: 1px solid #e7270d;
}
main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr th {
	padding: 2em;
	min-width: 260px;
	border-bottom: 1px solid #e7270d;
	font-size: 1rem;
	color: #656565;
}
main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr td {
	padding: 2em;
	font-size: 1rem;
}
main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr:first-child td{
	border-top: 1px solid #c6c6c6;
}
main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr td * + p{
	margin-top: 1em;
}
main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr td p a{
	text-decoration-color:var(--fontcolor);
	color:var(--key);
}
@media (hover: hover) and (pointer: fine),
(hover: none) and (pointer: coarse) {
	main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr td p a:hover{
		color:var(--fontcolor);
		text-decoration-color:transparent;
	}
}
@media screen and (max-width:767px) {
	main.recruit #info{
	  padding-block: 4em 4em;
	}
	main.recruit #info .tab_change .box_cell.tab_control {
		margin-bottom: 1em;
	}
	main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr:first-child th {
		border-top: 1px solid #e7270d;
	}
	main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr{
		border-bottom: none;
	}
	main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr th {
		padding: 1em;
		border-top: 1px solid #e7270d;
		border-bottom: 1px solid #c6c6c6;
	}
	main.recruit #info .tab_change .tab_contents .table_wrap table tbody tr td {
		padding: 1em;
	}
}




main.recruit #entry {
	padding-inline: 2%;
}
main.recruit #entry .entry-inner{
	max-width: 1700px;
	margin-inline: auto;
	background: #e7270d;
	border-radius: 1em;
	padding: 6em 2em;
	margin-bottom: 8em;
} 
main.recruit #entry .entry-area .entry-box {
	display: flex;
	justify-content: center;
	gap: 1em 4%;
}
main.recruit #entry .entry-area .entry-box .entry_btn{
	width: 100%;
	display: block;
	max-width: 475px;
}
main.recruit #entry .entry-area .entry-box .entry_btn a {
	display:flex;
	justify-content:center;
	align-items:center;
	width: 100%;
	min-height:130px;
	font-size:1.5rem;
	font-weight:500;
	line-height:1.2;
	background:#fff;
	border:1px solid #fff;
	border-radius:5px;
	padding: 1em 3em;
	transition:var(--hover);
	pointer-events:auto;
	text-decoration:none !important;
	position:relative;
	z-index:0;
	gap: 2%;
}
main.recruit #entry .entry-area .entry-box .entry_btn a::before {
	content:"";
	display:block;
	width:2.5em;
	height:2.5em;
	background:#e7270d;
	border:1px solid #e7270d;
	box-sizing:border-box;
	position:absolute;
	z-index:1;
	margin:auto;
	border-radius:50%;
	inset:0 4% 0 auto;
	transition:backgroun var(--hover);
}
main.recruit #entry .entry-area .entry-box .entry_btn a::after {
	content:"";
	display:inline-block;
	min-width:1em;
	min-height:2em;
	background:#fff;
	mask:url(../img/common/icon-arrow.svg);
	mask-size:.875em;
	mask-repeat:no-repeat;
	mask-position:right center;
	transition:var(--hover);
	position:absolute;
	z-index:10;
	inset:0 8% 0 auto;
}
main.recruit #entry .entry-area .entry-box .entry_btn a:hover::before {
	background:#fff;
}
main.recruit #entry .entry-area .entry-box .entry_btn a:hover::after {
	background:#e7270d;
}
main.recruit #entry .entry-area .entry-box .entry_btn.btn02 a {
	background:#06c755;
	color:#fff;
}
main.recruit #entry .entry-area .entry-box .entry_btn.btn02 a span{
	padding-right: 1em;
}
main.recruit #entry .entry-area .entry-box .entry_btn.btn02 a::before {
	background:#fff;
	border-color:#fff;
}
main.recruit #entry .entry-area .entry-box .entry_btn.btn02 a::after {
	background:#06c755;
}
main.recruit #entry .entry-area .entry-box .entry_btn.btn02 a:hover::before {
	background:#06c755;
}
main.recruit #entry .entry-area .entry-box .entry_btn.btn02 a:hover::after {
	background:#fff;
}
@media screen and (max-width:767px) {
	main.recruit #entry {
		padding-inline: 15px;
	}
	main.recruit #entry .entry-inner{
		border-radius: 0.75em;
		padding: 2em 1.5em;
		margin-bottom: 4em;
	} 
	main.recruit #entry .entry-area .entry-box {
		flex-direction: column;
	}
	main.recruit #entry .entry-area .entry-box .entry_btn a {
		min-height: 80px;
		font-size:1.25rem;
	}	
	main.recruit #entry .entry-area .entry-box .entry_btn a img{
		width: 20px;
	}	
}


body:has(#main-content.recruit) #footer{
	background: #050d2b;
	margin-top: 0;
}
body:has(#main-content.recruit) #footer::before{
	content: none;
}
body:has(#main-content.recruit) a.pagetop{
	box-shadow:1px 1px 10px rgb(231 39 13);
}
body:has(#main-content.recruit) a.pagetop img{
	filter: drop-shadow(1px 1px 4px  rgb(231 39 13));
}
body:has(#main-content.recruit) a.pagetop:hover{
	background: #e7270d;
}