@charset "utf-8";
/*!------------------------------------*\
    Base
\*!------------------------------------*/
.drawer-nav {
  position: fixed;
  z-index: 101;
  top: 0;
	width: 80%;
  height: 100%;
  color: #222;
  background-color: #fff;
}

.drawer-brand {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 3.75rem;
  display: block;
  padding-right: .75rem;
  padding-left: .75rem;
  text-decoration: none;
  color: #222;
}

.drawer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.drawer-menu > li{
	display: inline-block;
	vertical-align: top;
	width: 100%;
}

.drawer-menu-item {
  font-size: 1rem;
  display: block;
  padding: .75rem;
  text-decoration: none;
  color: #222;
}

.drawer-menu-item:hover {
  text-decoration: underline;
  color: #555;
  background-color: transparent;
}

/*!------------------------------------*\
    Top
\*!------------------------------------*/
.drawer--top .drawer-nav {
  top: -100%;
  left: 0;
  width: 100%;
  height: auto;
  max-height: 100%;
  -webkit-transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.drawer--top.drawer-open .drawer-nav {
  top: 60px;
}

.drawer--top .drawer-hamburger,
.drawer--top.drawer-open .drawer-hamburger {
  right: 0;
}
/*    ハンバーガーアイコン　●で囲む .drawer-hamburgerに.hamburger-circle追加    */
.drawer--top .drawer-hamburger,
.drawer--top.drawer-open .drawer-hamburger {
  right: 10px;
}

/*!------------------------------------*\
    Left
\*!------------------------------------*/
.drawer--left .drawer-nav {
  left: -80%;
  -webkit-transition: left .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: left .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.drawer--left.drawer-open .drawer-nav,
.drawer--left .drawer-hamburger,
.drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
  left: 0;
}

.drawer--left.drawer-open .drawer-hamburger {
  left: 80%;
}

/*!------------------------------------*\
    Right
\*!------------------------------------*/
.drawer--right .drawer-nav {
  right: -80%;
  -webkit-transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.drawer--right.drawer-open .drawer-nav,
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
  right: 0;
}

.drawer--right.drawer-open .drawer-hamburger {
  right: 80%;
}
/*!------------------------------------*\
    Hamburger
\*!------------------------------------*/
.drawer-hamburger {
  position: fixed;
  z-index: 104;
  top: 0;
  display: block;
  box-sizing: content-box;
  width: 30px;
  padding: 0;
  padding-top: 18px;
  padding-right: .75rem;
  padding-bottom: 30px;
  padding-left: .75rem;
  -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  border: 0;
  outline: 0;
  background-color: rgba(255, 255, 255, 0.8);
}
/*    ハンバーガーアイコン　●で囲む .drawer-hamburgerに.hamburger-circle追加    */
.drawer-hamburger.hamburger-circle {
	width: 20px;
	height: 20px;
	background-color: rgba(233, 224, 203, 0.6);
	padding: 10px;
	border-radius: 21px;
	top: 9px;
	}
/*    ハンバーガーアイコン　MENU文字追加 .drawer-hamburgerに.menu-moji追加    */
.drawer-hamburger.menu-moji{
	padding-top: 14px;
	padding-bottom: 8px;
	}
.drawer-hamburger.menu-moji::after {
	content: "MENU";
	font-size: 1rem;
    padding-top: 15px;
    display: block;
	}
.device-sm .drawer-hamburger,
.device-xs .drawer-hamburger,
.device-xxs .drawer-hamburger{
	top: 20px;
}
.device-md .drawer-hamburger,
.device-lg .drawer-hamburger{
	display: none;
}
.device-md.drawer--right .drawer-nav,
.device-lg.drawer--right .drawer-nav {
	right: auto;
	position: static;
}
.device-md.drawer--right .drawer-nav li,
.device-lg.drawer--right .drawer-nav li{
	display: inline-block;
}

.drawer-hamburger:hover {
  cursor: pointer;
}

.drawer-hamburger-icon {
  position: relative;
  display: block;
  margin-top: 10px;
}
/*    ハンバーガーアイコン　●で囲む .hamburger-circle   */
.hamburger-circle .drawer-hamburger-icon {
	margin-top: 0;
	}
.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  width: 100%;
  height: 2px;
  -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  background-color: #222;
}

.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  position: absolute;
  top: -10px;
  left: 0;
  content: ' ';
}

.drawer-hamburger-icon:after {
  top: 10px;
}
/*    ハンバーガーアイコン　●で囲む    */
.hamburger-circle .drawer-hamburger-icon:before {
  top: -8px;
}
.hamburger-circle .drawer-hamburger-icon:after {
  top: 8px;
}


.drawer-open .drawer-hamburger-icon {
  background-color: transparent;
}

.drawer-open .drawer-hamburger-icon:before,
.drawer-open .drawer-hamburger-icon:after {
  top: 0;
}

