@charset "UTF-8";



/* -------------------------------------
index
------------------------------------- */
article {
	padding:0;
}
#mainimg {
	width:100%;
	height:100vh;
	margin-bottom:50px;
	background-color:#333;
	position:relative;
}
#mainimg .bg {
	height:100vh;
	position:relative;
}
#mainimg .bg div {
	width:100%;
	height:100%;
	display:none;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}
#mainimg .bg div:first-child {
	display:block;
}
#mainimg .thum {
	font-size:0;
	text-align:center;
	position:absolute;
	bottom:30px;
	right:30px;
	z-index:2;
	overflow:hidden;
}
#mainimg .thum a {
	font-size:14px;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	width:10px;
	height:10px;
	display:inline-block;
	margin:0 4px;
	background-color:#fff;
	border-radius:50%;
	transition:background-color 0.3s;
}
#mainimg .thum a.on, #mainimg .thum a:hover {
	background-color:#b7282c;
	opacity:1.0;
}

#mainimg .cap {
	width:40%;
	max-width:400px;
	min-width:280px;
	margin:0 auto;
	position:absolute;
	top:20%;
	left:0;
	right:0;
	z-index:3;
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	transform:translateY(-50%);
}
#mainimg .cap p {
	display:none;
	position:absolute;
	top:50%;
	left:0;
	right:0;
	z-index:3;
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	transform:translateY(-50%);
}
#mainimg .cap p:nth-child(1) {
	display:block;
}
#mainimg .cap img {
	width:100%;
	height:auto;
}


#news {
	margin-bottom:100px;
}
#news h2 {
	font-size:24px;
	font-weight:600;
	line-height:1.3;
	margin-bottom:20px;
}
#news ul {
	width:calc((99.9% - 50px) / 2);
	float:left;
}
#news ul li {
	padding:20px 8px;
	border-bottom:1px solid #231815;
}
#news ul li p {
	line-height:1.4;
}
#news ul li p.date {
	font-size:12px;
	margin-bottom:5px;
}
#news ul li a {
	transition:color 0.3s;
}
#news ul li a:hover {
	color:#b7282c;
	opacity:1.0;
}
#news ul li a h3 {
	font-size:16px;
	font-weight:bold;
	margin-bottom:3px;
}
#news .clearfix {
	position:relative;
}
#news .img {
	width:calc((99.9% - 50px) / 2);
	float:right;
	/*position:absolute;
	top:50%;
	right:0;
	z-index:1;
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	transform:translateY(-50%);*/
}
#news .img img {
	width:100%;
	height:auto;
}


#roots {
	margin-bottom:50px;
}
#roots .ttl {
	font-size:0;
	text-align:center;
	margin-bottom:40px;
}
#roots h2, #roots p {
	display:inline-block;
	vertical-align:middle;
}
#roots h2 {
	font-size:17px;
	font-weight:300;
	text-align:center;
	color:#b7282c;
	line-height:1.3;
	letter-spacing:0.08em;
	width:400px;
	margin-right:20px;
}
#roots h2 span {
	display:block;
	margin:0 auto 10px auto;
	padding:0 0 10px 0;
	border-bottom:1px solid #b7282c;
}
#roots .ttl p {
	width:125px;
}
#roots .ttl p img {
	width:100%;
	height:auto;
	display:block;
}
#roots ul {
	font-size:0;
	text-align:center;
}
#roots li {
	width:calc((99.9% - 100px) / 3);
	display:inline-block;
	margin-right:50px;
	margin-bottom:50px;
}
#roots li:nth-child(3n) {
	margin-right:0;
}
#roots li:last-child {
	margin-right:0;
}
#roots li a img {
	width:100%;
	height:auto;
}


#itemlist li {
	width:calc((99.9% - 50px) / 2);
	float:left;
	margin-bottom:60px;
	padding-top:80px;
	margin-top:-80px;
}
#itemlist li:nth-child(even) {
	float:right;
}
#itemlist li a {
	/*cursor:default;
	pointer-events:none;*/
}
#itemlist li a h2 {
	font-size:17px;
	font-weight:400;
	text-align:center;
	margin-bottom:10px;
	transition:color 0.5s;
}
#itemlist li a h2 span {
	font-size:16px;
	letter-spacing:0.1em;
	display:block;
	margin-top:3px;
}
#itemlist li a p {
	text-align:center;
	margin-bottom:20px;
	transition:color 0.5s;
}
#itemlist li a .imgzoom {
	overflow:hidden;
}
#itemlist li a .imgzoom img {
	width:100%;
	height:auto;
	transition-duration:1.0s;
}
/*#itemlist li a:hover .imgzoom img {
	transform:scale(1.03);
}

#itemlist li a:hover {
	opacity:1.0;
}
#itemlist li a:hover h2 {
	color:#b7282c;
}
#itemlist li a:hover p {
	color:#b7282c;
}*/



