

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    サイト共通部                                  */
/*    スマートフォンメニュー                        */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
#World{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  /*height: 100%;
  overflow-y: scroll;*/
  -webkit-overflow-scrolling: touch;
}

/* IEで印刷時に1ページ目からあとのページが印刷できないため、 */
/* sp-menu.cssで、#World を position: static; にしている     */
.ie .PcView #World{
  position: relative;
  overflow-y: auto;
}

#SpMenu{
  display: none;
}
.rsbp-under-bp2 #SpMenu{
  display: block;
}
    #SpMenu #SpMenuIcon{
      position: fixed;
      right: 0px;
      top  : 0px;
      z-index: 3500;
    }
    #SpMenu #SpMenuIcon a{
      background-color: #f0841a;
      padding: 4vw 4vw 3vw;
      display: block;
    }
    .SpMenuOpen #SpMenu #SpMenuIcon a{
      background: none;
      padding-right: 2vw;
    }
        #SpMenu #SpMenuIcon a .inner{
          position: relative;
          width : 8.5vw;
          height: 10vw;
          display: block;
        }
            #SpMenu #SpMenuIcon a span{
              color: #fff;
            }
            #SpMenu .menu__line{
              background: #fff;
              display: block;
              height: 2px;
              position: absolute;
              transition:transform .3s;
              width: 100%;
            }
            #SpMenu .menu__line--top{
              top: 0;
            }
            #SpMenu .menu__line--center{
              top: 10px;
            }
            #SpMenu .menu__line--bottom{
              top: 19px;
            }
            #SpMenu .menu__line--top.active{
              top: 2vw;
              transform: rotate(45deg);
            }
            #SpMenu .menu__line--center.active{
              transform:scaleX(0);
            }
            #SpMenu .menu__line--bottom.active{
              top: 2vw;
              transform: rotate(135deg);
            }
            #SpMenu span.ButtonName{
              position: absolute;
              bottom: 0;
              left  : 0;
              font-size: 2.5vw;
              display: block;
              font-weight: 700;
              letter-spacing: 1px;
              margin-top: 1.75em;
              white-space: nowrap;
              text-align: center;
            }

    /*gnav*/
    #SpMenu .gnav{
      background: rgba(15,8,1,0.95);
      display: none;
      height: 100%;
      position: fixed;
      top:0;
      width: 100%;
      z-index: 3000;
      overflow-y: auto;
      padding: 7vw 15vw 10vw 12vw;
    }