.drawer-open .drawer-hamburger-icon:before {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.drawer-open .drawer-hamburger-icon:after {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}


/*!------------------------------------*\
    nav01
\*!------------------------------------*/
.drawer-nav{
	background-color: rgba(0, 0, 0, 0.7);
}
.drawer-menu li{
	position: relative;
}
.drawer-menu li a,
.drawer-menu li span.menu-toggle{
	display: block;
	width: 100%;
	color: #fff;
	font-weight: 600;
	line-height:1.2;
		padding: 15px;
    		cursor:pointer;
    		border-bottom: dotted 1px #000;
}
.drawer-menu li a.menu-pc{
	display: none;
	}

span.menu-toggle{
	background-image: url(../images/icons/toggle-down-gray.png);
	background-position: right 2rem center;
	background-repeat: no-repeat;
}
span.menu-toggle.active{
	background-image: url(../images/icons/toggle-up-gray.png);
}

.drawer-menu > li ul{
    display:none;
	width: 100%;
	z-index: 100;
	background-color: rgba(0, 0, 0, 0.2);
	margin: 0;
	padding: 0;
}
.drawer-menu > li > ul{
}
.drawer-menu > li li{
	display: block;
	width: 100%;
}
@media (min-width: 960px) {
	.drawer-hamburger {
		display: none;
		}
	.drawer--right .drawer-nav{
		right: auto;
		}
	.drawer-nav {
		position: static;
		display: table-cell;
		vertical-align: middle;
		width: auto;
		height: auto;
		background-color: transparent;
	}
	.drawer-menu{
		position: relative;
		display: -webkit-flex;
    	display: flex;
		width: 100%;
		}
	/*　　メニュー右寄せ　　*/
	.drawer-menu.menu-right{
		justify-content: flex-end;
    	-webkit-align-items: flex-end;
		}
	/*　　メニュー中央寄せ　　*/
	.drawer-menu.menu-center{
		justify-content: center;
    	-webkit-align-items: center;
		margin-left: -100px;  /*  .logoのwidthの半分をネガティブマージン  */
		}
	/*　　メニュー均等配置　　*/
	.drawer-menu.menu-grow{
		-webkit-justify-content: flex-start;
    	justify-content: flex-start;
		}
	.drawer-menu.menu-grow li{
		-webkit-flex-grow: 1;
    	flex-grow: 1;
		}
	.drawer-menu.menu-grow li a{
		text-align: center;
		}

	.drawer-menu > li.top-level{
		position: relative;
		width: auto;
	}
	.drawer-menu li a{
		color: #444;
		font-size: 1.4rem;
	}

	.drawer-menu li a:hover{
		color: #900;
		background-color: rgba(233, 224, 203, 0.6);
	}
	.drawer-menu > li.top-level a{
		display: block;
		border-bottom: none;
		padding: 1rem;
	}
	.drawer-menu > li.top-level li.menu-sp{
		display: none;
		}
	.drawer-menu li.top-level > ul{
		position: absolute;
		width: auto;
	}
	.drawer-menu > li.top-level > a{
		height: 60px;
		line-height: 60px;
		padding: 0 1.5rem;
		text-align: center;
	}

	.drawer-menu > li.top-level ul{
		background-color: #fff;
	}
	.drawer-menu li.top-level:hover > ul{
		display: block;
	}
	.drawer-menu li.top-level span.menu-toggle{
		display: none;
	}
	/*    メガメニュー    */
	.drawer-menu li.menu-mega > ul{
		}
	.drawer-menu li.menu-mega:hover > ul{
		display: -webkit-flex;
    	display: flex;
		border: solid 1px #ccc;
		padding: 1rem;
		}
	.drawer-menu li.menu-mega li.second-level{
		width: 15rem;
		margin-right: 5px;
		}
	.drawer-menu li.menu-mega li.second-level > a{
		background-color: rgba(233, 224, 203, 0.6);
		}
	.drawer-menu li.menu-mega li.second-level ul{
		width: 100%;
		display: block;
		}

	/*    ドロップダウン　多階層    */
	.drawer-menu li.menu-multi{

		}
	.drawer-menu li.menu-multi > ul{
		min-width: 100%;
		border-top: solid 1px #ccc;
		}
	.drawer-menu li.menu-multi > ul li{

		}
	.drawer-menu li.menu-multi li{
		border-bottom: solid 1px #fff;
		}
	.drawer-menu li.menu-multi li:last-child{
		border-bottom: none;
		}
	.drawer-menu li.menu-multi li.second-level a{
		background-color: rgba(233, 224, 203, 0.6);
		padding: 1rem;
		}
	.drawer-menu li.menu-multi li.second-level ul{
		position: absolute;
		left: 100%;
		top: 0;
		}
	/*    孫カテゴリが左に出る*/
	.drawer-menu li.menu-multi ul.menu-child-left li.second-level ul{
		left: -100%;
		}
	.drawer-menu li.menu-multi li.second-level:hover ul{
		display: block;
		border-left: solid 1px #fff;
		}
	/*    孫カテゴリが左に出る*/
	.drawer-menu li.menu-multi ul.menu-child-left li.second-level:hover ul{
		border-left: none;
		border-right: solid 1px #fff;
		}


	/* 下矢印 */
	.init-bottom:after {
    	content: '';
    	display: inline-block;
    	width: 6px;
    	height: 6px;
    	margin: 0 0 0 15px;
    	border-right: 1px solid #000;
    	border-bottom: 1px solid #000;
    	-webkit-transform: rotate(45deg);
    	-ms-transform: rotate(45deg);
    	transform: rotate(45deg);
	}
	/* 右矢印 */
	.init-right:after {
    	content: '';
   		display: block;
		position: absolute;
		top: 50%;
		right: 15px;
    	width: 6px;
    	height: 6px;
    	border-right: 1px solid #000;
    	border-top: 1px solid #000;
    	-webkit-transform: rotate(45deg);
    	-ms-transform: rotate(45deg);
    	transform: rotate(45deg);
		margin-top: -3px;
	}
}