@charset "utf-8";


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    サイト共通部                                  */
/*    ・ヘッダ・フッタの装飾                        */
/*    ・全体大枠のレイアウト定義                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

html{
  color: #533726;
  color: rgba(40,40,50,1);
  background: #fff;
}
body{
  text-align: center;
  overflow-wrap: break-word;
  word-wrap: break-word;
  margin: 0 auto;
  min-width: 375px;
  position: relative;
}
    /* フェードイン用のCSSをプリント時は無効化 */
    @media print{
        .showOnScroll{
          opacity: 1!important;
        }
    }

#World{
  text-align: left;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    基本レイアウト                                */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

body{
}
#World{

}
#HeaderDivision{
}


    /* トランジションを適用 */
    #World{
    }





/* サイトのページ幅 */
.PageWidthSetter{
  margin: 0 auto;
  
}
            /* + + + + + レスポンシブ + + + + +  */

                /* bp2より広いディスプレイ用 */
                body.rsbp-over-bp2 header,
                body.rsbp-over-bp2 .ContentsDivision,
                body.rsbp-over-bp2 footer {
                  min-width: 1150px;
                }
                body.rsbp-over-bp2 .PageWidthSetter{
                  width: 1150px;
                }

                /* bp2より狭いディスプレイ用 */
                body.rsbp-under-bp2 .PageWidthSetter{
                  width: 85%;
                  /*
                  width: 92.5%;
                  width: 350px;
                  */
                }
                body.rsbp-under-bp2 .SiteGlobalNavi .PageWidthSetter{
                  width: auto;
                }
                body.rsbp-under-bp2 .PageWidthSetter .Scrollable{
                  /*
                  margin-left:  -7.5vw;
                  margin-right: -7.4vw;
                  */
                  /* 横スクロールがでないよう 0.1 小さくした */
                }



