#headerbody {
	width: 100%;
	height: 100%;
	background-color: #404040;
}
#header {
	position: relative;
	left: 0px;
	top: 0px;

	width: 800px;
	height: 78px;
	background-color: #191919;
	color: #FFFFFF;
}
#logo-pc {
	position: absolute;
	left: 0px;
	top: 0px;
}
#logo-sp {
	position: absolute;
	left: 0px;
	top: 0px;
	display: none;
}
#top-right {
	position: absolute;
	right: 5px;
	top: 5px;
	font-size: small;
}
#top-right a{
	color: #FFFFFF;
}
#title {
	position: absolute;
	left: 230px;
	top: 30px;
	font-size: 24px;
}
#title-en {
	position: absolute;
	left: 230px;
	top: 30px;
	font-size: 24px;
}

.hamburger {
	display: none;
	position: absolute;
	right: 20px;
	top: 20px;
	width: 50px;
	height: 40px;
	cursor: pointer;
	z-index: 300;
}
.hamburger__line {
	position: absolute;
	width: 50px;
	height: 6px;
	right: 0;
	background-color: #FFF;
	transition: all 0.5s;
}
.hamburger__line--1 { top: 1px; }
.hamburger__line--2 { top: 18px; }
.hamburger__line--3 { top: 36px; }
.open .hamburger__line--1 { transform: rotate(-45deg); top: 11px; }
.open .hamburger__line--2 { opacity: 0; }
.open .hamburger__line--3 { transform: rotate(45deg); top: 11px; }

#menuber {
	width: 100%;
	height: 42px;
	background-color: #D0D0D0;
}

#menu ul{
	margin: 0;
	padding: 0;
	height: 100%;
	list-style: none;
}
#menu li{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	float: left;
}
#menu a{
	text-decoration: none;
	color: #000000;
	font-weight: bold;
	display: block;
}
#menu a:hover{
	color: #FF0000;
}
#menu-option {
	display: none;
}

#footerbody {
	width: 100%;
	height: 100%;
}
#footer {
	padding: 0px 10px;
	position: relative;
	left: 0px;
	top: 0px;

	box-sizing: border-box;
	width: 800px;
	height: 60px;
}

hr {
	width: 790px;
}

/* ------------------------------------------------------------ */

@media screen and (min-width:781px) {
	#menuber {
		background-image: URL("menu.png");
		background-repeat: repeat-x;
	}
	#menu{
		width: 800px;
		height: 42px;
		background-image: URL("menu.png");
		background-repeat: repeat-x;
	}
	#menu ul{
		border-left: dashed 1px #FFFFFF;
	}
	#menu li{
		height: 100%;
		border-right: dashed 1px #FFFFFF;
	}
	#menu a{
		padding: 14px 0px;
		width: 158px;
		height: 12px;
		text-align: center;
		font-size: small;
	}
	#footer-separate {  }
	#footer-separate:before {
		content: "｜";
	}
}

@media screen and (max-width:780px){
	body.open {
		background-color: #D0D0D0;
	}
	#header {
		width: 100%;
	}
	#logo-pc {
		display: none;
	}
	#logo-sp {
		display: block;
	}
	#top-right {
		display: none;
	}
	#title {
		left: 100px;
		top: 30px;
		font-size: min(24px, 5.0vw);
	}
	#title-en {
		left: 100px;
		top: 30px;
		font-size: min(24px, 3.5vw);
	}
	#menuber {
		position: relative;
		height: 10px;
	}
	.hamburger {
		display: block;
	}
	#menu {
		/*position: fixed;*/
		position: absolute;
		top: 0px;
		right: -100%;	/*クリックされるまで右側に隠す*/
		width: 100%;
		/*height: calc(45px*5);*/
		height: 500px;	/*総表示量とトップ画像の大きい方*/
		background-color: #D0D0D0;
		z-index: 200;
		overflow-y: auto;
		display: none;

		text-align: left;
		font-size: large;
	}
	#menu.open {
		right: 0%;
		display: block;
	}
	#menu ul{
		/*border-top: dashed 1px #000000;*/
		height: calc(45px*5);
	}
	#menu li{
		width: 100%;
		border-bottom: dashed 1px #000000;
	}
	#menu a{
		padding: 10px 10px;
		height: 25px;
	}
	#menu-option {
		display: block;
	}
	#menu-option-link {
		display: block;
		padding: 5px 10px;
		box-sizing: border-box;
		width: 100%;
	}
	#menu-option a{
		text-decoration: underline;
		display: inline;
	}
	#footer {
		width: 100%;
	}
	hr {
		width: 95%;
	}
	#footerbody.hidden {
		display: none;
	}
	#footer-link {
		display: block;
		padding: 5px 10px;
		box-sizing: border-box;
		width: 100%;
	}
}