@charset "utf-8";


/* --------------------------------------------------- */
/* DefaultBlock                                        */
/* コンテンツエリア内のブロック共通スタイル            */
/* --------------------------------------------------- */


.SknTplDecoratedTable{
  
}
.SknTplDecoratedTable .LargeTable{
  /*width:100%;*/
}

.SknTplDecoratedTable thead th {
  padding: 0.75em 0px;
  background: #87cb3d;
}




/* DefaultBlock (common style)
--------------------------------------------------- */
.DefaultBlock{

}


/*ローカルメニュー*/
.LocalMenuItem{
  margin:10px auto 20px auto;
  text-align:center;
}
.LocalMenuItem ul li{
  text-align:center;
  width:auto!important;
  margin:0!important;
}

.LocalMenuItem a{
  text-decoration:none;
  color:#222;
  min-width:300px;
}

        /* + + + + + レスポンシブ + + + + +  */
        
        body.rsbp-over-bp1 .LocalMenuItem ul li{
            width:32%!important;
        }
        
        body.rsbp-over-bp1 .LocalMenuItem a{
            width: 100%;
        }



.LocalMenuItem a.Label{
  text-decoration:none;
  display:block;
  -webkit-transition: color .2s, height .2s, width 0.2s ,background 0.2s;
  transition: color .2s, height .2s, width 0.2s,background 0.2s;
  
}
.LocalMenuItem .Active a .Label,
.LocalMenuItem a .Label:hover{
  background: #87cb3d;
  color:#fff;
  -webkit-transition: color .2s, height .2s, width 0.2s ,background 0.2s;
  transition: color .2s, height .2s, width 0.2s,background 0.2s;
  font-weight:bold;
}
.LocalMenuItem a .Label{

}


