@charset "utf-8";
@import url(cmn.css);
@import url(base.css);

.nav-top a {
	background-color: #5aaf94;
}

/* ==========================================================================
	MAIN
	========================================================================== */

#container {
	overflow: hidden;
}
.swiper-container {
	position: relative;
}
.wrap{
	position: relative;
	margin: 0 calc(50% - 50vw);
	max-width: 100vw;
	position: relative;
	overflow: hidden;
	margin-bottom: 80px;
}
@keyframes zoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  animation: zoom 10s linear 0s 1 normal both;  
}
.slide-text{
	position: absolute;
  z-index: 10;
	top: 50%;
	left: 10%;
  text-align: left;
	color: #fff;
}
.slide-img {
	background-color: #000;
}
.slide-img img{
	object-fit: cover;
	height: 100vh;
  width: 100vw;
	opacity: 0.5;
}
.slide-txt {
	position: absolute;
	top: 60%;
	left: 10%;
	color: #fff;
	font-family: var(--font01);
	font-size: clamp(3rem,5vw,5rem);
	font-weight: 400;
	text-align: left;
	z-index: 100;
}

/* ==========================================================================
	CONTENTS
	========================================================================== */

.lead .wrapper {
  text-align: center;
}
.lead__tit01 {
  font-size: clamp(3rem,6vw,5rem);
}
.lead__tit02 {
  font-size: clamp(1.8rem,3.375vw,2.8rem);
}

.post-box {
  background: linear-gradient(90deg,#fff 0%,#fff 80%,#000 80%,#000 100%);
	margin-top: -1px;
}
.post-box .wrapper {
  display: flex;
}
.ex {
  width: 65%;
  padding: 50px 50px 50px 0;
}
.news {
  flex: 1;
  color: #fff;
  background-color: #000;
  padding: 50px 0 50px 50px;
}
.news a,.news a:visited {
  color: #fff;
}

.news .wrapper {
  display: flex;
}
.news__tit {
  width: 400px;
}
.news__txt {
  flex: 1;
}
.news .link-cmn01 {
  text-align: right;
  margin-top: 30px;
}
.news-list:last-child {
  margin-bottom: 0;
}

.strength {
  position: relative;
  color: #fff;
  background-color: #000;
  padding: 150px 0;
  overflow: hidden;
  z-index: 0;
}
.strength::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/index-images/strength-bg.jpg") 50% 50% no-repeat;
  background-size: cover;
  opacity: 0.5; /* 背景の透明度（調整可能） */
  z-index: -1;
}
.strength h2 {
  margin-bottom: 80px;
}

.knowledge {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 35px; /* 横・縦マージン両方に対応 */
  padding: 10px;
  list-style: none;
  max-width: 1200px;
}

.knowledge__item {
  width: calc((100% - 70px) / 3); /* gap 35px x 2箇所を引いて3等分 */
  box-sizing: border-box;
  transition: transform 0.3s ease;
}

.knowledge__item a {
  display: block;
  color: #fff!important;
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: transform 0.3s ease;
  background-color: #000;
  border-radius: 10px 0 0 0;
  padding: 70px 30px;
}
.knowledge__item a img {
  display: block;
  width: 100px;
  margin: 0 auto 30px auto;
}

.knowledge__item a:hover {
  transform: scale(1.05);
}

/* レスポンシブ対応（768px以下で2列） */
@media screen and (max-width: 800px) {
  .knowledge__item {
    width: calc((100% - 35px) / 2);
  }
}

/* スマホ対応（480px以下で1列） */
@media screen and (max-width: 680px) {
  .knowledge__item {
    width: 100%;
  }
}

.recruit-bg {
  position: relative;
  color: #fff;
  background-color: #000;
  padding: 80px 0;
  overflow: hidden;
  z-index: 0;
}
.recruit-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/index-images/recruit-bg.jpg") 50% 0 no-repeat;
  background-size: cover;
  opacity: 0.7; /* 背景の透明度（調整可能） */
  z-index: -1;
}
.recruit {
  display: flex;
  align-items: center;
}
.recruit__box01 {
  width: 40%;
  background-color: rgba(255,255,255,0.4);
  border-radius: 20px;
  padding: 60px 40px;
}
.recruit__box02 {
  flex: 1;
  padding-left: 100px;
}
.recruit__tit01 {
  font-size: clamp(2rem,3.5vw,3rem);
  margin-bottom: 40px;
}
.recruit__tit02 {
  font-size: clamp(2.8rem,5.25vw,4.5rem);
}
.recruit__box02 .bt-cmn01 a {
  color: #000;
  background-color: #fff;
}
.recruit__box02 .bt-cmn01 a:hover {
  background-color: #ccc;
}

/* ==========================================================================
	PC 1025px -
	========================================================================== */

@media screen and (min-width: 1025px){


}
@media screen and (max-width: 1200px){/*1200以下*/

}


/* ==========================================================================
	TABLET - 1024px
	========================================================================== */

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


.post-box {
  background: #fff;
}
.post-box .wrapper {
  display: block;
  width: 100%!important;
}
.ex {
  width: 95%;
  padding: 40px 0 0 0;
  margin: 0 auto 40px auto;
}
.news {
  width: 100%;
  padding: 40px 0;
}
.news__inner {
  width: 95%;
  margin: 0 auto;
}
.news a,.news a:visited {
  color: #fff;
}

.news .wrapper {
  display: flex;
}
.news__tit {
  width: 400px;
}
.news__txt {
  flex: 1;
}
.news .link-cmn01 {
  text-align: right;
  margin-top: 30px;
}

.knowledge {
  gap: 25px; /* 横・縦マージン両方に対応 */
}

.knowledge__item a {
  padding: 40px 20px;
}

.recruit {
  display: block;
}
.recruit__box01 {
  width: 100%;
  margin-bottom: 60px;
}
.recruit__box02 {
  padding-left: 0;
}

}

/* ==========================================================================
	SP - 640px
	========================================================================== */

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

.wrap{
	margin-bottom: 40px!important;
}
.slide-txt {
	left: 7%;
}

.strength {
  padding: 80px 0!important;
}
.strength h2 {
  margin-bottom: 60px;
}

.knowledge {
  gap: 20px; /* 横・縦マージン両方に対応 */
}

.knowledge__item a {
  padding: 30px 20px;
}
.knowledge__item a img {
  width: 70px;
  margin: 0 auto 20px auto;
}

.recruit-bg {
  padding: 60px 0;
}
.recruit__box01 {
  padding: 40px 30px;
  margin-bottom: 40px;
}
.recruit__tit01 {
  margin-bottom: 30px;
}
}

