@charset "utf-8";
/* main
-----------------------------------*/
#top .top-thumnail {
position: relative;
	width:100%;
}

#top .scroll-infinity__item {
margin-top:0;
}
#top .top-thumnail .copy {
 position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width:85%;
	max-width: 1300px;
	z-index: 99;
}
#top .scroll-infinity .scroll-infinity__list--left{
	position: absolute;
	bottom:30px;
	z-index: 99;
}
#top .scroll-infinity .scroll-infinity__list--right{
	position: absolute;
	top:30px;
	z-index: 99;
}
#top .top-thumnail .copy img {
	width:100%;
}
.blur-box{
	  opacity: 0;
 z-index: 500;
  animation-duration: 1.3s;
  animation-fill-mode:forwards;
}

.loaded .blur-box {
  animation: blur 1.3s forwards;
  opacity: 1;
}
@keyframes blur{
  from {
    filter: blur(50px);
	  transform: scale(0.8);
  }

  to {
    filter: blur(0);
    transform: scale(1);
  }
}
.text_05 {
  letter-spacing: 2px;
  text-align: center;
}

.text_05 .letter {
  display: inline-block;

}

.slider {
  margin-inline: auto;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9; /* ←これ超重要 */

  z-index: 1;
}
.slick-img {
  width: 100%;
  height: 100%;
}

.slick-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.25); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}
#top .thumnail .img-box {
  width: 100%;
  aspect-ratio: 16 / 9;
}
#top .read .text_05 {
 font-size: clamp(
  36px,
  calc(36px + (92 - 36) * ((100vw - 375px) / (1440 - 375))),
  92px
);
  font-weight: 900;
  padding: 120px 0 20px 0;
  text-align: center;
}
#top .read .contents {
  padding: 0 0 120px;
	text-align: center;
}
#top .read .contents p{
font-size: 2.0rem;
	line-height: 2.0;
}
#top .company .pc {
  position: relative;
  color: #fff;
  padding-bottom: 300px;
}
#top .company .pc .bg {
  position: absolute;
  z-index: -900;
  width: 80%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: url("../image/index/top_company_bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
}
#top .company .pc .contents {
  padding-bottom: 0;
}
#top .company .pc .image-box .img-box {
  position: absolute;
  width: 45vw;
  height: 350px;
  right: 0;
  top: 120px;
}
#top .company .pc p {
  width: 51%;
  margin-bottom: 70px;
}
#top .company .pc .flexbox {
  position: absolute;
  width: 100%;
	max-width: 1200px;
  margin: 0 auto;
  bottom: 0;
	 left: 50%;
  transform: translateX(-50%);
	gap:20px;
}
#top .company .pc .flexbox .img-box {
  width: 32.5vw;
  height: 280px;
}
#top .company .company-link{
  background-size: cover;
  background-repeat: no-repeat;
	background-attachment: scroll;
	padding:40px;
	color:#fff!important;
	
}
#top .company .company-link h3{
	font-size:clamp(18px, 2.5vw, 32px);
  font-weight: 700;
	text-align: center;
	color:#fff;
}
#top .company .company-link .basic-button a{
  border: 2px solid #fff;
	color:#fff;
	  padding: 10px 0;
}
#top .company .company-link .basic-button a::after{
  
	  background: #fff;
}
.basic-button a::before {

  background: #262262;

}
#top .company .company-link span{

	color:#fff;
	display: block;
	margin-bottom: 20px;
}
#top .company .company-link.vision{
	  background-image: url("../image/index/top_company_button01.jpg");

}
#top .company .company-link.talent{
	  background-image: url("../image/index/top_company_button02.jpg");

}
#top .company .company-link.figure{
	  background-image: url("../image/index/top_company_button03.jpg");
}
#top .works {
  background-image: url("../image/index/top_works_bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
}
#top .works li {
  margin-top: 70px;
  background: #fff;
  overflow: hidden; /* ←これ大事（はみ出し防止） */
  width: 49%;
  padding: 50px;
  border: solid 2px #1f2d3a;
  box-shadow: 0 0 8px gray;
}
#top .works li .img-box {
  height: 325px;
  margin: -50px -50px 0;
  display: block; /* ←下の隙間消す */
}
#top .works li .text-box {
  margin-top: 20px;
}
#top .works li .text-box h3 {
  text-align: center;
  font-size: clamp(
  28px,
  calc(28px + (45 - 28) * ((100vw - 375px) / (1440 - 375))),
  45px
);
  font-weight: 900;
  line-height: 1;
  margin-bottom: 20px;
}
#top .works li .text-box p {
  margin-bottom: 30px;
}
#top .interview {
  background-image: url("../image/index/top_interview_bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
}
#top .interview p {
  margin-bottom: 50px;
}
#top .interview .member:nth-child(even) {
  margin-top: 50px;
}
#top .interview .flexbox a {
  width: 24%;
  height: 400px;
}
#top .interview .flexbox a .img-box {
  width: 100%;
  height: 400px;
}
#top .benefits {
  position: relative;
}
#top .benefits .pc .img-box {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 50%;
}
#top .benefits .text-box {
  width: 45%;
}
#top .benefits p {
  margin-bottom: 80px;
}
 .entry {
  position: relative;
  overflow: hidden;

}
.entry::before {
  content: "";
  position: absolute;
  inset: 0;
	  background-image: url("../image/index/top_entry_bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;

   transform: scale(1);
  transition: transform 0.1s linear;
  z-index: 0;
  will-change: transform;
}


/* 発火用クラス */
.entry.is-zoom::before {
  animation: zoomIn 1.5s ease-out forwards;
}

@keyframes zoomIn {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}
.entry .contents {
  position: relative;
  z-index: 1;
	  color: #fff!important;
}
.entry h3 {
  font-size: 4.9rem;
  margin-bottom: 50px;
}
.entry p {
  margin-bottom: 80px;
font-size: 2.0rem;
	line-height: 2.0;
}
.entry .flexbox {
  width: 100%;
}
 .entry .basic-button {
  width: 49%;
}
 .entry .basic-button a {
  color: #fff;
  width: 100%;
  font-size: 4.2rem;
  background: transparent;
  padding: 50px 0;
  border: 2px solid #fff;
}
.entry .basic-button a::before {
  background: #27aae1;
  border-color: #27aae1;
}
.entry .basic-button a:hover {
  color: #fff;
}
#top .news .list-news li {
  padding: 40px 0;
  border-bottom: 1px solid #999999;
}
#top .news .flexbox {
  justify-content: flex-start;
}
#top .news .flexbox .title {
  margin-left: 50px;
}