.LocalMenuItem a .Label{
  position: relative;
  font-weight: 400;
  width:100%;
  padding: 0.6em 1em;
  
  background:#fff;
  box-shadow: 0 0.05em 0.15em rgba(0,0,0,0.12);
  box-shadow: 0 0.04em 0.18em rgba(0,0,0,0.4);
  border-radius:0px;
  text-align:center;
  border:2px solid #eae4e4;
  border:2px solid #fff;
  box-sizing: border-box; 
  
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f9fcf7+0,f5f5f5+100 */
background: rgb(249,252,247); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(249,252,247,1) 0%, rgba(245,245,245,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(249,252,247,1) 0%,rgba(245,245,245,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(249,252,247,1) 0%,rgba(245,245,245,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
/*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9fcf7', endColorstr='#f5f5f5',GradientType=0 );  IE6-9 */


}
 /*   .LocalMenuItem a .Label::before{
      content: "";
      height: 100%;
      width: 2px;
      display: block;
      position: absolute;
      left: -2px;
      top:   0px;
      background: #0092cc;
    }
*/
    .LocalMenuItem a .Label::after{
      content: "";
      height: 2px;
      width: 100%;
      display: block;
      position: absolute;
      left:  0px;
      bottom:   0px;
      background: #ccc;
    }
    .LocalMenuItem .Active a .Label::after{
      background: #137200;
    }
    .LocalMenuItem a .Label .Main{
      margin-left:0px;
    }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .LocalMenuItem a{
          min-width:150px;
        }
        body.rsbp-under-bp2 .LocalMenuItem a .Label{
          font-size: 110%;
          margin: 0 0 1em;
          width:100%;

        }
        
        

        body.rsbp-under-bp3 .LocalMenuItem ul li{
          width: 100%;
          margin: 0;
          text-align: left;
          text-align: justify;
        }
        body.rsbp-under-bp3 .LocalMenuItem ul li a{
          width:96%;
          margin:5px auto;
          display:block;
        }
        body.rsbp-under-bp3 .LocalMenuItem a .Label{
          font-size: 110%;
          margin: 0;
          width:100%;
          display:block;
          padding: 0.5em 1em;
        }



/* --------------------------------------------------- */
/* XXXXXXBlock                                         */
/* XXXXXX用ブロック                                    */
/* --------------------------------------------------- */

/* XXXXXBlock
--------------------------------------------------- */
.XXXXBlock{
}


.MainContentsArea.FullArea{
  float:none;
  width:100%;
  max-width:2000px;
  margin:0 auto;
}

.SpItem{
  display:none;
}
                            /* + + + + + レスポンシブ + + + + +  */
                            body.rsbp-under-bp2 .SpItem{
                              display:block;
                            }



/*見出し*/
.TitleItem{
  text-align:center;
  margin-top:2em;
  margin-bottom: 1em;
  
}
.TitleItem .IconPen{
  width:auto;
  display:block;
  margin:0 auto;
}
                            /* + + + + + レスポンシブ + + + + +  */
                            body.rsbp-under-bp3 .TitleItem{
                              margin-top:0em;
                              margin-bottom: 0.5em;
                            
                            }
                            body.rsbp-under-bp3 .TitleItem .IconPen{
                                width:50px;
                            }




.TitleItem .Heading.TypeX{
  text-align:center;
}
/* TypeX :::::::::::::::::::::::::  */
.TitleItem .Heading.TypeX{
  font-size: 3rem;
  font-weight: 200;
  padding: 0;
  margin: 0.5em 0 0.3em;
  color: #137200;
  position:relative;
  display: inline-block;
  letter-spacing: 0.05em;
}
.TitleItem .Heading.TypeX .Main{
  display:block;
}
.TitleItem .Heading.TypeX .Sub{
  display:block;
}
 /*  .TitleItem .Heading.TypeX::before{
      position:absolute;
      content: "";
      height: 6px;
      left:0;
      bottom:-10px;
      width:50%;
      background:#d5da00;
    }
   .TitleItem .Heading.TypeX::after{
      position:absolute;
      content: "";
      height: 6px;
      right:0;
      bottom:-10px;
      width:50%;
      background:#4d3930;
   }
*/


        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .TitleItem .Heading.TypeX{
          font-size: 180%;
          margin-bottom: 1em;
          margin: 0.5em 0 0.2em;
        }
        body.rsbp-under-bp3 .TitleItem .Heading.TypeX{
          font-size: 150%;
        }
        
        
        
/* TypeXX :::::::::::::::::::::::::  */
.Heading.TypeXX{
  font-size: 1.5rem;
  font-weight: 700;
  padding: 0;
  margin: 0.5em 0 0.3em;
  color: #137200;
  position:relative;
  display: inline-block;
  letter-spacing: 0.05em;
}
.Heading.TypeXX .Main{
  display:block;
}
.Heading.TypeXX .Sub{
  display:block;
}



        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.TypeXX{
          font-size: 1.8rem;
          margin-bottom: 5px;
          margin-top:0px;
        }
        body.rsbp-under-bp3 .Heading.TypeXX{
          font-size: 1.5rem;
          margin:0;
          margin-bottom: 5px;
          margin-top:5px;
          text-align:left;
        }
        
        
        
        
/*共通コメント*/
.CommentC{
  font-size: 115%;
  line-height: 1.7;
  letter-spacing:0.02em;
}

.Commentx{
  font-size:1.6rem;
  line-height:1.7;
  margin:0 auto 50px auto;
  text-align:center;
  letter-spacing:0.05em;
}
.Commentx.Type2{
  font-size:1.2rem;
  line-height:1.7;
  margin:0 auto 50px auto;
  text-align:center;
  letter-spacing:0.05em;
  max-width:800px;
  text-align:left;
}
.Commentx.Type2 .DefaultText{
  margin: 0 0 1em;
}


        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .CommentC{
          font-size:1.2rem;
          line-height:1.7;
          width: 100%;
          margin-left: auto;
          margin-right: auto;
          margin-bottom:0em;

        }
        body.rsbp-under-bp2 .Commentx{
          /*font-size:85%;*/
          font-size: 1.2rem;
          width: 96%;
          margin-left: auto;
          margin-right: auto;
          text-align:left;
        }
        body.rsbp-under-bp2 .Commentx br{
          display:none;
        }
        body.rsbp-under-bp2 .Commentx.Type2 .DefaultText{
          margin: 0 0 2em;
        }

.Commentx.Type1{
  font-size:1.9rem;
  width:710px;
  text-align:left;
}
.Commentx.Type2{

}

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Commentx.Type1{
          /*font-size:85%;*/
          font-size: 1.2rem;
          width:96%;
          margin-left:auto;
          margin-right:auto;
          text-align:left;
        }





/* TypeXTypePage :::::::::::::::::::::::::  */
.TitleItem .Heading.TypeX.TypePage{

}
.TitleItem .Heading.TypeX.TypePage .Main{
}
.TitleItem .Heading.TypeX.TypePage .Sub{
  margin-top:20px;
}
   .TitleItem .Heading.TypeX.TypePage::before{
      position:absolute;
      content: "";
      height: 6px;
      left:0;
      top:45px;
      width:50%;
      background:#d5da00;
    }
   .TitleItem .Heading.TypeX.TypePage::after{
      position:absolute;
      content: "";
      height: 6px;
      right:0;
      top:45px;
      width:50%;
      background:#4d3930;
   }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .TitleItem .Heading.TypeX.TypePage{
          font-size: 137.5%;
          margin-bottom: 1em;
        }
        body.rsbp-under-bp3 .TitleItem .Heading.TypeX.TypePage{
          font-size: 125%;
          width: 90%;
          margin-bottom: 0;
        }
        body.rsbp-under-bp3 .TitleItem .Heading.TypeX.TypePage::before{
          position:absolute;
          content: "";
          height: 6px;
          left:0;
          top:35px;
          width:50%;
          background:#d5da00;
        }
        body.rsbp-under-bp3 .TitleItem .Heading.TypeX.TypePage::after{
          position:absolute;
          content: "";
          height: 6px;
          right:0;
          top:35px;
          width:50%;
          background:#4d3930;
       }
        body.rsbp-under-bp3 .TitleItem .Heading.TypeX.TypePage .Main{
        }
        body.rsbp-under-bp3 .TitleItem .Heading.TypeX.TypePage .Sub{
          margin-top:20px;
          
        }

/*ボタン*/
.ButtonItem{
  margin:20px auto 20px auto;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 .ButtonItem{
            margin:0 auto 0 auto;
            padding: 10px 0;
        }
.DecoratedBox .ButtonItem{
  margin:15px auto 5px auto;
}


a.MoreLinc{
  margin:20px 0 10px 0;
  color:#137200;
  font-size:95%;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 a.MoreLinc{
          margin:10px 0 10px 0;
        }
/*sticky */
/* ----------------------------------------------- */
.Sticky{


}
        /*スマートフォン横位置対応*/
        body.rsbp-lowheight .Sticky{

        }

.SpView .Sticky .Title{
  
} 

.Sticky{
    position: -webkit-sticky!important; /* safari対応 */
    position: sticky!important;
    top: 0px!important;/* 上端から0pxのところで固定 */
   

}



             /* + + + + + レスポンシブ + + + + +  */

              body.rsbp-under-bp3.SpView #SideBarArea{
                position: -webkit-sticky!important; /* safari対応 */
                position: sticky!important;
                top: 60px!important;/* 上端から10pxのところで固定 */
               
               
               
                padding: 10px 10px 10px 10px;
                z-index:4950;
                width: -webkit-calc(100% + 20px);
                width:         calc(100% + 20px);
                margin:0 -10px;
              
              }

              body.rsbp-under-bp3.SpView .Sticky{

              }
             
              body.rsbp-under-bp3.SpView .Sticky{

              }

              
              
             /* + + + + + レスポンシブ + + + + +  */



        
/*ボタンエフェクト*/
.Button.Go {

}
.Button.Go::before,
.Button.Go::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
#ContentsDivision .ButtonItem a.Button.Go,
#ContentsDivision .ButtonItem a.Button.Go::before,
#ContentsDivision .ButtonItem a.Button.Go::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .5s;
  transition: all .5s;
}
          
.Button.Go {
  position: relative;
  z-index: 1;
  /*border: 2px solid #222;*/
  border: 2px solid #7d0000;
  color: #fff;
  padding: 0.75em 30px 0.75em 25px;
  padding: 0.5em 30px 0.5em 25px;
  font-size:1.1rem;
  font-weight:normal;
  display:block;
  margin:10px auto;
  width:70%;
  max-width:430px;
  border-radius:10px;
  text-align:center;
  background-color: #222;
  position:relative;
  
}
              body.rsbp-under-bp3 .Button.Go {
                 width:90%;
              }

.Button.Go span.Icon::before{
  position:absolute;
  top:0.28em;
  left:0.1em;
  font-size:2rem;
  line-height:1;
  display:none;
}
/*
.Button.Go span.Icon::after{
  font-family: "picticon";
  content: '\f105';
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  opacity: 1;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  position:absolute;
  top:0.28em;
  left:0.05em;
  font-size:2rem;
  line-height:1;
  color:#7d0000;
}
*/


.Button.Go:hover {
  /*background-color: #7d0000;*/
  background-color: rgba(255,255,255,0.8);
  /*border-color: rgba(0,0,0,0.8);*/
  border-color: rgba(0,20,88,0.8);
  /*color: #222;*/
  color: #fff;
  
  padding: 0.75em 20px 0.75em 25px;
  padding: 0.5em 30px 0.5em 25px;
}
.Button.Go::before,
.Button.Go::after {
  top: 0;
  width: 50%;
  height: 100%;

}
.Button.Go::before {
  right: 0;
}
.Button.Go::after {
  left: 0;
}
.Button.Go:hover::before,
.Button.Go:hover::after {
  width: 0;
  background-color: rgba(255,255,255,0.5);
}
.Button.Go:hover span.Icon::before{

}
.Button.Go:hover span.Icon::after{
  /*color:#fff;*/
  opacity: 0;
}

/*反転*/
.Button.Go.RGo{
  background-color: #fff;
  color: #7d0000;
  border: 2px solid #fff;
}
.Button.Go.RGo:hover {
  background-color: rgba(0,20,88,0.8);
  border-color: rgba(255,255,255,0.8);
  
  
  color: #fff;
}

.Button.Go.RGo span.Icon::before{
  left:0.1em;
  color:#7d0000;
  
}
.Button.Go.RGo span.Icon::after{
  color:#fff;
  left:0.05em;
}

.Button.Go.RGo:hover span.Icon::before{
  color:#fff;
}
.Button.Go.RGo:hover span.Icon::after{
  opacity: 0;
}




/*Catalog用*/
.Button.Go.Catalog{
  background-color: #7f0100;
  font-size:0.9rem;
  color: #fff;
  border: 2px solid #fff;
  padding: 0.4em 0;
}

.Button.Go.Catalog span.Icon::before{
  left:0.1em;
  top:0.2em;
  font-size:1.5rem;
}
.Button.Go.Catalog span.Icon::after{
  color:#7f0100;
  left:0.05em;
  top:0.2em;
  font-size:1.5rem;
}




/*右アイコン*/
.Button.Go.LGo{
  border:1px solid #fff;
  font-size:150%;
}
              body.rsbp-under-bp3 .Button.Go.LGo{
                font-size:100%;
              }



.Button.Go.LGo span{
  color:#fff;
}
.Button.Go.LGo span.Icon::after{
  font-family: "picticon";
  content: '\f105';
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  opacity: 1;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  position:absolute;
  top:0.28em;
  right:0.05em;
  font-size:2rem;
  line-height:1;
  color:#fff;
  position:static;
  top:0;
  vertical-align: top;
}
.Button.Go.LGo:hover {
  background-color: rgba(0,0,0,0.8);
  color: #fff;
}
.Button.Go.LGo:hover span.Icon::before{
  color:#fff;
}
.Button.Go.LGo:hover span.Icon::after{
  opacity: 1;
}

.MapItem {
    margin: 20px 0;
}
.MapItem iframe{
    width: 100%;
    height:350px;
    border:none;
}

body.rsbp-under-bp3 .MapItem {
    width: 96%;
    margin: 20px auto;
}
body.rsbp-under-bp3 .MapItem iframe{
    width: 100%;
}


/*サービス事例*/
.TextItem.SectionDetail{
  margin:1em auto 1.5em auto;
}


.TextItem.SectionDetail .Comment{
  padding-left:30px;
  margin-bottom:10px;
}
.TextItem.SectionDetail .GaiyoTitle{
  font-size:130%;
  padding:10px 30px 0;
}


.TextItem.SectionDetail .CaseTitle{
  font-size:130%;
}
.TextItem.SectionDetail .GaiyoComment{
  padding:10px 30px 30px 30px;
}


.TextItem.SectionDetail .CaseItem{
  background: #e7e8b0;
  padding:20px 30px;
  border-radius:10px;
}
.TextItem.SectionDetail ul.CaseListItem{
  margin-left:1em;
  text-indent:-1em;
}
.TextItem.SectionDetail ul.CaseListItem li{
  padding:3px 0;
}
             /* + + + + + レスポンシブ + + + + +  */
              body.rsbp-under-bp3 .Button.Go.LGo span.Icon::after{
                font-size:150%;
                display:none;
              }


  

/*表：ProfileList*/
table.ProfileList{
      margin-bottom:0;
}


table.ProfileList{
  width: auto;
  border-collapse: collapse;
  border-collapse: separate;
  border-spacing: 0px;
  background:none;
  padding: 0;
}
    table.ProfileList{
      width: auto;
      border-collapse: collapse;
      border-spacing: 0px;
      background:none;
      padding: 0;
      border:1px solid #222;
      border:none;
    }




        table.ProfileList tr th{
          width:auto;
          text-align:left;
          border:1px solid #222;
          padding: 1px 10px 1px 1px;
          background:rgba(225,225,225,0.0);
          border:none;
        }
                table.ProfileList tr td{
                  background:none;
                  width:auto;
                  min-width:130px;
                  padding: 1px;
                  border:1px solid #c4c4c4;
                  border:none;
                }



        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 table.ProfileList{
        /*width: -webkit-calc(100% - 40px)!important;
        width:         calc(100% - 40px)!important;*/
        width:100%!important;
        margin:0 auto;

        }
        body.rsbp-under-bp2 table.ProfileList td{
          width:100%;
          text-align:left!important;
          display:block;
        }
        body.rsbp-under-bp2 table.ProfileList td img{
          margin:0 10px;
          margin:0 0px;
        }
        body.rsbp-under-bp3 table.ProfileList tr{
          border-bottom:1px solid #ccc;
          margin:0!important;
        }
        body.rsbp-under-bp3 table.ProfileList tr:first-child{
          border-top:1px solid #ccc;
        }
        body.rsbp-under-bp3 table.ProfileList th,
        body.rsbp-under-bp3 table.ProfileList td{
          width:100%;
          text-align:left!important;
          padding:3px!important;
        }
        body.rsbp-under-bp3 table.ProfileList th{
          background: #f5f5f5!important;

        }
        body.rsbp-under-bp3 table.ProfileList td img{
          margin:0 0px;
          display:block;
        }

