@charset "utf-8";

.gjs-dashed .fv-txt{
  opacity:1	;
}

.top-title{
  margin-bottom:3.5rem;
}

.top-title p.accent{
  border-bottom: 1px solid #5A5A5A;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 10px;
  font-size:1rem;
}

.top-title p.accent::before{
  content: "";
  background: #FFFFFF;
  width: 12px;
  height: 12px;
  border-radius: 1px;
  display: block;
}

.top-title h2{
  font-size:clamp(1.25rem, 0.795rem + 1.52vw, 2.5rem);
}

.top-title-wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.fv{
  height:100vh;
  height:100svh;
  position:relative;
  min-height: 800px;
}

.fv-txt{
  width:75%;
  position: absolute;
  top: 45%;
  opacity:0;
  left: 52.5%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transition:1s;
  transition-delay:1s;
}

.fv-txt.fadeUp{
  top: 50%;
  opacity:1;
}

.fv-txt p{
  font-size:14px;
  max-width:292px;
  position: absolute;
  left: 4%;
  top: 60%;
}

.fv-txt h1{
  opacity:0;
  height: 0;
}

.fv-right{
  position:absolute;
  right:7.5%;
  bottom:0%;
  height:max-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

.fv-right .insta{
  width:34px;
  height:34px;
}

.scroll_down {
  position: relative;
  width: 22px;
  height: 480px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.scroll_down:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: linear-gradient(180deg,rgba(#000, 0) 0, rgba(#000, .8) 80%, rgba(#000, .8) 100%);
}

.scroll_down a {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 13px;
  padding: 10px 10px 400px;
  color: #fff;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: .2s;
  margin: auto;
  pointer-events:none;
}

.scroll_down a p{
  margin-left: -7px;
}

.scroll_down a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 350px;
  background: #9F9F9F;
}

.scroll_down a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 350px;
  background: #fff;
}

.scroll_down a:hover {
  opacity: .5;
}

.scroll_down a:after {
  animation: sdl01 2s  infinite;
}

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.fv-news{
  max-width:700px;
  position:absolute;
  width:max-content;
  bottom:2.5%;
  left:0%;
  padding:3.5rem 2.5rem;
  background: #000000;
  width: 100%;
}

.fv-news a{
  display: flex;
  align-items: center;
  gap: 2rem;
}

.fv-news .newsTextWrap {
  max-width: 520px;
  overflow: hidden;
}

.fv-news .newsItemInner {
  display: inline-block;
  white-space: nowrap;
}

/* スクロールONのときだけ動く */
.fv-news .newsItemInner.is-scroll {
  animation: scrollText linear infinite;
  animation-duration: 10s; /* ←スピード調整 */
}

.fv-news .newsItemTit {
  font-size: 14px;
  display: inline-block;
  padding-left: 10%; /* 右から入ってくる */
}

@keyframes scrollText {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* ホバーで停止（任意） */
.fv-news .newsItemInner.is-scroll:hover {
  animation-play-state: paused;
}

.fv-news .newsItemTime{
  font-size:14px;
  font-family: "Oswald", sans-serif;
}

.fv-news .newsItemCate{
  display:none;
}

.top-about{
  margin:5rem 0 7.5rem;
}

.top-about-wrap{
  display: flex;
  justify-content: end;
  align-items: flex-start;
  gap:10%;
  margin:7.5rem auto 0;
}

.top-about-wrap > img{
  width:25%;
  max-width:320px;
}

.top-about-txt{
  width:50%;
  max-width:705px;
}

.top-about-txt h3{
  font-size:clamp(1.25rem, 0.977rem + 0.91vw, 2rem);
}

.top-about-txt > p{
  margin:2.5rem 0 3.5rem;
}

.top-mission-wrap{
  display: flex;
  justify-content: end;
  align-items: stretch;
  gap:5%;
  margin:5rem 0 0;
  padding:0 0 0 10%;
}

.top-mission-txt{
  width: 45%;
  max-width: 640px;
}

.top-mission-img{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width:50%;
  background:url(https://salkan.co.jp/system_panel/uploads/images/20260325105827145535.png) no-repeat center/cover;
}

.top-mission-swiper{
  max-width:360px;
  width: 55%;
}

.top-mission-item{
  border-bottom:0.5px solid #5A5A5A;
  padding-bottom:5rem;
  margin-bottom:5rem;
}

.top-mission-item p{
  max-width:500px;
  font-size:15px;
}

.top-mission-item h3{
  font-size:2rem;
  margin:3.5rem 0 1.5rem;
}

.top-mission-item:last-child{
  border:none;
  margin:0;
}

.top-mission-item .accent{
  font-size:clamp(1rem, 0.955rem + 0.15vw, 1.125rem);
}

.top-service{
  margin-bottom:10rem !important;
  padding:5rem 0 100px;
  position: relative;
}

.top-service .top-title{
  margin-bottom: 1.5rem;
}


.top-service::before{
  content:"";
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  background:url(https://salkan.co.jp/system_panel/uploads/images/20260325143635693849.png) no-repeat center/cover;
  z-index:-1;
  transition:0.5s;
}

.top-service:has(.second.swiper-slide-active)::before{
  background:url(https://salkan.co.jp/system_panel/uploads/images/20260325143635104947.png) no-repeat center/cover;
}

.top-service:has(.third.swiper-slide-active)::before{
  background:url(https://salkan.co.jp/system_panel/uploads/images/20260325143635442623.png) no-repeat center/cover;
}

.top-service:has(.fourth.swiper-slide-active)::before{
  background:url(https://salkan.co.jp/system_panel/uploads/images/20260325143635445550.png) no-repeat center/cover;
}

.top-service:has(.fifth.swiper-slide-active)::before{
  background:url(https://salkan.co.jp/system_panel/uploads/images/20260325171033177957.png) no-repeat center/cover;
}

.top-works-wrap{
  display: flex;
  align-items: center;
  flex-wrap:wrap;
}

.horizontal-wrap {
  overflow: hidden;
}

.horizontal-list {
  display: flex;
  gap: 5rem;
}

.gjs-dashed .horizontal-list {
  flex-direction:column;
  gap:1rem;
}

.top-service .horizontal-item {
  flex: 0 0 60%; /* 1.5個見せる */
  height: 400px;
  color: #0B0D10 !important;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-service .swiper {
  height: auto;
}

.gjs-dashed .swiper-wrapper {
  flex-direction:column;
  gap:1rem;
}

.gjs-dashed .top-service .swiper {
  height: max-content;
}

.top-service .swiper-slide {
  position:relative;
  color: #0B0D10 !important;
  padding: 0 5% 3rem;
  height: auto;
}

.top-service .swiper-slide:hover {
  opacity:1;
}

.top-service .swiper-slide:hover .arrow-btn.right::after {
  left: 15px;
}

.top-service .swiper-slide.fifth:hover  .arrow-btn.right::after{
  pointer-events:none;
}

.top-service .swiper-slide::before {
  content:"";
  position:absolute;
  width:100%;
  height:calc(100% - 5rem);
  bottom:0;
  left:0;
  border-radius:5px;
  background:#fff;
  z-index: -1;
  box-shadow: 4px 4px 40px rgba(0, 0, 0, 0.24);
}


.top-service .swiper-slide img{
  height:140px;
  width:140px;
  margin: 0 auto;
}

.top-service .swiper-slide .accent{
  font-size:14px;
  margin-bottom:1.5rem;
  display:flex;
  align-items:center;
  gap:8px;
  margin-top: -1rem;
}

.top-service .swiper-slide .accent::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:1px;
  background:#0B0D10;
  display:block;
}

.top-service .swiper-slide img.two{
  width:280px;
}

.top-service .swiper-slide h3{
  font-size:clamp(1.25rem, 1.114rem + 0.45vw, 1.625rem);
  text-align:center;
}

.top-service .swiper-slide h3 + p{
  max-width:450px;
  margin: 1.5rem auto 0;
  font-size: 15px;
  line-height: calc(26 / 15);
}

.top-service .swiper-slide .arrow-btn.right{
  background:#0B0D10;
  margin:-1rem 0 0 auto;
}

.top-service .swiper-slide .arrow-btn.right::before{
  background:#fff;
}

.top-service .swiper-slide .arrow-btn.right::after{
  background:url(https://salkan.co.jp/system_panel/uploads/images/20260325142718555071.png) no-repeat center/contain;
}

.top-service .swiper-pagination {
  bottom: 0;
  position: relative;
  font-size:1rem;
}

.top-service .swiper-pagination-bullet {
  background: #ccc;
  opacity: 1;
  margin:0 30px !important;
  position: relative;
  border-radius: 1px;
  width: 12px;
  height: 12px;
}

.top-service .swiper-pagination-bullet::after {
  content:"Space";
  font-family: "Oswald", sans-serif;
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.top-service .swiper-pagination-bullet:nth-child(2)::after {
  content:"Produce";
}

.top-service .swiper-pagination-bullet:nth-child(3)::after {
  content:"Car";
}

.top-service .swiper-pagination-bullet:nth-child(4)::after {
  content:"Cafe";
}

.top-service .swiper-pagination-bullet:nth-child(5)::after {
  content:"Agriculture";
}

.top-service .swiper-pagination-bullet-active {
  background: #fff;
}

.top-service .swiper-bottom-wrap{
  max-width:380px;
  margin: 5rem auto 0;
  display: flex;
  flex-direction: column-reverse;
  gap: 2rem;
  padding-bottom: 2rem;
}

/* プログレスバー */
.top-service .swiper-progress {
  height: 2px;
  width: 0;
  background: #fff;
  transition: width 0.3s ease;
}

.top-works-wrap img{
  width:calc(100% / 6);
  filter: grayscale(100%);
  transition:0.5s;
  aspect-ratio:164/123;
  object-fit:cover;
}

.top-works-wrap img:hover{
  filter: grayscale(0%);
}

.top-works .sp{
  display:none !important;
}

.top-company{
  margin:7.5rem 0;
}

.top-company-btn-wrap{
  max-width:530px;
  margin:3.5rem 0 0 auto;
  width:100%;
}

.top-company-btn{
  width:100%;
  display:flex;
  padding-bottom: 1.5rem;
  border-bottom: 0.5px solid #5A5A5A;
  margin-bottom: 2rem;
  justify-content: space-between;
  align-items: center;
  font-size:1.5rem;
}

.top-company-btn:hover{
  opacity:1;
}

.top-company-btn .text-link{
  text-shadow: 0 1.5em 0 #fff, 0 0 0 #fff;
}

.top-company-btn:hover .text-link{
  text-shadow: 0 0 0 #fff, 0 -1.6rem 0 #fff;
}

@media screen and (max-width: 1600px) {
  .top-service{
    padding: 3rem 0 4rem !important;
  }
  .top-service .swiper-bottom-wrap{
    margin-top:2.5rem;
    gap:1rem;
  }
}

@media screen and (max-width: 1280px) {

}


@media screen and (max-width: 1024px) {
  .fv-right{
    right: 2.5%;
    gap:0;
  }
  .fv-txt {
    width: 90%;
  }
  .fv-news{
    padding: 2rem 1.5rem;
  }
  .top-about-txt{
    width: 60%;
  }
  .top-about-wrap > img {
    width: 35%;
  }
  .scroll_down{
    height: 450px;
  }
  .scroll_down a{
    padding: 10px 10px 375px;
  }
  .top-about-wrap{
    gap:5%;
    margin: 3rem auto 0;
  }
  .top-company-btn-wrap {
    max-width: 400px;
  }
  .top-company-btn{
    padding-bottom: 1rem;
    margin-bottom: 1rem;
  }
  .top-works-wrap img {
    width: calc(100% / 4);
  }
}

@media screen and (max-width: 767px) {
  .fv-txt p {
    font-size: 11px;
    max-width: 178px;
    position: relative;
    left: auto;
    top: auto;
    margin-top: 2rem;
  }
  .fv-right .insta {
    width: 29px;
    height: 29px;
  }
  .scroll_down a:before,
  .scroll_down a:after{
    height: 150px;
  }
  .scroll_down a {
    padding: 10px 10px 170px;
  }
  .scroll_down {
    height: 232px;
  }
  .fv-txt {
    width: 100%;
    top: 47%;
    left: 55%;
  }
  .fv-news a{
    gap:1rem;
  }
  .fv-news .newsItemTit,
  .fv-news .newsItemTime{
    font-size: 10px;
  }
  .fv-news {
    padding: 1.5rem;
    bottom: 0;
  }
  .fv-right{
    bottom: 70px;
  }
  .top-about-wrap > img {
    width: 105px;
  }
  .top-about-wrap {
    gap: 2.5rem;
    flex-direction: column;
  }
  .top-about-txt {
    width: 100%
  }
  .top-about-txt > p {
    margin: 1.5rem 0 2.5rem;
  }
  .top-btn{
    margin: 0 0 0 auto;
  }
  .top-mission-wrap{
    margin: 1rem 0 0;
    padding: 0;
    flex-direction: column-reverse;
    gap: 5rem;
    align-items: center;
  }
  .top-mission-img{
    width: 100%;
    padding: 5rem 0;
  }
  .top-mission-swiper{
    width:150px;
  }
  .top-mission-txt {
    width: 90%;
  }
  .top-mission-item h3 {
    font-size: 20px;
    margin: 2rem 0 1.5rem;
  }
  .top-mission-item{
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
  }
  .top-service .swiper-slide img {
    height: 5rem;
    width: 5rem;
  }
  .top-service .swiper-slide::before{
    height: calc(100% - 2.5rem);
  }
  .top-service .swiper-slide .accent{
    margin: 1rem 0;
    justify-content: center;
    font-size: 10px;
  }
  .top-service .swiper-slide h3 + p{
    font-size: 12px;
  }
  .top-service .swiper-slide .arrow-btn.right{
    margin: 3rem auto 0;
  }
  .top-title p.accent{
    margin-bottom: 1rem;
  }
  .top-service {
    padding: 1.5rem 0 2rem !important;
  }
  .top-service .top-title {
    margin-bottom: 0rem;
  }
  .top-service .swiper-slide{
    padding: 0 5% 2rem;
  }
  .top-service .swiper-bottom-wrap {
    margin-top: 1.5rem;
  }
  .top-service .swiper-pagination-bullet::after{
    font-size:12px;
  }
  .top-service .swiper-pagination-bullet{
    width: 8px;
    height: 8px;
  }
  .top-service .swiper-pagination-bullet{
    margin: 0 25px !important;
  }
  .top-works-wrap img{
    width: calc(100% / 2);
  }
  .top-company-btn-wrap {
    max-width: 240px;
  }
  .top-company-btn{
    font-size: 1.25rem;
  }
  .top-title-wrap .top-btn{
    display:none !important;
  }
  .top-works .sp{
    display:flex !important;
    margin:3.5rem 0 0 auto;
  }
  .fv{
    min-height: auto;
  }
}
