@charset "utf-8";

/* layout
========================================================================== */

body {
	background: url(../img/index/visual.jpg) no-repeat center top;
	background-size: cover;
	background-attachment: fixed;
}



/* header
========================================================================== */

header {
	height: 100px;
	background: none;
}



/* navi
========================================================================== */

#nav {
	width: 100%;
	position: absolute;
	bottom: 0;
	z-index: 100000;
}

/* phones */
@media only screen and (max-width: 767px) {
	#nav {
		background: none;
	}
}



/* contents
========================================================================== */

#contents {
	padding: 0;
	background: none;
}



/* visual
========================================================================== */

#visual {
	height: 100vh;
	margin-bottom: -100px;
	position: relative;
}

#visual img {
	height: 60%;
}

/* phones */
@media only screen and (max-width: 767px) {
	#visual {
		height: 100vh;
		padding: 0 20px;
	}

	#visual img {
		width: 90%;
		height: auto;
		margin-top: -60%;
		position: absolute;
		top: 50%;
		left: 5%;
	}
}



/* news
========================================================================== */

#news {
	padding: 100px 0 90px;
	background: url(../img/common/texture.png) repeat-x center top #fff;
	text-align: left;
}
#news > div {
	max-width: 800px;
	margin: 0 auto;
}

#news h1 {
	margin: 0 0 40px;
	background: url(../img/h1/bg_h1.png) no-repeat center center;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}
#news h1 img {
	width: 360px;
}

#news dl {
	margin-bottom: 2em;
}

#news dl dt {
	width: 5.5em;
	padding: 1.5em 0;
	float: left;
	clear: both;
}

#news dl dd {
	padding: 1.5em 0 1.5em 6.5em;
	border-bottom: 1px solid #ccc;
}
#news dl dd:last-child {
	border-bottom: none;
}

#news div.btn {
	text-align: center;
}

#news div.btn a {
	color: #000;
}
#news div.btn a:before {
	width: 1em;
	margin: 0 .25em;
	content: "\f00a";
	font-family: FontAwesome;
	text-align: center;
	display: inline-block;
}
#news div.btn a:hover {
	color: #afcc00;
}

/* tablets */
@media only screen and (min-width: 768px) and (max-width: 959px) {
	#news > div {
		max-width: 720px;
	}

	#news h1 {
		background-image: url(../img/h1/bg_h1_t.png);
	}
}

/* phones */
@media only screen and (max-width: 767px) {
	#news {
		padding: 60px 0;
	}

	#news > div {
		padding: 0 20px;
	}

	#news h1 {
		margin-bottom: 10px;
		background: none;
	}
	#news h1 img {
		width: 240px;
	}

	#news dl {
		margin-bottom: 1em;
	}

	#news dl dt {
		width: auto;
		margin: 0;
		padding: 1.5em 0 .5em;
		float: none;
	}

	#news dl dd {
		margin: 0;
		padding: 0 0 1.5em;
		border-bottom: 1px solid #ccc;
	}
}



/* about opera
========================================================================== */

#about_opera {
	padding: 85px 0 130px;
	background: url(../img/index/bg_about_opera.jpg) no-repeat center top;
	background-size: cover;
}
#about_opera > div {
	max-width: 800px;
	margin: 0 auto;
	text-align: left;
}

#about_opera h1 {
	margin-bottom: 40px;
	text-align: center;
}

#about_opera p {
	margin-bottom: 0;
	color: #fff;
	text-indent: 1em;
}
#about_opera p.note {
	margin: 2em 0 .5em 1em;
	font-size: 86%; /* 12px */
	line-height: 1.5;
	text-indent: -1em;
}

#about_opera div.btn {
	margin: 4em 0 0;
	text-align: center;
}

#about_opera div.btn a {
	width: 300px;
	padding: 1em 0;
	border: 1px solid #afcc00;
	color: #afcc00;
	display: inline-block;
}
#about_opera div.btn a:hover {
	border-color: #fff;
	color: #fff;
}

/* tablets */
@media only screen and (min-width: 768px) and (max-width: 959px) {
	#about_opera > div {
		max-width: 720px;
	}
}

/* phones */
@media only screen and (max-width: 767px) {
	#about_opera {
		padding: 60px 0 100px;
	}
	#about_opera > div {
		padding: 0 20px;
	}

	#about_opera h1 img {
		width: 100%;
	}

	#about_opera div.btn a {
		width: 100%;
	}
}