/* PC: keep natural aspect ratio */
.mainvisual {
	display: block;
	width: 100%;
	height: auto;          /* respect intrinsic ratio */
	object-fit: contain;   /* no cropping on desktop */
	object-position: center;
}
.mainvisual-sp {
	display: none;
}
.mainvisual video{
	width: 100%;
	height: auto;
}

/* Smartphone & Tablet: square crop, centered */
@media screen and (max-width: 1280px) {
	.mainvisual {
		display: none;
	}
	.mainvisual-sp {
		display: block;
		aspect-ratio: 1 / 1;
		width: 100%;
		height: auto;        /* height is driven by aspect-ratio */
		object-fit: cover;   /* crop to square */
		object-position: center;
	}
}



#underMainVisual{
	padding: 60px 0;
}

#underMainVisual .title{
	text-align: center;
	font-size: 50px;
	margin-bottom: 15px;;
}
#underMainVisual .text{
	text-align: center;;
	font-size: 30px;
	margin-bottom: 35px;
}


/* Smartphone & Tablet: square crop, centered */
@media screen and (max-width: 1280px) {
	#underMainVisual .title{
		font-size: clamp(26px, 5vw, 30px);
	}
	#underMainVisual .text{
		font-size: clamp(12px, 3vw, 20px);
	}
}

/* ============================================================
	WORK SECTION
	============================================================ */

#work{
	margin-top: 50px;
	margin-bottom: 250px;
	position: relative;
}



#bgWorkPhoto{
	background-image: url('../images/top/photo-work.jpg');
	background-repeat: no-repeat;;
	background-size: cover;
	background-position: center;
	height: 600px;
	border-right: 60px solid #fff;
}

#bgwork{
	background-image: url('../images/top/text-work.png');
	background-repeat: no-repeat;;
	background-size: 668px 332px;
	background-position: 10px 10px;

}
#bgwork .text{
	line-height: 200%;;
}
.workTxtWrap{
	padding: 180px 0 60px 0;
}
#workSpBackgroundImage{
	display: none;;
}
.btnWrap-left{
	position: absolute; bottom: 0;left:0;
}
@media screen and (max-width: 1280px) {
	.workTxtWrap{
		padding: 45px 0 0 0;
		text-align: center;
		height: 150px;
	}
	#bgwork{
		background-size: 300px;
		background-position: top center;

	}
	#bgWorkPhoto{
		display: none;
	}
	#workSpBackgroundImage{
		display: block;
		background-image: url('../images/top/photo-work.jpg');
		background-repeat: no-repeat;;
		background-size: cover;
		background-position: center;
		aspect-ratio: 1 / 1;
		width: 100%;
		height: auto;
		border-right: none;
		margin-bottom: 15px;
	}
	.btnWrap-left{
		margin-top: 40px;
		position: initial;
		bottom: auto; left: auto;
		text-align: center;
	}
}

/* ============================================================
	Recruit SECTION
	============================================================ */

#recruit{
	margin-top: 150px;
	margin-bottom: 250px;
}

#bgRecruitPhoto{
	background-image: url('../images/top/photo-recruit.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 845px;
	border-right: 60px solid #fff;
}

#bgRecruit{
	background-image: url('../images/top/text-recruit.png');
	background-repeat: no-repeat;;
	background-size: 944px 432px;
	background-position: 10px 10px;

}
#bgRecruit .text{
	line-height: 200%;;
}
.recruitTxtWrap{
	padding: 270px 0 60px 0;
}

.firstline span{
	color: #0D1E7E;

}
#recruit .catchcopy{
	margin-bottom: 40px;;
}

#recruitSpBackgroundImage{
	display: none;
}
@media screen and (max-width: 1280px) {

	#recruit{
		margin-top: 40px;
		margin-bottom: 250px;
	}

	.recruitTxtWrap{
		padding: 40px 0 0 0;
		text-align: center;
		height: 150px;
	}
	
	#bgRecruit{
		background-size: 300px;
		background-position: top center;
	}
	#bgRecruitPhoto{
		display: none;
	}
	#recruitSpBackgroundImage{
		background-image: url('../images/top/photo-recruit.jpg');
		background-repeat: no-repeat;;
		display: block;
		background-size: cover;
		background-position: center;
		aspect-ratio: 1 / 1;
		width: 100%;
		height: auto;
		border-right: none;
	}
	.btnWrap-left{
		margin-top: 40px;
		position: initial;
		bottom: auto; left: auto;
		text-align: center;
	}
}

/* ============================================================
	MACHINE SECTION
	============================================================ */
	

#machine{
	background-image: url('../images/top/bg-machine.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 850px;
	position: relative;
}

