@charset "utf-8";
/* CSS Document */
.row{
	margin-left: 0;
	margin-right: 0;
}
.recruit_hero{
	position: relative;
	width: 100%;
	height: calc(651 / 1440 * 100vw);
	max-height: 868px;
	overflow: visible;
	z-index: 2;
}
.recruit_hero .photo{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-position: center 40%;
	background-size: cover;
}
.recruit_logo.logo{
	position: fixed;
	left: calc(40 / 1440 * 100vw);
	top: calc(38 / 1440 * 100vw);
	width: calc(129 / 1440 * 100vw);
	max-width: 172px;
	z-index: 10;
}
.recruit_logo.logo img{
	width: 100%;
	height: auto;
	display: block;
}
.recruit_logo.logo.active{
	max-width: 140px;
}

.recruit_hero .illust{
	position: absolute;
	left: calc(34 / 1440 * 100vw);
	top: calc(74 / 1440 * 100vw);
	width: calc(212 / 1440 * 100vw);
	max-width: 212px;
	z-index: 2;
}
.recruit_hero .illust img{
	width: 100%;
	height: auto;
	display: block;
}
.recruit_hero .en_title1{
	position: absolute;
	right: calc(56 / 1440 * 100vw);
	top: calc(164 / 1440 * 100vw);
	writing-mode: vertical-rl;
	font-size: clamp(56px,8.06vw,116px);
	line-height: 1;
	letter-spacing: 0.08em;
	color: #f2f1e6;
	z-index: 2;
	white-space: nowrap;
}
.recruit_hero .banners{
	position: absolute;
	left: calc(58 / 1440 * 100vw);
	top: auto;
	bottom: calc(-50 / 1440 * 100vw);
	z-index: 3;
}
.recruit_hero .banner{
	background-color: #000;
	padding: 10px 17px;
	display: block;
	width: fit-content;
	transform: rotate(-7deg);
	transform-origin: left center;
}
.recruit_hero .banner p{
	font-size: clamp(18px,2.5vw,36px);
	font-weight: 700;
	line-height: 1.4;
	color: #f2f1e6;
}
.recruit_hero .banner2{
	position: relative;
	left: calc(150 / 1440 * 100vw);
	top: -6px;
}

