/*!
 * jquery-drawer v3.2.2
 * Flexible drawer menu using jQuery, iScroll and CSS.
 * http://git.blivesta.com/drawer
 * License : MIT
 * Author : blivesta <design@blivesta.com> (http://blivesta.com/)
 */

/*!------------------------------------*\
    Base
\*!------------------------------------*/

.drawer-open {
  overflow: hidden !important;
}

.drawer-nav {
  position: fixed;
  z-index: 101;
  top: 0;
  /*overflow: hidden;*/
	overflow-y:auto;
  -webkit-overflow-scrolling: touch; 
  width: 300px;
  height: 100%;
  color: #222;
  background-color: #fff;
	}


@media only screen and (min-width :1025px){
	.drawer-nav {
		position:relative;
		clear:both;
		float:none;
		width:auto !important;
		max-width:1130px;
		right:0 !important;
		left:auto !important;
		margin-left:auto;
		}
}


.drawer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
	}
.drawer-menu-item{
  display: block;
  padding: 15px;
  text-decoration: none;
  color:var(--green);
	font-weight:bold;
	border-bottom:#ccc solid 1px;
	}
.drawer-menu-item:before{
	display:inline-block;
	margin-right:5px;
	width:1em;
	content:"\f35a";
	font: var(--fa-font-regular),"FontAwesome","Font Awesome 7 Pro","Font Awesome 6 Pro";
	color:var(--blue);
	}

.drawer-menu-item:hover,
.drawer-menu-item:active {
  color:#fff;
	background-color:var(--navy);
	}


/*sp*/
.dw-sp{}
/*ロゴ*/
.logo .drawer-menu-item:before{ display:none;}
.logo .drawer-menu-item:hover,
.logo .drawer-menu-item:active {
	background:none;
	}
/*エントリーボタン*/
.dw-entry{padding:15px;}
.dw-entry .drawer-menu-item:before{ display:none;}


@media only screen and (min-width :1025px){
	.drawer-menu{
		display:flex;
		justfy-content:flex-end;
		align-items: center;
		flex-wrap:wrap;
		margin-top:15px;
		}
	.drawer-menu li{
		position:relative;
		overflow: visible;
		}
	.drawer-menu-item {
		border-bottom:none;
		padding:10px 5px;
		}
	.drawer-menu-item:before{
		display:none;
		}
	.drawer-menu-item:hover {
		color:var(--red);
		background:none;
		}
	/*sp*/
	.dw-sp{ display:none;}
	/*エントリーボタン*/
	.dw-entry{
		padding:0 0 0 10px;
		}
}
@media only screen and (min-width :1200px){
	.drawer-menu-item {
		padding:10px 15px;
		}
	.dw-entry{ padding-left:15px;}


}


/*!------------------------------------*\
    Dropdown
\*!------------------------------------*/

.drawer-dropdown{
	position:relative;
	}
.drawer-dropdown-menu {
  display: none;
	position:relative;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #fff;
	font-size:0.9em;

}

.drawer-dropdown-menu > li {
  width: 100%;
  list-style: none;
	}
.drawer-dropdown-menu-item {
  display: block;
  padding: 15px;
	padding-left:40px;
  text-decoration: none;
	font-weight:600;
  color: #222;
	border-bottom:#ccc dotted 1px;
	}
.drawer-dropdown-menu-item i{
	color:var(--blue);
	margin-right:5px;
	}
.drawer-dropdown-menu > li:last-child .drawer-dropdown-menu-item {
	border-bottom:#ccc solid 1px;
}

.drawer-dropdown-menu-item:hover {
  background-color: transparent;
	}
.drawer-dropdown-menu-item span{
	display:block;
	font-size:0.8em;
	line-height:1.5em;
	}



/*! open */

.drawer-dropdown.open > .drawer-dropdown-menu {
  display: block;
}

/*! drawer-caret */

.drawer-dropdown .drawer-caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 4px;
  -webkit-transition: opacity .2s ease, -webkit-transform .2s ease;
  transition: opacity .2s ease, -webkit-transform .2s ease;
  transition: transform .2s ease, opacity .2s ease;
  transition: transform .2s ease, opacity .2s ease, -webkit-transform .2s ease;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  vertical-align: middle;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

/*! open */

.drawer-dropdown.open .drawer-caret {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

@media only screen and (min-width :1025px){

	.drawer-nav,
	.drawer-menu{ overflow:visible;}

	/*! open*/

	.drawer-menu li.drawer-dropdown.open,
	.drawer-menu li.drawer-dropdown:hover{
		}
	.drawer-dropdown:hover > .drawer-dropdown-menu {
		display: block;
		}
	.drawer-dropdown.open .drawer-caret {
		-webkit-transform: rotate(0);
						transform: rotate(0);
		}
	.drawer-dropdown-menu {
		position:absolute;
		top: 100%;   /* 親メニューの直下に配置 */
    left: 0;
		width:200%;
		background-color: #fff;
		color:#222;
		z-index:99;
		border:#ccc solid 1px;
		border-bottom:none;
		
		}
	.drawer-dropdown-menu-item{
		padding:10px 15px;
		}
}




/*! overlay ******************************/

.drawer-overlay {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .7);
}

.drawer-open .drawer-overlay {
  display: block;
}




/*!------------------------------------*\
    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: 0;
}

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

/*!------------------------------------*\
    Left
\*!------------------------------------*/

.drawer--left .drawer-nav {
  left: -300px;
  -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: 300px;
}

/*!------------------------------------*\
    Right
\*!------------------------------------*/

.drawer--right .drawer-nav {
  right: -300px;
  -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: 300px;
}




/*!------------------------------------*\
    Hamburger
\*!------------------------------------*/

.drawer-hamburger {
  position: fixed;
  z-index: 104;
  top: 7px;
  display: block;
  width: 50px;
	height:50px;
  padding: 0 10px 1.2rem;
  -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: var(--navy);
}

.drawer-hamburger:hover {
  cursor: pointer;
  background-color:var(--red);
}

.drawer-hamburger-icon {
  position: relative;
  display: block;
  margin-top: 2px;
}

.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: #fff;
}

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

.drawer-hamburger-icon:after {
  top: 7px;
}
.drawer-hamburger-text{
	position:absolute;
	bottom:7px;
	left:0;
	width:100%;
	display:block;
	text-align:center;
	font-size:0.9rem;
	line-height:1em;
	color:#fff;
	}


/*open*/

.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);
          transform: rotate(45deg);
}

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

@media only screen and (min-width :1025px){
	.drawer-hamburger {
		display:none;
		}
}

/*!------------------------------------*\
    accessibility
\*!------------------------------------*/

/*!
 * Only display content to screen readers
 * See: http://a11yproject.com/posts/how-to-hide-content
 */

.sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

/*!
 * Use in conjunction with .sr-only to only display content when it's focused.
 * Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
 * Credit: HTML5 Boilerplate
 */

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
}


