.sidemenu > ul:after {
  content: "";
  display: table;
  clear: both;
}

body {
  -webkit-animation: bugfix infinite 1s;
}

@-webkit-keyframes bugfix {
  from {
    padding: 0;
  }

  to {
    padding: 0;
  }
}

.sidemenu {
  font: bold 15px Times New Roman ,"ヒラギノ明朝 Pro W3","HG明朝","ＭＳ Ｐ明朝","ＭＳ 明朝",Helvetica;
  padding:20px 10px 2em 0;
}
.sidemenu * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.sidemenu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-border-radius: 0 0 3px 0;
  -moz-border-radius: 0 0 3px 0;
  -ms-border-radius: 0 0 3px 0;
  -o-border-radius: 0 0 3px 0;
  border-radius: 0 0 3px 0;
}
.sidemenu li {
  position: relative;
}
.sidemenu li:hover > ul {
  opacity: 1;
  visibility: visible;
  margin: 0;
}
.sidemenu li:hover > a {
  color: white;
}
.sidemenu input[type=checkbox] {
  position: absolute;
  top: -9999px;
  left: -9999px;
}
.sidemenu label {
  display: none;
  cursor: pointer;
  user-select: none;
}

.sidemenu > ul {
}
.sidemenu > ul > li {
  display: block;
  border-bottom: 1px solid #3d241d;
  -webkit-box-shadow: 1px 0 0 #444444;
  -moz-box-shadow: 1px 0 0 #444444;
  box-shadow: 1px 0 0 #444444;
margin-bottom: 5px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}
.sidemenu > ul > li {
  background-color: #3d241d;
  background-image: -webkit-gradient(linear, left top, right top, 50% 0%, 50% 100%, color-stop(0%, rgba(255, 255, 255, 0.2)), color-stop(100%, rgba(255, 255, 255, 0)));
  background-image: -webkit-linear-gradient(left,rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
  background-image: -moz-linear-gradient(left,rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
  background-image: -o-linear-gradient(left,rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
  background-image: linear-gradient(to right,rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}
.sidemenu > ul > li > a {
  display: block;
  padding: 1.5em 2em;
  text-transform: uppercase;
}
.sidemenu > ul a {
  color: #f0e9bf;
  text-decoration: none;
  text-shadow: 0 1px 0 #593527;
}
.sidemenu > ul a:hover {
	background-color: #330000;
	border-color: #330000;
}
.sidemenu > ul ul {
	position: absolute;
	top: 0;
	left: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	margin: 2em 0 0 0;
	background-color: #635032;
	background-image: none;
	-webkit-transition-property: margin, opacity;
	-moz-transition-property: margin, opacity;
	-o-transition-property: margin, opacity;
	transition-property: margin, opacity;
	-webkit-transition-duration: .15s;
	-moz-transition-duration: .15s;
	-o-transition-duration: .15s;
	transition-duration: .15s;
	-webkit-transition-timing-function: ease-in-out;
	-moz-transition-timing-function: ease-in-out;
	-o-transition-timing-function: ease-in-out;
	transition-timing-function: ease-in-out;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	-o-border-radius: 3px;
	border-radius: 3px;
}
.sidemenu > ul ul li {
  display: block;
  -webkit-box-shadow: 0 1px 0 #1e1e1e, 0 2px 0 #515151;
  -moz-box-shadow: 0 1px 0 #1e1e1e, 0 2px 0 #515151;
  box-shadow: 0 1px 0 #1e1e1e, 0 2px 0 #515151;
margin-bottom: 1px;
}
.sidemenu > ul ul li {
  background-color: #3d241d;
  background-image: -webkit-gradient(linear, left top, right top, 50% 0%, 50% 100%, color-stop(0%, rgba(255, 255, 255, 0.2)), color-stop(100%, rgba(255, 255, 255, 0)));
  background-image: -webkit-linear-gradient(left,rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
  background-image: -moz-linear-gradient(left,rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
  background-image: -o-linear-gradient(left,rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
  background-image: linear-gradient(to right,rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
  }
.sidemenu > ul ul li:first-child > a {
  -webkit-border-radius: 3px 3px 0 0;
  -moz-border-radius: 3px 3px 0 0;
  -ms-border-radius: 3px 3px 0 0;
  -o-border-radius: 3px 3px 0 0;
  border-radius: 3px 3px 0 0;
}
.sidemenu > ul ul li:first-child > a:after {
  content: '';
  position: absolute;
  left: -12px;
  top: 1em;
  border: 6px solid transparent;
  border-right-color: inherit;
}
.sidemenu > ul ul li:last-child {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.sidemenu > ul ul li:last-child > a {
  -webkit-border-radius: 0 0 3px 3px;
  -moz-border-radius: 0 0 3px 3px;
  -ms-border-radius: 0 0 3px 3px;
  -o-border-radius: 0 0 3px 3px;
  border-radius: 0 0 3px 3px;
}
.sidemenu > ul ul a {
	padding: 1em;
	width: 175px;
	display: block;
	border-color: #635032;
}
.sidemenu > ul ul a:hover {
	background-color: #330000;
	border-color: #330000;
}
@media screen and (max-width: 768px) {
.sidemenu > ul > li > a {
  padding: 1em 1em;
}
}
@media screen and (max-width: 600px) {
.sidemenu {
  padding:0;
}
  .sidemenu > ul, .sidemenu > ul ul {
    visibility: visible;
    opacity: 1;
    display: none;
  }

  .sidemenu input[type=checkbox]:checked ~ label,
  .sidemenu input[type=checkbox] ~ label:hover {
    color: white;
  }
  .sidemenu label {
	border-color:#593527;
	border-style:solid solid solid solid;
	border-width: 1px;
    background-color: #3d241d;
    background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(255, 255, 255, 0.2)), color-stop(100%, rgba(255, 255, 255, 0)));
    background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
    background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
    background-image: -o-linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
    background-image: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
    -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
    -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
    color: #f0e9bf;
    text-shadow: 0 1px 0 #593527;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    text-transform: uppercase;
    position: relative;
    display: block;
    padding: 1em 3em;
  }
  .sidemenu label:before {
    position: absolute;
    left: 0.5em;
    top: 0.2em;
    content: "\2261";
    font-size: 2em;
  }
  .sidemenu > ul {
    position: relative;
    border-color: #3d241d;
    margin: 0.5em 0.5em !important;
    padding: 0.25em;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    background-color: #3d241d;
    background-image: none;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
  }
  .sidemenu > ul:after {
    content: '';
    position: absolute;
    left: 2em;
    top: -12px;
    border: 6px solid transparent;
    border-bottom-color: inherit;
  }
  .sidemenu > ul li {
    display: block;
    margin-bottom: 0;
  }
  .sidemenu > ul > li {
    float: none;
    border: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    background-color: #3d241d;
    background-image: none;
  }
  .sidemenu > ul > li > a {
    float: none;
    display: block;
    padding: 1em ;
  }
  .sidemenu > ul ul {
    position: static;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    background-color: #3d241d;
    background-image: none;
    margin: 0;
    -webkit-transition-property: none;
    -moz-transition-property: none;
    -o-transition-property: none;
    transition-property: none;
  }
 .sidemenu > ul ul a{
 color:#FFFFFF;
 }
  .sidemenu > ul ul li:first-child > a {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
  }
  .sidemenu > ul ul li:first-child > a:after {
    content: none;
  }
  .sidemenu > ul ul li:last-child > a {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
  }
  .sidemenu > ul ul a {
    padding-left: 2em;
    display: block;
    width: auto;
  }
  .sidemenu input[type=checkbox]:checked ~ ul {
    display: block;
  }
  .sidemenu input[type=checkbox]:checked ~ ul ul {
    display: block;
  }
}

/* 
table
*/
table { 
  width: 100%; 
  border-collapse: collapse; 
}
/* Zebra striping */
tr:nth-of-type(odd) { 
  background: #eee; 
}
th { background: #fff; 
  font-weight: bold; 
}
td, th { 
  padding: 6px; 
  border: 1px solid #333; 
  text-align: left; 
}

@media only screen and (max-width:420px){
    tbody tr{
        display: block;
        margin-bottom: 1.5em;
    }
    tbody th,
    tbody td{
        display: list-item;
        border: none;
    }
    .....
}

[if !IE]>>
    <style>
        @media only screen and (max-width:420px){
            .....
        }
    </style>
<![endif]