/* サイトのグローバルナビ
--------------------------------------------------- */
.SiteGlobalNavi{
  color: #fff;
  background-image: linear-gradient( to bottom, #533726,  #333);
  border: none;
  position: relative;
}
    /* - - リスト - - */
    .SiteGlobalNavi .PageList {
      list-style: none;
      padding: 4px;
    }
    .SiteGlobalNavi .PageList,
    .SiteGlobalNavi .PageList *{
      line-height: 1;
    }
    .SiteGlobalNavi .PageList li{
      position: relative;
    }
        
        .SiteGlobalNavi .PageList .li-level-1.Active .p-level-1 a{
          box-shadow: 0 1px 0 #f90;
        }
        /* current */

                /* bp2より広いディスプレイ用 */
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList li.current .p-level-1 a,
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList .li-level-2.current a{
                  box-shadow: 0 1px 0 #f90;
                }

        /* リンク */
        .SiteGlobalNavi .PageList li .NoLink .Icon::before{
          opacity: 0.5;
        }
        .SiteGlobalNavi .PageList li a .Icon::before{
          opacity: 0;
          display: none;
        }
        .SiteGlobalNavi .PageList li a:hover .Icon::before{
          opacity: 1;
        }
        .SiteGlobalNavi .PageList .p-level-1{
          height: 100%;
        }
        .SiteGlobalNavi .PageList .p-level-1 a,
        .SiteGlobalNavi .PageList .p-level-1 .NoLink{
          position: relative;
          text-align: center;
          /*margin: 2px;*/
          color: #fff;
          padding: 1.0em 0.5em;
          /*background: rgba(255,255,255,0.125);*/
          background-image: linear-gradient( to bottom, rgba(255,255,255,0.25), rgba(255,255,255,0.0625));
          
          display: flex;
          align-items: center;
          text-align: center;
          width: 100%;
          height: 100%;
        }
        .SiteGlobalNavi .PageList .p-level-1 .Label{
          display: block;
          width: 100%;
          
        
        }
        .SiteGlobalNavi .PageList .p-level-1 a:hover,
        .SiteGlobalNavi .PageList .p-level-1 a:focus{
          background: rgba(255,255,255,0.25);
          box-shadow: 0 1px 0 #f90;
        }
        .SiteGlobalNavi .PageList .li-level-2 a,
        .SiteGlobalNavi .PageList .p-level-2 .NoLink{
          padding: 1em 1.5em;
          margin: 5px 0;
          color: #fff;
          white-space: nowrap;
          min-width: 10em;
          background: rgba(95,84,72,0.2);
        }
        .SiteGlobalNavi .PageList .li-level-2 a:hover,
        .SiteGlobalNavi .PageList .li-level-2 a:focus{
          background: rgba(255,255,255,0.125);
          box-shadow: 0 1px 0 #f90;
        }

        /* 装飾 （ common_element.css の.DropDownChild 定義を上書き） */
        .SiteGlobalNavi .PageList .DropDownChild{
          margin:  0;
          background: none;
        }
        .SiteGlobalNavi .PageList .DropDownChild .CloseButton{
          position: absolute;
          z-index: 50;
          top:     50%;
          right:   1.5em;
          margin-top: -1.5em;
        }
        .SiteGlobalNavi .PageList .DropDownChild .CloseButton .Icon{
          width: 3em;
          opacity: 0.75;
          cursor: pointer;
          display: inline-block;
        }
        .SiteGlobalNavi .PageList .DropDownChild .CloseButton .Icon:hover,
        .SiteGlobalNavi .PageList .DropDownChild .CloseButton .Icon:focus{
          opacity: 1;
        }
        .SiteGlobalNavi .PageList .ul-level-2{
          position: static;
          margin: 0;
          text-align: left;
          background: #222;
        }
        .SiteGlobalNavi .PageList .li-level-2{
          margin: 0 2px;
        }


            /* + + + + + レスポンシブ + + + + +  */

                /* bp2より広いディスプレイ用 */
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList.ul-level-1{
                  letter-spacing: -0.5em;
                  display: -webkit-flex;
                  display:     -ms-flex;
                  display:         flex;
                 -webkit-flex-wrap: nowrap;
                     -ms-flex-wrap: nowrap;
                         flex-wrap: nowrap;
                 -webkit-justify-content: center;
                     -ms-justify-content: center;
                         justify-content: center;
                  align-items: stretch;
                }
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList.ul-level-1 > * {
                  letter-spacing: 0;
                }
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList .li-level-1{
                  text-align: center;
                  position: static;
                 /* display: inline-block;*/
                  width: 25%;
                  margin: 2px;
                  flex-grow: 1;
                }
                html[lang='ja'] body.rsbp-over-bp2 .SiteGlobalNavi .PageList .li-level-1{
                  width: auto;
                  /*min-width: 12.0%;*/
                  max-width: 17.5%;
                }
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList .li-level-1 .Label{
                  display: inline-block;
                }
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList .li-level-1 .p-level-1 .Label{
                  min-width: 7.0em;
                }
                        /* IEでの微妙な上下のズレを軽減 */
                        @media all and (-ms-high-contrast:none) {
                             /* IE10以降に適応されるCSS */
                            body.rsbp-over-bp2 .SiteGlobalNavi .PageList .li-level-1 .Label{
                              vertical-align: text-bottom;
                            }
                        }
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList .DropDownChild{
                  padding-top: 5px;
                  margin-top: -5px;
                }
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList li:hover .DropDownChild{
                  z-index: 100;
                }
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList .ul-level-2{
                  padding: 30px;
                  text-align: center;
                  letter-spacing: -0.5em;
                }
                body.rsbp-over-bp2 .SiteGlobalNavi .PageList .li-level-2{
                  display: inline-block;
                  text-align: center;
                  letter-spacing: normal;
                }
                body.rsbp-over-bp2 #MainMenuTrigger{
                  display: none;
                }

                /* bp2より狭いディスプレイ用 */
                body.rsbp-under-bp2 .SiteGlobalNavi{
                }
                body.rsbp-under-bp2 .SiteGlobalNavi .PageList{
                  padding: 10px;
                }
                body.rsbp-under-bp2 .SiteGlobalNavi .PageList .DropDownChild{
                  position: static;
                }
                body.rsbp-under-bp2 .SiteGlobalNavi .PageList .ul-level-2{
                  padding: 5px;
                }
                body.rsbp-under-bp2 .SiteGlobalNavi .PageList .DropDownChild .CloseButton{
                  display: none;
                }


        .SiteGlobalNavi .AddedMenu{
          background: rgba(0,0,0,0.25);
          padding: 20px 10px;
          text-align: center;
        }




