*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body{
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	background-color: #ddd;
}

#contents{
	display: flex;
	flex-direction: column;
	max-width: 800px;
	margin: 0 auto;
	background-color: white;
}

#head{
	position: relative;
	height: 120px;
	/*background-color: #00b4a0;*/
	background: linear-gradient(to bottom right, #00b4a0, #90f4e0);
}

@media screen and (max-width: 640px) {
#head{
	text-align: center;
}
} /* @media */

#menu a{
	text-decoration: none;
}

#head h1{
	margin: 5px 40px;
	color: white;
	font-size: 60px;
}

@media screen and (max-width: 320px) {
#head h1{
	font-size: 15vw;
}
} /* @media */

#head h2{
	position: absolute;
	margin: auto;
	left: 70%;
	top: 45%;
	transform: translate(-50%, -50%);
	color: white;
	font-size: 20px;
}

#menu{
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 0);
	color: white;
	font-size: 14px;
}
@media screen and (max-width: 480px) {
#menu{
	font-size: 3vw;
}
} /* @media */

#menu span{
	font-weight: bold;
}

#menu a:link, #menu a:visited, #menu a:active{
	color: white;
}
#menu a:hover{
	color: #faa;
}

#main{
	position: relative;
    display: block;
    height: calc(100dvh - 200px);
	min-height: 400px;
	/*overflow-y: scroll;*/
	text-align: center;
}

@media screen and (max-width: 640px) {
#main{
	width: auto;
}
} /* @media */

#main p{
	margin: 40px auto;
	font-size: 24px;
}

#foot{
	position: relative;
	height: 80px;
	/*background-color: #00b4a0;*/
	background: linear-gradient(to left top, #00b4a0, #90f4e0);
}

#foot p{
	position: absolute;
	right: 20px;
	bottom: 5px;
	color: white;
}

#top{
	height: 100%;
	padding: 40px;
	background-image: url("../img/top01.png");
	background-position: center;
	background-size: cover;
}

#top p{
	margin: 0;
	color: white;
	text-align: right;
	line-height: 2;
}
@media screen and (max-width: 480px) {
#top p{
	font-size: 4vw;
}
} /* @media */

#about{
	display: inline-block;
	text-align: left;
}

#about td{
	padding: 4px 20px;
}
