/* スライダー全体 */
@keyframes horizontal-animation {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}
section#aboutus .futures-wrap .top-slide-wrap{
	position: relative;
	margin-top: -20px;
	height: 248px;
	z-index: 1;
}
section#aboutus .futures-wrap .top-slide-wrap .slider-container {
  display: flex;
  overflow: hidden;
	
}

section#aboutus .futures-wrap .top-slide-wrap .slider-wrapper {
  display: flex;
  animation: horizontal-animation 240s linear infinite;
}

section#aboutus .futures-wrap .top-slide-wrap .slide {
  width: 248px;
    margin: 0 13px;
}

section#aboutus .futures-wrap .top-slide-wrap .slide img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
border-radius: 10px;
}
@media screen and (max-width: 768px) {
	
section#aboutus .futures-wrap .top-slide-wrap .slide {
  width: 190px;
}	
}




/*メインスライダー*/
.main-top{
    grid-row: main;
    height: 100vh;
    width: 100vw;
}
.swiper-container{
    height: 100%;
    width: 100%;
    overflow: hidden;
}
.swiper-wrapper,
.swiper-slide>div{
    height: 100%;
    width: 100%;
}

.swiper-slide.sw-1>div{
   /* background: url("https://autoproject.nagoya/wp-content/uploads/25449995_s.jpg") center center / cover no-repeat;*/
}
.swiper-slide.sw-2>div{
  /*  background: url("https://autoproject.nagoya/wp-content/uploads/3042261_s.jpg") center center / cover no-repeat;*/
}
.swiper-slide.sw-3>div{
    /*background: url("https://autoproject.nagoya/wp-content/uploads/3121864_s.jpg") center center / cover no-repeat;*/
}
.swiper-slide{
	overflow: hidden;
}
.swiper-slide div{
		width: 100%;
	height: 100vh;
}
.swiper-slide div img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.swiper-slide div picture{
		width: 100%;
	height: 100%;
}
@keyframes zoomUp {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.15);
    }
}
@keyframes zoomOut {
    0% {
        transform: scale(1.15);
    }
    100% {
        transform: scale(1);
    }
}
@media screen and (max-width: 768px) {
	.main-top{
    grid-row: main;
    height: 485px;
    width: 100vw;
}
.swiper-slide div{
		width: 100%;
	height: 485px;
}

}

.swiper-slide-active>div, .swiper-slide-duplicate-active>div, .swiper-slide-prev>div{
    animation: zoomOut 10s linear 0s 1 normal both;
}
.recruit-mv {
overflow: hidden;	
}

/*トップに戻るボタン*/
.page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
display: flex;
    justify-content: center;
    align-items: center;
width: 45px;
height: 45px;
	background-color: #fae600;
    border-radius: 100vh;
    text-decoration: none;
	z-index: 1000;
	transform: translateY(0);
	opacity: 0; /* 最初は非表示 */
    visibility: hidden; /* 最初はクリック不可 */
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.page-top.is-visible { /* ここが重要です */
    opacity: 1; /* 表示 */
    visibility: visible; /* クリック可能 */
}
.page-top:hover{
	background-color: #fff;
}
.page-top:hover.page-top img{
	transform: translateY(-5px);
}
.page-top img{
height: 10.32px;
	object-fit: cover;
	transition: img 0.6s ease, transform 0.6s ease;

}
/* スクリーンリーダー向けの隠しテキスト */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

/*======================
ハンバーガーメニューのCSS
=======================*/

/* ハンバーガーメニューアイコン */
.hamburger {
width: 55px;
height: 55px;
background: #fae600;
	border-radius: 100vh;
	border: none;
    display: none; /* 初期状態では非表示 */
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    z-index: 110;
	position: absolute;
    right: 19px; 
    top: 50%;
    transform: translateY(-50%);
}

.hamburger__line {
    display: block;
	position: absolute;
	left: 50%;
  transform: translateX(-50%);
    width: 20px;
    height: 1px;
    background-color: #2c2c2c;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.hamburger__line:nth-child(1) {
		top: 17px;
}
.hamburger__line:nth-child(2) {
	top: 21px;
}
.hamburger__line:nth-child(3) {
	top: 25px;
}
.hamburger_p {
font-family: "Poppins", sans-serif;
font-weight: normal;
font-size: 11px;
letter-spacing: 0.05em;
line-height: 12px;
text-align: center;
color: #2c2c2c;
	margin: 0;
    position: absolute;
left: 50%;
  transform: translateX(-50%);
    bottom: 10.3px;
    transition: opacity 0.3s ease;
}
/* ハンバーガーメニューオープン時のアイコン */
.hamburger.open .hamburger__line:nth-child(1) {
transform: translateY(8px) rotate(24deg);
    top: 25%;
    left: 31%;}

