*, *:before, *:after {
padding: 0;
margin: 0;
box-sizing: border-box;
}
ol, ul {
list-style: none;
}
a {
text-decoration: none;
color: inherit;
}
.cp_cont {
height: 55vh;
}
/* menu */
.cp_offcm03 {
position: relative;
z-index: 5;
top: 0;
left: 0;
overflow: auto;
width: 100%;
height: auto;
padding-top: 0;
-webkit-transition: transform 0.3s ease-in;
transition: transform 0.3s ease-in;
text-align: center;
color: #ffffff;
background-color: #0000ff;
}
.cp_offcm03 nav,
.cp_offcm03 ul {
height: 100%;
}
.cp_offcm03 li {
display: inline-block;
margin-right: -6px;
border: none;
}
.cp_offcm03 a {
display: block;
padding: 12px 15px;
-webkit-transition: background-color .3s ease-in;
transition: background-color .3s ease-in;
}
.cp_offcm03 a:hover {
background-color: #d8f549;/* hober */
}
/* menu toggle */
#cp_toggle03 {
display: none;
}
#cp_toggle03:checked ~ .cp_offcm03 {
-webkit-transform: translateX(0);
transform: translateX(0);
}
#cp_toggle03:checked ~ .cp_container {
-webkit-transform: translateX(0);
transform: translateX(0);
}
#cp_toggle03:checked ~ .cp_container {
-webkit-transform: translateX(0);
transform: translateX(0);
}
.cp_mobilebar {
display: none;
}
/* content */
.cp_container {
position: relative;
top: 0;
padding: 35px auto;
-webkit-transition: transform .3s ease-in;
transition: transform .3s ease-in;
}
.cp_content {
margin: 0 auto;
padding: 20px;
height: 65vh;
text-align: center;
}
@media (max-width: 767px) {
/* menu */
    /*この数字がスマホのタイトル帯の横幅*/
.cp_offcm03 {
position: fixed;
left: -160px;
overflow-y: hidden;
width: 160px;
height: 100%;
padding-top: 60px;
color: #ffffff;
background-color: #0000ff;
}
.cp_offcm03 nav {
background: #0000ff;
}
.cp_offcm03 li {
display: block;
margin-right: 0;
border-bottom: 1px solid #ffffff;
}
.cp_offcm03 a {
padding: 5px;
}
/* menu toggle */
.cp_mobilebar {
display: block;
z-index: 10;
position: fixed;
top: 0;
left: 0;
padding: 0 25px;
width: 100%;
    /*この数字がスマホのタイトル帯の立て幅*/
height: 30px;
background-color: #0000ff;
}
.cp_menuicon {
display: block;
position: relative;
width: 25px;
height: 100%;
cursor: pointer;
-webkit-transition: transform .3s ease-in;
transition: transform .3s ease-in;
}
.cp_menuicon > span {
display: block;
position: absolute;
top: 55%;
margin-top: -0.3em;
width: 100%;
height: 0.2em;
border-radius: 1px;
background-color: #ffffff;
-webkit-transition: transform .3s ease;
transition: transform .3s ease;
}
.cp_menuicon > span:before,
.cp_menuicon > span:after {
content: '';
position: absolute;
width: 100%;
height: 100%;
border-radius: 1px;
background-color: #ffffff;
-webkit-transition: transform .3s ease-in;
transition: transform .3s ease-in;
}
.cp_menuicon > span:before {
-webkit-transform: translateY(-0.6em);
transform: translateY(-0.6em);
}
.cp_menuicon > span:after {
-webkit-transform: translateY(0.6em);
transform: translateY(0.6em);
}
#cp_toggle03:checked + .cp_mobilebar .cp_menuicon {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
#cp_toggle03:checked + .cp_mobilebar span:before,
#cp_toggle03:checked + .cp_mobilebar span:after {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
#cp_toggle03:checked ~ .cp_offcm03 {
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
#cp_toggle03:checked ~ .cp_container {
-webkit-transform: translateX(250px);
transform: translateX(250px);
}
/* content */
.cp_container {
top: 60px;
height: 92vh;
}
/* content */
table.table01 thead th {
	background:#0000ff;
	color:#FFF;
	padding:10px 15px;
	border-right:#FFF solid none;
	border-bottom:#FFF solid none;
}
table.table01 thead th:last-child {
	border-right:#3EB1C6 solid none;
}
table.table01 tbody th {
	background:#0000ff;
	color:#FFF;
	padding:10px 15px;
	border-bottom:#FFF solid none;
	vertical-align:top;
}
table.table01 tbody tr:last-child th {
	border-bottom:#0000ff solid none;
}
table.table01 tbody td {
background:#0000ff;
	background:#FFF;
	padding:10px 15px;
	border-bottom:#FFF solid none;
	vertical-align:top;
}
 table.table01 tbody tr:last-child th {
	border-bottom:#0000ff solid none;
}
table.table01 tbody td {
	background:#FFF;
	padding:10px 15px;
	border-left:#0000ff solid none;
	border-bottom:#0000ff solid none;
	vertical-align:top;
}

@media screen and (max-width: 640px) {
table.table01 thead {
	display:none;
}
table.table01 tbody th {
	display:block;
}
table.table01 tbody td {
	display:block;
}
table.table01 tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
	font-weight:normal;
}
table.table01 tbody td p {
	padding-left:6em;
}
}
