@charset "UTF-8";

:root{
  --blue:#1160A4;
  --light-gray:#CCD6DD;
  --text:#333;
}
.serviceContents section h1{
  font-size: 2.6rem;
  margin-bottom: 50px;
  text-align: center;
}
.serviceContents section h1 span{
  margin-bottom: 20px;
  display: inline-block;
}
.serviceContents section h2{
  border-bottom: none;
  font-weight: 600;
}

/* SEC01
------------------------------------------------------------*/
/* =============================
  HERO
============================= */
.hero{
  background:url("../../images/service/reffr-job.jpeg") center/cover no-repeat;
  color:#fff;
  text-align:center;
  position:relative;
  margin-top: 90px;
}
.career-coaching .hero{
  background:url("../../images/service/career-coaching.jpeg") center/cover no-repeat;
}
.consulting-rpo .hero{
  background:url("../../images/service/consulting-rpo.jpeg") center/cover no-repeat;
}
.sales-consulting .hero{
  background:url("../../images/service/sales-consulting.jpeg") center/cover no-repeat;
}
.executive-search .hero{
  background:url("../../images/service/executive-search.jpeg") center/cover no-repeat;
}
.recruitment-marketing .hero{
  background:url("../../images/service/recruitment-marketing.jpeg") center/cover no-repeat;
}
.ai-consulting .hero{
  background:url("../../images/service/ai-consulting.jpeg") center/cover no-repeat;
}
.venture-investment .hero{
  background:url("../../images/service/venture-investment.jpeg") center/cover no-repeat;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.55);
}
.hero-inner{
  position:relative;
  z-index:2;
  max-width:900px;
  margin:0 auto;
}
.hero .catch{
  font-weight: bold;
  font-size: 130%;
  margin-bottom: 10px;
  text-shadow: 0px 0px 16px rgba(44, 50, 67, 1), 0px 0px 16px rgba(44, 50, 67, 1);
  color: #FDE0D1;
}

.serviceContents .hero .hero-inner img{
  width: 70px;
}
.serviceContents .hero .hero-inner h1{
  font-size:48px;
  letter-spacing:2px;
  color: #fff;
  margin-bottom: 0px;
}

.serviceContents .hero .hero-inner h2{
  font-size:28px;
  margin:10px 0 20px;
}

/* =============================
  ASSIGNMENT
============================= */
.assignment{
  background:var(--light-gray);
  text-align:center;
}

.assignment h2{
  font-size:28px;
  margin-bottom:50px;
  color:var(--blue);
}

.assignment-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;
}

.assignment-box{
  background:#fff;
  padding:30px 20px;
  border-top:6px solid var(--blue);
  box-shadow:0 4px 12px rgba(0,0,0,0.05);
}

.assignment-box span{
  font-size:2rem;
  color:var(--blue);
  font-weight:bold;
}

.assignment-box span span{
  font-size:1.4rem;
}

.assignment-box h3{
  font-size:18px;
  margin: 0 0 5px;
}

.assignment-box p{
  font-size:14px;
}

/* =============================
  SOLUTION
============================= */
.solution{
  background:var(--blue);
  color:#fff;
  text-align:center;
}
.serviceContents .solution h1{
  color: #fff;
}
.solution h2{
  font-size:26px;
  margin-bottom:20px;
  color: #FDE0D1;
}

.solution p{
  max-width:1000px;
  margin:0 auto;
}

/* =============================
  SERVICE OVERVIEW
============================= */
.service h2{
  text-align:center;
  font-size: 3rem;
  margin-bottom: 50px;
  color:var(--blue);
}

.service-item{
  display:flex;
  gap:40px;
  margin-bottom:60px;
  align-items:center;
}

.service-item:nth-child(even){
  flex-direction:row-reverse;
}

.service-img{
  flex:1;
  min-height:220px;
  background:#ddd;
  background-size:cover;
  background-position:center;
}

.service-content{
  flex:1;
}

.service-content span{
  font-size: 3rem;
  color: #CCD6DD;
  font-weight: bold;
  line-height: 1.2;
}

.service-content h3{
  color:var(--blue);
  margin: 0 0 5px;
  font-size: 1.4rem;
}

/* =============================
  PARTNERSHIP
============================= */
.partnership{
  background:#ffefe8;
}

.partnership h2{
  text-align:center;
  color:var(--blue);
  font-size:26px;
  margin-bottom:30px;
  color: #141414;
}

.partnership p{
  max-width:900px;
  margin:0 auto 20px;
  font-size: 1rem;
}

.logo-area img{
  margin:40px auto 0px;
  width: 150px;
  display: block;
}

/* =============================
  RESPONSIVE
============================= */
@media(max-width:768px){
  .service-item{
    flex-direction:column !important;
    gap: 10px;
    margin-bottom: 40px;
  }
  .service-img{
    height: 180px;
    width: 100%;
  }
  .serviceContents section h1{
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
  .serviceContents section h1 span{
    margin-bottom: 10px;
  }
  .hero{
    margin-top: 68px;
  }
  .serviceContents .hero .hero-inner h1{
    font-size: 2.8rem;
  }
  .serviceContents .hero .hero-inner h2{
    font-size: 1.1rem;
  }
}

/* =============================
  ANIMATION
============================= */

.fade-up{
  opacity:0;
  transform:translateY(40px);
  transition: all 0.8s ease;
}

.fade-left{
  opacity:0;
  transform:translateX(-60px);
  transition: all 0.8s ease;
}

.fade-right{
  opacity:0;
  transform:translateX(60px);
  transition: all 0.8s ease;
}

.is-visible{
  opacity:1;
  transform:translate(0,0);
}

/* 少し遅延させる */
.delay-1{ transition-delay:0.2s; }
.delay-2{ transition-delay:0.4s; }
.delay-3{ transition-delay:0.6s; }
