body {
  margin:0;
}
main{
  background-color:#FFF;
}
.flex{
  width:100%;
  height:100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction:column;
}
.footer {
  font-size:80%;
  text-align:center;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.title{
  font-weight:bold;
  font-size:130%;
  margin:40px 0;
	text-align:center;
}

/*header
-----------------------------------------------------------------------------------------*/
header{
	background:#FFF;
}
/*-------------------------スクロールで隠れる要素*/
#fixtop {
	margin:0 auto;
	padding:15px 10px;
	max-width:1040px;
}
@media screen and (max-width: 1055px) {
#fixtop{width:auto;}
}
/*-------------------------ロゴ*/
#fixtop h1{
	float:left;
}
/*-------------------------サブメニュー*/
#fixtop ul.pc{
	float:right;
}
#fixtop ul.pc li{
	float:left;
	margin-left:5px;
}
#fixtop ul.pc li a{
	display:block;
	width:100px;
	height:90px;
	border-radius: 5px;	
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	position:relative;
	overflow:hidden;
}
#fixtop ul.pc li a:hover{
	height:85px;
	top:5px;
}
/*-------------------------スクロールで固定要素*/
#fixitem {
	width:100%;
	margin:0 auto;
}
/*-------------------------グローバルメニュー*/
header nav{
	background:#004097;
}
#nav_open,
header nav div{
	display:none;
}
header nav ul{
	max-width:1040px;
	padding:0 10px;
	margin:0 auto;
}
@media screen and (max-width: 1055px) {
header nav ul{width:auto;}
}
header nav li {
	float:left;
	width:18%;
}
header nav li:first-child{
	width:10%;
}
header nav li a{
	display:block;
	text-align:center;
	font-size:16px;
	letter-spacing:5px;
	line-height:50px;
	color:#FFFFFF;
	padding:5px 0 5px 5px;
}
header nav li:first-child a{
	padding:5px;
}
header nav li a:hover{
	background:#4D7AB6;
}
header nav li a.current{
	background:#3366AC;
}
/*-------------------------スクロールした時*/
#wrapper.scroll{
	padding-top:60px;
}
#wrapper.scroll #fixtop{
	display:none;
}
#wrapper.scroll #fixitem{
	position:fixed;
	top:0;
	z-index:1000;
}
/*-------------------------layout*/
	"上 上 上" 高
	"左 中 右" 1fr
	"下 下 下" 高
	/幅 1fr 幅 ;
	"header header header"100px
	"nav main aside"1fr
	"footer footer footer"100px
	/100px 1fr 100px;

header{grid-area:header;}
nav{grid-area:nav;}
main{grid-area:main;}
aside{grid-area:aside;}
footer{grid-area:footer;}
#wrapper{
	min-height:100vh;
	display:grid;
	grid-template:
	"header"auto
	"nav"auto
	"main"1fr
	"aside"auto
	"footer"auto;
}
