@charset "UTF-8";

/*--------------------------------------------------------------------
index.html	(トップページ)
top.css
--------------------------------------------------------------------*/
#HeaderBG {
	min-height: 700px;
	background: inherit !important;
	border: 0 none;
}
#HeaderBG div.Anima {
	position: absolute;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	z-index: 2;
}
#HeaderBG div#Anima01 { background-image: url("../../img/top/anima_p01.jpg"); }
#HeaderBG div#Anima02 { background-image: url("../../img/top/anima_p02.jpg"); }
#HeaderBG div#Anima03 { background-image: url("../../img/top/anima_p03.jpg"); }
#HeaderBG div#Anima04 { background-image: url("../../img/parts/header_bg.jpg"); }
#HeaderBG h2 {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: var(--transformXY);
	text-align: center;
	line-height: 1;
	font-size: 12vw;
	font-weight: bold;
	color: rgba(255,255,255,0.60);
	z-index: 5;
}
#HeaderBG h2 span {
	display: inline-block;
	margin-right: 0.25em;
	font-size: 0.69em;
	font-weight: bold;
}

@media (max-width: 979px) {
	#HeaderBG { min-height: 70vh; }
}


/*------------#Title---------------------------------------------------------------*/
#Title { padding-top: 50px; }
#Title p {
	margin-top: 1em;
	text-align: center;
	line-height: 1.8;
}
#Title p:last-of-type { margin-top: 60px; }

@media (max-width: 979px) {
	#Title p { padding: 0 1em; }
	#Title p:last-of-type { padding: 0 2em; }
}

/*------------InBox------------------------------------*/
main article {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding-bottom: 0;
	overflow: hidden;
	z-index: 0;
}
main article:not(:last-of-type)::after { display: none; }


/*------------content---------------------------------------------------------------*/
#content {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding-top: 0;
}
#content h2 {
	margin-bottom: 80px;
	text-align: center;
	line-height: 1.2;
	font-family: var(--mincho);
	font-size: 2.1875em;
	font-weight: bold;
}
#content ul li + li { margin-top: 20px; }
#content ul li div {
	position: relative;
	width: 100%;
	overflow: hidden;
}
#content ul li div span {
	position: absolute;
	width: 100%;
	top: 50%;
	transform: var(--transformY);
	font-size: 7.5em;
	font-weight: bold;
	color: rgba(255,255,255,0.80);
	z-index: 5;
}
#content ul li div img {
	height: 400px;
	transition: transform 1s;
}
#content ul li div:hover img { transform: scale(1.3); }
#content ul li a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
#content ul li h3 {
	position: absolute;
	width: 525px;
	height: 100%;
	margin-bottom: 0;
	bottom: 0;
	left: auto;
	right: 0;
	z-index: 1;
}
#content ul li h3::before,
#content ul li h3::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 102%;
	top: 50%;
	left: auto;
	right: -1px;
	transform: var(--transformY);
}
#content ul li h3::before {
	background-color: var(--color-black);
	clip-path: polygon(69% 0, 100% 0, 100% 100%, 29% 100%);
	z-index: -1;
}
#content ul li h3::after {
	height: 80%;
	background: linear-gradient(to right,  rgba(150,21,21,1) 0%,rgba(255,0,0,1) 100%);
	clip-path: polygon(30% 0, 64.5% 0, 33.5% 100%, 0 100%);
	z-index: 0;
}
#content ul li h3 span {
	position: absolute;
	width: 100%;
	padding-top: 90px;
	bottom: 110px;
	left: 0;
	text-align: center;
	font-weight: bold;
	color: #fff;
	z-index: 1;
}
#content ul li a:hover span { color: #ff0; }
#content ul li h3 span::before {
	position: absolute;
	display: block;
	content: "";
	width: 65px;
	height: 65px;
	border-radius: 50%;
	background: var(--color-red) url("../../img/parts/btn_arrow.png") no-repeat center center;
	top: 0;
	left: 50%;
	transform: var(--transformX);
	z-index: 1;
}
#content ul li:nth-of-type(2n) div { text-align: right; }
#content ul li:nth-of-type(2n) h3 { right: auto; left: 0; }
#content ul li:nth-of-type(2n) h3::before {
	left: 0;
	clip-path: polygon(0 0, 30% 0, 70% 100%, 0 100%);
}
#content ul li:nth-of-type(2n) h3::after {
	left: 0;
	clip-path: polygon(34% 0, 69% 0, 100% 100%, 65.5% 100%);
}

