@charset "UTF-8";

/* すべての要素に適用 */
* {
	box-sizing: border-box;
	}

/* ボディの設定 */
body {
	font-family: 'Hiragino Kaku Gothic Pro', 'Meiryo', sans-serif;	position: relative;
	margin: 0;
	background: white;
	display: grid;
	grid-template-columns:
	[left] 20px [main] 1fr [end] 20px [right];
	grid-template-rows:
	[header] auto [main] auto [aside] auto [footer] auto [bottom];
	}

.box {
	width: 100px;
	padding: 0 10px
	border: solid 1px black;
	box-sizing: border-box;
	}
		
/* ヘッダー */
header {
	position: relative;
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: header;
	grid-row-end: main;
	margin-bottom: 100px;
	}

header img {
	display: block;
	width: 100%;
	max-height: 100%;
	}
	
/*
.top-title {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,50px);
	width: 500px;
	height: 500px;
	background: rgba(255,255,255,.5);
		font-size: 50px;
	}
*/
	
/* メディアクエリ */
@media (max-width: 1024px) {
.top-title {
	width: 400px;
	height: 400px;
	font-size: 40px;
	transform: translate(-50%,40px);	
	}
	}
	
@media (max-width: 840px) {
.top-title {
	width: 300px;
	height: 300px;
	font-size: 35px;
	transform: translate(-50%,30px);
	}
	}
	
@media (max-width: 580px) {
header {
	margin-bottom: 60px;
	}
	.top-title {
	width: 250px;
	height: 250px;
	transform: translate(-50%,25px);
	}
	}
	
@media (max-width: 450px) {
.top-title {
	width: 200px;
	height: 200px;
	font-size: 30px;
	transform: translate(-50%,20px);
	}
	}
	
@media (max-width: 370px) {
.top-title {
	width: 150px;
	height: 150px;
	font-size: 25px;
	transform: translate(-50%,15px);
	}
	}
	
	
/* ナビゲーション */
nav {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	}
nav ul {
	display: flex;
	justify-content: space-around;
	background: rgba(255,255,255,.7);
	margin: 0;
	list-style: none;
	padding: 0;
	font-size: 1.2rem;
	}
nav li {
	text-align: center;
	padding: 10px 0;
	width: 80px;
	cursor: pointer;
	transition: all 1s;
	}
nav li:hover {
	background: white;
	}	
	
/* メニューの表示 */
nav.open {
	display: block;
	}

/* メディアクエリ */
@media (max-width:840px) {
nav {
	position: fixed;
	display: none;
	}
nav ul {
	flex-direction: column;
	height: 100vh;
	padding-top: 40px;
	background: rgba(255,255,255,.9);
	}
nav li {
	width: 100%;
	padding: 20px;
	}
	}
	

/* メニューボタン */
.menubutton {
	position: fixed;
	top: 0;
	left: 0;
	cursor: pointer;
	z-index: 100;
	width: 40px;
	height: 40px;
	padding: 5px;
	background: black;
	display: none;
	}
.menubutton i {
	display: block;
	width: 30px;
	height: 5px;
	background: white;
	margin-bottom: 7.5px;
	}
.menubutton i:last-child {
	margin-bottom: 0;
	}
	
/* メディアクエリ */
@media (max-width:840px) {
.menubutton {
	display: block;
	}
	}	
	
	
/* メイン */
main {
	grid-column-start: main;
	grid-column-end: end;
	grid-row-start: main;
	grid-row-end: aside;
	margin-bottom: 100px;
	}
h1,h2 {
	color: black;
	text-align: center;
	}
.plan {
	display: flex;
	width: 100%;
	max-width: 800px;	
	margin: 2em auto;
	padding: 5px;
	border: 1px solid red;
	}
.plan img {
	display: block;
	height: 200px;
	}
.plan h2 {
	font-size: 20px;
	color: black;
	}
.plan .comments {
	width: 100%;
	padding: 0 20px;
	background: rgba(115, 190, 255, 0.78);
	}
	
@media (max-width: 700px) {
.plan {
	flex-direction: column;
	}
.plan img {
	width: 100%;
	height: auto;
	}
.plan .comments {
	padding: 20px;
	}
	}
	

/* サイド */
aside {
	grid-column-start: main;
	grid-column-end: end;
	grid-row-start: aside;
	grid-row-end: footer;
	}
.news {
	max-width: 1000px;
	border-top: dashed 1px #73beff;
	border-bottom: dashed 1px #73beff;
	margin: 2em auto;
	padding: 1em 20px;
	color: black;
	}
.news .topic {
	display: flex;
	align-items: center;
	padding: 10px;
	margin: 1em 0;
	border-left: solid 10px #73beff;
	}
.news .time {
	margin-right: 1em;
	}
	
@media (max-width: 450px) {
.news .topic {
	flex-direction: column;
	align-items: flex-start;
	}
	}
	

/* フッター */
footer {
	grid-column-start: left;
	grid-column-end: right;
	grid-row-start: footer;
	grid-row-end: bottom;
	text-align: center;
	background: #73beff;
	padding: 10px 0;
	}	