@charset "utf-8";


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    サイト共通部                                  */
/*    ・ヘッダ・フッタの装飾                        */
/*    ・全体大枠のレイアウト定義                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

html{
  color: #444a59;
  background: #fff;
}
body{
  text-align: center;
  overflow-wrap: break-word;
  word-wrap: break-word;
  margin: 0 auto;
  min-width: 320px;
}
#World{
  text-align: left;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    基本レイアウト                                */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

html,body{
  min-width: 1150px;
}
#World{
  /*max-width: 1400px;*/
  margin: 0 auto;
  border-left:  1px solid #eee;
  border-right: 1px solid #eee;
  /*position: relative;*/
}

/* サイトのページ幅 */
.PageWidthSetter{
  width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}
/* ページトップスクローラ */
.GoPageTop{
  position: fixed;
  bottom: 20px;
  right:  20px;
  z-index: 500;
  display: none;
}
.GoPageTop .Icon::before{
  font-size: 200%;
  color: #fff;
  background: rgba(20,120,200,0.8);
  border-radius: 100%;
  padding: 0.5em;
}
    /* hover */
    .GoPageTop:hover .Icon::before{
      background: rgba(20,120,200,1);
    }


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    Header, Contents, Footer                      */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */


/* HeaderDivision
--------------------------------------------------- */
header{
  width: 100%;
  background: rgba(255,255,255,0.75);
  border-bottom: 1px solid rgba(238,238,238,0.5);
      -webkit-transition: all .2s;
              transition: all .2s;
}
header:hover{
  background: rgba(255,255,255,1);
  border-bottom: 1px solid rgba(238,238,238,1);
}
    header{
      position: absolute;
      z-index: 1000;
      top: 0px;
      left: 0px;
    }
    header.PositionFixed{
      position: fixed;
    }
    @media print{
        header{
          position: absolute!important;
        }
    }
    
    
    /* - - SiteHeaderBlock - - */
    .SiteHeaderBlock {
      line-height: 4rem;
      position: relative;
      text-align: right;
    }
    .SiteHeaderBlock .BlockHeader,
    .SiteHeaderBlock .BlockContents,
    .SiteHeaderBlock .BlockFooter{
      display: inline-block;
    }
    .SiteHeaderBlock .BlockHeader{
      float: left;
    }
    .SiteHeaderBlock .BlockContents,
    .SiteHeaderBlock .BlockFooter{
    }
    .SiteHeaderBlock .BlockFooter{
    }
    .SiteHeaderBlock,
    .SiteHeaderBlock *{
      vertical-align: middle;
      white-space: nowrap;
      line-height: 4rem;
      vertical-align: top;
    }
    .SiteHeaderBlock .BlockHeader,
    .SiteHeaderBlock .BlockHeader *{
      vertical-align: middle;
    }
        /* SiteLogo */
        .SiteHeaderBlock .SiteLogo {
          font-size: 100%;
        }
        .SiteHeaderBlock .SiteLogo a{
          display: block;
          -webkit-transition: all .2s;
                  transition: all .2s;
        }
        .SiteHeaderBlock .SiteLogo.Current a{
        }
        /* MenuList */
        .SiteHeaderBlock .MenuList {
          list-style: none;
        }
        .SiteHeaderBlock .MenuList li{
          display: block;
          float: left;
        }
        
        /* MenuList.MainMenu */
        .SiteHeaderBlock .MenuList.MainMenu{
          font-size: 87.5%;
        }
        .SiteHeaderBlock .MenuList.MainMenu li{
          margin: 0;
        }
        .SiteHeaderBlock .MenuList.MainMenu li a{
          display: block;
          padding: 0 1em;
          -webkit-transition: all .2s;
                  transition: all .2s;
        }
                /* hover */
                .SiteHeaderBlock .MenuList.MainMenu li a:hover{
                  color:      rgba(20,80,180,1);
                  background: rgba(20,80,180,0.1);
                  color: #fff;
                  background: #444a59;
                }
                /* Current */
                .SiteHeaderBlock a{
                  position: relative;
                }
                .SiteHeaderBlock .Current a::after{
                  content: "";
                  display: block;
                  height: 1px;
                  width: 100%;
                  background: #000;
                  position: absolute;
                  top:  100%;
                  left: 0px;
                }

        /* MenuList.ContactMenu */
        .SiteHeaderBlock .MenuList.ContactMenu{
          font-size: 125%;
          margin-left: 0.5em;
        }
            .SiteHeaderBlock .MenuList.ContactMenu li{
              margin: 0 0.25em;
            }
            .SiteHeaderBlock .MenuList.ContactMenu .Label{
              width: 0em;
              font-size: 80%;
              display: inline-block;
              overflow: hidden;
              opacity: 0;
              -webkit-transition: all .2s;
                      transition: all .2s;
            }
            .SiteHeaderBlock .MenuList.ContactMenu a.TelButton:hover .Label{
              width: 7.5em;
              opacity: 1;
            }






    /* anchor  - - - - - - - - - - */
    header a{
      color: inherit;
      text-decoration: none;
    }

    /* - - ドロップダウン - - */
    header .DropDownParent{
      position: static;
    }
    header .DropDownChild{
      z-index: 100;
      color: #fff;
      background: rgba(20,80,180,1);
      padding: 25px 50px;
      border: none;
      width: 50%;
      left: auto;
      right: 0px;
    }
        header .DropDownChild .DropDownChildHeader{
          text-align: center;
          border-bottom: 1px solid rgba(255,255,255,0.25);
        }
        header .DropDownChild .DropDownChildHeader .Heading{
          margin: 0;
        }
        header .DropDownChild .DropDownChildContents{
          text-align: center;
        }