/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    Header, Contents, Footer                      */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */


/* HeaderDivision
--------------------------------------------------- */
header{
  width: 100%;
  background-image: linear-gradient( to bottom, rgba(255,255,255,1),  rgba(255,255,255,0.5));
  background: #fff;
  /*border-bottom: 1px solid;*/
  border-color:  rgba(83,55,38, 1);
  position: relative;
  z-index: 100;
}
header:hover{
  background: rgba(255,255,255,1);
}
    header.PositionFixed{
      position: fixed;
      z-index: 100;
      top: 0px;
      left: 0px;
    }

        /* Basar の#ToolBar を上書き */
        header.PositionFixed #ToolBar {
          position: static!important;
        }

    @media print{
        header{
          position: static!important;
        }
    }

    /* トランジションを適用 */
    header,
    header a,
    header a .Icon::before,
    header img{
      -webkit-transition: all .2s;
              transition: all .2s;
    }


        /* BannerList */
        header .BannerList {
          margin: 0;
        }
                /* bp2より広いディスプレイ用 */
                body.rsbp-over-bp2  header .BannerList {
                }
                body.rsbp-over-bp2  header .BannerList li{
                  margin: 0 5px;
                }
                body.rsbp-over-bp2  header .BannerList li img{
                  width:  auto;
                  height: 60px;
                }
                /* bp2より狭いディスプレイ用 */
                body.rsbp-under-bp2  header .BannerList {
                margin-bottom: 1em;
                }
                body.rsbp-under-bp2  header .BannerList li{
                  margin: 5px;
                  display: inline-block;
                }
                body.rsbp-under-bp2  header .BannerList li a{
                  display: inline-block;
                  outline: 1px solid #df7b41;
                }
                body.rsbp-under-bp2  header .BannerList li img{
                  width:  auto;
                  height: 45px;
                }



        /* 検索ボックス */
        header .SearchBox {
          margin: 0;
        }
        header .SearchBox .InputText{
          border: 1px solid #bfbfbf;
          border-radius: 0.5em;
          box-shadow: none;
          width: 20em;
        }
        header .SearchBox .SubmitButton{
          color: #fff;
          background: #333;
          border: none;
          line-height: 2em;
          padding: 0 0.5em;
          vertical-align: middle;
          border-radius: 0.5em;
          cursor: pointer;
        }
        header  .SearchBox .SubmitButton:hover,
        header  .SearchBox .SubmitButton:focus{
          opacity: 0.75;
        }






    /* - - SiteHeaderBlock - - */
    .SiteHeaderBlock {
      font-size: 100%;
      position: relative;
      margin: 0 auto;
      padding: 1.25em 0;
      text-align: right;
    }
    
    .SiteHeaderBlock .BlockHeader,
    .SiteHeaderBlock .BlockContents,
    .SiteHeaderBlock .BlockFooter{
      display: inline-block;
    }
    .SiteHeaderBlock .BlockContents{
      padding-right: 1em;
    }
    .SiteHeaderBlock .BlockHeader{
      float: left;
    }
        /*
        html:not([lang="ja"]) .SiteHeaderBlock {
          background: url(../img/top/main_image/main_image_bg_pre.jpg) no-repeat 90% 50%;
          background-size: auto auto;
          background-size: contain;
        }
        */
    .SiteHeaderBlock,
    .SiteHeaderBlock *{
      white-space: nowrap;
      vertical-align: middle;
    }
    .SiteHeaderBlock .BlockContents,
    .SiteHeaderBlock .BlockContents *{
      vertical-align: bottom;
      display: inline-block;
    }
        html:not([lang="ja"]) .SiteHeaderBlock .BlockContents,
        html:not([lang="ja"]) .SiteHeaderBlock .BlockContents *{
          vertical-align: top;
        }
    .SiteHeaderBlock .BlockFooter,
    .SiteHeaderBlock .BlockFooter *{
      vertical-align: top;
    }





        /* SiteLogo */
        .SiteHeaderBlock .SiteLogo {
          font-size: 100%;
        }
            .SiteHeaderBlock .SiteLogo img{
              height: 3.5em; /* 初期値 */
            }
        .SiteHeaderBlock .SiteLogo a{
          display: block;
        }
        .SiteHeaderBlock .SiteLogo a:focus{
          opacity: 0.75;
        }
        .SiteHeaderBlock .SiteLogo.Current a{
        }

        /* キャッチコピー */
        .SiteHeaderBlock .CatchCopy{
          text-align: left;
          display: block;
          position: absolute;
          left: 22.5%;
          border-left: 1px solid rgba(20,20,20,0.1);
          padding-left: 2.5%;
        }
        
        html:not([lang="ja"]) .SiteHeaderBlock .CatchCopy{
          width: 40%;
          white-space: normal;
          font-size: 87.5%;
        }
        html[lang^='zh']  .SiteHeaderBlock .CatchCopy{
          line-height: 2;
        }



        /* MenuList （言語メニュー、開閉メニュー など） */
        .SiteHeaderBlock .MenuList {
          list-style: none;
        }
        .SiteHeaderBlock .MenuList > li{
          display: block;
          float: left;
        }

        .SiteHeaderBlock .MenuList{
          text-align: right;
        }
            .SiteHeaderBlock .MenuList > li{
              margin: 0 4px;
            }
            .SiteHeaderBlock .MenuList li a{
              display: block;
              line-height: normal;
              position: relative;
            }
            .SiteHeaderBlock .MenuList li a:hover,
            .SiteHeaderBlock .MenuList li a:focus{
              opacity: 0.75;
            }
            .SiteHeaderBlock .MenuList  .Label{
            }


            /* + + + + + レスポンシブ + + + + +  */

                /* bp2より広いディスプレイ用 */
                /*
                body.rsbp-over-bp2 .SiteHeaderBlock{
                  background: url(../img/top/main_image/main_image_bg_pre.jpg) no-repeat 100% 50%;
                  background-size: contain;
                }
                */
                body.rsbp-over-bp2 .SiteHeaderBlock .SiteLogo {

                }
                body.rsbp-over-bp2 .SiteHeaderBlock .SiteLogo img{
                  height: 3.5em;
                }
                body.rsbp-over-bp2 .SiteHeaderBlock .BlockContents{
                  display: inline-block;
                }
                
                /* bp2より狭いディスプレイ用 */
                body.rsbp-under-bp2 .SiteHeaderBlock {
                  /*width: 70%;*/
                  height: auto;
                  /*padding-right: 10%;*/
                }
                body.rsbp-under-bp2 .SiteHeaderBlock .SiteLogo img{
                  height: 3em;
                }
                body.rsbp-under-bp2 .SiteHeaderBlock .CatchCopy{
                  display: none;
                }
                body.rsbp-under-bp2 .SiteHeaderBlock .BlockContents{
                  display: none;
                }



    /* menu-trigger (開閉式メニュー 言語選択用に拡張)
    --------------------------------------------------- */
    .LangMenu{
      
    }
        .LangMenu .menu-trigger{
          background: #eee;
        }
        .LangMenu        .menu-trigger:hover,
        .LangMenu        .menu-trigger:focus,
        .LangMenu.Active .menu-trigger{
          background: #aaa;
        }
        /* LangMenu */
        .LangMenu.DropDownListParent {
          position: absolute;
          top:   1em;
          right: 1em;
          width: 400px;
        }
        .LangMenu .DropDownChild {
          list-style: none;
          right: 0px;
          left: auto;
          display: block;
          z-index: 100;
          width: auto;
        }
        .LangMenu .LangMenuList{
          position: static;
          z-index: 10000;
          list-style: none;
          font-size: 87.5%;
        }
            .LangMenu .LangMenuList li{
            }
            .LangMenu .LangMenuList li:last-child{
              border-bottom: none;
            }
            .LangMenu .LangMenuList li a{
              display: block;
              padding: 0.125em 1em;
              text-align: center;
              background: #e0e0e0;
            }
            .LangMenu .LangMenuList li a.Active{
              color:      #fff;
              background: #222!important;
            }
                /* 開閉無効時の特殊処理 */
                .LangMenu.Invalid .LangMenuTrigger{
                  display: inline-block;
                }
                .LangMenu.Invalid .LangMenuTrigger .menu-trigger{
                  background: none;
                  cursor: default;
                  padding: 0.125em 1em;
                }
                .LangMenu.Invalid .LangMenuTrigger .menu-trigger .Label{
                  margin-left: 0;
                }
                .LangMenu.Invalid .LangMenuTrigger .menu-trigger:hover img{
                  opacity: 1;
                }

                /* bp2より広いディスプレイ用 */
                body.rsbp-over-bp2 .LangMenu.DropDownListParent {
                  position: absolute!important;
                  top:   1em;
                  right: 1em;
                  width: auto;
                }
                body.rsbp-over-bp2 .LangMenu .DropDownChild {
                  display: inline-block!important;
                  position: static;!important;
                }
                
                body.rsbp-over-bp2 .LangMenu .LangMenuList {
                }
                body.rsbp-over-bp2 .LangMenu .LangMenuList li{
                  margin-left: 4px;
                  float: left;
                  display: inline-block;
                }
                body.rsbp-over-bp2 .LangMenu .LangMenuList li a{
                  background: #e0e0e0;
                  padding: 0.125em 1em;
                  border-radius: 0.25em;
                }
                body.rsbp-over-bp2 .LangMenu .LangMenuList li a:hover,
                body.rsbp-over-bp2 .LangMenu .LangMenuList li a:focus{
                  background: #f90;
                }

                /* bp2より狭いディスプレイ用 */
                body.rsbp-under-bp2 .LangMenu.DropDownListParent {
                  position: relative;
                  top:    0px;
                  right:  0px;
                  width: auto;
                }
                body.rsbp-under-bp2 .LangMenu .DropDownChild {
                }
                body.rsbp-under-bp2 .LangMenu .LangMenuList {
                  border: 1px solid;
                  background: rgba(255,255,255,1);
                  border-radius: 2px;
                  padding: 2px;
                  box-shadow: 0 0 0.5em rgba(0,0,0,0.25);
                  font-size: 100%;
                }
                body.rsbp-under-bp2 .LangMenu .LangMenuList li{
                }
                body.rsbp-under-bp2 .LangMenu .LangMenuList li a{
                  background: transparent;
                  border-bottom: 1px solid;
                  width: 15em;
                  padding: 0.5em 1em;
                  letter-spacing: 0.1em;
                }
                body.rsbp-under-bp2 .LangMenu .LangMenuList li a:hover,
                body.rsbp-under-bp2 .LangMenu .LangMenuList li a:focus{
                  text-decoration: none;
                  background: #eee;
                  background: #f90;
                }