.hamburger.open .hamburger__line:nth-child(2) {
    opacity: 0;
	margin: 0 auto 4px;
}

.hamburger.open .hamburger__line:nth-child(3) {
transform: translateY(-7px) rotate(-25deg);
    top: 53%;
    left: 32%;}

/* オーバーレイ */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 90;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.overlay.active {
    opacity: 1;
    visibility: visible;
}
/* モバイルメニュー (新しく追加) */
.mobile-menu {
    position: fixed;
    top: 100px;
    right: -300px; /* 画面外に隠しておく */
    width: 100%;
    height: calc(100vh - 73px);;
    background-color: #fae600;
    padding: 40px 0 30px; /* ヘッダーの高さに合わせて調整 */
opacity: 0;               /* 最初は完全に透明 */
  visibility: hidden;         /* 要素がスペースを占めないようにする */
  transform: translateY(-20px); /* オプション：少し上から降りてくるような動き */
  transition: opacity 0.5s ease-in-out, /* opacityを0.5秒でふわっと変化 */
              visibility 0.5s ease-in-out, /* visibilityも同時に変化 */
              transform 0.5s ease-in-out;
	z-index: 100;
    display: none;
}
.mobile-menu.open {
    right: 0; /* 画面内に表示 */
	display: block;
	padding-top: 45px;
opacity: 1;               /* 透明から不透明に変化 */
  visibility: visible;        /* 表示状態にする */
  transform: translateY(0);
}
.mobile-menu-white{
		background-color: #fff;
	border-radius: 20px;
width: 100%;
	    padding: 40px 0 30px;
margin-bottom: 25px;
}

.mobile-menu ul {
    list-style: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
	padding: 0 0 30px 30px;
}

.mobile-menu ul li {
	width: 100%; /* liがブロック要素として広がるように */
    box-sizing: border-box;
	margin-bottom: 15px;
}
.mobile-menu ul li:last-child {
	margin-bottom: 0;
}

.mobile-menu ul li a {
	display: flex;
    justify-content: flex-start;
    align-items: center;
font-family: "Noto Sans JP", sans-serif;
font-weight: 500;
font-size: 16px;
letter-spacing: 0.03em;
line-height: 1;
text-align: left;
color: #2c2c2c;
    text-decoration: none;
    transition: background-color 0.3s ease;
}
.mobile-menu ul li a::before {
  content: "";
  width: 12px;
  height: 0px;
  background: transparent;
  border: 2px solid #fae600;
  margin-right: 5px;
}
a.mobile-menu_tel{
display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    padding-top: 8px;
	text-align: center;
	width: 271px;
height: 60px;
border-radius: 30px;
background: #3c3c4a;
	font-family: "Montserrat", sans-serif;
font-weight: 600;
font-size: 21px;
line-height: 1;
color: #fff;
margin: 0 auto 15px;
padding: 12px 0 7px;
}
a.mobile-menu_tel::before {
  content: "";
  background-image: url("../img/recruit/icon_tel.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 19.25px;
  height: 19.25px;
  margin-right: 2.6px;
  margin-top: 4px;
}
a.mobile-menu_tel span{
	display: block;
	font-family: "Noto Sans JP", sans-serif;
font-weight: 500;
font-size: 10px;
line-height: 1;
text-align: center;
color: #fff;
}
a.mobile-menu_form{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 271px;
height: 60px;
border-radius: 30px;
background: #fe7d78;
font-family: "Noto Sans JP", sans-serif;
font-weight: bold;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 17px;
text-align: left;
color: #fff;
	margin: 0 auto;
padding-left: 56px;
}
a.mobile-menu_form::after {
  content: "";
  background-image: url("../img/recruit/right-arrow-hover.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 5.42px;
  height: 9.37px;
  margin-left: 12px;
}
a.mobile-menu_form::before {
  content: "";
  background-image: url("../img/recruit/icon_mail-hover.svg");
  background-size: cover;
  background-repeat: no-repeat;
width: 25.63px;
height: 17.79px;
	margin-right: 5.5px;
}

/* レスポンシブ対応 */
@media (max-width: 1237px) {
    .hamburger {
        display: flex; 
    }
    .site-title {
        z-index: 120;
    }
}
@media (max-width: 768px) {
	.mobile-menu {
	top: 73px;
height:  calc(100vh - 73px);
	padding-top: 0;
	}
    .mobile-menu.open {
        display: block; 
		padding-top: 30px;
    }
}
/* メニュー開閉時のスクロール制御 */
body.no-scroll {
    overflow: hidden;
}