/* ベースリセット */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* ヘッダー全体 */
.site-header {
	background-color: #fff;
	border-bottom: 1px solid #eee;
	position: fixed;
	width: 100%;
	height: 70px;
	z-index: 9999;
}

/* 中央揃え用ラッパー */
.site-header__inner {
	margin: 0 auto;
	padding: 0 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 70px;

}

/* 左ロゴ */
.site-header__logo-body img {
	height: 24px;

}

/* ナビゲーション */
.site-header__nav {
	display: flex;
	align-items: center;
	position: relative;
}

.nav-list {
	list-style: none;
	display: flex;
	justify-content: center;
}

.nav-list li+li {
	margin-left: 32px;
	margin-left: clamp(15px, calc(15px + (40 - 15) * ((100vw - 1044px) / (1098 - 1044))), 40px);
}

.nav-list a {
	text-decoration: none;
	color: #333;
	font-weight: 400;
	font-size: 17px;
}

.nav-list li a {
	/*線の基点とするためrelativeを指定*/
	position: relative;
}

.nav-list li a:hover {
	color: #AC4B44;
}

.nav-list li a::after {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	bottom: -9px;
	left: -15%;
	width: 130%;
	height: 2px;
	background: #AC4B44;
	/*アニメーションの指定*/
	transition: all .3s;
	transform: scale(0, 1);
	/*X方向0、Y方向1*/
	transform-origin: center top;
	/*上部中央基点*/
}

/*現在地とhoverの設定*/
.nav-list li.current a::after,
.nav-list li a:hover::after {
	transform: scale(1, 1);
	/*X方向にスケール拡大*/
}

.nav-list a:hover {
	opacity: 0.8;
}

/* 右側アクション */
.site-header__actions {
	display: flex;
	align-items: center;
	margin-left: 32px;
	margin-left: clamp(15px, calc(15px + (32 - 15) * ((100vw - 1044px) / (1098 - 1044))), 32px);
}

/* お問い合わせボタン */
.btn-contact {
	display: inline-flex;
	align-items: center;
	border: 2px solid #AC4B44;
	border-radius: 4px;
	padding: 6px 12px;
	text-decoration: none;
	color: #cc0000;
	font-weight: 600;
	font-size: 14px;
	margin-right: 24px;
	transition: ease .2s;
	position: relative;
}

.btn-contact:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background: linear-gradient(to right, #AC4B44, #AC4B44);
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: left top;
}

.btn-contact:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}

.btn-contact span {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 2;
	color: #AC4B44;
}

.btn-contact:hover span {
	color: #fff;
}

.btn-contact span:before {
	content: "";
	background: url(../../images/header_icon_contact.png) no-repeat center;
	background-size: cover;
	display: inline-block;
	width: 25px;
	height: 20px;
	margin-right: 5px;
}

.btn-contact:hover span:before {
	background: url(../../images/header_icon_contact_on.png) no-repeat center;
	background-size: cover;
}

.btn-contact img {
	width: 16px;
	height: 16px;
	margin-right: 6px;
}

/* ISUZUロゴ */
.site-header__logo-isuzu img {
	height: 21px;

}

/* ハンバーガーメニューボタン */
.hamburger-menu {
	display: none;
	flex-direction: column;
	cursor: pointer;
	padding: 5px;
}


.hamburger-menu span {
	width: 25px;
	height: 3px;
	background-color: #333;
	margin: 3px 0;
	transition: 0.3s;
}

.hamburger-menu.active span:nth-child(1) {
	transform: rotate(-45deg) translate(-5px, 6px);
}

.hamburger-menu.active span:nth-child(2) {
	opacity: 0;
}

.hamburger-menu.active span:nth-child(3) {
	transform: rotate(45deg) translate(-5px, -8px);
}

/* スマホメニューオーバーレイ */
.mobile-menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(255, 255, 255, 0.98);
	z-index: 9998;
	transform: translateY(-100%);
	transition: transform 0.3s ease;
	overflow-y: auto;
}

.mobile-menu-overlay.active {
	transform: translateY(0);
}

.mobile-menu-content {
	padding: 85px 20px 50px;
	max-width: 400px;
	margin: 0 auto;
}

