
/**** common style ****/

body {
	width: 100%;
	line-height: 1.5em;
  padding: 0;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 16px;
}

.clickable:hover {
    opacity: 0.8;
}
.clickable:active {
    opacity: 0.6;
}

/**** background image ****/

#background {
	position: absolute;
	top: 140px;
	left: 40px;
	width: 1000px;
	height: auto;
	z-index: 0;
}

#background img {
	float: left;
	width: 100%;
	height: auto;
}

/**** ccontainer ****/

#container {
	position: absolute;
	top: 0px;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 1;
}

/**** header ****/

#header {
	float: left;
	width: 100%;
	height: auto;
	padding: 40px;
}

#site-title {
	display: inline-block;
	float: left;
	width: auto;
	padding: 0;
	margin: 0;
}

#site-title a {
	float: left;
	width: auto;
	height: auto;
}

#site-title img {
	float: left;
	width: 100%;
	height: auto;
}

#site-description {
	display: inline-block;
	float: left;
	width: auto;
	margin: 38px 0 0 580px;
	font-size: 20px;
	color: #666;
}

/**** navigation ****/

#navigation {
	position: absolute;
	top: 280px;
	left: 0;
	width: 100%;
	height: auto;
	box-sizing: border-box;
	z-index: 3;
}

#navigation ul {
	float: left;
	width: 100%;
	height: auto;
	box-sizing: border-box;
	list-style: none;
	padding: 0;
	margin: 0;
}

#navigation li {
	float: left;
	width: 100%;
	height: auto;
	box-sizing: border-box;
	padding: 0;
	margin: 0 0 5px 0;
}

#navigation .menu-btn {
	display: block;
	float: left;
	width: 300px;
	height: auto;
	border-radius: 0 3px 3px 0;
	box-sizing: border-box;
	background-color: rgba(0,0,0,0.6);
	padding: 0 0 0 20px;
	color: #fff;
}

#navigation .menu-btn span {
	float: left;
	width: auto;
	height: 40px;
	line-height: 40px;
}

.main-menu-title {
	font-family: Arial;
	font-size: 26px;
}

.sub-menu-title {
	margin-left: 15px;
	font-family: Meiryo;
	font-size: 12px;
}

.undo-btn {
	display: none;
}

.close-btn {
	float: left;
	margin: -8px 20px 15px 0 !important;
}

.undo-btn,
.close-btn {
	float: left;
	clear: left;
	width: 60px;
	height: 40px;
	line-height: 40px;
	border-radius: 3px;
	background-color: rgba(255,255,255,0.8);
	margin: -53px 0 0 10px;
	color: #666;
	text-decoration: none;
	text-align: center;
}
.undo-btn:hover,
.close-btn:hover {
	background-color: rgba(255,255,255,1.0);
}

.undo-btn .material-symbols-outlined,
.close-btn .material-symbols-outlined {
	margin-top: 7px;
}

/**** per ~ page ****/

/* default ~ display none */

#concept,
#reports,
#djs,
#goods,
#sns,
#contact {
	display: none;
}

.page {
	position: absolute;
	top: 205px;
	left: -100%;
	width: 100%;
	height: auto;
	min-height: 100vh;
	box-sizing: border-box;
	background-color: rgba(0,0,0,0.5);
	padding: 40px;
	z-index: 2;
}

.page-title {
	display: inline-block;
	float: left;
	margin: 0 0 40px 0;
	font-size: 28px;
	color: #fff;
}

.page a[class^="section"],
section[class^="section"] {
	float: left;
	clear: left;
	width: 100%;
	max-width: 1000px;
	height: auto;
	box-sizing: border-box;
	background-color: rgba(0,0,0,0.2);
	padding: 40px;
	margin-bottom: 40px;
}

.page a[class^="section"] {
	margin-bottom: 0;
}

/**** per ~ section ****/

.section-title {
	display: inline-block;
	float: left;
	margin: 0;
	font-size: 24px;
	color: #fff;
}

.section-title span {
	margin: 0 0 0 20px;
	font-size: 18px;
}

