@charset "utf-8";

body {
	height: 100% !important;
}

#index_bg {
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: -1;
	top: 0;
	left: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	overflow: hidden;
}
article.index {
    margin: 810px 0 0;
}
.index_concept {
/*	margin: 810px 0 0;*/
	height: 620px;
	background-repeat: no-repeat;
	background-position: center;
}

.index_concept .wrap {
	width: 976px;
	margin: 0 auto;
	position: relative;
}

.index_concept .wrap .concept_txt {
	width: 520px;
	position: absolute;
	top: 170px;
	left: 17px;
	text-align: center;
	line-height: 210%;
}

.index_concept .wrap .door {
	width: 138px;
	height: 347px;
	display: block;
	position: absolute;
	top: 137px;
	right: 132px;
}

.index_blocks {
	width: 1000px;
	margin: 80px auto 160px;
}

.index_blocks .lane1 {
	margin: 0 0 110px;
	position: relative;
}

.index_blocks .lane1 .img {
	text-align: right;
}

.index_blocks .lane1 .txtbox {
	background: rgba(0,0,0,0.7);
	width: 283px;
	height: 225px;
	padding: 0 25px;
	position: absolute;
	z-index: 2;
	left: 0;
	top: 125px;
}

.index_blocks .lane1 .txtbox .txt {
	color: white;
	line-height: 220%;
	display: table-cell;
	vertical-align: middle;
	height: 225px;
}

.index_blocks .blocks {
	overflow:hidden;
	margin: 0 0 40px;
}

.index_blocks .blocks li {
	width: 320px;
	float: left;
	margin: 0 20px 90px 0;
	position: relative;
}

.index_blocks .blocks li:nth-child(3n) {
	margin: 0 0 90px;
}

.index_blocks .blocks li .txtbox {
	background: white;
	width: 210px;
	padding: 20px 20px 15px;
	text-align: center;
	position: absolute;
	bottom: -40px;
	left: 50%;
	margin: 0 0 0 -125px;
}

.index_blocks .blocks li .txtbox h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 160%;
	letter-spacing: 0.05em;
}

.index_blocks .blocks li .txtbox h2 span {
	display: block;
	font-size: 55%;
	margin: 10px 0 0;
}

.index_blocks .blocks li .txtbox a:hover {
	text-decoration: none;
}

.index_blocks .photos {
	overflow:hidden;
}

.index_blocks .photos li {
	width: 236px;
	float: left;
	margin: 0 18px 0 0;
	position: relative;
	cursor: pointer;
}

.index_blocks .photos li:nth-child(4n) {
	margin: 0;
}

.index_blocks .photos li span {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: rgba(0,0,0,0.7);

}

.index_blocks .photos li span a {
	color: white;
	display: table-cell;
	vertical-align: middle;
	height: 320px;
	padding: 0 20px;
	line-height: 220%;
}

.index_blocks .photos li span a:hover {
	text-decoration: none;
}


.index_topics {
	width: 940px;
	margin: 0 auto 180px;
}

.index_topics li {
	margin: 0 0 120px;
}

.index_topics li .txtbox {
	background: white;
	padding: 50px 40px 40px;
}

.index_topics li h2 {
	margin: 0 0 30px;
	text-align: center;
	font-size: 180%;
}

.index_topics li h3 {
	margin: 0 0 30px;
	text-align: center;
	font-size: 130%;
}

.index_topics li .txt {
	margin: 0 0 20px;
	text-align: center;
	font-size: 90%;
}

.index_topics li .btn {
	width: 140px;
	margin: 0 auto;
	border: 1px solid #333;
	text-align: center;
	font-size: 100%;
	border-radius: 10px; 
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px; 
}

.index_topics li .btn a {
	display: block;
	padding: 8px 15px 8px 0;
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	font-size: 120%;
	letter-spacing: 0.05em;
	background: url(../images/common/common_arrow1.png) no-repeat 100px center;
}

.index_topics li .btn a:hover {
	-webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
    -o-transition: 0.3s ease-in-out;  
    -ms-transition: 0.3s ease-in-out;  
    transition: 0.3s ease-in-out;  

	text-decoration: none;
	filter: alpha(opacity=60);
	-moz-opacity:0.6;
	opacity:0.6;
}


/*ふんわり現れるコンテンツ*/

.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-30px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-30px); -ms-transform: translateY(-30px); transform: translateY(-30px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}























