.logo {
  position: relative;
}

.menu-phone-container {
  position: fixed;
  top: 2vh;
  right: 2vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;  
}

.menu-button img {
  width: 10vw;
  height: auto;
  max-width: 50px;
  cursor: pointer;
  margin-bottom: 10px;
}

.phone-icon img {
  width: 10vw;
  height: auto;
  max-width: 50px;
}

/* nav menu */
nav#menu h2 {
	float:left;
	width:100%;
    font-weight: 900;
    line-height: 1.5;
    margin: 0 0 0.5em 0;
    text-transform: uppercase;
    letter-spacing: 0.35em;
    font-size: 18px;
    color: #fff;
    text-align: left;
	font-family: "メイリオ","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
nav#menu h2 img {
	width:80%;
}

#menu {
		-moz-transform: translateX(22em);
		-webkit-transform: translateX(22em);
		-ms-transform: translateX(22em);
		transform: translateX(22em);
		-moz-transition: -moz-transform 0.45s ease, visibility 0.45s;
		-webkit-transition: -webkit-transform 0.45s ease, visibility 0.45s;
		-ms-transition: -ms-transform 0.45s ease, visibility 0.45s;
		transition: transform 0.45s ease, visibility 0.45s;
		position: fixed;
		top: 0;
		right: 0;
		width: 22em;
		max-width: 100%;
    height: calc(100% - 50px); 
    overflow: auto; 
		-webkit-overflow-scrolling: touch;
		background-color: #000; 
		opacity:0.8;
		color: #ffffff;
		cursor: default;
		visibility: hidden;
		z-index: 10002;
}

#menu > .inner {
  -moz-transition: opacity 0.45s ease;
  -webkit-transition: opacity 0.45s ease;
  -ms-transition: opacity 0.45s ease;
  transition: opacity 0.45s ease;
  -webkit-overflow-scrolling: touch;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  overflow-y: auto;
}

#menu > .inner > ul {
  list-style: none;
  margin: 0 0 1em 0;
  padding: 0;
}

#menu > .inner > ul > li.combine {
  float:left;  
  width:100%; 
  text-align:center;
  box-sizing:border-box; 
  border-top: solid 1px rgba(255, 255, 255, 0.15);
}

#menu > .inner > ul > li.subject {
  float:left;  
  width:100%; 
  text-align:center;
  padding:15px 0 5px; 
  color:#fff;
  font-size:20px; 
  box-sizing:border-box; 
  border-top: solid 1px rgba(255, 255, 255, 0.15);
}

#menu > .inner > ul > li {
  float:left;  
  width:50%; 
  box-sizing:border-box; 
  border-bottom: solid 1px rgba(255, 255, 255, 0.15);
}

#menu > .inner > ul li p {
  padding: 0;
  font-size:10px; 
}
#menu > .inner > ul li span{
  padding: 0;
  font-size:12px; 
}

#menu > .inner > ul > li a {
  display: block;
  padding: 0.7em 0;
  line-height: 1.5;
  border: 0;
  color: inherit;
  color:#fff; 
  font-size:16px; 
}
#menu > .inner > ul > li.point a {
  display: block;
  padding: 0.7em 0;
  line-height: 1.5;
  border: 0;
  color: inherit;
  color:#ffff00; 
  font-size:18px; 
}
#menu > .inner > ul > li.simai a {
  display: block;
  padding: 0.5em 0;
  line-height: 1.5;
  border: 0;
  color: inherit;
  color:#ccc; 
  font-size:14px; 
}

#menu > .inner > ul > li.simai a img {
    width:100%;
  }

#menu > .inner > ul > li a i {
	color: #fff;
	margin-right: 10px;
}

#menu > .inner > ul > li:first-child {
  border-top: 0;
  margin-top: -1em;
}

#menu > .inner > ul .banner{
  float:left;
  width:100%; 
  box-sizing:border-box; 
  text-align:center;
}

table.menuTable { width:100%; border-collapse:collapse; }
table.menuTable th { vertical-align:middle; background:#333; border-bottom:1px solid #000; padding:5px 10px; color:#33ffff; text-align:right; font-size:14px;}
table.menuTable th a { color:#33ffff; }
table.menuTable td { width:50%; vertical-align:middle; border-bottom:1px solid #000; padding:5px 10px; font-size:14px;}

#menu > .close {
  -moz-transition: opacity 0.45s ease, -moz-transform 0.45s ease;
  -webkit-transition: opacity 0.45s ease, -webkit-transform 0.45s ease;
  -ms-transition: opacity 0.45s ease, -ms-transform 0.45s ease;
  transition: opacity 0.45s ease, transform 0.45s ease;
  -moz-transform: scale(0.25) rotate(180deg);
  -webkit-transform: scale(0.25) rotate(180deg);
  -ms-transform: scale(0.25) rotate(180deg);
  transform: scale(0.25) rotate(180deg);
  -webkit-tap-highlight-color: transparent;
  display: block;
  position: absolute;
  top: 2em;
  width: 6em;
  text-indent: 6em;
  height: 3em;
  border: 0;
  font-size: 1em;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  white-space: nowrap;
}

#menu > .close:before, #menu > .close:after {
  -moz-transition: opacity 0.2s ease;
  -webkit-transition: opacity 0.2s ease;
  -ms-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 2em 2em;
}

#menu > .close:before {
  background-image: url('../../images/close_menu.png');
  opacity: 0;
}

#menu > .close:after {
  background-image: url('../../images/close_menu.png');
  opacity: 1;
}

#menu > .close:hover:before {
  opacity: 1;
}

#menu > .close:hover:after {
  opacity: 0;

}


#menu {
  -moz-transform: translateX(22em);
  -webkit-transform: translateX(22em);
  -ms-transform: translateX(22em);
  transform: translateX(22em);
  width: 100%;
}

#menu > .inner {
  box-sizing:border-box;
  padding: 20px 10px 10px;
}

#menu > .close {
  float:right;
  top: 1em;
  right: 1em;
  width: 3.2em;
  text-indent: 3.2em;
}

#menu > .close:before, #menu > .close:after {
  background-size: 1.5em 1.5em;
  color: #fff;
}


body.is-menu-visible #wrapper {
  -moz-pointer-events: none;
  -webkit-pointer-events: none;
  -ms-pointer-events: none;
  pointer-events: none;
  cursor: default;
  opacity: 0.25;
}

body.is-menu-visible #menu {
  -moz-transform: translateX(0);
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  visibility: visible;
}

body.is-menu-visible #menu > * {
  opacity: 1;
}

body.is-menu-visible #menu .close {
  -moz-transform: scale(1.0) rotate(0deg);
  -webkit-transform: scale(1.0) rotate(0deg);
  -ms-transform: scale(1.0) rotate(0deg);
  transform: scale(1.0) rotate(0deg);
  opacity: 1;
  border: 1px solid #fff;
}