/* ContentsDivision
--------------------------------------------------- */
#ContentsDivision {
  position: relative;
}

    /* - - PageContentsArea （詳細ページ用の汎用エリア） - - */
    .PageContentsArea{
      padding:  75px 0;
      padding-top: calc(3em + 25px);
    }

    /* - - ページ全体の背景 - - */
    .PageBgDecoration{
      background-image: linear-gradient( to bottom, rgba(255,255,255,0.7), rgba(255,255,255,0.7) ), url(../img/common/decoration/woman_blur.jpg);
      
      background-repeat: no-repeat;
      background-position: 50% -150px;
          background: url(../img/common/decoration/wood_pattern_pale.jpg);
    }

/* FooterDivision
--------------------------------------------------- */
#FooterDivision {
  padding: 75px 0;
  background: #eee;
}

    /* - - FooterMenuBlock - - */
    .FooterMenuBlock{
      padding-bottom: 4em;
    }
        .FooterMenuBlock .BlockContents{
        }
        .FooterMenuBlock .BlockFooter{
          padding: 2em 0 0;
          font-size: 87.5%;
        }
        
        /* PageList */
        .FooterMenuBlock .PageList {
          list-style: none;
        }
        .FooterMenuBlock .PageList li > .Heading,
        .FooterMenuBlock .PageList li > .ul-level-2{
          margin-right: 2em;
        }
        .FooterMenuBlock .PageList li > .Heading{
          font-weight: 600;
          margin: 0 0 1em;
        }
        .FooterMenuBlock .PageList li > .ul-level-2{
          font-size: 75%;
        }
            /* リンク */
            .FooterMenuBlock .PageList li a{
              padding: 0.25em 4px;
              display: block;
            }
            .FooterMenuBlock .PageList li a:hover{
              background: rgba(0,0,0,0.1);
            }

    /* - - AuthorBlock - - */
    footer .AuthorBlock{
      border-top: 1px solid rgba(0,0,0,0.1);
      padding: 2em 0 0;
      font-size: 87.5%;
    }
        footer .AuthorBlock .BlockHeader{
          display: inline-block;
          margin-right: 2em;
        }
        footer .AuthorBlock .BlockContents{
          display: inline-block;
        }
        