@media screen and (max-width:1320px) {
	
}
@media screen and (max-width:1180px) {
	#news {
		margin-bottom:91px;
	}
	#news h2 {
		font-size:23px;
		margin-bottom:18px;
	}
	#news ul {
		width:calc((99.9% - 40px) / 2);
	}
	#news ul li {
		padding:18px 8px;
	}
	#news .img {
		width:calc((99.9% - 40px) / 2);
	}
	
	
	#roots .ttl {
		margin-bottom:37px;
	}
	#roots h2 {
		font-size:16px;
		width:370px;
	}
	#roots h2 span img {
		width:240px;
		height:auto;
	}
	#roots .ttl p {
		width:115px;
	}
	#roots li {
		width:calc((99.9% - 80px) / 3);
		margin-right:40px;
		margin-bottom:40px;
	}
	
	
	#itemlist li {
		width:calc((99.9% - 40px) / 2);
		margin-bottom:54px;
	}
}
@media screen and (max-width:980px) {
	#mainimg .thum {
		bottom:25px;
		right:25px;
	}
	
	
	#news {
		margin-bottom:82px;
	}
	#news h2 {
		font-size:21px;
		margin-bottom:16px;
	}
	#news ul {
		width:calc((99.9% - 30px) / 2);
	}
	#news ul li {
		padding:17px 8px;
	}
	#news ul li a h3 {
		font-size:15px;
	}
	#news .img {
		width:calc((99.9% - 30px) / 2);
	}
	
	
	#roots .ttl {
		margin-bottom:34px;
	}
	#roots h2 {
		font-size:15px;
		width:340px;
	}
	#roots h2 span img {
		width:230px;
	}
	#roots li {
		width:calc((99.9% - 60px) / 3);
		margin-right:30px;
		margin-bottom:30px;
	}
	
	
	#itemlist li {
		width:calc((99.9% - 30px) / 2);
		margin-bottom:48px;
	}
	#itemlist li a h2 {
		font-size:16px;
	}
	#itemlist li a h2 span {
		font-size:15px;
	}
	#itemlist li a p br {
		display:none;
	}
}
@media screen and (max-width:768px) {
	#mainimg .thum {
		bottom:20px;
		right:20px;
	}
	
	
	#news {
		margin-bottom:73px;
	}
	#news h2 {
		font-size:19px;
		margin-bottom:15px;
	}
	#news ul {
		width:calc((99.9% - 20px) / 2);
	}
	#news ul li {
		padding:15px 8px;
	}
	#news ul li a h3 {
		font-size:14px;
	}
	#news .img {
		width:calc((99.9% - 20px) / 2);
	}
	
	
	#roots .ttl {
		margin-bottom:31px;
	}
	#roots h2 {
		font-size:14px;
		width:320px;
	}
	#roots h2 span img {
		width:220px;
	}
	#roots .ttl p {
		width:105px;
	}
	#roots li {
		width:calc((99.9% - 40px) / 3);
		margin-right:20px;
		margin-bottom:20px;
	}
	
	
	#itemlist li {
		width:calc((99.9% - 20px) / 2);
		margin-bottom:42px;
	}
	#itemlist li a h2 {
		font-size:15px;
	}
	#itemlist li a h2 span {
		font-size:14px;
	}
}
@media screen and (max-width:640px) {
	#mainimg .thum {
		margin:0 auto;
		right:0;
		left:0;
	}
	
	
	#news {
		margin-bottom:64px;
	}
	#news h2 {
		font-size:18px;
		text-align:center;
	}
	#news ul {
		width:calc((100% - 0px) / 1);
		margin-bottom:30px;
	}
	#news .img {
		width:calc((100% - 0px) / 1);
		position:static;
		-webkit-transform:translateY(0%);
		-ms-transform:translateY(0%);
		transform:translateY(0%);
	}
	
	
	#roots .ttl {
		margin-bottom:28px;
	}
	#roots h2 {
		font-size:13px;
		width:300px;
	}
	#roots h2 span img {
		width:210px;
	}
	#roots .ttl p {
		width:100px;
	}
	#roots li {
		width:calc((99.9% - 20px) / 2);
	}
	#roots li:nth-child(3n) {
		margin-right:20px;
	}
	#roots li:nth-child(even), #roots li:last-child {
		margin-right:0px;
	}
	
	
	#itemlist li a h2 {
		font-size:14px;
	}
	#itemlist li a h2 span {
		font-size:13px;
	}
}
@media screen and (max-width:480px) {
	#mainimg .cap {
		top:35%;
	}
	
	
	#news {
		margin-bottom:55px;
	}
	#news h2 {
		font-size:17px;
	}
	
	
	#roots .ttl {
		margin-bottom:25px;
	}
	#roots h2, #roots p {
		display:block;
	}
	#roots h2 {
		width:100%;
		margin:0 auto 20px auto;
	}
	#roots h2 span img {
		width:200px;
	}
	#roots .ttl p {
		width:90px;
		margin:0 auto;
	}
	
	
	#itemlist li {
		width:calc((100% - 0px) / 1);
		float:none;
		margin-bottom:40px;
	}
	#itemlist li:nth-child(even) {
		float:none;
	}
	#itemlist li a p {
		height:auto!important;
	}
}
@media screen and (max-width:400px) {
	
}
@media screen and (max-width:320px) {
	#news {
		margin-bottom:50px;
	}
	#news h2 {
		font-size:16px;
	}
	
	
	
}
@media screen and (min-width:769px) {
	
}