@charset "utf-8";
:root{
	--wide: 1275px;
	/*Primary*/
	--Red1:#fa000f;
	--Red2:#cc0000;
	--White:#ffffff;
	--Gray1:#f4f4f4;
	--Gray2:#d9d9d9;
	--Gray3:#b3b3b3;
	--Gray4:#737373;
	--Gray5:#4d4d4d;
	--Gray6:#222222;
	--Black:#0c0c0c;
	/*Secondary*/
	--Orange1: #fdc796;
	--Orange2: #fa6900;
	--Orange3: #c85400;
	--Yellow1: #fdec96;
	--Yellow2: #fad200;
	--Yellow3: #967e00;
	--Pink1: #fd96d4;
	--Pink2: #fa00a5;
	--Pink3: #96005a;
	--Purple1: #d096fd;
	--Purple2: #9b00fa;
	--Purple3: #540096;
	--Blue1: #96c5fd;
	--Blue2: #0064fa;
	--Blue3: #004596;
	--Teal1: #96f0fd;
	--Teal2: #00dcfa;
	--Teal3: #008496;
	--Green1: #96fdcc;
	--Green2: #00fa82;
	--Green3: #00964e;
	--Red1_20_Tint: #ffcbce;
	--Red1_40_Tint: #ff979d;
	--Red1_60_Tint: #ff636c;
	--Red1_20_Dark: #bb000b;
	--Red1_40_Dark: #7d0008;
	--Red_Grad: linear-gradient(145deg, #FA000F, #CC0000);
	--WhiteOp: #ffffffe6;
	--BlackOp: rgba(0, 0, 0, 0.08);
	/*Layout*/
	--Col2: calc((100% / 2) - 1em);
	--Col3: calc((100% / 3) - 1em);
	--Col4: calc((100% / 4) - 1em);
}
html {
	scroll-behavior: smooth;
}
#Contents,.GridSet,.Grid4 {
	width: 100%;
}
#Contents * {
	box-sizing: border-box;
	word-break: auto-phrase;
}
.Section>.Inner {
	padding: 6em 0;
	width: var(--wide) ;
	margin: auto ;
	word-break: break-word ;
}
.PageTitleStyle3 {
	position: sticky;
	top: 0;
	/*height: 84vh;*/
	height: 100vh;
	margin: 0;
	background: var(--White) url(/-/media/company/human-it/image/bg_fv.svg) no-repeat center / cover;
	opacity: 1;
	transition: opacity 0.1s linear; /* JS制御のため短めに */
	pointer-events: auto;
	&.is-hidden {
		pointer-events: none; /* 透過後はクリック無効 */
	}
	.Inner {
		max-width: var(--wide);
		height: stretch;
		margin: auto;
		display: flex;
		align-items: center;
		gap: 1em;
		background: url(/-/media/company/human-it/image/dot_pattern.svg) no-repeat right center / auto 70%;
		.Column {
			flex: 1;
			display: flex;
			flex-direction: column;
			gap: 1em;
			.Lead {
				font-size: 1.1em;
			}
		}
	}
}
.Arrow {
	position: fixed;
	width: 100%;
	top: 94vh;
	display: flex;
	justify-content: center;
	z-index: 2;
	opacity: 1;
	transition: opacity 0.1s linear; /* JS制御のため短めに */
	span {
		width: max-content;
		color: var(--Red1);
		line-height: normal;
		padding: 0 .5em;
		border-radius: 10px;
		border: 1px solid var(--Red1);
		background: var(--White);
		font-size: .8em;
		margin: 0 auto 0;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		z-index: 2;
		&::after {
			position: absolute;
			content: "";
			display: block;
			width: 5px;
			height: 98px;
			background: url(/-/media/company/human-it/image/scroll_arrow.svg) no-repeat center;
		}
	}
}
.Arrow.subElement span {
	background: var(--White);
}
.PageTitleSub {
	position: sticky;
	top: 0;
	width: 100%;
	height: 100vh;
	opacity: 0;
	transition: opacity 0.1s linear;
	background: url(/-/media/company//human-it/image/fv_photo.jpg) no-repeat center top / auto 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	.Inner {
		display: flex;
		align-items: center;
		justify-content: center;
		max-width: var(--wide);
		margin: auto;
		height: 100vh;
		.MesBox {
			position: relative;
			opacity: 0;
			transition: opacity 0.1s linear;
			color: var(--White);
			font-weight: bold;
			font-size: 2vw;
			display: flex;
			flex-direction: column;
			flex-wrap: wrap;
			width: 60vw;
			height: 33vh;
			padding: 2em;
			align-items: center;
			justify-content: center;
			background: url(/-/media/company/human-it/image/bg_mes.png) no-repeat center / cover;
			overflow: hidden;
			.Mes01,.Mes02 {
				/*position: absolute;
				top: 2em;*/
				opacity: 0;
				transition: opacity 0.1s linear;
				span {
					letter-spacing: -4px;
				}
			}
			.Mes02 {
				text-align: center;
			}
		}
	}
	.Arrow {
	z-index: 3;
	span {
		color: var(--Black);
		border: 1px solid var(--Black);
		background: transparent;
		z-index: 3;
		&::after {
			background: url(/-/media/company/human-it/image/scroll_arrow_bk.svg) no-repeat center;
		}
	}
}
}
.Section {
	overflow-x: hidden;
	min-height: 100vh;
	position: relative;
	z-index: 1;
	&.GradStart {
		height: 500vh;
		background: linear-gradient(158deg, transparent 13%,transparent 21%,var(--WhiteOp), var(--White),var(--Yellow1) 40%,var(--WhiteOp) 60%, transparent);
	}
	&.GradMid {
		height: 500vh;
		/*background: linear-gradient(158deg, var(--WhiteOp),transparent);*/
	}
	&.GradEnd {
		position: sticky;
		top: 0;
		height: 100vh;
		background: linear-gradient(158deg, var(--WhiteOp),transparent);
	}
	&#Sec01 {
		background: url(/-/media/company/human-it/image/bg_concept.jpg) no-repeat center / cover;
	}
	&#Sec02 {
		background:url(/-/media/company/human-it/image/bg_visual_top.svg) no-repeat top center / 100% auto, url(/-/media/company/human-it/image/bg_visual_dots.svg) no-repeat center / 100% auto, url(/-/media/company/human-it/image/bg_visual_bottom.svg) no-repeat bottom center / 100% auto,var(--White);
		.MesBox {
			color: var(--White);
			border-radius: 10px;
			text-align: center;
			padding: 2em;
			width: 100%;
			margin: 2em auto;
			background: url(/-/media/company/human-it/image/bg_mesbox.png) no-repeat center / cover;
			h2 {
				font-size: 1.6em;
				margin: auto auto 1em;
				background: none;
				position: relative;
				&::after {
					content: "";
					display: block;
					width: 105px;
					height: 1px;
					background: var(--White);
					margin: 1em auto;
				}
			}
		}
	}
	&#Sec03 {
		min-height: inherit;
		background: var(--Gray1);
		.Inner {
			display: flex;
			align-items: center;
			gap: 2em;
			.Column {
				flex: 1;
				h2 {
					font-size: 1.4em;
					text-align: left;
					margin: 0 0 1em;
					span {
						padding: 0;
						font-size: .6em;
						font-weight: normal;
					}
				}
				.ButtonLink:link,.ButtonLink:visited {
					display: flex;
					align-items: center;
					justify-content: center;
					gap: 1em;
					text-decoration: none;
					margin: 1em 0;
					padding:.25em .5em .25em 4em;
					width: 253px;
					background: var(--Red1);
					border-radius: 5px;
					color: var(--White);
					font-weight: bold;
					font-size: 1em;
					text-align: center;
					transition: .1s ease-in;
					&:hover {
						background: var(--Red2);
					}
					&::after {
						content: "";
						display: block;
						width: 17px;
						height: 17px;
						margin: 0 0 0 auto;
						background: url(/-/media/company/human-it/image/icon_new_link.svg) no-repeat center / 17px;
					}
				}
			}
		}
	}
	&#Sec04 {
		min-height: inherit;
		background: var(--White);

	}
}
.InnerLinks {
	position: sticky;
	top: 0;
	background: var(--Gray3);border: 1px solid var(--White);
	min-height: inherit;
	padding: 0;
	z-index: 2;
	.Inner {
		max-width: var(--wide);
		margin: 0 auto;
		padding: 0;
		ul {
			margin: 0 auto;
			padding: 0;
			gap: 0;
			display: flex;
			align-items: center;
			li {
				width: calc(100% / 4);
				height: stretch;
				border: 1px solid var(--White);
				a:link, a:visited {
					width: 100%;
					height: stretch;
					display: flex;
					align-items: center;
					justify-content: center;
					padding: 1em;
					text-decoration: none;
					font-weight: bold;
					color: var(--White);
					background: transparent;
					transition: .3s ease-in-out;
					&:hover, &:active, &:focus {
						background: var(--Red1);
					}
					&.is-active {
							background: var(--Red1);
					}
				}
			}
		}
	}
}
.PlateList {
	display: flex;
	gap: 1.5em;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 4em auto;
	li {
		position: relative;
		width: calc((100% / 4) - 1.5em);
		height: stretch;
		border: 1px solid var(--Gray4);
		background: var(--White);
		transition: .1s ease-in;
		opacity: 1;
		&:hover {
			opacity: .8;
		}
		img {
			border-bottom: 1px solid var(--Gray4);
			width: stretch;
			max-height: 157px;
			object-fit: cover;
		}
		a:link, a:visited {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1em;
			width: 100%;
			padding: 1em;
			text-decoration: none;
			color: var(--Gray6);
			font-weight: bold;
			&::after {
				content: "";
				width: 16px;
				height: 16px;
				min-width: 16px;
				display: block;
				background: url(/-/media/company/human-it/image/icon_new_link_bk.svg) no-repeat center / 16px;
			}
			&::before {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				z-index: 1;
			}
		}
	}
}
iframe {
	margin: 4em auto;
	border-radius: 20px;
	overflow: hidden;
	display: block;
}
.toTop {
	position: fixed;
	bottom: 2em;
	right: 2em;
	z-index: 5;
}
h1 {
	font-weight: normal;
	font-size: 3em;
}
h2 {
	font-weight: bold;
	font-size: 2em;
	text-align: center;
	padding: 0;
	margin: 0;
	background: none;
}
.Sub {
	color: var(--Red1);
	font-weight: bold;
	font-size: 1em;
	text-align: center;
}
@media screen and (min-width: 995px) and (max-width: 1304px) {
	.OptionWideRWD .GridSet {
		margin: 0;
	}
	.OptionWideRWD #Contents,
	.OptionWideRWD .Grid4 {
		padding: 0;
	}
	.OptionWideRWD .PageTitleStyle3 .Inner,
	.OptionWideRWD .Section>.Inner {
		padding: 1em;
		width: auto;
	}
	.OptionWideRWD .Section.InnerLinks .Inner {
		padding: 0;
	}
	.OptionWideRWD .SP #FloatingContacts form {
		width: auto;
	}
	.OptionWideRWD #FloatingContacts .Inner {
		width: auto;
		max-width: 965px;
	}
}
@media screen and (max-width: 994px) {
	.JS #Contents {
		padding: 0;
	}
	.JS .PageTitleStyle3 .Inner {
	flex-direction: column;
	padding: 1em;
 }
 .JS h1 {
	font-size: 4vw;
	line-height: normal;
 }
 .JS #Contents .PageTitleStyle3 .Column img {
	max-width: 400px;
 }
 .JS .Section>.Inner {
	width: auto;
	padding: 4em 1em;
 }
 .JS .Section.InnerLinks>.Inner {
	padding: 0;
	li {
		display: flex;
		line-height: 1;
		height: stretch;
		align-items: center;
		a {
			height: stretch;
		}
	}
 }
 .JS iframe {
	width: 100%;
 }
 .JS .PlateList {
	gap: 1em;
  li {
		width: calc((100% / 2) - .5em);
		height: stretch;
		img {
			width: 100%;
			height: auto;
			max-height: inherit;
		}
		a {
			line-height: normal;
		}
	}
 }
}
@media screen and (max-width: 767px) {
	.JS br.PC {
		display: none;
	}
	.JS br.RWD {
		display: block;
	}
	.JS .PageTitleStyle3 h1 {
		font-size: 6vw;
	}
	.JS .Section.InnerLinks > .Inner {
		& li {
			a {
				font-size: 3vw;
			}
		}
	}
	.JS .Section {
		&#Sec03 {
			.Inner {
				flex-direction: column;
			}
		}
	}
	.JS .PageTitleSub {
		& .Inner {
			.MesBox {
				width: 90vw;
				height: 20vh;
				font-size: 4vw;
			}
		}
	}
}
@media screen and (max-width: 579px) {
	.JS .PageTitleStyle3 {
		background: var(--White) url(/-/media/company/human-it/image/bg_fv.svg) no-repeat center / cover;
	}
	
	.JS .PlateList {
		li {
			width: 100%;
		}
	}
}