html, body, div, dl, h1, p, pre, table, ul,
dd, dt, li, tbody, td, tfoot, th, thead, tr, button, a, b, br, em, i, img, span, sub, sup {
	margin: 0;
	padding: 0;
}
img {
	max-width: 100%;
	height: auto;
	width: auto\9; /* ie8 */
	-ms-interpolation-mode: bicubic;
}

html {
	background-color:#000000;
	font: 62.5%/1.5 Garamond, Arial, Helvetica, Verdana, sans-serif;
	color: #aaaaaa;
	height: 100%;
	margin: 0 auto;
	max-width: 960px;
	position: relative;
	-webkit-text-size-adjust: none;
	overflow: hidden;
}
body{
	position: relative;
	}

a {
	color: #aaaaaa;
	outline: none;
	text-decoration: none;
	display: block;
}

a:visited {
	color:#7e7eff;
}
a:hover {
	color: #1c8d31;
}

header {
	position: relative;
	display: block;
	color: #bbbbbb;
	text-align: center;
	margin: 3% 2% 5%;
}

#site-logo {
	font: 2rem/1 Garamond, "Times New Roman", Times, serif;
}

#site-description {
	font: 1.6em/1.5 "Times New Roman", Times, serif;
}

#slideshow {
   position: relative;
   width: 100%; /* ボックスの横幅 */
}

#slideshow p {
   position: absolute;
   top:  0;
   left: 0;
   z-index: -30;
   opacity: 0.0;
   margin: 0;
   background-color:#000000; /* ボックスの背景色(必須) */
   font-size: 2rem;
   text-align: center;
   width: 100%;
   color: #999999;
}

#slideshow p.active {
   z-index: -10;
   opacity: 1.0;
}

#slideshow p.last-active {
   z-index: -20;
}

#slideshow p img {
   display: block;
   border: 0;
   margin-bottom: 0; /* 画像下部の余白 */
}

ul li:first-child { 
	-webkit-animation: kirari 21s 2s ease-in-out infinite;
	-moz-animation: kirari 21s 2s ease-in-out infinite;
	animation: kirari 21s 2s ease-in-out infinite;
}

ul li {
	background: rgba(0,0,0,.5);
	display: inline-block;
	width: 30%;
	border-radius: 50%;
	margin: -5% 1%;
	-webkit-box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
	box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
	-webkit-animation: kirari 21s 8s ease-in-out infinite;
	-moz-animation: kirari 21s 8s ease-in-out infinite;
	animation: kirari 21s 8s ease-in-out infinite;
}

ul li:last-child { 
	-webkit-animation: kirari 21s 15s ease-in-out infinite;
	-moz-animation: kirari 21s 15s ease-in-out infinite;
	animation: kirari 21s 15s ease-in-out infinite;
}

    @-moz-keyframes kirari {
from {
	-moz-box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
	box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
     }
10% {	
	-moz-box-shadow: inset -3px -1px 3px 1px rgba(255,255,255,.9);
	box-shadow: inset -3px -1px 3px 1px rgba(255,255,255,.9);
	}
20%   {
	-moz-box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
	box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
     }
to   {
	-moz-box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
	box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
     }
			}
			
    @-webkit-keyframes kirari {
from {
        
	-webkit-box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
	box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
     }
12.5% {	
	-webkit-box-shadow: inset -3px -1px 3px 1px rgba(255,255,255,.9);
	box-shadow: inset -3px -1px 3px 1px rgba(255,255,255,.9);
	}
25%   {
	-webkit-box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
	box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
	}
to   {
	-webkit-box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
	box-shadow: inset -2px -1px 1px 1px rgba(255,255,255,.4);
     }
}

ul a {
	font: normal 1.3rem "Times New Roman", Times, serif; 
	color: #bbbbbb;
	display: block;
	padding:  1.3rem 2rem;
	text-decoration: none;
	text-align: center;
}

ul li a:hover {
	color: #fff;
	background: -webkit-linear-gradient(top, rgba(158, 206, 255, 0.1), rgba(0, 101, 204, .4));
	background: linear-gradient(to bottom, rgba(158, 206, 255, 0.1), rgba(0, 101, 204, .4));
	background-color: rgba(255,255,255,0.1);
	border-radius: 50%;
	text-shadow: none;
	-webkit-transition: background .8s linear .1s;
	-moz-transition: background .8s linear .1s;
	-o-transition: background .8s linear .1s;
	-ms-transition: background .8s linear .1s;
	transition: background .8s linear .1s;	
	}
	


@media screen and (min-width: 620px) {
	/* disable webkit text size adjust (for iPhone) */
	html {
	-webkit-text-size-adjust: none;
	font-size: 75%;
	}
header {
	position: absolute;
	top:2rem;
	left:0;
	right:100%;
	z-index:99;
	}

#site-logo {
	font: 2rem/1 Garamond, "Times New Roman", Times, serif;
	}

#site-description {
	font: normal 1.5rem/1.5 "Times New Roman", Times, serif;
	letter-spacing: 0.1rem;
	}

ul li{
	width: 20%;
	display: block;
	position: relative;
	top:4rem;
	left:75%;
	z-index:99;
	margin: 0;
	margin-bottom: 15px;
	}
}

@media screen and (min-width: 785px) {
html {
	font-size: 100%;
	}
header {
	text-align: left;
	position: relative;
	top:0;
	left:1rem;
	z-index:99;
	font-size: 2rem;
	margin: 1rem 0 0;
	}
	
#site-description {
	font-size: 1.3rem;
	margin-left:.5rem;
	}
	
ul li:first-child { 
	position: absolute;
	top:7rem;
	left:2rem;
	z-index: 99;
	}

ul li {
	position: absolute;
	top:15.5rem;
	left:9rem;
	z-index: 99;
	width: 8rem;
	}

ul li:last-child { 
	position: absolute;
	top:21rem;
	left:4rem;
	z-index: 99;
	}

ul a {
	padding: 3rem .1rem;
	font: normal 1.2rem/1 "Times New Roman", Times, serif;
	}

ul li a:hover {
	background: -webkit-linear-gradient(top, rgba(158, 206, 255, 0), rgba(0, 101, 204, .4));
	background: linear-gradient(to bottom, rgba(158, 206, 255, 0), rgba(0, 101, 204, .4));
	}
#slideshow p {
	font: normal 1.4rem/1.5 "Times New Roman", Times, serif;
	}	
}
