/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
    font: inherit;
    display: inline-block;
    overflow: visible;
    margin: 0;
    cursor: pointer;
    transition: 0.3s all ease-in-out;
    text-transform: none;
    color: inherit;
    border: 0;
	width: 60px;
    height: 60px;
    background: rgba(0,0,0,0.8);
    position: fixed;
	right: 7px;
	top: 7px;
	z-index: 99;
	padding: 11px 20px 0px;
    border-radius: 50%;
}
.nav--opened .hamburger{
    background: url('../img/shared/bg.jpg');
    border: 1px solid #fff;
}
.hamburger:after {
    font-family: 'Noto Serif JP';
	font-size: 8px;
	line-height: 10px;
	letter-spacing: 0.08em;
    font-weight: 500;
	content: 'MENU';
	position: absolute;
	bottom: 15px;
    left: 0;
    right: 0;
	text-align: center;
	color: #fff;
}
.nav--opened .hamburger:after {
	content: 'CLOSE';
}
.hamburger-box {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 9px;
}
.hamburger-inner {
    top: 50%;
    display: block;
    margin-top: -1px;
}
.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
    position: absolute;
    width: 20px;
    height: 1px;
    transition-timing-function: ease;
    transition-duration: .15s;
    transition-property: transform;
    background-color: #fff;
}
.hamburger-inner:after, .hamburger-inner:before {
    display: block;
    content: ""
}
.hamburger-inner:before {
    top: -4px
}
.hamburger-inner:after {
    bottom: -4px
}
.hamburger--spin .hamburger-inner {
    transition-timing-function: cubic-bezier(.55, .055, .675, .19);
    transition-duration: .22s
}
.hamburger--spin .hamburger-inner:before {
    transition: top .1s ease-in .25s, opacity .1s ease-in
}
.hamburger--spin .hamburger-inner:after {
    transition: bottom .1s ease-in .25s, transform .22s cubic-bezier(.55, .055, .675, .19)
}
.hamburger--spin.is-active .hamburger-inner {
    transition-delay: .12s;
    transition-timing-function: cubic-bezier(.215, .61, .355, 1);
    transform: rotate(205deg)
}
.hamburger--spin.is-active .hamburger-inner:before {
    top: 0;
    transition: top .1s ease-out, opacity .1s ease-out .12s;
    opacity: 0
}
.hamburger--spin.is-active .hamburger-inner:after {
    bottom: 0;
    transition: bottom .1s ease-out, transform .22s cubic-bezier(.215, .61, .355, 1) .12s;
    transform: rotate(-50deg)
}
@media only screen and (min-width: 768px){
    .hamburger{
        width: 120px;
        height: 120px;
        top: 29px;
        right: 29px;
        padding: 36px 40px 0;
    }
    .hamburger:hover{
        opacity: 0.8;
    }
    .hamburger-box {
        width: 40px;
        height: 17px;
    }
    .hamburger-inner, .hamburger-inner:after, .hamburger-inner:before{
        width: 40px;
    }
    .hamburger:after{
        font-size: 15px;
        bottom: 33px;
    }
    .hamburger-inner:before{
        top: -8px;
    }
    .hamburger-inner:after{
        bottom: -8px;
    }
}
@media only screen and (min-width: 768px) and (max-height: 768px){
    .hamburger{
        right: 55px;
    }
    .has-nav .hamburger{
        right: 29px;
    }
}

/*          mask
---------------------------*/

#mask {
  display: none;
  transition: all .5s;
}

/* ナビゲーションが展開された部分の外側余白を指定する */
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
}