#fv {
  padding-top: var(--h-header);
}
#fv .sec-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  max-width: 1312px;
  height: 640px;
  margin: 0 auto;
  padding: 0 6.4rem 65px;
  border-radius: 24px;
  overflow: hidden; 
}
#fv .sec-inner::before {
  content: "";
/*   position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 58.59%;
  background: linear-gradient(to bottom, #17060E00, #17060E);
  opacity: .8;
  z-index: -1; */
}
#fv .sec-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  color: #fff;
  text-align: center;
}
#fv .sec-img .item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  
  /* リロード直後の跳ね上がりを防ぐため1.1倍に */
  transform: scale(1.1);
}

/* ========================================================
   ★ 追加：Slick起動前に2枚目がチラ見えするのを防ぐ設定
   ======================================================== */
/* まだSlickが起動していない状態（.slick-initialized がない時）は、
   最初の1枚目（:first-child）だけを残して、2枚目以降を完全に非表示にします */
#fv .sec-img:not(.slick-initialized) .item:not(:first-child) {
  display: none !important;
}
/* ======================================================== */

#fv .sec-img .title {
  z-index: 2;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.05em;
}
#fv .sec-img .text {
  z-index: 2;
  margin-top: 40px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.77;
  letter-spacing: 0.05em;
}
#fv .sec-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  
  /* 画像そのものの初期状態も1.1倍にして絶対に1倍を経由させない */
  transform: scale(1.1);
}
#fv .sec-img .slick-list,
#fv .sec-img .slick-track {
  height: 100%;
}

/* ========================================================
   ★ アニメーション制御（元の動きを100%維持）
   ======================================================== */
#fv .sec-img .slick-slide {
  transform: scale(1.1);
  transition: transform 2s ease-in-out, opacity 2s ease-in-out !important;
  opacity: 1;
}
#fv .sec-img .slick-slide.hide {
  transform: scale(1.1);
  opacity: 0 !important;
  z-index: 2 !important;
}
#fv .sec-img .slick-slide.next {
  transform: scale(1.1);
  opacity: .8 !important;
  z-index: 1 !important;
}
#fv .sec-img .slick-slide.active {
  transform: scale(1);
  opacity: 1 !important;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #fv .sec-inner {
    height: 560px;
    padding: 0 30px 45px;
  }
  #fv .sec-img .title {
    font-size: 40px;
  }
  #fv .sec-img .text {
    margin-top: 35px;
/*     font-size: 16px; */
	font-size: 12px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #fv .sec-inner {
    height: 480px;
    padding: 0 20px 30px;
  }
  #fv .sec-img .title {
    font-size: 7vw;
  }
  #fv .sec-img .text {
    margin-top: 30px;
  }
}

/* MISSION */
#_mission .sec-inner{
  padding-top: 150px;
  padding-bottom: 150px;
}
#_mission .sec-title{
  text-align: center;
  margin-bottom: 150px;
}
#_mission .sec-box{
  display: flex;
  align-items: center;
  gap: 11.8rem;
  margin-bottom: 180px;
}
#_mission .sec-box .title{
  font-size: 40px;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--c-accent);
  margin-bottom: 31px;
}
#_mission .sec-box .text{
  font-size: 20px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 2;
}
#_mission .sec-box .image{
  max-width: 466px;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #_mission .sec-inner{
    padding-top: 72px;
    padding-bottom: 90px;
  }
  #_mission .sec-title{
    margin-bottom: 42px;
  }
  #_mission .sec-box{
    gap: 20px;
    margin-bottom: 35px;
  }
  #_mission .sec-box .title{
    font-size: 35px;
    margin-bottom: 35px;
  }
  #_mission .sec-box .text{
    font-size: 18px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #_mission .sec-inner{
    padding-top: 48px;
    padding-bottom: 60px;
  }
  #_mission .sec-title{
    margin-bottom: 36px;
  }
  #_mission .sec-box{
    flex-direction: column;
    margin-bottom: 30px;
	text-align: center;
  }
  #_mission .sec-box .title{
    font-size: 30px;
    margin-bottom: 30px;
  }
  #_mission .sec-box .text{
/*     font-size: 16px; */
	font-size: 13px;
  }
}

