body,html {
	background-color: #000000;
	color: #ffffff;
	margin: 0;
	padding: 0;
	font-family: "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
}
a:link,a:visited {
	color: #ffffff;
}
.hi-light {
	color: #ff88ff;
}
.witch {
	position: relative; /*相対配置*/
	background-position: center;
	background-size: cover;
	background-position-y: 0;
	opacity: 0;
	width: 100%;
	height: 100vh;
}
.witch::before {
	content: '';
	display: block;
	padding-top: 50%;
}
.witch p {
	position: absolute;/*絶対配置*/
	color: rgba(255, 255, 255, 0.9);/*文字は白に*/
	background: rgba(0, 0, 0, 0.5);/*背景色*/
	font-weight: bold; /*太字に*/
	font-family :Quicksand, sans-serif;/*Google Font*/
	top: 0%;
	left: 0%;
	transform: translate(1%, 4%); /*左上配置*/
	margin: 0;
	padding: 0;
}
@media screen and (max-width: 599px) {
	.witch p {
		font-size: 50%;
	}
}
.witch img {
	position: absolute;/*絶対配置*/
	width: 110px;
	height: 110px;
	top: 0%;
	left: 100%;
	transform: translate(-105%, 5%); /*右上配置*/
	opacity: 0.6;
}
@media screen and (max-width: 599px) {
	.witch img {
		width: 55px;
		height: 55px;
	}
}
#witch {
	transition: opacity 0.9s; /* opacity要素(不透明度)の変更を0.9秒で行う */
}
.seed {
	font-size: 0.7em;
}
/* about */
div.header {
	margin-bottom: 1.0em;
	padding: 0.5em 0.1em;	/* tate yoko / top right bottom left */
	background-color: #444444;
	width: 100%;
}
.title_icon {
	width: 48x;
	height: 48px;
	vertical-align: bottom;
}
@media screen and (max-width: 599px) {
	.title_icon {
		width: 24px;
		height: 24px;
	}
}
.about {
	padding-left: 0.1em;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.6);
}
.about p, .about h1, .about h2, .about li {
	margin-top: 0;
	color: rgba(255, 255, 255, 0.9);
}
.about h1, .about h2 {
	padding-top: 1.0em;
	margin-left: 1.0em;
}
.about h1, .about h2, .about li {
	padding-top: 0.5em;
	margin-left: 0.5em;
}
.about h2::before {
	content: '■';
}
.about p {
	margin-left: 2.0em;
}
img.haticon  {
	width: 28px;
	height: 28px;
	vertical-align: middle;
}
div.round_rect {
	display: inline-block;
	padding: 2.0em;
	margin: 1.0em 0 1.0em 2.0em;	/* top right bottom left */
	border: solid 2px #ff88ff;
	border-radius: 10px;
	font-size: 1.25em;
	font-weight: bold;
}
.thumb {
	margin: 2px;
	width: 96px;
	height: 96px;
	vertical-align: middle;
	object-fit: cover;
	object-position: 100% 0;
}
.focus {
  border: 0.4em solid #ff88ff;
  box-sizing: border-box;
}
.tilebase {
	margin-left: 1.0em;
	overflow: hidden;
}
@media screen and (max-width: 599px) {
	.header h1 {
		font-size: 100%;
	}
	.header p {
		font-size: 0.75em;
	}
	.about h2 {
		font-size: 90%;
	}
	.about p, .about li {
		font-size: 0.75em;
	}
	.about h2, .tilebase {
		margin-left: 0;
	}
	.about p {
		margin-left: 0.5em;
	}
	div.round_rect {
		font-size: 0.8em;
	}
	.thumb {
		width: 48px;
		height: 48px;
	}
	.tilebase {
		font-size: 50%;
	}
}
.tile {
	float: left;
	text-align: center;
}
span#clock {
	margin: 0 0.1em;
	font-size: 4.0em;
	color: #ffffff;
	line-height: 1.25em;
}
span#title {
	margin-left: 0.5em;
	font-size: 1.0em;
	color: #ff88ff;
}
#title::before {
	padding: 0 0.3em 0 0.2em;	/* top right bottom left */
	display: inline-block;
	content: 'AI';
	font-size: 1.0em;
	background: #ff88ff;
	color: #ffffff;
	border-radius: 0.8em;
	vertical-align: middle;
}
span#subject {
	margin-left: 0.25em;
	font-size: 1.2em;
	line-height: 200%;
	color: #ffffff;
}
p.story {
	position: absolute;/*絶対配置*/
	color: rgba(255, 255, 255, 0.9);/*文字は白に*/
	background: rgba(0, 0, 0, 0.5);/*背景色*/
	font-size: 1.5em;
	font-weight: bold; /*太字に*/
	font-family :Quicksand, sans-serif;/*Google Font*/
	line-height: 200%;
	top: 85%;
	left: 0%;
	transform: translate(0, 0); /*左上配置*/
	margin: 1.0em;
	padding: 0.5em 0.5em 4.0em 0.5em;	/* top right bottom left */
	border-radius: 0.5em;
}
@media screen and (max-width: 599px) {
	p.story {
		font-size: 0.8em;
	}
}
/* フッタ */
div.footer {
	margin: 0;
	padding: 0.5em 0;		/* tate yoko / top right bottom left */
	background-color: #444444;
	text-align: center;
	max-width: none;
	width: 100%;
}
