/*!
 * 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-y:auto;
  -webkit-overflow-scrolling: touch;
	width:100%;
  hight: 100%;
  color: #222;
  background-color: #fff;
	padding:20px;
	}

@media only screen and (min-width :900px){
	.drawer-nav {
		padding:40px;
		}

}

@media only screen and (min-width :1200px){
	.drawer-nav {
		position:relative;
		right:0 !important;
		padding:0;
		width:auto;
		}
}


.drawer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
	}
.drawer-menu > li{
	border-bottom:#fff solid 1px;
	}
.drawer-menu-item {
  display: block;
  padding: 15px;
  text-decoration: none;
	font-weight:bold;
	color:#222;
	background-color:var(--siteColor-sub-l);
	}
.drawer-menu-item:hover,
.drawer-menu-item:active {
	background-color:var(--siteColor-sub);
	color:#fff;
	}
.drawer-menu-item:hover i,
.drawer-menu-item:active i{
	color:#fff;
	}



/*sp*/
.dw-sp,
.dw-sp .drawer-menu-item {
	}
/*pc*/
.dw-pc{
	display:none;
	}
/*logo*/
.drawer-menu > li.logo .drawer-menu-item{
	background-color:#fff;
	}
/*bnr*/
.drawer-menu > li.dw-bnr{
	border-color:#ccc;
	background-color:#fff;
	}
.drawer-menu > li.dw-bnr .drawer-menu-item{
	background-color:#fff;
	}


/**/
.dw-inq{
	display:flex;
	}
.dw-inq > *{
	flex-shrink: 0;
	width:50%;
	display: flex;
  align-items: center;
  justify-content: center;
	gap:3px;
	text-decoration:none;
	padding:15px 5px;
	font-weight:600;
	}
.dw-mail{
	border:var(--siteColor) solid 1px;
	color:var(--siteColor);
	}
.dw-tel{
	background-color:var(--siteColor);
	color:#fff;
	}
.dw-mail:hover,
.dw-mail:active,
.dw-tel:hover,
.dw-tel:active{
	background-color:var(--siteColor-on);
	color:#fff;
	}
/**/
.menuS{
	display:flex;
	gap:5px 5px;
	flex-wrap: wrap;
	justify-content: center;
	padding:15px 0;
	}
.menuS a{
	display: flex;
  align-items: center;
  justify-content: center;
	gap:3px;
	text-decoration:none;
	border:var(--siteColor-sub) solid 1px;
	background:#fff;
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	color:var(--siteColor-sub);
	font-weight:bold;
	font-size:0.86em;
	line-height:1em;
	padding:10px 5px;
	}
.menuS a:hover,
.menuS a:active{
	background:var(--siteColor-sub);
	color:#fff;
	}

@media only screen and (min-width :600px){
	.menuS{
		gap:10px;
		}
	.menuS a{
		padding:10px;
		font-size:0.9em;
		line-height:1em;
		}
}

@media only screen and (min-width :1200px){
	.drawer-menu{
		display:flex;
		justify-content:flex-end;
		flex-wrap: wrap; 
		gap:0;
		}
	.drawer-menu > li{
		/*position:relative;メガメニュー対応*/
		overflow: visible;
		border-bottom:none;
		font-size:1.6rem;
		line-height:1.5em;
		}
	.drawer-menu-item {
		background-color:inherit;
		padding:5px;
		font-size:.9em;
		}
	.drawer-menu-item:hover,
	.drawer-menu-item:active{
		background-color:inherit;
		color:var(--siteColor);
		}
	.drawer-menu-item:hover i,
	.drawer-menu-item:active i{
		color:var(--siteColor);
		}

	/*sp*/
	.dw-sp{ display:none;}
	/**/
	/*pc*/
	.dw-pc{	display:block;}

	.menuS{
		flex-shrink: 0;
		width:100%;
		justify-content:flex-end;
		padding:0;
	}
	.menuS a{
		font-size:0.8em;
		line-height:1em;
	}
}
@media only screen and (min-width :1300px){
	.drawer-menu-item {
		padding:10px 8px;
		font-size:1em;
	}
}

/*!------------------------------------*\
    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;
	border-top:#fff solid 1px
	}
.drawer-dropdown-menu > li {
  width: 100%;
  list-style: none;
	border-bottom:#ccc dotted 1px;
	}
.drawer-dropdown-menu-item {
  display: block;
  padding: 15px;
	padding-left:20px;
	font-weight:bold;
  color: #222;
	text-decoration:none;
	}
.drawer-dropdown-menu-item i{
  margin-right: 4px;
	color:var(--siteColor);
	}
.drawer-dropdown-menu-item:last-child{
	}
.drawer-dropdown-menu-item:hover {
	color:var(--siteColor);
	}

/*! open */

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

/*! drawer-caret */
.drawer-dropdown i {
  margin-left: 0;
	color:var(--siteColor);
	}
/*! open */
.drawer-dropdown.open i {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
	}

@media only screen and (min-width :600px){
	.drawer-dropdown-menu{}/*flexにすると表示される*/
	.drawer-dropdown-menu:after{
		content:'';
		display: block;
		clear: both;
		height: 0;
		visibility: hidden;
		}
	.drawer-dropdown-menu > li {
		float:left;
		width:50%;
		}
}
@media only screen and (min-width :900px){
	.drawer-dropdown-menu > li {
		width:calc(100% / 3);
		}
}

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

	.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 i {
		-webkit-transform: rotate(0);
						transform: rotate(0);
		}
	.drawer-dropdown-menu {
		display:none;
		position:absolute;
		top: 100%;   /* 親メニューの直下に配置 */
    left: 0;
		/*width:100%;*/
		/*メガメニュー
		.drawer-nav（100%）+logo（256px）+ h-tel（240px）+gap（0.5%×2）ここまでがinnerFullの幅*/
		width: calc((101% + 496px) * 1.04);
		margin-left:calc( -266px + -3%);
		/*background-color:var(--siteColor-sub-l);*/
		background-color:#f7f7f7;
		z-index:99;
		padding:20px;
		padding-left:220px;
		}
	.drawer-dropdown-menu > li {
		width:calc(100% / 4);
		max-width:270px;
		}
	.drawer-dropdown-menu-item{
		padding:15px 0 15px 15px;
		}

		/*globalTxt*/
		.drawer-dropdown-menu > li.globalTxt{
			float:none;
			position:absolute;
			top:0;
			left:0;
			width:200px;
			height:100%;
			display: flex;
			align-items: center;
			justify-content: center;
			font-weight:bold;
			font-size:1.1em;
			border-right:var(--siteColor) solid 1px;
			color:#fff;
			background:var(--bgGra01);
			}


}




/*! 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: 8px;
  display: block;
  width: 44px;
	height:44px;
  padding: 0 8px 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;
  cursor: pointer;
  background-color:var(--siteColor);
}

.drawer-hamburger:hover {
  background-color:var(--siteColor-on);
	}

.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:5px;
	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 :768px){
	.drawer-hamburger {
		top:15px;
		}
}
@media only screen and (min-width :1200px){
	.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;
}