.outline_ttl{
	position: relative;
	display: inline-block;
	font-family: "Sen", sans-serif;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	padding: 0 6px 4px 0;
}
.outline_ttl .fill,
.outline_ttl .line{
	font-family: "Sen", sans-serif;
	font-weight: 800;
	font-size: clamp(42px,6.81vw,98px);
	line-height: 1.2;
	letter-spacing: 0;
	margin: 0;
	white-space: nowrap;
}
.outline_ttl .fill{
	position: relative;
	z-index: 1;
	color: #000;
}
.outline_ttl .line{
	position: absolute;
	left: 6px;
	top: 4px;
	z-index: 0;
	color: transparent;
	-webkit-text-fill-color: transparent;
	-webkit-text-stroke: 2px #000;
}
.outline_ttl2 .fill,
.outline_ttl2 .line{
	font-size: clamp(36px,6.81vw,98px);
	white-space: normal;
}
.sec_big{
	position: relative;
	text-align: center;
	margin-bottom: 50px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.sec_big .ttl_row{
	position: relative;
	display: inline-block;
	width: fit-content;
	max-width: 100%;
	padding: 0 90px;
	margin: 0 auto;
	vertical-align: top;
}
.sec_big .outline_ttl{
	display: inline-block;
	position: relative;
	z-index: 1;
}
.sec_big .jp{
	display: block;
	font-size: 28px;
	font-weight: 900;
	margin-top: -10px;
	position: relative;
	z-index: 2;
	color: #000;
}
.bolt{
	position: absolute;
	top: 26px;
	left: 0;
	width: 76px;
	margin: 0;
	z-index: 2;
}
.bolt img{
	width: 100%;
	height: auto;
	display: block;
}
.bolt_r{
	left: auto;
	right: 0;
}

.sec_head{
	border-bottom: 13px solid #000;
	padding-bottom: 20px;
	margin-bottom: 50px;
}
.sec_head .en_title2{
	font-size: 18px;
	margin-bottom: 5px;
}
.sec_head .default_title1{
	font-size: clamp(26px,3.33vw,48px);
	color: #000;
}

.section01{
	padding: 130px 0 70px;
	position: relative;
	z-index: 1;
}
.section01 .inner{
	position: relative;
}
.section01 .vttl{
	width: 43px;
	flex-shrink: 0;
	background-color: #fff;
	padding: 10px 7px;
	box-sizing: border-box;
}
.section01 .vttl p{
	writing-mode: vertical-rl;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1.2;
}
.section01 .txtbox{
	width: calc(440 / 1220 * 100%);
}
.section01 .txtbox .default_title1{
	margin: 20px 0 40px;
	font-size: clamp(26px,2.78vw,40px);
	font-weight: 900;
	color: #000;
	line-height: 1.2;
}
.section01 .txtbox .default_txt1{
	margin-bottom: 0;
	line-height: 27px;
}
.section01 .photo{
	position: relative;
	width: calc(640 / 1220 * 100%);
}
.section01 .photo img{
	width: 100%;
	height: auto;
	display: block;
}
.stamp{
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.stamp p{
	font-family: "Sen", sans-serif;
	font-weight: 800;
	line-height: 1;
}
.stamp_oh{
	right: -20px;
	top: -50px;
	width: 168px;
	height: 168px;
	transform: rotate(12deg);
}
.stamp_oh img{
	width: 100%;
	height: auto;
	display: block;
}
.stamp_good{
	left: -20px;
	top: -50px;
	width: 209px;
	height: auto;
	background: none;
	border: none;
	border-radius: 0;
	transform: rotate(-12deg);
}
.stamp_good img{
	width: 100%;
	height: auto;
	display: block;
}

.section02{
	padding: 0;
	overflow: hidden;
}
.section02 .work_wrap{
	position: relative;
	padding: 0 0 80px;
	background-image: url("https://shintech2024.co.jp/system_panel/uploads/images/work_wrap_bar.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.section02 .work_wrap .bar{
	position: absolute;
	left: 0;
	top: calc(163 / 1440 * 100vw);
	width: 100%;
	height: calc(620 / 1440 * 100vw);
	/*
	background-color: #6b4ac9;
	*/
	z-index: 0;
}
.section02 .inner{
	position: relative;
	z-index: 1;
}
.section02 .jp{
	font-size: 28px;
	font-weight: 900;
	margin: 0 0 50px;
	color: #000;
}
.section02 .list{
	position: relative;
	z-index: 1;
	width: calc(1240 / 1440 * 100%);
	max-width: 1240px;
	margin: 0 auto;
	gap: 20px;
	align-items: flex-start;
}
.section02 .item{
	position: relative;
	width: 30%;
	padding-top: 0;
}
.section02 .item .num{
	position: absolute;
	right: 0;
	top: 0;
	font-family: "Sen", sans-serif;
	font-weight: 800;
	font-size: clamp(40px,5.14vw,74px);
	line-height: 1;
	color: #000;
	z-index: 2;
	transform: translateY(-50%);
	text-shadow: -1px -1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,1px 1px 0 #fff;
}
.section02 .item .imgbox{
	position: relative;
	margin-bottom: 80px;
}
.section02 .item .imgbox img{
	width: 100%;
	height: auto;
	display: block;
}
.section02 .item .labels{
	position: absolute;
	left: 0;
	bottom: 0px;
	transform: translateY(50%);
}
.section02 .item .labels .en{
	display: inline-block;
	background-color: #000;
	color: #0199fd;
	font-family: "Sen", sans-serif;
	font-weight: 800;
	font-size: 18px;
	padding: 4px 12px;
}
.section02 .item .labels .jp{
	display: block;
	width: fit-content;
	background-color: #fff;
	color: #0199fd;
	font-size: clamp(22px,2.78vw,40px);
	font-weight: 700;
	padding: 2px 14px;
	margin: 5px 0 0;
}
.section02 .item:nth-of-type(2) .labels .en,
.section02 .item:nth-of-type(2) .labels .jp{
	color: #fb5850;
}
.section02 .item:nth-of-type(3) .labels .en,
.section02 .item:nth-of-type(3) .labels .jp{
	color: #01b734;
}
.section02 .item .default_txt1{
	margin-top: 30px;
	line-height: 27px;
}

.section03{
	position: relative;
	padding: 130px 0;
	/*
	background-color: #f8f602;
	*/
}
.section03 .section03_bg{
	position: absolute;
	background-image: url("https://shintech2024.co.jp/system_panel/uploads/images/section03_bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 90%;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
.section03 > .inner{
	position: relative;
	z-index: 3;
}
.section03 .day{
	margin-bottom: 30px;
}
.section03 .day:last-of-type{
	margin-bottom: 0;
}
.section03 .day .timebox{
	width: 140px;
	flex-shrink: 0;
	position: relative;
	text-align: center;
	overflow: hidden;
	min-height: 150px;
}
.section03 .day .time{
	font-family: "Sen", sans-serif;
	font-size: 42px;
	font-weight: 800;
	letter-spacing: 0.01em;
	color: #262626;
	line-height: 1.2;
	background-color: #F8F602;
	position: relative;
	z-index: 3;
}
.section03 .day .time2{
	margin-top: 90px;
}

.section03 .day .timebox::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 52px;
	width: 0;
	height: calc(100% + 10px);
	border-left: 2px dotted #000;
	transform: translateX(-50%);
	z-index: 1;
}
.section03 .day .txtbox{
	width: calc(600 / 1220 * 100%);
	padding-top: 35px;
}
.section03 .day h3{
	font-size: 29px;
	font-weight: 900;
	color: #222;
	margin-bottom: 20px;
}
.section03 .day .photo{
	width: calc(380 / 1220 * 100%);
	border: 5px solid #000;
	box-sizing: border-box;
}
.section03 .day .photo img{
	width: 100%;
	height: auto;
	display: block;
}

.section04{
	padding: 0 0 100px;
}
.section04 .photo{
	position: relative;
	width: calc(578 / 1220 * 100%);
}
.section04 .photo img{
	width: 100%;
	height: auto;
	display: block;
}
.section04 .txtbox{
	width: calc(580 / 1220 * 100%);
}
.section04 .txtbox .default_title1{
	font-size: clamp(26px,2.78vw,40px);
	font-weight: 900;
	color: #000;
	line-height: 1.2;
	margin: 20px 0 40px;
}
.section04 .checks .li{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 30px;
}
.section04 .checks .li:last-of-type{
	margin-bottom: 0;
}
.section04 .checks .mark{
	width: 39px;
	height: 39px;
	border: 2px solid #000;
	border-radius: 50%;
	flex-shrink: 0;
	position: relative;
	box-sizing: border-box;
	background-color: #000;
}
.section04 .checks .mark::after{
	content: "";
	position: absolute;
	left: 13px;
	top: 7px;
	width: 8px;
	height: 16px;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: rotate(45deg);
}
.section04 .checks p{
	font-size: 20px;
	font-weight: 500;
}

.section05{
	padding: 0 0 130px;
}
.section05 .item{
	margin-bottom: 50px;
}
.section05 .item:last-of-type{
	margin-bottom: 0;
}
.section05 .item .photo{
	width: calc(420 / 1220 * 100%);
}
.section05 .item .photo img{
	width: 100%;
	height: auto;
	display: block;
}
.section05 .item .txtbox{
	width: calc(740 / 1220 * 100%);
}
.section05 .item .name{
	margin-bottom: 25px;
	padding-bottom: 30px;
}
.section05 .item .name .en{
	display: inline-block;
	background-color: #000;
	font-family: "Sen", sans-serif;
	font-weight: 800;
	font-size: 18px;
	padding: 6px 12px;
}
.section05 .item .name .jp{
	display: block;
	width: fit-content;
	background-color: #fff;
	font-size: clamp(24px,2.78vw,40px);
	font-weight: 700;
	padding: 2px 14px;
	margin-top: 8px;
}
.section05 .item .name1 .en,
.section05 .item .name1 .jp{
	color: #0198fd;
}
.section05 .item .name2 .en,
.section05 .item .name2 .jp{
	color: #fb5850;
}
.section05 .item .name3 .en,
.section05 .item .name3 .jp{
	color: #01b734;
}
.section05 .item .qa{
	margin-bottom: 20px;
}
.section05 .item .q{
	gap: 10px;
	margin-bottom: 20px;
}
.section05 .item .q .mark{
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: #000;
	color: #fff;
	font-family: "Sen", sans-serif;
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.section05 .item .q p:last-of-type{
	font-size: 20px;
	font-weight: 700;
}

.section06{
	padding: 130px 0;
	background-color: #0199fd;
}
.section06 .sec_big,
.section07 .sec_big{
	margin-bottom: 30px;
}
.section06 .job_table{
	max-width: 1140px;
	margin: 0 auto;
}
.section06 .job_table .row{
	border-bottom: 1px solid #fff;
  align-items: stretch;
}
.section06 .job_table .ttl{
	width: calc(340 / 1140 * 100%);
	flex-shrink: 0;
	background-color: #242424;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	padding: 28px 30px;
	box-sizing: border-box;
	display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content: flex-start;
    align-items: center;
	flex-direction: row;

}
.section06 .job_table .txt{
	flex: 1;
	background-color: #fff;
	color: #333;
	font-size: 15px;
	font-weight: 700;
	padding: 28px 20px;
	box-sizing: border-box;
}

.section07{
	padding: 130px 0 0;
}
.section07 .mailform{
	max-width: 1140px;
	margin: 0 auto;
	text-align: left;
}
.section07 .mailform .lead{
	text-align: center;
	margin-bottom: 34px;
	padding-bottom: 40px;
}
.mailform .row .zip{
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1;
}
.mailform .row .zip p{
	flex-shrink: 0;
}
.mailform .row .zip input{
	width: 107px;
	flex: none;
	height: 48px;
}
.mailform .row.addr .inputs{
	flex: 1;/*
	display: flex;
	flex-direction: column;
	gap: 12px;
	*/
}
.mailform .row.addr .inputs input{
	width: 100%;
}
.mailform .row.addr .inputs input:not(:last-of-type){
	margin-bottom: 10px;
}
.mailform .row.file input{
	padding: 8px 20px;
	background-color: transparent;
	border: none;
}

@media screen and (max-width: 768px){
  .recruit_hero .logo{width: 100px;}
	.recruit_hero{
		height: 420px;
	}
	.recruit_hero .en_title1{
		font-size: 48px;
		top: 80px;
		right: 16px;
	}
	.recruit_hero .banners{
		top: auto;
		bottom: 20px;
		left: 16px;
	}
	.recruit_hero .banner2{
		left: 24px;
	}
	.outline_ttl .fill,
	.outline_ttl .line{
		font-size: 42px;
	}
	.sec_big .ttl_row{
		padding: 0 40px;
	}
	.sec_big .jp{
		margin-top: 0;
	}
	.section01,
	.section02,
	.section03,
	.section04,
	.section05{
		padding: 80px 0;
	}
	.section06,
	.section07{
		padding: 80px 0;
	}
	.section01 .inner,
	.section04 .inner,
	.section05 .item{
		flex-direction: column;
		gap: 24px;
	}
	.section01 .vttl{display: none;}
	.section01 .txtbox,
	.section01 .photo,
	.section02 .item,
	.section03 .day .txtbox,
	.section03 .day .photo,
	.section04 .txtbox,
	.section04 .photo,
	.section05 .item .photo,
	.section05 .item .txtbox{
		width: 100%;
	}
	.stamp_oh{
		width: 110px;
		height: 110px;
		top: -24px;
		right: 0;
		left: auto;
	}
	.stamp_good{
		width: 130px;
		height: auto;
		top: -24px;
		right: 0;
		left: auto;
	}
	.section02 .list{
		flex-direction: column;
		width: calc(100% - 40px);
	}
	.section02 .work_wrap .bar{
		display: none;
	}
	.section03 .day{
		flex-wrap: wrap;
		gap: 16px;
		margin-bottom: 80px;
	}
	.section03 .day .timebox{
		width: 100%;
		text-align: left;
		background-color: transparent;
		min-height: 100%;
	}
	.section03 .day .time{
		display: inline-block;
		margin-right: 16px;
	}
	.section03 .day .time2{
		margin-top: 0;
	}
	.section03 .day .time{background-color: transparent;}
	.section03 .day .timebox::after{
		display: none;
	}
	.section06 .job_table .row{
		flex-direction: column;
	}
	.section06 .job_table .ttl{
		width: 100%;
	}
	.mailform .row.addr .inputs{
		width: 100%;
	}
	.bolt{
		width: 40px;
		height: 54px;
		top: 12px;
		margin: 0;
	}
	.section02 .list{
		gap: 50px;
	}
}
@media screen and (max-width: 576px){
    .recruit_hero .logo{width: 72px;}
	.outline_ttl .line{
		left: 3px;
		top: 2px;
		-webkit-text-stroke: 1px #000;
	}
	.section02 .item .imgbox{
		margin-bottom: 50px;
	}
	.section02 .item .labels{
		transform: translateY(30%);
	}
	.section03 .day .txtbox{
		padding-top: 0px;
	}
	.section04 .checks p{
		font-size: 20px;
	}
.section04 .checks .mark{
	width: 29px;
	height: 29px;
	border: 2px solid #000;
	border-radius: 50%;
	flex-shrink: 0;
	position: relative;
	box-sizing: border-box;
	background-color: #000;
}
.section04 .checks .mark::after{
	content: "";
	position: absolute;
	left: 9px;
	top: 4px;
	width: 8px;
	height: 16px;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: rotate(45deg);
}
}