@charset "Shift-JIS";

.hamburger {
  display: block;
  width: 60px;
  height: 50px;
  top: 22px;
  right: 0px;
  z-index: 10000;
  padding: 12px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  position: fixed;
  z-index: 10000;
}
body.rsbp-under-bp2 .hamburger {
  position: fixed;
  top: 10px;
  z-index: 10000;
}

body.rsbp-over-bp2 .hamburger:before {
    content: "MENU";
    display: inline-block;
    color: #555759;
    position: absolute;
    right: 55px;
    top: 0;
    font-size: 22px;
    font-weight: bold;
    line-height: 45px;
    z-index: 10000;
}
.hamburger__icon {
  position: relative;
  margin-top: 7px;
  margin-bottom: 7px;
}
.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
  display: block;
  width: 35px;
  height: 4px;
  background-color: #555759;
  -moz-transition-property: background-color, -moz-transform;
  -o-transition-property: background-color, -o-transform;
  -webkit-transition-property: background-color, -webkit-transform;
  transition-property: background-color, transform;
  -moz-transition-duration: 0.4s;
  -o-transition-duration: 0.4s;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}
.hamburger__icon:before, .hamburger__icon:after {
  position: absolute;
  content: "";
}
.hamburger__icon:before {
  top: -12px;
}
.hamburger__icon:after {
  top: 12px;
}
.hamburger.active .hamburger__icon {
  background-color: transparent;
  z-index: 10000;
}
.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
  background-color: #fff;
}
.hamburger.active .hamburger__icon:before {
  -moz-transform: translateY(12px) rotate(45deg);
  -ms-transform: translateY(12px) rotate(45deg);
  -webkit-transform: translateY(12px) rotate(45deg);
  transform: translateY(12px) rotate(45deg);
}
.hamburger.active .hamburger__icon:after {
  -moz-transform: translateY(-12px) rotate(-45deg);
  -ms-transform: translateY(-12px) rotate(-45deg);
  -webkit-transform: translateY(-12px) rotate(-45deg);
  transform: translateY(-12px) rotate(-45deg);
}
body.rsbp-over-bp2 .hamburger.active:before{
  color: #fff;
}

body.rsbp-under-bp2 .hamburger__icon,
body.rsbp-under-bp2 .hamburger__icon:before,
body.rsbp-under-bp2 .hamburger__icon:after {
  width: 30px;
  height: 3px;
}
body.rsbp-under-bp2 .hamburger__icon:before {
  top: -10px;
}
body.rsbp-under-bp2 .hamburger__icon:after {
  top: 10px;
}
body.rsbp-under-bp2 .hamburger.active .hamburger__icon:before {
  -moz-transform: translateY(10px) rotate(45deg);
  -ms-transform: translateY(10px) rotate(45deg);
  -webkit-transform: translateY(10px) rotate(45deg);
  transform: translateY(10px) rotate(45deg);
}
body.rsbp-under-bp2 .hamburger.active .hamburger__icon:after {
  -moz-transform: translateY(-10px) rotate(-45deg);
  -ms-transform: translateY(-10px) rotate(-45deg);
  -webkit-transform: translateY(-10px) rotate(-45deg);
  transform: translateY(-10px) rotate(-45deg);
}

.fat-nav {
  top: 0;
  left: 0;
  z-index: 9999;
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  padding: 10px;
  background: rgba(0, 0, 0, 0.8);
  -moz-transform: scale(1.4);
  -ms-transform: scale(1.4);
  -webkit-transform: scale(1.4);
  transform: scale(1.4);
  -moz-transition-property: -moz-transform;
  -o-transition-property: -o-transform;
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
  -moz-transition-duration: 0.4s;
  -o-transition-duration: 0.4s;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  font-size: 115%;
}
.fat-nav__wrapper {
  width: 100%;
  height: 100%;
/*  display: table;
  table-layout: fixed;*/
}
.fat-nav.active {
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
}
.fat-nav ul {
/*  display: table-cell;
  vertical-align: middle;*/
  margin: 0;
  padding: 0;
}
.fat-nav li {
  list-style-type: none;
/*  text-align: center;
  padding: 10px;*/
}
.fat-nav li, .fat-nav li a {
  color: #fff;
}
.rsbp-under-bp2 .fat-nav li a {
  font-size: 130%
}
.fat-nav li a {
  text-decoration: none;
}

