@charset "utf-8";

/*

トップページ用のスタイルです。

*/

/* ------------ */
/* デザイン共通 */
/* ------------ */



ul li{list-style:none;}

/* ----------- */
/* main visual */
/* ----------- */

.area_home_mv{ position:relative; width:100%; 	
}

.area_home_mv .block_catch{
	position:absolute;
	bottom:1.5rem;
	left:1rem;
	z-index:10;
}

@media print,screen and (max-width:767px) {
	.area_home_mv{ margin-top:3.5rem; }
}
@media print,screen and (min-width:768px) {
	.area_home_mv{ height:43.125vw; margin-top:3.5rem; }
	.area_home_mv .block_catch{ width:32%; }

}
@media print,screen and (min-width:960px) {
	.area_home_mv{ margin-top:5rem; }
}
@media print,screen and (min-width:1100px) {
	
}

/* ------ */
/*  main  */
/* ------ */

main,
main section { position:relative; }
main section { z-index:10; }

main::before,
main::after,
main .main_bg_img::after {
	position:absolute;
	display:block;
	content:"";
	width:100%;
}
main::before {
	top:calc(56vh + 2px);
	z-index:5;
	width:100vw;
	height:64vh;
	margin-left:calc(50% - 50vw);
	background:#000;
	transform:skewY(-16deg);
	transform-origin:right top;
	opacity:0.32;
}
main::after {
	top:64vh;
	z-index:-10;
	width:100vw;
	height:40vh;
	margin-left:calc(50% - 50vw);
	transform:skewY(16deg);
	transform-origin:left top;
	z-index:-5;
	background:#F5EFE1;
}

main .main_bg_img {
	position:absolute;
	top:56vh;
	z-index:1;
	width:100vw;
	height:calc((100vw / 5) * 3.5);
}

main .main_bg_img::after {
	top:116vh;
	z-index:5;
	width:100vw;
	height:30rem;
	margin-left:calc(50% - 50vw);
	background:#A30A0B;
	transform:skewY(16deg);
	transform-origin:right top;
	opacity:0.95;
}
main .main_bg_img .parent{
	width:100%;
	height:64vh;
	transform:skewY(-16deg);
	transform-origin:right top;
	background:#000;
	overflow:hidden;
}
main .main_bg_img .parent div {
	width:100%;
	height:200%;
	background:url('images/home/bg_home_img.jpg') 0% 50% no-repeat;
	background-size:cover;
	transform:skewY(16deg);
	transform-origin:right top;
}

@media print,screen and (max-width:767px) {
	main::before { top:calc(120vh + 2px); z-index:1; }
	main::after { top:200vh; transform:skewY(-16deg); }
	main .main_bg_img { top:120vh; }
	main .main_bg_img::after { top:70vh; }
	main .main_bg_img .parent div {
		height:160%;
		background-position:50% 0;
		opacity:0.84;
	}
}
@media print,screen and (min-width:768px) {
	main section {
		width:calc(100% - 8rem);
		margin-right:auto;
		margin-left:auto;
	}
	main section .heading02,
	main section .heading02_w { width:100%; margin-bottom:2rem; }
	main .main_bg_img::after { top:140vh; }
}
@media print,screen and (min-width:960px) {
	main .main_bg_img::after { top:108vh; }
}
@media print,screen and (min-width:1100px) {
	main section{ max-width:1152px; }
}


/* -------------- */
/*  home concept  */
/* -------------- */