@media screen and (max-width: 1040px) {
	#top .read .contents {
width:100%;
}
	

	
	#top .works li {
  padding: 30px;

}
	#top .works .basic-button a{
		font-size:2.4rem;
	}
#top .works li .img-box {
  height: 250px;
 
}		#top .benefits h2 img {
height:90px;
}
	#top .benefits .pc{
		display: none;
		
	}
	#top .benefits .sp{
		display:block!important;
		
	}
	#top .interview .sp .member:nth-child(even) {
    margin-top: 25px;
  }
  #top .benefits .sp .img-box {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 350px;
    margin-bottom: 25px;
  }
  #top .benefits .text-box {
    width: 100%;
  }
  #top .benefits p {
    margin-bottom: 25px;
  }
  #top .benefits .basic-button a {
    width: 80%;
    font-size: 2.1rem;
  }
	 .entry .basic-button a {
  padding: 25px 0;

}
	#top .company .sp {
		
		display:block!important;
		
	}
		#top .company .pc {
		
		display:none!important;
		
	}
		#top .company .sp .flexbox {
display:block!important; 
  }
	#top .company .sp {
    background-color: #262262;
    color: #fff;
  }
  #top .company .sp p {
    margin-bottom: 25px;
  }
  #top .company .sp .image-box {
    position: relative;
    width: 92vw;

	   object-fit: cover;
    right: 0;
    margin-bottom: 25px;
  }
  #top .company .sp .image-box img {
width:100%;
    margin-bottom: 15px;
  }
  #top .company .sp .flexbox .img-box {
    width: 100%;
    height: 115px;
    margin-bottom: 15px;
  }
  #top .company .sp .flexbox a:last-child .img-box {
    margin-bottom: 0px;
  }
	#top .company .company-link{
	padding:15px;
	
	
}

	#top .company .company-link h3{
		margin-bottom:5px;
	}
#top .company .company-link span{

	color:#fff;
	display: block;
	margin-bottom: 10px;
}
	#top .company .company-link span{
text-align: center;
}
}



@media screen and (max-width: 767px) {
 .slider {
    aspect-ratio: 375 / 425; /* ←スマホ用 */
  }
#top .top-thumnail .copy {
	width:95%;
}
#top .scroll-infinity .scroll-infinity__list--left{

	bottom:15px;

}
#top .scroll-infinity .scroll-infinity__list--right{

	top:15px;

}
#top .top-thumnail .copy img {
	width:100%;
}
  #top .thumnail .img-box {
    width: 100%;
    height: 425px;
  }
  #top .read {
    width: 80%;
    min-width: 315px;
    margin: 0 auto;
    padding: 60px 0 60px 0;
  }
  #top .read .text_05{

    padding: 0;
    text-align: left;
	  		margin-bottom:30px;
	  line-height: 1.2;
  }
  #top .read .contents {
    padding-bottom: 0;
  }
	#top .read .contents p{
font-size: 1.8rem;
	line-height: 1.5;
		text-align: left;

}
  
  #top .works li {
    margin-top: 35px;
    width: 100%;
    padding: 25px;
    border: solid 2px #1f2d3a;
    box-shadow: 0 0 4px gray;
  }
  #top .works li .img-box {
    height: 200px;
    margin: -25px -25px 0;
  }
  #top .works li .text-box {
    margin-top: 15px;
  }
  #top .works li .text-box h3 {

    font-weight: 900;
    margin-bottom: 15px;
  }
  #top .works li .text-box p {
    margin-bottom: 15px;
  }
  #top .works li .basic-button a {
    font-size: 2.1rem;
    padding: 15px 0;
  }
  #top .interview .sp {
    display: flex;
    flex-direction: column;
    align-items: center; /* 各行を中央に */
    gap: 20px;
  }
  #top .interview .sp-flexbox {
    display: flex;
    justify-content: space-between;
    width: 257px;
  }
  #top .interview .sp-flexbox .member {
    width: 48%;
    height: 200px;
  }
  #top .interview .sp-flexbox .member .img-box {
    width: 100%;
    height: 100%;
  }
    #top .benefits .sp .img-box {
    
    height: 250px;
  }
  .entry h3 {
    font-size: 2.4rem;
    margin-bottom: 25px;
  }
  .entry p {
    margin-bottom: 40px;
	  font-size: 1.6rem;
	line-height: 1.5;
  }
  .entry .basic-button {
    width: 100%;
    margin-bottom: 15px;
  }
  .entry .basic-button a {
    font-size: 2.1rem;
    padding: 15px 0;
  }
  .entry .basic-button:last-child {
    margin-bottom: 0px;
  }
#top.news .list-news li {
    padding: 10px 0;
  }
  #top .news .flexbox .title {
    margin-left: 0;
  }
}