.fat-nav .AutherDeta,
.fat-nav .MenuList{
  width: 100%;
  max-width: 1080px;
  margin: auto;
}
body.rsbp-under-bp3 .fat-nav .AutherDeta,
body.rsbp-under-bp3 .fat-nav .MenuList{
  position: relative;
  top: 20px;
}
.fat-nav .AutherDeta{
  margin: 20px auto;
}
body.rsbp-under-bp2 .fat-nav .AutherDeta p img{
  width:80%;
  max-width: 498px;
}
body.rsbp-under-bp3 .fat-nav .AutherDeta p{
  text-align: left;
  padding: 0 10px;
}
body.rsbp-over-bp2 .fat-nav .MenuListColumn {
  width: 33%;
  max-width: 360px;
  float: left;
  font-size: 87.5%;
  padding: 10px;
}
body.rsbp-over-bp2 .fat-nav ul.FirstMenuList {
  width: auto;
}
body.rsbp-over-bp2 .fat-nav ul.FirstMenuList li.FirstMenuItem{
  margin-bottom: 1em;
}
body.rsbp-over-bp2 .fat-nav ul.FirstMenuList li.FirstMenuItem > a{
  display: block;
  border: 1px solid #fff;
  padding: 5px 10px;
}
body.rsbp-over-bp2 .fat-nav ul.FirstMenuList li.FirstMenuItem > a:hover{
  background:rgba(255,255,255,0.75);
  color: #000;
}

body.rsbp-over-bp2 .fat-nav ul.SecondMenuList {
  padding: 10px 0 10px 1em;
}
body.rsbp-over-bp2 .fat-nav ul.SecondMenuList li.SecondMenuItem{
  padding: 0;
  font-size: 90%;
  line-height: 2;
  text-align: left;
}
body.rsbp-over-bp2 .fat-nav ul.ThirdMenuList {
  padding-left: 2em;
  text-align: left;
}
body.rsbp-under-bp2 .fat-nav .MenuListColumn {
  width: 100%;
  max-width: 780px;
  font-size: 87.5%;
  padding: 10px;
}
body.rsbp-under-bp2 .fat-nav ul.FirstMenuList {
  width: auto;
}
body.rsbp-under-bp2 .fat-nav ul.FirstMenuList li.FirstMenuItem{
  margin-bottom: 1em;
}
body.rsbp-under-bp2 .fat-nav ul.FirstMenuList li.FirstMenuItem > a{
  display: block;
  border: 1px solid #fff;
  padding: 5px 10px;
}
body.rsbp-under-bp2 .fat-nav ul.FirstMenuList li.FirstMenuItem > a:hover{
  background:rgba(255,255,255,0.75);
  color: #000;
}

body.rsbp-under-bp2 .fat-nav ul.SecondMenuList {
  padding: 10px 0 10px 1em;
}
body.rsbp-under-bp2 .fat-nav ul.SecondMenuList li.SecondMenuItem{
  padding: 0;
  font-size: 90%;
  line-height: 2;
}
body.rsbp-under-bp2 .fat-nav ul.ThirdMenuList {
  display: none;
}

.fat-nav ul.ThirdMenuList li.ThirdMenuItem{
  list-style: disc;
  line-height: 2;
}
.fat-nav ul.SecondMenuList li.SecondMenuItem a:hover,
.fat-nav ul.ThirdMenuList li.ThirdMenuItem ahover{
  color: rgba(255,255,255,0.75);
  text-decoration: underline;
}