.mobile-nav-list {
	list-style: none;
}

.mobile-nav-list li {}

.mobile-nav-list li:last-child {
	border-bottom: none;
}

.mobile-nav-list a {
	display: block;
	padding: 15px 0;
	text-decoration: none;
	color: #333;
	font-size: 18px;
	font-weight: 600;
	transition: color 0.3s;
}

.mobile-nav-list a:hover {
	color: #AC4B44;
}

.mobile-nav-list li p {
	font-size: 18px;
	color: #0D77C2;
	font-weight: 600;
	margin-top: 20px;
}

.mobile-nav-list li.recruitBtn a {
	width: 100%;
	color: #fff;
	border-radius: 5px;
	background: #0D77C2;
	margin-top: 10px;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 13%;
	line-height: 1.3;
}

.mobile-nav-list li.recruitBtn a .arrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid #fff;
	margin-left: 25px;
	transition: all .3s;
	color: #fff;
}

.mobile-nav-list li.recruitBtn a .arrow-icon::after {
	content: "→";
	font-size: 16px;
}

.mobile-btn-contact {
	display: inline-flex;
	align-items: center;
	justify-content: left;
	border: 2px solid #CC221B;
	border-radius: 4px;
	padding: 15px 20px;
	text-decoration: none;
	color: #CC221B;
	font-weight: 600;
	font-size: 16px;
	margin: 30px 0;
	width: 60%;
	transition: all 0.3s;
	position: relative;
}

.mobile-btn-contact:hover {
	color: #fff;
}

.mobile-isuzu-logo {
	text-align: center;
	margin-top: 30px;
}

.mobile-isuzu-logo img {
	height: 20px;
}

.recruit_menu span {
	background-color: #0D77C2;
}

.recruit-mobile li a {
	color: #0D77C2;
}