/* SERVICE */
#_service{
  background: #FAFAFC;
  overflow: hidden;
}
#_service .sec-inner{
  padding-top: 120px;
  padding-bottom: 120px;
}
#_service .sec-title{
  margin-bottom: 48px;
  text-align: center;
}
#_service .sec-list{
  margin-bottom: 48px;
}
#_service .sec-list:not(.slick-initialized) {
  display: none;
}
#_service .sec-list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: calc(100% + var(--peek-w, 0px));
  width: 200vw;
  background: #FAFAFC;
  z-index: 1;
  pointer-events: none;
}
#_service .sec-list.is-initial .slick-prev {
  visibility: hidden;
}
#_service .sec-list .slick-slide {
  margin-right: 32px;
}
#_service .sec-list .item {
  width: 420px;
  background: #fff;
  border-radius: 24px;
  padding: 28px 0 32px;
}
#_service .sec-list .service {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .05em;
  margin-bottom: 22px;
  padding: 0 20px;
}
#_service .sec-list .num {
  font-size: 24px;
}
#_service .sec-list .image {
  aspect-ratio: 420/233;
  margin-bottom: 18px;
}
#_service .sec-list .title {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .05em;
  margin-bottom: .8em;
  padding: 0 20px;
}
#_service .sec-list .text {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.5;
  padding: 0 20px;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #_service .sec-inner{
    padding-top: 90px;
    padding-bottom: 90px;
  }
  #_service .sec-title{
    margin-bottom: 42px;
  }
  #_service .sec-list{
    margin-bottom: 42px;
  }
  #_service .sec-list .slick-slide {
    margin-right: 20px;
  }
  #_service .sec-list .item {
    max-width: 370px;
    width: calc(100vw - 40px);
    padding: 21px 0 24px;
  }
  #_service .sec-list .service {
    font-size: 16px;
    margin-bottom: 16px;
  }
  #_service .sec-list .num {
    font-size: 21px;
  }
  #_service .sec-list .title {
    font-size: 21px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #_service .sec-inner{
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #_service .sec-title{
    margin-bottom: 36px;
  }
  #_service .sec-list{
    margin-bottom: 36px;
  }
  #_service .sec-list .slick-slide {
    margin-right: 12px;
  }
  #_service .sec-list .item {
    max-width: 320px;
    padding: 21px 0 24px;
  }
  #_service .sec-list .text {
    font-size: 15px;
  }
}

/* ACHIEVEMENT */
#_achievement{
  background: #F5F5F7;
  overflow: hidden;
}
#_achievement .sec-inner{
  padding-top: 120px;
  padding-bottom: 120px;
}
#_achievement .sec-title{
  text-align: center;
  margin-bottom: 48px;
}
#_achievement .sec-list{
  display: flex;
}
#_achievement .sec-list .item {
  width: 210px;
  margin: 0 23px;
}
#_achievement .sec-list + .sec-list {
  margin-top: 33px;
  /* transform: translateX(116px); */
}
/* TAB */
@media screen and (max-width: 1024px) {
  #_achievement .sec-inner{
    padding-top: 90px;
    padding-bottom: 90px;
  }
  #_achievement .sec-title{
    margin-bottom: 42px;
  }
  #_achievement .sec-list .item {
    width: 185px;
    margin: 0 20px;
  }
  #_achievement .sec-list + .sec-list {
    margin-top: 29px;
    /* transform: translateX(112px); */
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #_achievement .sec-inner{
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #_achievement .sec-title{
    margin-bottom: 36px;
  }
  #_achievement .sec-list .item {
    width: 160px;
    margin: 0 17px;
  }
  #_achievement .sec-list + .sec-list {
    margin-top: 25px;
    /* transform: translateX(97px); */
  }
}