#machine .illust1{
	position: absolute;
	top: -240px;
	right: 0;
}

.photo-machine{
	position: absolute;
	background-image: url('../images/top/photo-machine.png');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center left;
	width: 60vw;
	height: 850px;
	top: 100px;
	right: 0;
}

.photo-machine img{
	height: 850px;;
}

.copy-machine{
	background-image: url('../images/top/text-machine.png');
	background-repeat: no-repeat;;
	background-size: 1072px 338px;
	background-position: 10px 10px;
	position:absolute;
	top:0;
	left:0;
	height: 338px;
	width: 1072px;
}
.copy-machine .title{
	display: none;
}
.machineNum{
	position: absolute;
	/*width: 100%;*/
	top:50px;
	left: calc(50% - 680px);
}
.machineNum .image-sp{
	display: none;
}
.btnWrap-machine{
	margin-top: 50px;
	width: 100%;
	text-align: center;
}

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

	#machine{
		padding-top: 50px;
		padding-bottom: 50px;
	}

	#machine .illust1{
		width: 400px;
		top: -210px;
		right: -50px;
	}
	.copy-machine{
		position: relative;
		top:auto;
		left:auto;
		width: 100%;
		height: 150px;
		background-size: 80%;
		background-position: top center;
	}
	.copy-machine .title{
		display: block;
		text-align: center;
		font-size: 35px;
		padding-top:15px;
	}
	
	.photo-machine{
		position: relative;
		top:auto;
		left:auto;
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
	}
	.machineNum{
		position: relative;
		top:auto;
		left:auto;
		width: 100%;;
	}
	.machineNum .image{
		display: none;
	}
	.machineNum .image-sp{
		display: flex;
		justify-content: center;
	}
	.machineNum .title{
		display: none;
	}
	
}

/* ============================================================
	INTERVIEW SECTION
	============================================================ */
	

#interview{
	background-image: url('../images/top/bg-interview.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 850px;
	position: relative;
	margin-bottom: 250px;
}

#interview .illust2{
	position: absolute;
	top: -285px;
	left: 0;
}

.interviewContent .title{
	margin-top: 100px;
}
.interviewContent .title small{
	font-size: 25px;
}
.interviewContent .text{
	font-size: 15px;
	margin-bottom:25px;
}
.photo-interview{
	position: absolute;
	background-image: url('../images/top/photo-interview.png');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center left;
	width: 60vw;
	height: 850px;
	top: 100px;
	right: 0;
}

.photo-interview img{
	height: 850px;;
}

.copy-interview{
	background-image: url('../images/top/text-interview.png');
	background-repeat: no-repeat;;
	background-size: 1072px 338px;
	background-position: 10px 10px;
	position:absolute;
	top:0;
	left:0;
	height: 338px;
	width: 1072px;
}
.interviewContent{
	position: absolute;
	/*width: 100%;*/
	top:50px;
	left: calc(50% - 680px);
}
.btnWrap-interview{
	margin-top: 50px;
	width: 100%;
	text-align: center;
}

.interviewContent .image{
	width: 600px;
}
.interviewContent .image .thumbs{
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
	gap: 15px;
}
.interviewContent .image .thumbs>div{
	width: calc( 33% - 10px );
}

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

	#interview{
		padding-top: 10px;
		padding-bottom: 20px;
		min-height: auto;
		margin-bottom: 0;
	} 

	.copy-interview{
		position: relative;
		top:auto;
		left:auto;
		width: 100%;
		height: 150px;
		background-size: contain;
		background-position: top center;
	}
	.copy-interview .title{
		display: block;
		text-align: center;
	}
	
	.photo-interview{
		display: none;
	}

	.interviewContent{
		position: relative;
		top:auto;
		left:auto;
		width: 100%;
		padding-left: 15px;;
		padding-right: 15px;;
		margin-top:-80px;
	}
	.interviewContent .title{
		text-align: center;
		margin-bottom: 15px;

	}
	.interviewContent .title small{
		display: block;
		font-size: 1rem;
	}
	.interviewContent .text{
		text-align: center;
		margin-bottom: 25px;
	}
	
	.interviewContent .image{
		width: 100%;
	}
	.interviewContent .image .thumbs{
		display: flex;
		justify-content: space-between;
		margin-top: 30px;
		gap: 15px;
	}
	.interviewContent .image .thumbs>div{
		width: calc( 50% - 10px );
	}

	/* デザイン上、３つめを消す */
	.thumbs-3{
		display: none;
	}
	
}

@media screen and (max-width: 575px) {
	.interviewContent .text{
		text-align: left;
	}
}