@charset "utf-8";

/*-------------------------------
	パーツ
-------------------------------*/

.Index-block-wrap{
	width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.Index-block{
	width: calc((100% - 6rem) / 2);
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
.Index-block__image{
	width: calc(100% - 4rem);
	position: relative;
	z-index: 4000;
}
.Index-block__image img{
	width: 100%;
	height: 40rem;
	object-fit: cover;
}
.Index-block__body{
	width: calc(100% - 8rem);
	padding: 5.5rem 6rem 6.2rem;
	background: rgba(255,255,255,.9);
	box-shadow: 0 0 4rem rgba(0,100,180,.2);
	margin-top: -26.8rem;
	position: relative;
	z-index: 6000;
	/* position: absolute;
	right: 0;
	bottom: -8rem; */
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-start;
	align-self: flex-end;
}
.Index-block__title{
	width: 100%;
	margin-bottom: 3rem;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
}
.Index-block__title-en{
	color: var(--maincolor);
	/*font-size: 1.4rem;*/
	font-size: 1.8rem;
	margin-bottom: 1.5rem;
	font-weight: 700;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Index-block__title-en::after{
	background: var(--maincolor);
	content: "";
	display: block;
	width: 5rem;
	height: 1px;
	margin-left: 1rem;
}
.Index-block__title-jp{
	font-size: 3rem;
	font-weight: 700;
	line-height: calc(3.6 / 3);
	display: block;
}
.Index-block__text{
	margin-bottom: 1.2rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

	.Index-block-wrap{
		flex-direction: column;
	}
	.Index-block{
		width: 100%;
		max-width: 65rem;
		margin-left: auto;
		margin-right: auto;
	}
	.Index-block:not(:last-child){
		margin-bottom: 12.5rem;
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	.Index-block-wrap{
		row-gap: 6rem;
		flex-direction: column;
	}
	.Index-block{
		width: 100%;
	}
	.Index-block__image{
		width: calc(100% - 5rem);
		height: 41.5rem;
	}
	.Index-block__image img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.Index-block__body{
		width: calc(100% - 5rem);
		padding: 5rem 3.5rem;
		margin-top: -22rem;
	}
	.Index-block__title{
		margin-bottom: 4rem;
	}
	.Index-block__title-en{
		font-size: 2.4rem;
		margin-bottom: 1rem;
	}
	.Index-block__title-jp{
		font-size: 3.6rem;
		line-height: 1.5;
	}
	.Index-block__text{
		margin-bottom: 3rem;
	}

}



/*-------------------------------
	メインビジュアル
-------------------------------*/

.Mainvisual{
	width: 100%;
	height: 100vh;
	padding-top: 15rem;
	position: relative;
}
.Mainvisual__inner{
	height: 100%;
	background-image: url(../images/index/bg_mainvisual.jpg);
	background-image: image-set(url(../images/index/bg_mainvisual.jpg) 1x, url(../images/index/bg_mainvisual@2x.jpg) 2x);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	overflow: hidden;
}
.Mainvisual__copy{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	padding-left: 4.8rem;
	z-index: 6000;
}
.Mainvisual__copy-en{
	font-family: var(--en2);
	/*font-size: 16rem;*/
	font-size: clamp(10rem,9.5vw,16rem);
	margin-bottom: 1.5rem;
	font-weight: 700;
	line-height: calc(17 / 16);
	color: #fff;  
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.Mainvisual__copy-en > span{
	line-height: calc(17 / 16);
	/*display: inline-block;*/
	display: block;
}
.Mainvisual__copy-jp{
	/*font-size: 4rem;*/
	font-size: clamp(2.5rem,3vw,4rem);
	font-weight: 600;
	line-height: 1;
	color: #fff;
}
.Mainvisual-scroll{
	padding-bottom: 9.5rem;
	line-height: 1;
	position: absolute;
	left: 4.8rem;
	bottom: calc(1.5rem + 8.1rem);
	display: block;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.Mainvisual-scroll::before{
	content: "";
	display: block;
	width: 1px;
	height: 8.5rem;
	background: #fff;
	position: absolute;
	left: 50%;
	bottom: 0;
}
.Mainvisual-scroll::after{
	content: "";
	display: block;
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%) translateY(-8.5rem);
	animation: scrollBall 2.5s infinite;
	opacity: 0;
}

@keyframes scrollBall {
	0% {
		transform: translateX(-50%) translateY(-8.5rem);
		opacity: 0;
	}
	10%{
		opacity: 1;
	}
	50%{
		opacity: 1;
	}
	70% {
		opacity: .8;
	}
	100% {
		transform: translateX(-50%) translateY(.5rem);
		opacity: 0;
	}
}

.Mainvisual-scroll__text{
	font-family: var(--en2);
	font-size: 1rem;
	line-height: 1;
	font-weight: 500;
	display: block;
	color: #fff;
}
.Mainvisual-slider{
	width: 69%;
	max-width: 138rem;
	height: 100%;
	margin-right: 0;
}
.Mainvisual-slider__item{
	width: 100%;
	height: 100%;
}
.Mainvisual-slider__item img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.Mainvisual-slider:has(.swiper-slide:nth-of-type(1).swiper-slide-active) .swiper-slide:last-child img,
.Mainvisual-slider .swiper-slide-active img,
.Mainvisual-slider .swiper-slide-duplicate-active img,
.Mainvisual-slider .swiper-slide-prev img {
	animation: zoomUp 15s linear 0s normal both;
}

@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.25);
	}
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){
	.Mainvisual{
		min-height: 75rem;
	}
	.Mainvisual-slider {
		width: 55%;
	}

}
@media screen and (max-width:960px) and (min-width: 769px){
	.Mainvisual{
		height: 80vh;
		min-height: 75rem;
	}
}
@media screen and (max-width:768px){

	.Mainvisual{
		/*height: 100svh;*/
		height: 103svh;
		padding-top: 11rem;
	}
	.Mainvisual__inner{
		padding-bottom: 31.5rem;
	}
	.Mainvisual__copy{
		padding-left: 10rem;
		top: unset;
		bottom: 47.5rem;
		transform: translateY(0);
	}
	.Mainvisual__copy-en{
		font-size: 10rem;
		margin-bottom: 3rem;
		line-height: 1;
	}
	.Mainvisual__copy-en > span{
		line-height: 1;
	}
	.Mainvisual__copy-jp{
		font-size: 3rem;
	}
	.Mainvisual-scroll{
		padding-bottom: 10.5rem;
		left: 2.5rem;
		bottom: 44.8rem;
		transform: translateX(-.5em);
	}
	.Mainvisual-scroll__text{
		font-size: 2rem;
	}
	.Mainvisual-slider{
		width: calc(100% - 5rem);
		max-width: 100%;
	}

	.Mainvisual-link{
		width: 100%;
		padding-left: 10rem;
		padding-right: 10rem;
		row-gap: 2.5rem;
		transform: translateY(-50%);
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		position: relative;
		z-index: 6000;
	}
	.Mainvisual-link__item{
		width: 100%;
	}
	.Mainvisual-link__item a{
		width: 100%;
		height: 6rem;
		padding: .5rem 2rem .5rem 3rem;
		font-size: 2.8rem;
		letter-spacing: 0;
		font-weight: 500;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.Mainvisual-link__item.-entry .C-Arrow{
		background: transparent;
	}
	.Mainvisual-link__item.-entry .C-Arrow::before{
		background: var(--maincolor);
	}
	.Mainvisual-link__item.-entry .C-Arrow::after{
		border-top-color: var(--maincolor);
		border-right-color: var(--maincolor);
	}
	.Mainvisual-link__item.-entry a{
		color: var(--maincolor);
		background: #fff;
	}
	.Mainvisual-link__item.-career .C-Arrow{
		background: transparent;
	}
	.Mainvisual-link__item.-career a{
		background: var(--subcolor1);
		color: #fff;
	}
	.Mainvisual-link__item.-contact .C-Arrow{
		background: transparent;
	}
	.Mainvisual-link__item.-contact a{
		background: var(--subcolor2);
		color: #fff;
	}

}



/*-------------------------------
	お知らせ
-------------------------------*/

.News{
	width: calc(50% + 55rem);
	max-width: calc(100% - 10rem);
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translateY(50%);
	z-index: 6000;
}
.News__inner{
	width: 100%;
	padding: 3rem 4rem 2.8rem;
	box-shadow: 0 0 4rem rgba(0,0,0,.2);
	background: #fff;
}
.News__header{
	border-bottom: 1px solid var(--graycolor);
	width: 100%;
	padding-bottom: 2.2rem;
	margin-bottom: 2.5rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.News__title{
	width: calc(100% - 13.5rem);
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.News__title-en{
	font-family: var(--en2);
	color: var(--maincolor);
	font-size: 2.4rem;
	transform: translateY(.1em);
	font-weight: 500;
	line-height: 1;
	display: block;
}
.News__title-jp{
	margin-left: 1.5rem;
	font-weight: 700;
	line-height: 1;
	display: block;
}
.News__button{
	width: 13.5rem;
}
.News__button a{
	line-height: 1;
}
.News__button .C-Arrow{
	width: 2.4rem;
	height: 2.4rem;
}
.News__button .C-Arrow::before{
	width: 1rem;
}
.News__button .C-Arrow::after{
	margin-left: .2rem;
}
.News-single a{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	opacity: 1 !important;
}
.News-single__data{
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.News-single__data-time{
	transition: var(--transition);
	font-size: 1.4rem;
	margin-right: 1.5rem;
	line-height: 1;
	display: block;
}
.News-single__data-category{
	transition: var(--transition);
	min-width: 6.8rem;
	height: 2.5rem;
	font-size: 1.4rem;
	padding-left: .8rem;
	padding-right: .8rem;
	font-weight: 700;
	border-radius: 50rem;
	letter-spacing: 0;
	background: #eee;
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
}
.News-single__title{
	transition: var(--transition);
	max-width: 122.5rem;
	padding-right: 6.5rem;
	padding-left: 2.4rem;
	font-weight: 500;
}

.News-single a:hover .News-single__data-time{
	color: var(--maincolor);
}
.News-single a:hover .News-single__data-category{
	background: var(--maincolor);
	color: #fff;
}
.News-single a:hover .News-single__title{
	color: var(--maincolor);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	.News{
		width: calc(100% - var(--padding-leftright));
		max-width: calc(100% - var(--padding-leftright));
	}
	.News__inner{
		padding: 5rem 5rem 3.5rem;
	}
	.News__header{
		padding-bottom: 3rem;
		margin-bottom: 2.4rem;
	}
	.News__title{
		width: 50%;
	}
	.News__title-en{
		font-size: 3.2rem;
	}
	.News__title-jp{
		margin-left: 3rem;
	}
	.News__button{
		width: 23.5rem;
	}
	.News__button .C-Arrow{
		width: 4rem;
		height: 4rem;
	}
	.News__button .C-Arrow::before{
		width: 1.6rem;
	}
	.News__button .C-Arrow::after{
		margin-left: .4rem;
	}
	.News-single a{
		flex-direction: column;
		align-items: flex-start;
	}
	.News-single__data{
		width: 100%;
		margin-bottom: 2rem;
	}
	.News-single__data-time{
		font-size: 2.6rem;
		margin-right: 3rem;
	}
	.News-single__data-category{
		min-width: 15.8rem;
		height: 4.5rem;
		font-size: 2.4rem;
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
	.News-single__title{
		max-width: 100%;
		padding-right: 0;
		padding-left: 0;
	}

}



/*-------------------------------
	会社を知る
-------------------------------*/

.Company-Environment{
	padding-top: 14rem;
	padding-bottom: 16.8rem;
	background-image: url(../images/index/bg_company-environment.jpg);
	background-image: image-set(url(../images/index/bg_company-environment.jpg) 1x, url(../images/index/bg_company-environment@2x.jpg) 2x);
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
}
.Company{
	padding-top: 0;
	padding-bottom: 20rem;
}
.Company__body{
	width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.Company-block{
	width: calc((100% - 3.6rem) / 2);
	padding: 3rem;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.Company-block__body{
	width: 100%;
	height: 100%;
	padding: 6rem 3.3rem 5rem;
	background: rgba(255,255,255,.7);
}
.Company-block__title{
	width: 100%;
	margin-bottom: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.Company-block__title-en{
	color: var(--maincolor);
	font-size: 2rem;
	margin-bottom: .8rem;
	font-weight: 700;
	line-height: 1;
	display: block;
}
.Company-block__title-jp{
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1;
	display: block;
}
.Company-block__text{
	margin-bottom: 2.2rem;
}

/*----- 日電精密工業とは */
.Company-block.-about{
	background-image: url(../images/index/bg_about.jpg);
	background-image: image-set(url(../images/index/bg_about.jpg) 1x, url(../images/index/bg_about@2x.jpg) 2x);
}

/*----- NICHIDENをもっと知る */
.Company-block.-more{
	background-image: url(../images/index/bg_more.jpg);
	background-image: image-set(url(../images/index/bg_more.jpg) 1x, url(../images/index/bg_more@2x.jpg) 2x);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

	.Company__body{
		flex-direction: column;
		align-items: center;
	}
	.Company-block{
		width: 100%;
		max-width: 65rem;
	}
	.Company-block:not(:last-child){
		margin-bottom: 5rem;
	}

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	.Company-Environment{
		padding-top: 25rem;
		padding-bottom: 20rem;
		background-image: url(../images/index/sp_bg_company-environment.jpg);
		background-image: image-set(url(../images/index/sp_bg_company-environment.jpg) 1x, url(../images/index/sp_bg_company-environment@2x.jpg) 2x);
	}
	.Company{
		padding-bottom: 8rem;
	}
	.Company__body{
		row-gap: 6.2rem;
		flex-direction: column;
	}
	.Company-block{
		width: 100%;
		padding: 5rem;
	}
	.Company-block__body{
		padding: 5rem 3.5rem;
	}
	.Company-block__title{
		margin-bottom: 4rem;
	}
	.Company-block__title-en{
		font-size: 2.4rem;
		margin-bottom: 1rem;
	}
	.Company-block__text{
		margin-bottom: 5rem;
	}

}



/*-------------------------------
	はたらく環境を知る
-------------------------------*/

.Environment{
	padding-top: 0;
	padding-bottom: 0;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	.Environment{
		background-image: url(../images/index/sp_bg_environment.jpg);
		background-image: image-set(url(../images/index/sp_bg_environment.jpg) 1x, url(../images/index/sp_bg_environment@2x.jpg) 2x);
		background-size: 58.5rem;
		background-position: top left;
		background-repeat: no-repeat;
	}

}



/*-------------------------------
	仕事と人を知る
-------------------------------*/
.Staff-block-slider .swiper-wrapper {
  transition-timing-function: linear !important;
}

.Staff-Recruitment{
	padding-top: 20rem;
	padding-bottom: 17.5rem;
	background: rgba(230,247,255,.6);
	/* background-image: url(../images/index/bg_staff-recruitment.jpg);
	background-image: image-set(url(../images/index/bg_staff-recruitment.jpg) 1x, url(../images/index/bg_staff-recruitment@2x.jpg) 2x);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat; */
}
.Staff{
	padding-top: 0;
	padding-bottom: 0;
}
.Staff__title-stroke.-right{
	right: -25%;
}
.Staff__body{
	position: relative;
	z-index: 5000;
}
.Staff-block-slider{
	margin-bottom: 5.5rem;
}
.Staff-block{
	margin-right: 1.8rem;
    margin-left: 1.8rem;
}
.Staff-Object:nth-of-type(1) .Staff-Object__item:nth-of-type(1){
	width: 37.8rem;
	height: 37.8rem;
	top: 0;
	left: -25rem;
	opacity: .2;
}
.Staff-Object:nth-of-type(1) .Staff-Object__item:nth-of-type(2){
	width: 27.2rem;
	height: 27.2rem;
	left: -5.5rem;
	top: 20rem;
	opacity: .5;
}
.Staff-Object:nth-of-type(2) .Staff-Object__item:nth-of-type(1){
	width: 17.2rem;
	height: 17.2rem;
	right: -30.5rem;
	bottom: -14rem;
	/*opacity: .4;*/
	opacity: .8;
}
.Staff-Object:nth-of-type(2) .Staff-Object__item:nth-of-type(2){
	width: 38.2rem;
	height: 38.2rem;
	bottom: -8.5rem;
	right: -23rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

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

	.Staff-Recruitment{
		padding-top: 8rem;
		padding-bottom: 20rem;
		/* background-image: url(../images/index/sp_bg_staff-recruitment.jpg);
		background-image: image-set(url(../images/index/sp_bg_staff-recruitment.jpg) 1x, url(../images/index/sp_bg_staff-recruitment@2x.jpg) 2x); */
	}
	.Staff__title-stroke.-right{
		right: 0;
	}
	.Staff-block-slider{
		margin-bottom: 6rem;
	}
	.Staff-block{
		margin-right: 2rem;
		margin-left: 2rem;
	}

	.Staff-Object:nth-of-type(1) .Staff-Object__item:nth-of-type(1){
		top: 6rem;
		left: -12rem;
    	opacity: .4;
	}

}



/*-------------------------------
	採用情報
-------------------------------*/

.Recruitment{
	padding-top: 12rem;
	padding-bottom: 0;
}
.Recruitment__body{
	position: relative;
	z-index: 5000;
}
.Recruitment-Object .Recruitment-Object__item:nth-of-type(1){
	width: 28.2rem;
	height: 28.2rem;
	/*opacity: .1;*/
	opacity: .4;
	left: -20.5rem;
	top: 14rem;
}
.Recruitment-Object .Recruitment-Object__item:nth-of-type(2){
	width: 52.4rem;
	height: 52.4rem;
	opacity: .4;
	left: -3.5rem;
	top: -25.6rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){
	.Recruitment-Object .Recruitment-Object__item:nth-of-type(1){
		width: 32.4rem;
		height: 32.4rem;
		left: unset;
		right: 2rem;
		top: -4.6rem;
		opacity: .4;
		background: var(--subcolor1);
	}
	.Recruitment-Object .Recruitment-Object__item:nth-of-type(2){
		width: 32.4rem;
		height: 32.4rem;
		left: unset;
		right: 2rem;
		top: -4.6rem;
		opacity: .4;
		background: var(--subcolor1);
	}
}