/* NEWS */
#_news .sec-inner{
  padding-top: 120px;
  padding-bottom: 120px;
}
#_news .sec-title{
  margin-bottom: 48px;
  text-align: center;
}
#_news .sec-category{
  margin-bottom: 45px;
}
#_news .sec-list{
  margin-bottom: 94px;
}
#_news .sec-list .item{
  display: block;
  transition: background-color .3s;
  padding: 20px 0;
  border-bottom: 1px solid #F3F3F3;
}
#_news .sec-list .item:nth-of-type(1){
  border-top: 1px solid #F3F3F3;
}
#_news .sec-list .item:hover{
  background-color: #F3F3F3;
}
#_news .sec-list .date{
  font-size: 16px;
  font-weight: 600;
  font-family: var(--ff-en);
  letter-spacing: .05em;
  color: #6B7280;
  margin-right: 6rem;
}
#_news .sec-list .category{
  font-size: 12px;
  color:  var(--c-accent);
  line-height: 1;
  border: 1px solid var(--c-accent);
  display: inline-block;
  border-radius: 100px;
  padding: 3px 8px 4px;
}
#_news .sec-list .title{
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .05em;
  margin-top: 8px;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #_news .sec-inner{
    padding-top: 90px;
    padding-bottom: 90px;
  }
  #_news .sec-title{
    margin-bottom: 42px;
  }
  #_news .sec-category{
    margin-bottom: 33px;
  }
  #_news .sec-list{
    margin-bottom: 70px;
  }
  #_news .sec-list .date{
    font-size: 14px;
    margin-right: 30px;
  }
  #_news .sec-list .category{
    font-size: 11px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #_news .sec-inner{
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #_news .sec-title{
    margin-bottom: 36px;
  }
  #_news .sec-category{
    margin-bottom: 22px;
  }
  #_news .sec-list{
    margin-bottom: 47px;
  }
  #_news .sec-list .item{
    padding: 15px 0;
  }
  #_news .sec-list .date{
    font-size: 12px;
    margin-right: 20px;
  }
  #_news .sec-list .category{
    font-size: 10px;
  }
}

/* BLOG */
#_blog{
  background: #F5F5F7;
}
#_blog .sec-inner{
  padding-top: 120px;
  padding-bottom: 120px;
}
#_blog .sec-title{
  margin-bottom: 48px;
  text-align: center;
}
#_blog .sec-category{
  margin-bottom: 45px;
}
#_blog .sec-list{
  display: flex;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-bottom: 48px;
}
#_blog .sec-list .item{
  /* max-width: 270px; */
  width: 100%;
  background: #fff;
  padding-bottom: 21px;
  border-radius: 16px;
}
#_blog .sec-list .image{
  aspect-ratio: 270/180;
  padding-top: 15px;
}
#_blog .sec-list .image img{
/*   border-radius: 16px 16px 0 0; */
	object-fit: contain;
	height: fit-content;
}
#_blog .sec-list .top{
  margin: 12px 0 8px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 0 8px;
}
#_blog .sec-list .date{
  font-size: 14px;
  font-weight: 600;
  font-family: var(--ff-en);
  color: #6B7280;
}
#_blog .sec-list .cat{
  font-size: 10px;
  color: var(--c-accent);
  line-height: 1.8;
  border-radius: 100px;
  border: 1px solid var(--c-accent);
  padding: 0 8px;
}
#_blog .sec-list .text{
  padding: 0 12px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 1.21;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #_blog .sec-inner{
    padding-top: 90px;
    padding-bottom: 90px;
  }
  #_blog .sec-title{
    margin-bottom: 42px;
  }
  #_blog .sec-category{
    margin-bottom: 33px;
  }
  #_blog .sec-list{
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px 10px;
    margin-bottom: 42px;
  }
  #_blog .sec-list .item{
    padding-bottom: 18px;
    margin: 0 auto;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #_blog .sec-inner{
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #_blog .sec-title{
    margin-bottom: 36px;
  }
  #_blog .sec-category{
    margin-bottom: 22px;
  }
  #_blog .sec-list{
    margin-bottom: 36px;
  }
  #_blog .sec-list .item{
    padding-bottom: 15px;
  }
}

/* YOUTUBE */
#_youtube{
  background: #F9F9F9;
}
#_youtube .sec-inner{
  padding-top: 120px;
  padding-bottom: 120px;
}
#_youtube .sec-title{
  text-align: center;
  margin-bottom: 45px;
}
#_youtube .sec-box {
	display: block;
  max-width: 946px;
  margin: 0 auto 48px;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #_youtube .sec-inner{
    padding-top: 90px;
    padding-bottom: 90px;
  }
  #_youtube .sec-title{
    margin-bottom: 39px;
  }
  #_youtube .sec-box {
    margin: 0 auto 42px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #_youtube .sec-inner{
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #_youtube .sec-title{
    margin-bottom: 33px;
  }
  #_youtube .sec-box {
    margin: 0 auto 36px;
  }
}

