@charset "utf-8";
header {
	position: absolute;
	bottom: 5%;
	width: 100%;
	background-color: #FFF;
	z-index: 999;
}
header:after {
	display: block;
	content: "";
	clear: both;
}
header h1 {
	position: absolute;
	bottom: 22px;
	width: 23%;
	padding: 0 5%;
}
header h1 img {
	width: 100%;
	height: auto;
}
header .center {
	position: absolute;
	width: 60%;
	left: 23%;
	bottom: 25px;
}
header nav ul {
	width: 100%;
	margin-bottom: 10px;
}
header nav ul li {
	display: inline-block;
	margin: 0 5.5% 0 0;
	font-size: calc(3px + 1vw);
}
header nav ul li a {
	color: #555;
	text-decoration: none;
	padding: 5px 0px;
}
header .center dl {
	position: relative;
	font-size: 1.6rem;
	line-height: 1;
}
header .center dt {
	display: inline-block;
    padding: 0.5em 0 0 0;
}
header .center dd {
	display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    padding: 0.5em 0 0 0;
}

header .contact {
	float: right;
	width: 15%;
	margin: 2% 2% 25px 2%;
}
header .contact ul {
	float: right;
	margin: 0 0 5.5% 0;
	width: 100%;
}
header .contact ul li {
	float: right;
	margin-left: 5%;
	width: 12%;
}
header .contact ul li img {
	width: 100%;
}
header .contact .tel, header .contact .mail {
	width: 100%;
	float: right;
	text-align: right;
	font-style: normal;
}
header .contact .tel a, header .contact .mail a {
	text-decoration: none;
	color: #555;
}
header .contact .tel {
	font-size: calc(10px + 0.75vw);
}
header .contact .mail {
	font-size: calc(6px + 0.75vw);
}

main {
	background-image: url(../../images/home/main.jpg);
	background-position: center center;
	background-size: cover;
	height: calc(95% - 6em);
	width: 100%;
	position: absolute;
	top: 0;
	display: table;
    text-shadow: 0px 0px 8px #000;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}
main section {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	text-align: center;
	color: #FFF;
}
main section h2 {
	font-size: 3.5rem;
	font-size: calc(12px + 3vw);
	font-weight: bold;
	margin-bottom: 30px;
}
main section p {
	font-size: calc(6px + 2vw);
	font-weight: bold;
	margin-bottom: 30px;
}

aside {
	width: 300px;
	position: absolute;
	top: 20px;
	right: 20px;
}
aside img {
	width: 100%;
}

footer {
	position: absolute;
	bottom: 0;
	height: 5%;
	width: 100%;
	background-color: #FFF;
	z-index: 999;
	text-align: right;
	font-size: 0.75em;
	padding: 0 2%;
}


@media screen and (max-width: 980px) {
	body {
	  display:-webkit-box;
	  display: -webkit-flex;
	  display:-ms-flexbox;
	  display: flex;
	  -webkit-flex-wrap:wrap;
	  -ms-flex-wrap:wrap;
	  flex-wrap:wrap;
	}
	header {
		position: relative;
		bottom: auto;
		width: 100%;
		background-color: inherit;
		z-index: 999;
		-webkit-box-ordinal-group:2;
		-ms-flex-order:2;
		-webkit-order:2;
		order:2;
	}
	header h1 {
		position: absolute;
		width: 100%;
		padding: 0 10% 20px 10%;
		left: auto;
		right: auto;
		bottom: auto;
		top: -15%;
		margin: auto;
		text-align: center;
	}
	header h1 img {
		width: 200px;
		max-width: 70%;
		height: auto;
	}
	header .center {
		position: static;
		width: 100%;
		left: auto;
		bottom: auto;
		margin: 160px auto 40px auto;
		text-align: center;
		padding: 20px 0 20px 0;
		background-color: #EEE;
	}
	header .center:after {
		content: "";
		display: block;
		clear: both;
	}
	header .center dl {
		width: 100%;
		position: static;
		padding: 0 10%;
	}
	header .center dl:after {
			content: "";
			display: block;
			clear: both;
		}
	header .center dt {
		display: inline-block;
		width: 11rem;
		float: left;
		text-align: left;
	}
	header .center dd {
		position: static;
		width: calc(100% - 11rem);
		float: left;
		text-align: left;
	}
	header .contact {
		float: none;
		width: 90%;
		margin: auto;
		text-align: center;
		clear: both;
		padding: 0 10% 40px 10%;
	}
	header .contact ul {
		float: none;
		margin: 0 auto;
		width: 100%;
	}
	header .contact ul li {
		float: none;
		display: inline-block;
		margin: 0 5% 20px 5%;
		width: 12%;
	}
	header .contact .tel, header .contact .mail {
		width: 100%;
		float: none;
		text-align: center;
		font-style: normal;
		display: block;
	}
	header .contact .tel {
		font-size: calc(20px + 1.5vw);
	}
	header .contact .mail {
		font-size: calc(14px + 0.75vw);
	}
	main {
		height: 75%;
		position: static;
	  -webkit-box-ordinal-group:1;
	  -ms-flex-order:1;
	  -webkit-order:1;
	  order:1;
	}
	
	footer {
		position: static;
		width: 100%;
		height: auto;
		text-align: center;
		font-size: calc(5px + 1vw);
		padding: 10px 10% 10px 10%;
	background-color: #666;
	color: #CCC;
	  -webkit-box-ordinal-group:3;
	  -ms-flex-order:3;
	  -webkit-order:3;
	  order:3;
	}
	
	aside {
		display: none;
	}
	aside.smp {
		display: block;
		position: static;
		text-align: center;
		margin: 0 auto 30px auto;
		width: 80%;
		max-width: 400px;
	}
}



/* burger menu */
@media screen and (max-width: 980px) {
	main nav ul li {
		padding: 0;
	}
	main nav ul li a {
		font-size: 1.7rem;
	}
	.smp {
		display: block!important;
	}
	header#main_header .logo.smp {
		width: 70%;
	}
}
/* SMP setting END */