.recruit_h .menu_recruitBox {
	position: absolute;
	top: 110%;
	right: 0%;
	background: linear-gradient(to right, #FDA07C, #F42F1D);
	width: 270px;
	padding: 0 15px 15px;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(-10px);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.entry-container:hover .menu_recruitBox {
	max-height: 350px;
	opacity: 1;
	transform: translateY(0);
}

.recruit_h .menu_recruitBox p {
	font-size: 20px;
	color: #fff;
	font-weight: bold;
	letter-spacing: 2px;
	margin-top: 15px;
}

.recruit_h .menu_recruitBox a {
	background: #fff;
	width: 100%;
	display: flex;
	align-items: center;
	margin-top: 15px;
	padding: 10px;
	border-radius: 5px;
	color: #F75E44;
	font-size: 16px;
	font-weight: bold;
	position: relative;
	line-height: 1.2;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
}

.recruit_h .menu_recruitBox a .arrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid #F75E44;
	margin-left: 25px;
	transition: all .3s;
}

.recruit_h .menu_recruitBox a:hover {
	opacity: 0.8;
}

.recruit_h .menu_recruitBox a:hover .arrow-icon {
	border: 1px solid #F75E44;
	transform: scale(1.3);
}

.recruit_h .menu_recruitBox a .arrow-icon::after {
	content: "→";
	font-size: 16px;
	color: #F75E44;
}


@media (max-width: 1208px) {
	.nav-list li+li {
		margin-left: 26px;
	}

	.nav-list a {
		font-size: 15px;
	}
}

/* 画面幅が1098px以下の場合 */
@media (max-width: 1098px) {
	.site-header__inner {
		width: 96%;
		padding: 0;
	}

	.site-header__logo-body img {
		height: 16px;
	}

	.site-header__logo-isuzu img {
		height: 17px;
	}

	.nav-list li+li {
		margin-left: 14px;
	}




}

@media (max-width: 890px) {
	.site-header__nav {
		display: none;
	}

	.hamburger-menu {
		display: flex;
	}

	.mobile-btn-contact:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background: linear-gradient(to right, #AC4B44, #AC4B44);
		width: 100%;
		height: 100%;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: left top;
	}

	.mobile-btn-contact:hover:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.mobile-btn-contact span {
		display: flex;
		align-items: center;
		position: relative;
		z-index: 2;
		color: #AC4B44;
	}

	.mobile-btn-contact:hover span {
		color: #fff;
	}

	.mobile-btn-contact span:before {
		content: "";
		background: url(../../images/header_icon_contact.png) no-repeat center;
		background-size: cover;
		display: inline-block;
		width: 25px;
		height: 20px;
		margin-right: 5px;
	}

	.mobile-btn-contact:hover span:before {
		background: url(../../images/header_icon_contact_on.png) no-repeat center;
		background-size: cover;
	}

}




main {
	padding-top: 70px;
}

footer {
	background: #353535;
	padding: 67px 0 48px;
}

footer a {
	color: #fff;
}

.footerBox {
	max-width: 1816px;
	width: 98%;
	margin: 0 auto;
}

.fMenuBox {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1245px;
	margin: 0 auto;
	margin-bottom: 40px;
}

.fMenuBox .companyBox {
	width: 25%;
	min-width: 230px;
}

.fMenuBox .companyBox img {
	max-width: 285px;
	width: 100%;
}

.fMenuBox .companyBox .addtxt {
	color: #fff;
	line-height: 1.5;
	margin-top: 32px;
}

.fMenuBox .companyBox .linkBox a {
	border: 1px solid #fff;
	border-radius: 30px;
	max-width: 285px;
	width: 100%;
	display: block;
	text-align: center;
	padding: 15px 0;
	margin-top: 40px;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
}

.fMenuBox .companyBox .linkBox a:hover {
	border: 1px solid #fff;
	color: #424242;
	background-color: #fff;
	opacity: 1;
}

.fMenuBox ul {
	display: flex;
	justify-content: end;
	width: 75%;
	align-items: center;
}

.fMenuBox ul li {
	margin-right: clamp(10%, calc(10% + (16 - 10) * ((100vw - 1044px) / (1098 - 1044))), 16%);
}

.fMenuBox ul li:last-child {
	margin-right: 0px;
}

.fMenuBox ul li h4 {
	color: #fff;
	font-size: 20px;
}

.fMenuBox ul li a:hover {
	text-decoration: underline;
	color: #AC4B44;
}


.fMenuBox ul li.second h4 {
	margin-bottom: 25px;
}

.fMenuBox ul li h4.recall {
	margin-top: 30px;
}

.fMenuBox2 {
	border-top: 1px solid #fff;
	display: flex;
	justify-content: center;
	padding: 19px 0;
}

.fMenuBox2 ul {
	display: flex;
}

.fMenuBox2 ul li {
	margin-right: 32px;
}

.fMenuBox2 ul li:last-child {
	margin-right: 0px;
}

.fMenuBox2 ul a {
	font-size: 14px;
}

.Copyright {
	border-top: 1px solid #fff;
}

.Copyright p {
	font-size: 14px;
	text-align: center;
	color: #fff;
	margin-top: 24px;
}

#up_arrow {
	position: fixed;
	bottom: 50%;
	right: 0;
	display: flex;
	width: 60px;
	height: 60px;
	padding: 10px 20px;
	justify-content: center;
	align-items: center;
	align-content: center;
	gap: 10px;
	flex-shrink: 0;
	flex-wrap: wrap;
	background: rgba(0, 0, 0, 0.30);
	box-shadow: 0px 4px 31px 0px rgba(0, 0, 0, 0.10);
	backdrop-filter: blur(32px);
	cursor: pointer;
}

#up_arrow:hover {
	opacity: 0.8;
}

@media (max-width: 1098px) {
	.footerBox {
		width: 96%;
	}

	.fMenuBox {
		display: block;
	}

	.fMenuBox .companyBox {
		width: 100%;
	}

	.fMenuBox ul {
		width: 100%;
		flex-wrap: wrap;
		margin-top: 20px;
	}

	.fMenuBox ul li {
		width: 50%;
		margin-right: 0px;
	}

	.fMenuBox ul li h4 {
		line-height: 2;
		font-size: 16px;
	}

	.fMenuBox2 ul a {
		font-size: 12px;
	}
}

@media (max-width: 768px) {
	.fMenuBox .companyBox img {
		max-width: 180px;
	}

	.fMenuBox .companyBox .addtxt {
		margin-top: 20px;
	}

	.Copyright p {
		font-size: 12px;
	}
}