/* ContentsDivision
--------------------------------------------------- */
.ContentsDivision {
  position: relative;
}

            /* + + + + + レスポンシブ + + + + +  */

                /* bp2より広いディスプレイ用 */
                body.rsbp-over-bp2 .ContentsDivision {
                  /* font-size: 112.5%; */
                  font-size: 125%;
                }

                        /* 外国語サイト用 - - - - */
                        html[lang="en"] body.rsbp-over-bp2 .ContentsDivision {
                          font-size: 150%;
                        }
                        
                        
                /* bp2より狭いディスプレイ用 */
                
                        /* 外国語サイト用 - - - - */
                        html[lang="en"] body.rsbp-under-bp2 .ContentsDivision {
                          font-size: 112.5%;
                        }



    /* 定規風の装飾（スクリーン表示のみ） */
    @media screen{
        body .ContentsDivision::before,
        body .ContentsDivision::after{
          content: "";
          display: block;
          height: 100%;
          background: url(../img/common/decoration/ruler_type1.png) repeat-y 0% 0%;
          position: absolute;
          z-index: 0;
          top: 0px;
          z-index: 5;
        }
        body .ContentsDivision::before{
          left: 0px;
          background-position: -5px 0px;
        }
        body .ContentsDivision::after{
          right: 0px;
          background-position: 5px 0px;
        }
                /* + + + + + レスポンシブ + + + + +  */

                    /* bp2より広いディスプレイ用 */
                    body.rsbp-over-bp2 .ContentsDivision::before,
                    body.rsbp-over-bp2 .ContentsDivision::after  {
                      width:  25px;
                    }

                    /* bp2より狭いディスプレイ用 */
                    body.rsbp-under-bp2 .ContentsDivision::before,
                    body.rsbp-under-bp2 .ContentsDivision::after  {
                      width:  15px;
                      background-size: 15px 15px;
                    }

    }




