/***************************
 *  Variables
 **************************/

ul.menu__body {
  opacity: 0;
  transition: 1s;
}
ul.menu__body.show {
  opacity: 1;
}

/***************************
 *  Application Main Styles
 **************************/
#menu--toggle[type="checkbox"]:not(:checked),
#menu--toggle[type="checkbox"]:checked {
  display: none;
}

.menu--toggle__trigger,
.menu--toggle__burger,
.menu--toggle__burger:before,
.menu--toggle__burger:after {
  position: absolute;
  top: 1em;
  right: 1em;
  width: 2em;
  height: 2px;
  background-color: #282828;
  border-radius: 2px;
  cursor: pointer;
  z-index: 100;
  transition: 0.35s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.menu--toggle__trigger {
  height: 2em;
  background: none;
}

.menu--toggle__burger:before {
  content: "";
  top: 10px;
  left: 0;
}
.menu--toggle__burger:after {
  content: "";
  top: 20px;
  left: 0;
}

.menu__body {
  position: absolute;
  width: 0em;
  height: 0em;
  margin: 0;
  top:55px;
  right: 0;
  padding: 0;
  background-color: #ffffff;
  border-bottom-left-radius: 100%;
  z-index: 10;
  -webkit-overflow-scrolling: touch;
  -webkit-animation: checkboxUncheckedAnimation 0.1s both;
          animation: checkboxUncheckedAnimation 0.1s both;
}


.menu__body-element {
  display: none;
  padding: 1em 2em 0;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  list-style: none;
  outline: 0;
}

.menu__body-link {
  display: none;
  padding: 1em 3em 0;
  text-decoration: none;
  text-transform: none;
  list-style: none;
  outline: 0;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.2;
}

a.menu__body-link{
  color: #474747;
}

.menu__body-element {
  margin: 0;
  padding: 0;
}

.menu__body-link:before{
	transition: 0.3s;
	content: '';
	width: 7px;
	height: 30px;
	background: #ff337c;
	position: absolute;
	left: 2em;
  opacity: 0;
}

.menu__body-link:hover:before{
	opacity: 1;
}


#menu--toggle:checked + .menu--toggle__trigger + .menu--toggle__burger {
  top: 26px;
  -webkit-transform: rotate(405deg);
          transform: rotate(405deg);
  transition: -webkit-transform 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
#menu--toggle:checked + .menu--toggle__trigger + .menu--toggle__burger:before {
  top: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  transition: -webkit-transform 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
#menu--toggle:checked + .menu--toggle__trigger + .menu--toggle__burger:after {
  top: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  transition: -webkit-transform 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
#menu--toggle:checked + .menu--toggle__trigger + .menu--toggle__burger + .menu__body {
  -webkit-animation: checkboxCheckedAnimation .8s cubic-bezier(0.25, 0.1, 0.25, 1) both;
          animation: checkboxCheckedAnimation .8s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}
#menu--toggle:checked + .menu--toggle__trigger ~ .menu__body .menu__body-element {
  display: block;
}

#menu--toggle:checked + .menu--toggle__trigger ~ .menu__body .menu__body-link {
  display: block;
}


/**
 *  Animations
 *
 *  @note checkboxCheckedAnimation - added fix for Microsoft Edge
 */
@-webkit-keyframes checkboxCheckedAnimation {
  50% {
    width: 100vw;
    height: 100vh;
  }
  100% {
    width: 100vw;
    height: 100vh;
    border-radius: 0;
  }
}
@keyframes checkboxCheckedAnimation {
  50% {
    width: 100vw;
    height: 100vh;
  }
  100% {
    width: 100vw;
    height: 100vh;
    border-radius: 0;
  }
}
@-webkit-keyframes checkboxUncheckedAnimation {
  0% {
    width: 100vw;
    height: 100vh;
  }
}
@keyframes checkboxUncheckedAnimation {
  0% {
    width: 100vw;
    height: 100vh;
  }
}
@-webkit-keyframes changeWidthOfElementAnimation {
  50% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes changeWidthOfElementAnimation {
  50% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

/* オリジナルCSS */
#box_sp img.sec_img{
  position: relative;
  padding: 0;
  margin: 20px 0 10px 80px;
  width: 18em;
}

/*--- 600px SP横 ▶︎ タブレット --------------------*/
@media screen and (max-width: 600px) {
.menu__body-link {
  padding: 1em 2em 0;
  font-size: 4.5vw;
  line-height: 1.2;
}
.menu__body-link:before{
	height: 1.2em;
	left: 1.2em;
  width: 0.2em;
}
#box_sp img.sec_img{
  position: relative;
  padding: 0;
  margin: 20px 0 10px 3em;
  width: 60vw;
}

}

