/* ---------------------------------------------------------------------------------------------

　   HEADER - PC

--------------------------------------------------------------------------------------------- */

header {
  position: absolute;
  top: 0;
  z-index: 100;
  width: 100%;
  position: fixed;
}
.cp_cont {
	height: 85px;
}
.cp_offcm01 {
	position: absolute;
	top: -15px;
	right: 20px;
	display: inline-block;
}
.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: #000;
	opacity: 0.5;
}
.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: 20px;
	text-decoration: none;
	color: #ffffff;
	border-bottom: 1px solid #ffffff;
}

.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: 25px 25px 0 0;
	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: #fff;
}
.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: 40px;
}
.cp_offcm01 #cp_toggle01:checked ~ label::before {
	content: '\f00d';
}
/* contents */
.cp_contents {
	color: #333333;
	text-align: center;
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
  padding-left: 50px;
}
.cp_contents h1 img {
  width: 100%;
  max-width: 300px;
  height: auto;
  margin-top: 17px;
}


@media only screen and ( max-width : 480px ) {
  .cp_cont {
  	height: 80px;
  }
  .cp_offcm01 #cp_toggle01 ~ label {
  	padding: 0;
    margin-top: 22px;
  }
  .cp_contents {
    padding-left: 10px;
  }
  .cp_contents h1 img {
    max-width: 180px;
    margin-top: 22px;
  }
}



/* ---------------------------------------------------------------------------------------------

　   FOOTER

--------------------------------------------------------------------------------------------- */
/* 上に戻るボタン */
#footer #pageTop  {
  position: fixed;
  bottom: 80px;
  right: 20px;
}
#footer #pageTop a {
  display: block;
  z-index: 999;
  border-radius: 30px;
  width: 70px;
  height: 70px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}
#footer #pageTop a:hover {
  text-decoration: none;
  animation: fadeOutUp 2s infinite;
}
#footer #pageTop a span {
  position: relative;
  top: 19px;
  color: #fff;
  letter-spacing: 3px;
}
#footer #pageTop a .sp_text {
  display: none;
}

@media only screen and ( max-width : 768px ) {
  #footer #pageTop  {
    position: relative;
    bottom: 0;
    right: 0;
  }
  #footer #pageTop a {
    z-index: 1;
    border-radius: 0;
    width: 100%;
    height: 60px;
    background-color: #006a6e;
  }
  #footer #pageTop a .sp_text {
    display: block;
    text-align: center;
    font-weight: 100;
  }
  #footer #pageTop a .pc_text {
    display: none;
  }
}