.home_concept { margin:0 auto; }
.home_concept .body {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	position:absolute;
	text-align:center;
	background:rgba(255,255,255,0.81);
}
.home_concept .body .heading_home_concept {
	color:#D10001;
	line-height:1;
	font-weight:200;
}
.home_concept .body .heading_home_concept span { color:#000; }
.home_concept .body .btn_link01 { margin:0 auto; }
@media print,screen and (max-width:767px) {
	.home_concept {
		width:calc(100% - 2rem);
		height:calc(((100vw - 2rem) * 44) / 35);
		margin:1.5rem auto;
	}
	.home_concept .body {
		right:1rem;
		bottom:1.5rem;
		left:1rem;
		width:calc(100% - 2rem);
		padding:2rem 1rem;
	}
	.home_concept .body .heading_home_concept { letter-spacing:0.1em; font-size:2.4rem; }
	.home_concept .body p { margin:1rem 0; }
	.home_concept .btn_link01 { width:100%; }
}
@media print,screen and (min-width:768px) {
	.home_concept { height:27.5rem; }
	.home_concept .body {
		justify-content:center;
		top:0;
		right:2rem;
		bottom:0;
		width:60%;
		height:calc(100% - 4rem);
		margin:auto;
		padding:3.8rem 1.6rem;
	}
	.home_concept .body .heading_home_concept { letter-spacing:0.1em; font-size:3rem; }
	.home_concept .body p { margin:2rem 0; }
	.home_concept .body .btn_link01 { width:80%; }
}
@media print,screen and (min-width:960px) {
	.home_concept .body {
		width:35rem;
		height:20rem;
		padding:3.8rem 5rem;
	}
}
@media print,screen and (min-width:1100px) {
	
}

/* -------------- */
/*  home_recruit  */
/* -------------- */

.home_recruit { margin:4rem auto; }
.home_recruit .block_content {
	display:flex;
	justify-content:space-between;
	margin:1rem auto;
	color:#fff;
	text-align:center;
	background:rgba(163,10,11,0.90);
}
.home_recruit .block_content .body .btn_link01_w { margin:0; }

@media print,screen and (max-width:767px) {
	.home_recruit { width:calc(100% - 2rem); }
	.home_recruit .heading02 { margin:0 0 1.6rem; }
	.home_recruit .block_content { flex-wrap:wrap; }
	.home_recruit .block_content .body {
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		width:100%;
		padding:2.5rem 2rem;
		text-align:left;
	}
	.home_recruit .block_content .body .text { margin:2rem auto; }
	.home_recruit .block_content figure { width:100%; }
}
@media print,screen and (min-width:768px) {
	.home_recruit .block_content { flex-wrap:wrap; }
	.home_recruit .block_content .body {
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		width:100%;
		padding:2.5rem 2rem;
		text-align:left;
	}
	.home_recruit .block_content .body .text { margin:2rem auto; }
	.home_recruit .block_content figure { width:100%; }
}
@media print,screen and (min-width:960px) {
	
	.home_recruit .block_content {
		flex-direction:row;
		align-items:center;
	}
	.home_recruit .block_content .body {
		width:40%;
		/*padding:4rem 2rem;*/
		padding:2rem;
		text-align:left;
	}
	.home_recruit .block_content figure { width:60%; }
}
@media print,screen and (min-width:1100px) {
	
}

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

.home_company { margin:4rem auto; }
.home_company article {
	padding:1rem;
	text-align:center;
	background:#fff;
	box-shadow:0 3px 6px 0 rgba(0,0,0,0.16);
}

.home_company article h2 {
	margin:1rem auto;
	color:#A30A0B;
	font-size:1.5rem;
	font-weight:500;
}

.home_company .btn_link01 {
	width:80%;
	margin:2rem auto;
}

@media print,screen and (max-width:767px) {
	.home_company { width:calc(100% - 2rem); }
	.home_company .heading02_w { margin-bottom:1.6rem; }
	.home_company article {
		display:flex;
		align-items:center;
		margin-bottom:0.5rem;
		padding:0;
	}
	.home_company article > * { width:50%; }
	.home_company article > div {
		display:flex;
		flex-direction:column;
		justify-content:center;
		padding:2rem 1rem;
	}
	
	.home_company article > div p { display:none; }
	.home_company article > div .btn_link01 {
		width:100%;
		margin:1rem 0 0;
		padding-top:0.5rem;
		padding-bottom:0.5rem;
	}
}
@media print,screen and (min-width:768px) {
	.home_company {
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	.home_company article { width:calc(50% - 0.2rem); margin:0; }
	
}
@media print,screen and (min-width:960px) {
	
}
@media print,screen and (min-width:1100px) {
	
}
/* ----------- */
/*  home news  */
/* ----------- */

.home_news { margin:3rem auto; }
.home_news .heading02{ margin-top:0; }

.home_news .btn_link01 {
	width:10rem;
	margin:0 0 2rem;
	padding-top:0.5rem;
	padding-bottom:0.5rem;
}

@media print,screen and (max-width:767px) {
	.area_home_news {
		width:calc(100% - 2rem);
		margin:0 auto;
	}
	.home_news .heading02{ margin-bottom:1.6rem; }
	
}
@media print,screen and (min-width:768px) {
	.area_home_news {
		position:relative;
		z-index:10;
		margin:4rem 0;
		padding:3rem 0;
		background:rgba(255,255,255,0.9);
		box-shadow:0 2px 6px 1px rgba(0,0,0,0.16);
	}
	.home_news {
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
		margin:0 auto;
	}
	
}
@media print,screen and (min-width:960px) {
	
}
@media print,screen and (min-width:1100px) {
	
}


/* ---------------- */
/*  home_brand_bnr  */
/* ---------------- */

.home_brand_bnr {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:0 auto;
	padding-bottom:4rem;
}
.home_brand_bnr a {
	display:block;
	box-shadow:0 2px 6px 0 rgba(0,0,0,0.16);
}
.home_brand_bnr a:hover { opacity:0.64; }

@media print,screen and (max-width:767px) {
	.home_brand_bnr { width:calc(100% - 3rem); }
	.home_brand_bnr a {
		width:calc(50% - 0.5rem);
		margin-bottom:0.5rem;
	}
}
@media print,screen and (min-width:768px) {
	.home_brand_bnr {
		width:calc(100% - 8rem);
	}
	.home_brand_bnr a {
		width:calc(20% - 0.5rem);
		margin-bottom:0.3rem;
	}
}
@media print,screen and (min-width:960px) {
	
}
@media print,screen and (min-width:1100px) {
	.home_brand_bnr {
		max-width:1152px;
	}
}

