#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0;
  bottom: 0;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '▲';
  font-size: 25px;
  color: #607d8b;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
	font-weight:700;
  content: 'PAGE TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  color: #607d8b;
}


.fadein {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}

.side-menu a{
    display: inline-block;
    -webkit-transition: -webkit-transform cubic-bezier(.4,0,.2,1) .5s;
    transition: -webkit-transform cubic-bezier(.4,0,.2,1) .5s;
    transition: transform cubic-bezier(.4,0,.2,1) .5s;
    transition: transform cubic-bezier(.4,0,.2,1) .5s,-webkit-transform cubic-bezier(.4,0,.2,1) .5s;
}


/*サイドバー*/
*, *:before, *:after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
ol, ul {
	list-style: none;
}
a {
	text-decoration: none;
	color: inherit;
}
.cp_cont {
/*	height: 65vh;*/
}
@media (min-width: 680px){
.cp_offcm01 {
	top: 20px;
	right: 20px;
}
}

@media (max-width: 679px){
.cp_offcm01 {
	top: 8px;
	right: 10px;
}
}

.cp_offcm01 {
	position: absolute;
	display: inline-block;
}

/* menu */
.cp_offcm01 .cp_menu {
	position: fixed;
	top: 0;
	right: -100vw;
	width: 250px;
	height: 100%;
	cursor: pointer;
	-webkit-transition: 0.53s transform;
	        transition: 0.53s transform;
	-webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	        transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	background-color: #607D8B;
	opacity: 0.8;
}
.cp_offcm01 .cp_menu ul {
	margin: 0;
	padding: 0;
}
.cp_offcm01 .cp_menu li {
	list-style: none;
}
.cp_offcm01 .cp_menu li a {
	display: block;
	padding: 10px 10px 10px 15px;
	text-decoration: none;
	color: #ffffff;
	/*border-bottom: 1px solid #ffffff;*/
}
.cp_offcm01 .cp_menu li:hover a{
	transition: 0.5s ;
	opacity: 0.5 ;
  transform: translate(5px,0px);
}
.cp_offcm01 #cp_toggle01 {
	position: absolute;
	display: none;
	opacity: 0;
}
.cp_offcm01 #cp_toggle01:checked ~ .cp_menu {
	-webkit-transform: translateX(-100vw);
	        transform: translateX(-100vw);
}
/* menu toggle */
.cp_offcm01 #cp_toggle01 ~ label {
	display: block;
	padding: 0.5em;
	cursor: pointer;
	-webkit-transition: 0.5s transform;
	        transition: 0.5s transform;
	-webkit-transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
	        transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
	text-align: center;
	color: #333333;
}
.cp_offcm01 #cp_toggle01:checked ~ label {
	-webkit-transform: translateX(-250px);
	        transform: translateX(-250px);
}
.cp_offcm01 #cp_toggle01 ~ label::before {
	font-family: 'FontAwesome';
	content: '\f0c9';
	font-size: 2em
}
.cp_offcm01 #cp_toggle01:checked ~ label::before {
	content: '\f00d';
	color:#607d8b;
}
/* contents */
.cp_contents {
	color: #333333;
	text-align: center;
}