/* INTERVIEW */
#_interview{
  background: #F5F5F7;
  overflow-x: hidden;
}
#_interview .sec-inner{
  padding-top: 120px;
  padding-bottom: 120px;
}
#_interview .sec-title{
  margin-bottom: 48px;
  text-align: center;
}
#_interview .sec-list{
  margin-bottom: 48px;
}
#_interview .sec-list:not(.slick-initialized) {
  display: none;
}
#_interview .sec-list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: calc(100% + var(--peek-w, 0px));
  width: 200vw;
  background: #F5F5F7;
  z-index: 1;
  pointer-events: none;
}
#_interview .sec-list.is-initial .slick-prev {
  visibility: hidden;
}
#_interview .sec-list .slick-slide {
  margin-right: 24px;
}
#_interview .sec-list .item {
  width: 340px;
  height: auto;
  border-radius: 24px;
  background: #FAFAFA;
  padding-bottom: 40px;
}
#_interview .sec-list .image {
  aspect-ratio: 340/180;
}
#_interview .sec-list .image img {
  border-radius: 24px 24px 0 0;
}
#_interview .sec-list .title {
  font-size: 16px;
  margin: 24px 0 17px;
  padding: 0 24px;
  letter-spacing: .05em;
}
#_interview .sec-list .text {
  padding: 0 24px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .05em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden; 
}
/* TAB */
@media screen and (max-width: 1024px) {
  #_interview .sec-inner{
    padding-top: 90px;
    padding-bottom: 90px;
  }
  #_interview .sec-title{
    margin-bottom: 42px;
  }
  #_interview .sec-list{
    margin-bottom: 42px;
  }
  #_interview .sec-list .slick-slide {
    margin-right: 18px;
  }
  #_interview .sec-list .item {
    max-width: 330px;
    padding-bottom: 35px;
  }
  #_interview .sec-list .title {
    margin: 21px 0 15px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #_interview .sec-inner{
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #_interview .sec-title{
    margin-bottom: 36px;
  }
  #_interview .sec-list{
    margin-bottom: 36px;
  }
  #_interview .sec-list .slick-slide {
    margin-right: 12px;
  }
  #_interview .sec-list .item {
    max-width: 320px;
    padding-bottom: 30px;
  }
  #_interview .sec-list .title {
    margin: 18px 0 13px;
    padding: 0 20px;
	font-size: 14px;
  }
  #_interview .sec-list .text {
    padding: 0 20px;
  }
}

/* RECRUIT */
#_recruit .sec-inner{
  padding-top: 120px;
  padding-bottom: 120px;
}
#_recruit .sec-box{
  display: block;
  background: #17060E;
  border-radius: 40px;
  padding: 122px 0 122px 9.7rem;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
#_recruit .sec-box::before{
  position: absolute;
  content: "";
  background: url(../img/top/recruit-text.png) center/ cover no-repeat;
  top: 0;
  left: 0;
  height: 100%;
  aspect-ratio: 285/440;
  width: auto;
}
#_recruit .sec-title{
  margin-bottom: 48px;
  color: #fff;
  position: relative;
  z-index: 2;
}
#_recruit .sec-title .ja{
  color: #fff;
}
#_recruit .sec-text{
  color: #fff;
  line-height: 1.75;
  font-size: 16px;
  font-weight: 400;
  z-index: 2;
  position: relative;
}
#_recruit .sec-image{
  position: absolute;
  width: 63.5%;
  height: 100%;
  top: 0;
  right: 0;
  z-index: -1;
}
#_recruit .sec-image::before{
  content: "";
  position: absolute;
  background: linear-gradient(to right, transparent 10.44%, #17060E 52.82%);
  width: 100%;
  height: 100%;
  opacity: 0.4;
  top: 0;
  right: 0;
  z-index: 2;
  mix-blend-mode: multiply;
}
#_recruit .sec-image::after{
  content: "";
  position: absolute;
  background: linear-gradient(to right, #17060E, transparent);
  width: 50%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 3;
}
#_recruit .sec-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center left;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #_recruit .sec-inner{
    padding-top: 90px;
    padding-bottom: 90px;
  }
  #_recruit .sec-box{
    padding: 90px 20px;
  }
  #_recruit .sec-title{
    margin-bottom: 42px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #_recruit .sec-inner{
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #_recruit .sec-box{
    padding: 60px 20px 50vw;
  }
  #_recruit .sec-box::before{
    height: 50%;
  }
  #_recruit .sec-title{
    margin-bottom: 36px;
  }
  #_recruit .sec-image{
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45vw;
  }
  #_recruit .sec-image::before{
    background: linear-gradient(to bottom, transparent 10.44%, #17060E 52.82%);
  }
  #_recruit .sec-image::after{
    width: 100%;
    height: 50%;
    background: linear-gradient(to bottom, #17060E, transparent);
  }
}