@media (max-width: 979px) {
	#content ul li div,
	#content ul li:nth-of-type(2n) div { text-align: center; }
	#content ul li div span {
		top: 45%;
		font-size: 2.5em;
	}
	#content ul li h3 { width: 96%; }
	#content ul li h3,
	#content ul li:nth-of-type(2n) h3 {
		right: auto; left: 50%;
		transform: var(--transformX);
	}
	#content ul li h3::before,
	#content ul li:nth-of-type(2n) h3::before {
		clip-path: polygon(0 80%, 100% 80%, 100% 100%, 0 100%);
	}
	#content ul li h3::after,
	#content ul li:nth-of-type(2n) h3::after {
		clip-path: polygon(0 85%, 100% 85%, 100% 100%, 0 100%);
	}
	#content ul li h3 span {
		bottom: 25px;
	}
}

/*------------news---------------------------------------------------------------*/
#news {
	position: relative;
	width: 100%;
	margin-top: 150px;
	background: linear-gradient(to right,  rgba(42,43,43,1) 0%,rgba(42,43,43,1) 30%,rgba(255,0,0,1) 20%,rgba(255,0,0,1) 30%,rgba(255,0,0,1) 100%);
}
#news::before {
	position: absolute;
	display: block;
	content: "";
	width: 40%;
	height: 100%;
	background-color: rgba(42,43,43,1);
	z-index: 0;
}
#news section {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}
#news h2 {
	min-width: 130px;
	background-color: var(--color-black);
	line-height: 1.2;
	font-family: var(--mincho);
	font-size: 2.1875em;
	font-weight: bold;
	color: var(--color-red);
}
#news section div {
	width: 850px;
	height: 250px;
	margin: 0 auto;
	padding: 20px;
	background-color: var(--color-red);
}
#news section iframe {
	width: 100%;
	height: 100%;
	overflow: auto;
}

@media (max-width: 979px) {
	#news { background: transparent; }
	#news section { display: block; }
	#news h2 {
		width: 100%;
		margin-bottom: 10px;
		background-color: transparent;
		text-align: center;
	}
	#news section div {
		width: 100%;
		padding: 10px;
	}
}

/*------------recruit---------------------------------------------------------------*/
#recruit {
	width: 100%;
	max-width: 1400px;
	margin: 150px auto 0;
}
#recruit a {
	position: relative;
	display: block;
	width: 100%;
	padding-bottom: 40px;
}
#recruit h2 {
	position: absolute;
	display: block;
	width: 100%;
	max-width: 980px;
	padding: 0.25em 0;
	background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
	top: 50%;
	left: 50%;
	transform: var(--transformXY);
	line-height: 1.2;
	text-align: center;
	font-family: var(--mincho);
	font-size: 3.125em;
	font-weight: bold;
	color: var(--color-brown);
	text-shadow: 
       2px  2px 4px #ffffff,
      -2px  2px 4px #ffffff,
       2px -2px 4px #ffffff,
      -2px -2px 4px #ffffff,
       2px  0px 4px #ffffff,
       0px  2px 4px #ffffff,
      -2px  0px 4px #ffffff,
       0px -2px 4px #ffffff;
	z-index: 1;
}
#recruit h2 span {
	display: block;
	font-size: 0.8em;
}
#recruit a em {
	position: absolute;
	display: block;
	width: 80px;
	height: 80px;
	bottom: 0;
	left: 50%;
	border-radius: 50%;
	background: var(--color-brown) url("../../img/parts/btn_arrow.png") no-repeat center center;
	transform: var(--transformX);
	z-index: 1;
}
#recruit div {
	position: relative;
	width: 100%;
	overflow: hidden;
}
#recruit div img {
	height: 400px;
	transition: transform 1s;
}
#recruit:hover img { transform: scale(1.3); }

@media (max-width: 979px) {
#recruit h2 {
	padding: 0.25em 0.5em;
	font-size: 2.125em;
}
}