/* FooterDivision
--------------------------------------------------- */
footer {
  color: #fff;
  background: #5f5448;
}


    /* - - FooterMenuBlock - - */
    .FooterMenuBlock{
    }
        .FooterMenuBlock .BlockContents{
        }
        .FooterMenuBlock .BlockFooter{
          padding: 2em 0 0;
          font-size: 87.5%;
        }

    /* - - AuthorBlock - - */
    footer .AuthorBlock{
    }
        footer .AuthorBlock .BlockHeader{
        }
        footer .AuthorBlock .BlockContents{
        }
            /* 運営者の情報（block.css上書き） */
            footer .AuthorInfoGroup{
              width: auto;
            }
                footer .AuthorInfoGroup .Unit{
                  border: none;
                  padding: 0;
                  break-inside: avoid-column;
                }
                footer .AuthorInfoGroup .Unit .UnitHeader,
                footer .AuthorInfoGroup .Unit .UnitContents{
                  display: table-cell;
                  padding: 0.25em 0;
                }
                footer .AuthorInfoGroup .Unit .UnitHeader .Heading,
                footer .AuthorInfoGroup .Unit .UnitContents p{
                  display: inline;
                }
                footer .AuthorInfoGroup .Unit .UnitContents a{
                  background: rgba(0,0,0,0.25);
                }
                footer .AuthorInfoGroup .Unit .UnitContents a:hover,
                footer .AuthorInfoGroup .Unit .UnitContents a:focus{
                  background: rgba(0,0,0,0.5);
                }
                footer .AuthorInfoGroup .Unit .UnitHeader{
                  width: 5em;
                  text-align: right;
                  vertical-align: baseline;
                  padding-right: 1em;
                  padding-left:  0;
                  font-size: 87.5%;
                  letter-spacing: 0em;
                }
                footer .AuthorInfoGroup .Unit .UnitContents{
                  vertical-align: top;
                }
                footer .AuthorInfoGroup .Unit .UnitHeader .Heading{
                  letter-spacing: 0em;
                  white-space: nowrap;
                }
                            /* 外国語サイト用 - - - - */
                            html[lang="en"] footer .AuthorInfoGroup .Unit .UnitHeader{
                              width: 10em;
                              font-size: 75%;
                              line-height: 2rem;
                            }
                            html[lang="en"] footer .AuthorInfoGroup .Unit .Tel{
                              font-size: 150%;
                            }
                            
                /* 詳細表示用 ／ 簡易表示用の制御 */
                footer .AuthorInfoGroup .ForDetail{
                  display: none!important;
                }

            /* + + + + + レスポンシブ + + + + +  */

                /* bp2より広いディスプレイ用 */
                body.rsbp-over-bp2 .AuthorArea{
                  padding: 6em 0 0;
                }
                body.rsbp-over-bp2 footer .AuthorBlock .BlockHeader{
                  width: 20%;
                  float: left;
                }
                body.rsbp-over-bp2 footer .AuthorBlock .BlockContents{
                  float: right;
                  width: 75%;
                  columns: 2;
                }
                    body.rsbp-over-bp2 footer .AuthorBlock .BlockContents .AuthorInfoGroup{
                      min-height: 13.5em;
                    }
    
                /* bp2より狭いディスプレイ用 */
                body.rsbp-under-bp2 .AuthorArea{
                  padding: 3em 0 2em;
                  font-size: 87.5%;
                }
                body.rsbp-under-bp2 footer .AuthorBlock .BlockHeader{
                  width: 40%;
                  max-width: 225px;
                  margin: 0 auto 1em;
                }
                body.rsbp-under-bp2 footer .AuthorBlock .BlockContents{
                  border-top: 1px solid rgba(255,255,255,0.25);
                  padding-top: 1.5em;
                  width: 90%;
                  max-width: 360px;
                  margin: 0 auto;
                }
                body.rsbp-under-bp2 footer .AuthorInfoGroup .Unit .UnitContents a[href^='mailto:']{
                  font-size: smaller;
                }








    /* - - FooterBannerBlock - - */
    .FooterBannerBlock{
    }
        .FooterBannerBlock .BlockContents{
        }
            /* バナーリスト */
            .FooterBannerBlock .BlockContents .BannerList{
            }
                .FooterBannerBlock .BlockContents .BannerList li{
                  width: 200px;
                }
                .FooterBannerBlock .BlockContents .BannerList li{
                  margin-bottom: 10px;
                }
                .FooterBannerBlock .BlockContents .BannerList li .Label{
                  display: block;
                  color: #222;
                  background: rgba(255,255,255,.9);
                  line-height: 45px;
                  font-size: 87.5%;
                  -webkit-transition: background .2s;
                          transition: background .2s;
                }

                .FooterBannerBlock .BlockContents .BannerList li a:hover .Label,
                .FooterBannerBlock .BlockContents .BannerList li a:focus .Label{
                  background: rgba(255,255,255,0.75);
                }

            /* SNSリスト */
            .FooterBannerBlock .BlockContents .SnsList{
              list-style: none;
              text-align: center;
              margin: 3em auto;
            }
                .FooterBannerBlock .BlockContents .SnsList li{
                  display: inline-block;
                  margin: 0 0.5em;
                }
                .FooterBannerBlock .BlockContents .SnsList li a{
                  border-radius: 100%;
                  display: inline-block;
                  width: 2em;
                  line-height: 2em;
                  font-size: 200%;
                  /*border: 1px solid #fff;*/
                  cursor: pointer;
                  background: rgba(0,0,0,0.125);
                }
                .FooterBannerBlock .BlockContents .SnsList li a:hover{
                  color: #473f36;
                  background: #fff;
                }
                    .FooterBannerBlock .BlockContents .SnsList li a .Icon{
                    }
    
                            /* bp2より狭いディスプレイ用 */
                            body.rsbp-under-bp2 .FooterBannerBlock .BlockContents .SnsList{
                              margin: 1.5em auto;
                            }
                            body.rsbp-under-bp2 .FooterBannerBlock .BlockContents .SnsList li{
                              margin: 0 0.25em;
                            }
                            body.rsbp-under-bp2 .FooterBannerBlock .BlockContents .SnsList li a{
                              font-size: 200%;
                            }


    /* - - SiteFooterBlock - - */
    .SiteFooterArea{
      position: relative;
    }
    .SiteFooterBlock{
      text-align: center;
      border-top: 1px solid rgba(255,255,255,0.25);
    }
        .SiteFooterBlock .CopyrightText{
          font-size: 75%;
          letter-spacing: 0.1em;
          opacity: 0.5;
        }
            /* + + + + + レスポンシブ + + + + +  */

                /* bp2より広いディスプレイ用 */
                body.rsbp-over-bp2 .SiteFooterBlock{
                  padding: 3em 0;
                }

                /* bp2より狭いディスプレイ用 */
                body.rsbp-under-bp2 .SiteFooterBlock{
                  padding: 3em 0;
                }
                body.rsbp-under-bp2 .SiteFooterBlock .CopyrightText{
                  font-size: 50%;
                }