/* ---------------------------------------------------------------
start TOP CSS
--------------------------------------------------------------- */

/* --------------- mainimg --------------- */

.col_topmain {
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 0;
}
.col_topmain .bgimg {
	margin: 0;
	padding: 0;
}
.col_topmain .cont_topmain {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 5% 5%;
	color: #fff;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width: 700px) {
	.col_topmain .cont_topmain {
		padding: 4% 5%;
		justify-content: flex-start;
	}
}
.col_topmain .cont_topmain .copy_jp {
	margin: 0;
	padding: 0;
	font-size: 5.5533vw;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0.12em;
}
@media screen and (max-width: 700px) {
	.col_topmain .cont_topmain .copy_jp {
		font-size: 6.527vw;
		line-height: 1.383;
	}
}
.col_topmain .cont_topmain .copy_en {
	margin: 0;
	padding: 0.6em 0 0;
	font-size: 1.811vw;
	font-weight: 600;
}
@media screen and (max-width: 700px) {
	.col_topmain .cont_topmain .copy_en { font-size: 2.5vw; }
}


/* --------------- company --------------- */

.col_topcompany {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 74px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
@media screen and (max-width: 700px) {
	.col_topcompany { padding: 10vw 0 calc( 10vw - 20px ); }
}
@media screen and (max-width: 450px) {
	.col_topcompany {
		 padding: 10vw 0;
		display: block;
	}
}
.col_topcompany a {
	width: calc(( 100% - 80px )/5 );
	height: 17.26vw;
	max-height: 202px;
	margin: 0 20px 0 0;
	padding: 1% 0 0;
	color: #000;
	border: solid 1px #196b3d;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.col_topcompany a:last-child { margin-right: 0; }
@media screen and (min-width: 701px) {
	.col_topcompany a { transition: background .5s; }
	.col_topcompany a:hover { background-color: #eee; }
}
@media screen and (max-width: 850px) {
	.col_topcompany a {
		width: calc( ( 100% - 40px )/3 );
		max-width: 202px;
		height: 29.393vw;;
		margin: 0 20px 20px 0;
	}
	.col_topcompany a:nth-child(3) { margin-right: 0; }
}
@media screen and (max-width: 450px) {
	.col_topcompany a {
		width: 100%;
		max-width: 360px;
		height: auto;
		margin: 0 auto 3%;
		padding: 10px 0;
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
	}
	.col_topcompany a:nth-child(3) { margin-right: auto; }
	.col_topcompany a:last-child { margin: 0 auto; }
}
.col_topcompany a .icon {
	width: 33.5%;
	margin: 0 auto;
	padding: 0;
}
@media screen and (max-width: 450px) {
	.col_topcompany a .icon {
		width: 12.368%;
		margin: 0 6%;
	}
}
.col_topcompany a .txt {
	height: 2.6em;
	margin: 1.2em 0 0;
	padding: 0;
	font-size: min( 1.682vw, 18px );
	text-align: center;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
@media screen and (max-width: 850px) {
	.col_topcompany a .txt { font-size: min( 3.1vw, 18px ); }
}
@media screen and (max-width: 450px) {
	.col_topcompany a .txt {
		width: 75.632%;
		height: unset;
		margin: 0;
		padding: 0 4% 0 0;
		font-size: 15px;
		text-align: left;
		box-sizing: border-box;
		display: block;
	}
}


/* --------------- business areas --------------- */

.col_topbusiness {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 80px 0 64px;
}
@media screen and (max-width: 700px) {
	.col_topbusiness { padding: 14vw 0; }
}
.col_topbusiness .mds {
	margin: 0 0 38px;
	padding: 0;
	color: #196b3d;
	font-size: min( 6.94vw, 40px );
	font-weight: 600;
}
.col_topbusiness .list_topbusiness {
	width: 100%;
	max-width: 1064px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.col_topbusiness .list_topbusiness a {
	width: calc( ( 100% - 78px )/4 );
	margin: 0 26px 26px 0;
	padding: 0;
	background-color: #fff;
	border-radius: 5px;
	display: block;
	overflow: hidden;
}
.col_topbusiness .list_topbusiness a:nth-child(4n),
.col_topbusiness .list_topbusiness a:last-child { margin-right: 0; }
@media screen and (max-width: 850px) {
	.col_topbusiness .list_topbusiness a { width: calc( ( 100% - 52px )/3 ); }
	.col_topbusiness .list_topbusiness a:nth-child(4n) { margin-right: 26px; }
	.col_topbusiness .list_topbusiness a:nth-child(3n) { margin-right: 0; }
}
@media screen and (max-width: 660px) {
	.col_topbusiness .list_topbusiness a {
		width: 47.2%;
		margin: 0 5.6% 5.6% 0;
	}
	.col_topbusiness .list_topbusiness a:nth-child(4n),
	.col_topbusiness .list_topbusiness a:nth-child(3n) { margin-right: 5.6%; }
	.col_topbusiness .list_topbusiness a:nth-child(even) { margin-right: 0; }
	
	.col_topbusiness .mds{
		margin: 0 0 18px;
	}
	
}
.col_topbusiness .list_topbusiness a .img {
	margin: 0;
	padding: 0;
	border-bottom: solid 3px #196b3d;
	overflow: hidden;
}
@media screen and (min-width: 701px) {
	.col_topbusiness .list_topbusiness a .img img { transition: all .5s; }
	.col_topbusiness .list_topbusiness a:hover .img img {
		transform: scale(1.08);
		opacity: 0.6;
	}
}
.col_topbusiness .list_topbusiness a .txt {
	height: 3.8em;
	margin: 0;
	padding: 0.2em;
	color: #000;
	font-size: min( 1.538vw, 18px );
	text-align: center;
	line-height: 1.28;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	font-feature-settings: "palt"
}
@media screen and (max-width: 850px) {
	.col_topbusiness .list_topbusiness a .txt { font-size: 2.11vw; }
}
@media screen and (max-width: 660px) {
	.col_topbusiness .list_topbusiness a .txt {
		height: auto;
		min-height: 3.8em;
		padding: 0.2em 0.5em;
		font-size: min( 3.75vw, 15px );
	}
}
.col_topbusiness .list_topbusiness a .txt .inner {
	margin: 0;
	padding: 0;
}


/* --------------- recruit --------------- */

.bg_toprecruit { padding: 0 0 95px; }
@media screen and (max-width: 800px) {
	.bg_toprecruit { padding: 0 0 19vw; }
}

.col_toprecruit {
	width: 100%;
	height: 32.157vw;
	max-height: 410px;
	margin: 0;
	padding: 0;
	background-color: #fff;
	display: flex;
}
@media screen and (max-width: 800px) {
	.col_toprecruit { height: auto; }
}
.cont_toprecruit {
	width: 48%;
	margin: 0;
	padding: 20px 6.5%;
	color: #196b3d;
	box-sizing: border-box;
	align-self: center;
}
@media screen and (max-width: 800px) {
	.cont_toprecruit { width: 49%; }
}
.cont_toprecruit .mds {
	margin: 0 0 0.4em;
	padding: 0;
	font-size: min( 3.5vw, 40px );
	font-weight: 600;
	line-height: 1.1;
}
@media screen and (max-width: 800px) {
	.cont_toprecruit .mds { font-size: min( 6.944vw, 40px ); }
}
.cont_toprecruit .lead {
	margin: 0 0 0.5em;
	padding: 0;
	font-size: min( 4.91vw, 56px );
	font-weight: 700;
	line-height: 1.286;
}
@media screen and (max-width: 800px) {
	.cont_toprecruit .lead {
		margin: 0 0 0.7em;
		font-size: min( 4.44vw, 56px );
	}
}
.cont_toprecruit a.btn_detail {
	width: 100%;
	max-width: 225px;
	margin: 0;
	padding: 0.8em;
	color: #196b3d;
	text-align: center;
	border: solid 1px #196b3d;
	display: block;
}
@media screen and (max-width: 800px) {
	.cont_toprecruit a.btn_detail {
		padding: 0.6em;
		font-size: min( 3.19vw, 15px );
	}
}
@media screen and (min-width: 701px) {
	.cont_toprecruit a.btn_detail { transition: background .5s; }
	.cont_toprecruit a.btn_detail:hover { background-color: #eee; }
}


.col_toprecruit .img {
	width: 52%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
@media screen and (max-width: 800px) {
	.col_toprecruit .img { width: 51%; }
}
.col_toprecruit .img img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
}
.col_toprecruit .img img.sp { display: none; }
@media screen and (max-width: 800px) {
	.col_toprecruit .img img {
		transform: translate(0);
		position: static;
	}
	.col_toprecruit .img img.sp { display: inline-block; }
	.col_toprecruit .img img.pc { display: none; }
}


/* --------------- en --------------- */

.col_topmain .cont_topmain.en .copy_jp{
	font-size: 4.5533vw;
	letter-spacing: 0;
}

.col_topcompany.en a .txt{
	line-height: 1.3;
}

.col_topbusiness.en .list_topbusiness a .txt{
	height: 4.8em;
}


@media screen and (max-width: 700px) {
	.col_topmain .cont_topmain.en .copy_jp{
		font-size: 6.527vw;
        line-height: 1.383;
	}
	

}