/*        #SpMenu .gnav__wrap{
          align-items:center;
          display: flex;
          justify-content: center;

          position: absolute;
          height: 100%;
          width: 100%;
          text-align: left;
          padding: 3vw 4vw;
          padding: 7vw 15vw 15vw;
        }*/

        #SpMenu .SnsBlock{
          text-align: center;
          align-content: center;
          margin-bottom: 10px;
        }
            #SpMenu .SnsBlock p{
              margin: 0 15px;
              position: relative;
            }
            #SpMenu .SnsBlock p:before{
              content: "";
              background: #fff;
              width: 92%;
              height: 92%;
              border-radius: 10px;
              position: absolute;
              bottom: 4%;
              left: 4%;
              z-index: 0;
            }
                #SpMenu .SnsBlock a{
                  display: block;
                  font-size: 60px;
                  font-family: "fontello";
                  width: 55px;
                  height: 55px;
                  line-height: 55px;
                  border-radius: 7px;
                  position: relative;
                  z-index: 1;
                }
                #SpMenu .SnsBlock a:hover{
                  opacity: 0.8;
                }
                #SpMenu .SnsBlock a[href*="facebook"]{
                  color: #4d71b4;
                }
                #SpMenu .SnsBlock a[href*="twitter"]{
                  color: #1DA1F2;
                }
                #SpMenu .SnsBlock a[href*="instagram"]{
                  color: #fff;
                  font-size: 50px;
                  padding-top: 1px;
                  background: #5d36e1;
                  background: -moz-linear-gradient(-45deg,  #5d36e1 1%, #e0196a 40%, #f6661f 75%, #ffde73 100%);
                  background: -webkit-linear-gradient(-45deg,  #5d36e1 1%,#e0196a 40%,#f6661f 75%,#ffde73 100%);
                  background: linear-gradient(135deg,  #5d36e1 1%,#e0196a 40%,#f6661f 75%,#ffde73 100%);
                  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5d36e1', endColorstr='#ffde73',GradientType=1 );
                }
                .firefox #SpMenu .SnsBlock a[href*="instagram"]{
                  margin-top: 5px;
                  padding-top: 0;
                }
                .edge #SpMenu .SnsBlock a[href*="instagram"]{
                  padding-top: 0;
                }
        #SpMenu .SnsPolicy{
          margin-bottom: 35px;
          list-style: none;
        }
            #SpMenu .SnsPolicy a{
              color: rgba(255,255,255,0.75);
              text-decoration: underline;
              font-size: 75%;
            }

        #SpMenu .Odekake{
          margin-bottom: 30px;
        }
            #SpMenu .Odekake a{
              position: relative;
              padding: .75em 1.5em .85em 2.25em;
              font-size: 100%;
              display: block;
            }
            #SpMenu .Odekake a:before{
              content:"\e815";
              font-family: "fontello";
              display: block;
              position: absolute;
              left: 5px;
              top: 50%;
              margin-top: -0.5em;
            }
            #SpMenu .Odekake a:after{
              content: "\f105";
              font-family: "fontello";
              display: block;
              position: absolute;
              right: 5px;
              top: 50%;
              margin-top: -0.65em;
            }
        #SpMenu .LanguageSelectBlock{
        }
            #SpMenu .LanguageSelectBlock p{
              position: relative;
              display: block;
            }
            #SpMenu .LanguageSelectBlock p:before{
              font-family: "fontello";
              content: "\f107";
              position: absolute;
              background: #f0841a;
              line-height: 41px;
              padding: 0 0.75rem;
              color: #fff;
              border: none;
              position: absolute;
              right: 1px;
              top  : 1px;
              pointer-events: none;
            }
            #SpMenu .LanguageSelectBlock select {
              font-size: 100%;
              color: #504942;
              -webkit-appearance: none;
              -moz-appearance: none;
              appearance: none;
              background: #fff;
              display: block;
              width: 100%;
              border: 1px solid #9e8c7b;
              padding: 0.65em 2em 0.65em 0.5em;
              border-radius: 0;
            }

        #SpMenu .VisitorGenreBlock{
          margin: 15px 0 20px;
        }
            #SpMenu .VisitorGenreBlock ul{
              list-style: none;
            }
                #SpMenu .VisitorGenreBlock ul li{
                  width: 50%;
                  float: left;
                  padding: 1px;
                }
                    #SpMenu .VisitorGenreBlock ul li a{
                      display: block;
                      padding: 0.95em 0.25em 1.05em 2em;
                      color: #fff;
                      font-size: 90%;
                      background: #4a433f url(../img/common/icon/circle-orange.png) no-repeat 0.75em center;
                      background-size: 0.75em;
                      text-align: left;
                    }
        #SpMenu #SpMainMenuBlock{
        }
            #SpMenu #SpMainMenuBlock a{
              color: #fff;
              display: block;
            }
                #SpMenu #SpMainMenuBlock p{
                  border-bottom: 1px solid rgba(255,255,255,0.1);
                  font-size: 105%;
                  font-weight: bold;
                }
                    #SpMenu #SpMainMenuBlock a{
                      padding: 1em 0;
                      display: block;
                    }
                    #SpMenu #SpMainMenuBlock p:not(.SecondMenuTitle) > a,
                    #SpMenu #SpMainMenuBlock .SecondMenuTitle +  ul li a{
                      position: relative;
                    }
                    /*#SpMenu #SpMainMenuBlock p:not(.SecondMenuTitle) > a:before,
                    #SpMenu #SpMainMenuBlock .SecondMenuTitle +  ul li a:before{
                      content: "\f105";
                      font-family: "fontello";
                      position: absolute;
                      left : 0;
                      top  : 50%;
                      margin-top: -0.5em;
                      color: rgba(255,255,255,0.5);
                    }*/
                    #SpMenu #SpMainMenuBlock p:not(.SecondMenuTitle) > a:before,
                    #SpMenu #SpMainMenuBlock .SecondMenuTitle +  ul li a:before{
                      content: "\f105";
                      font-family: "fontello";
                      margin-right: 0.5em;
                      color: rgba(255,255,255,0.5);
                      margin-left: -0.5em;
                    }
                #SpMenu #SpMainMenuBlock .SecondMenuTitle{
                  position: relative;
                }
                #SpMenu #SpMainMenuBlock .SecondMenuTitle:after{
                  content: "\e827";
                  font-family: "fontello";
                  position: absolute;
                  right: 10px;
                  top  : 50%;
                  margin-top: -0.5em;
                  color: #f0841a;
                }
                #SpMenu #SpMainMenuBlock .SecondMenuTitle.Active:after{
                  content: "\e824";
                }
                /*#SpMenu #SpMainMenuBlock .SecondMenuTitle +  ul{
                  display: none;
                  margin-left: .5em;
                  margin-bottom: 10px;
                }*/
                #SpMenu #SpMainMenuBlock .SecondMenuTitle +  ul{
                  display: none;
                  padding: 7px 8px 15px;
                  border-bottom: 1px solid rgba(255,255,255,0.1);
                }
                    #SpMenu #SpMainMenuBlock .SecondMenuTitle +  ul li{
                      font-size: 87.5%;
                      padding: 5px 0;
                      font-weight: bold;
                    }
                        #SpMenu #SpMainMenuBlock .SecondMenuTitle +  ul li a{
                          padding: 1em 0.5em;
                          background: #342c27;
                        }
                #SpMenu #SpMainMenuBlock .ReductionMenuTitle{
                  display: none;
                }
                #SpMenu #SpMainMenuBlock .ReductionMenuTitle + ul{
                  margin-top: 20px;
                  font-size: 75%;
                  list-style: none;
                }
                    #SpMenu #SpMainMenuBlock .ReductionMenuTitle + ul li{
                    }
                        #SpMenu #SpMainMenuBlock .ReductionMenuTitle + ul li a{
                          text-decoration: underline;
                        }