@charset "utf-8";
/* CSS Document */

#menu-wrap {
    background: #777e41;
    z-index: 1000;
    position: relative;
}

.logo{
	width:130px;
	float:left;
	padding:10px 5px;
	display:block;
	margin-left:2.8%;
	margin-right:1%;
}

.menu-container {
    width: 100%;
    margin: 0 auto;
    background-color: #777e41;
    position: fixed;
}

.menu-mobile {
    display: none;
    padding: 20px;
	height:60px;
}

.menu-mobile:after {
    content: "\f394";
    font-family: "Ionicons";
    font-size: 2.5rem;
    padding: 0;
    float: right;
    position: relative;
    top: 0;
    -webkit-transform: translateY(-25%);
    -ms-transform: translateY(-25%);
    transform: translateY(-25%);
}

.menu-dropdown-icon:before {
    content: "\f489";
    font-family: "Ionicons";
    display: none;
    cursor: pointer;
    float: right;
    padding: 1.5em 2em;
    background: #fff;
    color: #333;
}

.menu > ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0;
    position: relative;
    /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
    box-sizing: border-box;
}

.menu > ul:before,
.menu > ul:after {
    content: "";
    display: table;
}

.menu > ul:after {
    clear: both;
}

.menu > ul > li {
    float: left;
    background: #777e41;
    padding: 0;
    margin: 0;
}

.menu > ul > li a {
    text-decoration: none;
    padding: 2em 3em;
    display: block;
	color:#ffffff;
}

.menu > ul > li:hover {
    background: #8d9361;
}

.menu > ul > li > ul {
    display: none;
    width: 100%;
    background: #8d9361;
    padding: 20px;
    position: absolute;
    z-index: 99;
    left: 0;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
}

.menu > ul > li > ul:before,
.menu > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul:after {
    clear: both;
}

.menu > ul > li > ul > li {
    margin: 0;
    padding-bottom: 0;
    list-style: none;
    width: 25%;
    background: none;
    float: left;
}

.menu > ul > li > ul > li a {
    color:#ffffff;
    padding: .2em 0;
    width: 95%;
    display: block;
    border-bottom: 1px solid #ccc;
}

.menu > ul > li > ul > li a:hover{
	color:#F3F781;
}

.menu > ul > li > ul > li > ul {
    display: block;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}

.menu > ul > li > ul > li > ul:before,
.menu > ul > li > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul > li > ul:after {
    clear: both;
}

.menu > ul > li > ul > li > ul > li {
    float: left;
    width: 100%;
    padding: 5px 0;
    margin: 0;
    font-size: 14px;
}

.menu > ul > li > ul > li > ul > li a {
    border: 0;
}

.menu > ul > li > ul > li > ul > li a:hover{
	color:#F3F781;
}

.menu > ul > li > ul.normal-sub {
    width: 300px;
    left: auto;
    padding: 10px 20px;
}

.menu > ul > li > ul.normal-sub > li {
    width: 100%;
}

.menu > ul > li > ul.normal-sub > li a {
    border: 0;
    padding: 1em 0;
}

#button {
    display: none;
}

.menu-logo{
	width:35%;
	height:auto;
}

.main-menu{
	text-align:center;
}

@media only screen and (max-width: 1400px) {

.menu > ul > li a {
    padding: 1.8em;
}

}

@media only screen and (max-width: 1280px) {

.menu > ul > li a {
    padding: 2.2em 1.6em;
}

.menu-logo{
	width:50%;
	height:auto;
}

}

@media only screen and (max-width: 1024px) {

.logo{
	width:115px;
	margin-left:0px;
}

.menu-container {
    width: 100%;
    position: fixed;
}

nav {
    width: 312px;
    height: 100%;
    transition: all 0.2s;
    transform: translate(312px);
    position: fixed;
    top: 59px;
    right: 0;
    z-index: 1000;
    background-color: #777e41;
   }

nav.open {
    transform: translate(0); 
   }
   
  /*   ボタンタグ設定   */

#button {
    display: block;
    background: none;
    border: none;
    padding: 0;
    width: 45px;
    color: #fff;
    letter-spacing: 0.1em;
    cursor: pointer;
    position: fixed;
    top: 4px;
    z-index: 1001;
    text-align: center;
    outline: none;
    right: 20px;
}

/*   ハンバーガーボタン3本線   */
#button span.bar {
    display: block;
    height: 3px;
    background-color: #f3f3f3;
    margin: 10px 0;
    transition: all 0.2s;
    transform-origin: 0 0;
  }
#button .close {
    letter-spacing: 0.08em;
    display: none;
  }
#button .menu {
    display: block;
  }
  /*  メニューアクティブ時  */
#button.active span.bar {
    width: 52px;
  }
#button.active .bar1 {
    transform: rotate(30deg);
  }
#button.active .bar2 {
    opacity: 0;
  }
#button.active .bar3 {
    transform: rotate(-30deg);
  }
#button.active .menu {
    display: none;
  }
#button.active .close {
    display: block;
  }
 
.menu-mobile {
        display: block;
    }
.menu-dropdown-icon:before {
        display: block;
    }

.menu > ul > li {
    float: none;
}

.menu > ul > li > ul {
    overflow-y: auto;
    height: 100%;
	-webkit-overflow-scrolling: touch;

}

.menu > ul > li > ul > li {
   width: 100%;
    float: none;
}

.menu .show-on-mobile {
        display: block;
}

li a.arrow{
	position: relative;
}

li a.arrow::after{
	content:"";
	display: block;
	width:10px;
	height:10px;
	border-top:3px solid #f3f3f3;
	border-right:3px solid #f3f3f3;
	transition: all 0.2s;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right:10px;
	top:50%;
	margin-top:-7px;
}

li a.arrow.open::after {
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

.menu > ul > li a {
    padding: 1.1em 1.6em;
}

.menu-logo{
	width:70%;
}

}