.section-description {
	float: left;
	clear: left;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	margin: 20px 0 0 0;
	font-size: 16px;
	color: #fff;
}

.section-image {
	float: left;
	clear: left;
	width: 100%;
	height: auto;
	margin: 20px 0 0 0;
}

.section-image img {
	float: left;
	clear: left;
	width: 100%;
	height: auto;
}

#contact-form-btn {
	display: block;
	float: left;
	clear: left;
	width: 210px;
	height: 40px;
	border-radius: 3px;
	line-height: 40px;
	background-color: #1e90ff;
	margin-top: 30px;
	font-size: 18px;
	color: #fff;
	text-decoration: none;
	text-align: center;
}

/**** if ~ "reports" ****/

#reports .section-title {
	margin-bottom: 20px;
}

#reports a[class^="section"] {
	float: left;
	clear: left;
	width: 100%;
	height: auto;
	margin-bottom: 0;
}

#reports a[class^="section"] img {
	float: left;
	clear: left;
	width: 100%;
	height: auto;
}

#reports a[class^="section"] {
	margin-bottom: 20px;
}

/**** if ~ reports / detail ****/

div[class^="report-"] {
	padding-top: 40px;
	margin: 0;
}

/**** footer ****/

#footer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 56px;
	box-sizing: border-box;
	background-color: rgba(0,0,0,0.5);
	padding: 10px;
	z-index: 4;
}

#copyright {
	float: left;
	width: 100%;
	height: auto;
	margin: 4px 0 0 10px;
	font-size: 12px;
	color: #fff;
}

#page-top-btn {
	display: none;
	float: right;
	box-sizing: border-box;
	border-radius: 3px;
	background-color: rgba(255,255,255,0.8);
	padding: 5px 5px 0 5px;
	margin: -27px 0 0 0;
	color: #666;
	z-index: 5;
}

/**** media queries ****/

/*@media screen and (max-width:1200px) {

	#background {
		position: static;
		float: left;
		width: 100%;
		height: auto;
		box-sizing: border-box;
		padding: 40px;
		margin-top: 100px;
	}

	#background img {
		float: left;
		width: 100%;
		height: auto;
	}

	#site-description {
		position: absolute;
		top: 40px;
		right: 40px;
		width: 50%;
		text-align: right;
	}

}

@media screen and (max-width:1000px) {

	#background {
		position: static;
		float: left;
		width: 100%;
		height: auto;
		box-sizing: border-box;
		padding: 40px;
		margin-top: 100px;
	}

	#background img {
		float: left;
		width: 100%;
		height: auto;
	}

	#site-description {
		position: absolute;
		top: 40px;
		right: 40px;
		width: 50%;
		text-align: right;
	}

	#navigation {
		top: 300px;
	}
}*/

@media screen and (max-width:960px) {

	#background {
		position: static;
		float: left;
		width: 190%;
		height: auto;
		box-sizing: border-box;
		padding: 40px;
		margin: 60px 0 0 -78%;
	}

	#background img {
		float: left;
		width: 100%;
		height: auto;
	}

	#header {
		padding: 20px;
	}

	#site-description {
		position: absolute;
		top: 80px;
		width: 100%;
		padding-right: 0;
		margin-right: -20px;
		font-size: 14px;
	}

	#navigation {
		top: 160px;
	}

	#navigation .menu-btn {
		width: 240px;
	}

	.main-menu-title {
		font-size: 20px;
	}

	.sub-menu-title {
		font-size: 10px;
	}

	.undo-btn {
		border-radius: 3px !important;
	}

	.page {
		top: 162px;
		padding: 20px 20px 60px 20px;
	}

	section[class^="section"] {
		padding: 20px;
		margin-bottom: 20px;
	}

	.page a[class^="section"] {
		padding: 20px;
		margin-bottom: 0;
	}

	#reports a[class^="section"] {
		padding: 20px;
		margin-bottom: 20px;
	}

	.section-title {
		font-size: 18px;
	}

	#copyright {
		width: auto;
	}

	#page-top-btn {
		padding: 5px 5px 0 5px;
		margin: 0;
	}

}