@font-face {
    font-family: 'gyosho';
    src: url('fonts/aoyagi.ttf');
}
/*****************
 general setting
*****************/
html{
    /*background-color: #98fb98;*/
    background-color: #FFF;
    font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    color: #333;
    height: 100%;
    padding-top: 20px;
}
body{
	width: 960px;
	height: 100%;
	padding: 10px 20px;
    margin: 0 auto;
}
.index{
	text-decoration: none;
}
h1{
	font-family: 'gyosho';
	font-weight: bold;
	background-image: url("images/utilities/sakura1.jpg");
	font-size: 24px;
	height: 50px;
	margin-top: 5px;
	margin-bottom: -16px;
  margin-left: 5px;
}
h1 a{
	color: #333;
}
.h1hr{
    height: 12px;
    border: 0;
    box-shadow: inset 0 12px 12px -12px rgba(0,0,0,0.8);
    margin-top: -20px;
}
a{
	text-decoration: none;
	color: #333;
}
/**************
 contents
*******/
#container{
	width: 960px;
  height: 100%;
	margin: 0 auto;
	
}
#modal-content{
  display: none;
  z-index: 100000;
  background-color: #eee;
  position: fixed;
}
#modal-overlay{
  width:100%;
   height:120%;
   position:fixed;
   top:0;
   left:0;
   background-color:rgba(0,0,0, 0.75);
   z-index: 1;
}
#modal-open{
  margin-left: 40px;
  
  background-color: rgba(127,255,0,0.6);
  border-radius: 20px;
  -moz-box-shadow: inset 1px 1px 1px rgba(000,000,000,0.3);
  -webkit-box-shadow: inset 1px 1px 1px rgba(000,000,000,0.3);
  padding: 5px 10px;
  font-family: 'Open Sans', sans-serif;
}
#modal-open:hover{
  background-color: rgba(127,255,0,0.4);
  cursor: pointer;
}
#refresh{
  margin-left: 60px;
  width: 120px;
}

/**********
 sidebar
**********/
#sidebar{
	width: 25%;
	float: left;
  margin-right: 30px;
	/*border: 1px solid #222;*/
}
.btn {
    background: -moz-linear-gradient(top,#FFF 0%,#E6E6E6);
    background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#E6E6E6));
    border-radius: 20px;
    -moz-box-shadow: inset 1px 1px 1px rgba(000,000,000,0.3);
    -webkit-box-shadow: inset 1px 1px 1px rgba(000,000,000,0.3);
    text-align: center;
    padding: 5px 10px;
    margin-right: 5px;
    margin-left: 20px;
    font-family: 'Open Sans', sans-serif;
}
.btn:hover{
  background: #b5bdc8; /* Old browsers */
background: -moz-linear-gradient(top,  #b5bdc8 0%, #828c95 100%, #28343b 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b5bdc8), color-stop(100%,#828c95), color-stop(100%,#28343b)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #b5bdc8 0%,#828c95 100%,#28343b 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #b5bdc8 0%,#828c95 100%,#28343b 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #b5bdc8 0%,#828c95 100%,#28343b 100%); /* IE10+ */
background: linear-gradient(to bottom,  #b5bdc8 0%,#828c95 100%,#28343b 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b5bdc8', endColorstr='#28343b',GradientType=0 ); /* IE6-9 */
  transition: 0.8s;
  cursor: pointer;
}
#buttons{
  margin-bottom: 15px;
}
#flip{
  margin-left: 25px;
}
#list{
  list-style: none;
  margin-left: -2em;
}

h2{
  font-size: 20px;
  font-family: 'Roboto', sans-serif;
  margin-bottom: -10px;
  
}
.check{
  margin-left: 0.3em;
  margin-right: 1em;
}
.buttons{
  margin-bottom: 10px;
}
.h2hr{
    display: block;
  width: 100%;
  height: 3px;
  background-color: #666;
  border: 0;  /*デフォルトデザインでは線がある場合があるので、消しておく。*/
}
input[type=checkbox] {
  display: none;
}

.checkbox {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: block;
  margin-right: 20px;
  padding: 5px 12px 5px 42px;
  border-radius: 8px;
  vertical-align: middle;
  cursor: pointer;
  font-size: 14px;

}
.checkbox:hover {
  background-color: #e2edd7;
}
.checkbox:hover:after {
  border-color: #53b300;
}
.checkbox:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 15px;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #bbb;
  border-radius: 6px;
  content: '';
}
.checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 21px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #53b300;
  border-bottom: 3px solid #53b300;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}
/******
 main
*******/
#main{
	width: 65%;
	float: left;
  text-align: center;
  margin: 0 auto;
  
  overflow: visible;  
  min-height: 120%;  
  height: auto !important;  
}
.left, .right{
  width: 10%;
  padding-bottom: 70% !important;  
    margin-bottom: -70% !important;   
    padding-bottom: 0;  
    margin-bottom: 0;   
    height: 80%;  
  float: left;
  background-color: rgba(127,255,0,0.4);
  transition: 0.8s;
}
.left:hover, .right:hover{
  background-color: rgba(127,255,0,0.6);
  transition: 0.8s;
  cursor: pointer;
}
.left img, .right img{
  position: relative;
  top: 200px;
}
.arrow{
  border-radius: 50%;
}
.middle{
  width: 78%;
  float: left;
  padding-bottom: 70% !important;  
    margin-bottom: -70% !important;   
    padding-bottom: 0;  
    margin-bottom: 0;   
    height: 100%;  
}

#word{
  border: 1px solid #333;
  padding: 15px 5px;
  width: 70%;
  margin: 0 auto;
}
#illustration{
  margin: 0 auto;
  margin-bottom: -15px;
  width: 180px;
  height: 180px;
}
#audio{
  margin: 0 auto;
  margin-top: -10px;
  display: block;
  width: 250px;

}

.toggle{
  margin: 20px 0px;
}

#info{
  border: 1px solid #333;
  border-radius: 3px;
  padding: 15px 5px;
  width: 70%;
  margin: 0 auto;
  margin-bottom: -8em;
}

#header{
  text-align: left;
  margin-left: 20px;
  margin-top: 0px;
}

#theme{
  border: 1px solid #000;
  padding: 1px 3px;
  background-color: rgba(0,255, 0, 0.3);
}
#category{
  border: 1px solid #000;
  padding: 1px 3px;
  background-color: rgba(255,0,0, 0.3);
}
#kana, #kanji{
  font-size: 32px;
  margin: 0 auto;
}
#example{
  margin-bottom: -25px;
  width: 80%;
  margin: 0 auto;
}
#kana_ex, #kanji_ex{
  text-align: left;
}
#kana_ex{
  margin-bottom: -10px;
}

.validation{
  font-size: 14px;
  color: red;
}