@charset "utf-8";

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    サイト共通 細かい要素の装飾定義               */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* Baserが出力するメッセージ */
pre.cake-error{
  font-size: 12px;
  padding: 2px;
  position: fixed;
  z-index: 1000;
  bottom: 0px;
  left: 25%;
  display: block;
  width: 50%;
  color: #555;
  background: rgba(255,255,255,0.5);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   code                                           */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
code{
  display: block;
  padding: 50px;
  margin: 50px auto;
  width: 75%;
  background: #fff;
  font-size: 0.875rem!important;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   hr                                             */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
hr{
  border-bottom: 1px solid rgba(0,0,0,0.2);
  color: transparent;
  margin: 2em auto;
  width: 87.5%;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   images                                         */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
img{
  max-width: 100%;
}
    /* googlemap 内の画像は適用外 */
    #GoogleMap img{
      max-width: none;
    }

/* 画像表示 汎用（試作物）version 2017013001
--------------------------------------------------- */

    /* デフォルト */
    .Image{
    }
    .Image a{
      display: block;
    }
    .Image img{
      width:      100%;
      height:     auto;
    }
    /* 表示枠を埋める */
    .Image.Cover{
      overflow: hidden;
    }
    .Image.Cover img{
      min-width:  100%;
      min-height: 100%;
      width:      auto;
      height:     auto;
      max-width:  none;
      max-height: none;
    }
    /* 全体を見せる （画像が表示枠より小さい場合は枠よりも小さくなる） */
    .Image.Contain{
      text-align: center;
      vertical-align: middle;
    }
    .Image.Contain img{
      min-width:  0;
      min-height: 0;
      width:      auto;
      height:     auto;
      max-width:  100%;
      max-height: 100%;
    }
    /* フィット */
    .Image.Fit{
    
    }
    .Image.Fit img{
      width:      100%;
      height:     100%;
    }
    
    /* ページ内で表示したときの補足処理 ：枠を付加 */
    .DefaultArea .Image {
      background: #fff;
      /*padding:    7px;
      border:     1px solid;*/
    }
    .DefaultArea .Image.NoBorder {
      border:     none;
      padding:    0;
    }
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .DefaultArea .Image{
          padding: 5px;
        }
        body.rsbp-under-bp3 .DefaultArea .Image{
          padding: 5px;
        }
        /* + + + + + /レスポンシブ + + + + +  */



/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Text and Heading                               */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* PageParentItem
--------------------------------------------------- */
body .PageParentItem{
  padding: 0;
  color: #4e3c33;
  position: relative;

  overflow: hidden;
  height:10px;
  text-align:center;
  border-top: 0px solid rgba(0,0,0,0.1);
  background:#b5e61d;

}
        /* + + + + + レスポンシブ + + + + +  */
        
        body.rsbp-over-bp2 .PageParentItem{
            min-width:950px;
        }
        
        body.rsbp-under-bp2 .PageParentItem{
            border-top: none;
        }



body.CompanyPage .PageParentItem{
  /*background:#4e3c33  url(../img/common/decoration/image_bg_company.jpg)no-repeat 50% 50%;
  background-size:100%;*/
}


body .PageParentItem .inner{ 
  display:table;
  width:100%;
  margin:0 auto;
  max-width:1600px;
}
body .PageParentItem .inner .ParentItemHeader{
  display:table-cell;
  /*background:#fb1730;*/
  padding:0 30px;
  text-align:right;
  width:35%;
}

body .PageParentItem .inner .ParentItemContent{
  display:table-cell;
  padding:30px;
  text-align:left;
  width:65%;
  vertical-align:middle;
  /*background:#222;*/
  color:#fff;
}

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .PageParentItem .inner{ 
          display:block;
        }
        body.rsbp-under-bp2 .PageParentItem .inner .ParentItemHeader{
          display:block;
          width:100%;
          padding:10px;
          font-weight:bold;
        }
        body.rsbp-under-bp2 .PageParentItem .inner .ParentItemContent{
          display:block;
          width:100%;
          padding:30px 20px;
        }




body .PageParentItem .inner .Heading{ 
  display:inline-block;
  margin:0 auto;
  min-width:350px;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .PageParentItem .inner .Heading{ 
          display:block;
          width:100%;
          padding:0 10px;
        }



body .PageParentItem .inner .Heading .TitleMain{
  display: table-cell;
  vertical-align: middle;
  height: 100px;
  text-align: left;
}
body .PageParentItem .inner .Heading .TitleMain .Main{
  display:block;
  font-size:200%;
  font-weight:bold;
  letter-spacing:0.1em;
  line-height:1.3;
  margin-top: 15px;
  color:#fff;
  text-shadow: 0 0.05em 0.2em rgba(0,56,147,0.5);
}
body .PageParentItem .inner .Heading .TitleMain .Sub{
  display:block;
  font-size:100%;
  letter-spacing:0.1em;
  color:#fff;
  text-shadow: 0 0.05em 0.15em rgba(0,56,147,0.8);
}

/*
body .PageParentItem .inner .Heading .TitleMain .Sub::before{
  position:absolute;
  top:50%;
  width:30px;
  left:-30px;
  content: "";
  height: 1px;
  background:#bb847f;
  background: rgba(0,0,0,0.25);
}
body .PageParentItem .inner .Heading .TitleMain .Sub::after{
  position:absolute;
  top:50%;
  width:30px;
  right:-30px;
  content: "";
  height: 1px;
  background:#bb847f;
  background: rgba(0,0,0,0.25);
}
*/
        body.rsbp-under-bp3 .PageParentItem .inner .Heading .TitleMain {
          height:auto;
        }
        body.rsbp-under-bp3 .PageParentItem .inner .Heading .TitleMain .Main{
          font-size:160%;
          text-shadow: 0 0.05em 0.2em rgba(0,56,147,0.8);
        }
        body.rsbp-under-bp3 .PageParentItem .inner .Heading .TitleMain .Sub::before,
        body.rsbp-under-bp3 .PageParentItem .inner .Heading .TitleMain .Sub::after{
          display:none;
        }
        body.rsbp-under-bp3 .PageParentItem .inner .Heading .TitleMain .Sub{
          margin-left: 0;
          margin-right: 0;
        }

/* PageTitle
--------------------------------------------------- */
body .PageTitle{
  padding: 0;
  color: #4e3c33;
  position: relative;
  /*background:#003893  url(../img/common/decoration/bg_catetitle.png)repeat-x top center;*/
  /*background:#f6f6f6;*/
  overflow: hidden;
  /*height:110px;*/
  text-align:center;
  position:relative;
}
body .PageTitle .Heading{
  
}
body .PageTitle .Heading span{ 
  position: relative;
  line-height: 1.2;
  letter-spacing: 0.1em;
  background:#fff;
  z-index: 5;
  padding: 0 20px;
  color: #222;
  display: inline-block;
  
  display:block;
  margin:5px auto;
  text-align:center;
  font-size:1.6em;
  color:#0781a6;
  line-height:1.3;
  text-shadow: 0 0.05em 0.2em rgba(0,56,147,0.4);
}
/*body .PageTitle::before {
  position: absolute;
  content: "";
  height: 1px;
  left: 10px;
  top: 48%;
  width: 96%;
  width: -webkit-calc(100% - 20px);
  width:         calc(100% - 20px);
  height: 1px;
  background: #001c57;
}
*/




        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .PageTitle{
          /*background:  url(../img/common/decoration/bg_catetitle.png)repeat-x top center;*/
          background-size:auto 82px;
          height:82px;
          margin-top: 20px;
        }
        body.rsbp-under-bp2  .PageTitle.CustomTitleW,
        body.rsbp-under-bp2  .PageTitle.CustomTitle{
          padding: 1.0em 10px;
        }
        body.rsbp-under-bp3 .PageTitle{
          /*background:  url(../img/common/decoration/bg_catetitle.png)repeat-x top center;*/
          background-size:auto 82px;
          height:82px;
          margin-top: 0px;
        }
        body.rsbp-under-bp3  .PageTitle.CustomTitleW,
        body.rsbp-under-bp3  .PageTitle.CustomTitle{
          padding: 1.0em 10px;
        }

        
        

    body .PageTitle .Heading{
      margin: 0 auto;
      line-height: 1.5;
      font-weight: normal;
      vertical-align: middle;
      padding:35px 30px;
      font-size: 160%;
      
    }
    body .PageTitle .Heading{
      /*background:  url(../img/common/decoration/image_pagetitle.png)no-repeat right bottom;*/
    }
    
          /* + + + + + レスポンシブ + + + + +  */
            body.rsbp-under-bp2 .PageTitle{
              height:auto;
            }
            body.rsbp-under-bp2 .PageTitle .Heading{
              font-size:160%;
              padding:20px 10px;
              /*background:  url(../img/common/decoration/image_pagetitle.png)no-repeat 100% bottom;*/
              /*background-size:auto 90px;*/
            }
          
          
            body.rsbp-under-bp3 .PageTitle .Heading{
              font-size:120%;
              /*background:  url(../img/common/decoration/image_pagetitle.png)no-repeat 110% bottom;
              background-size:auto 80px;*/
              
            }

            body.rsbp-under-bp3 .PageTitle .Heading span{
              padding: 0 10px;
              border:none;
            }
            body.rsbp-under-bp3 .PageTitle::before{
              /*position: absolute;
              content: "";
              width:20px;
              left: 0;
              top: 48%;
              height:7%;
              background: #001c57;*/
            }
            body.rsbp-under-bp3 .PageTitle::after{
              /*position: absolute;
              content: "";
              width:20px;
              right: 0;
              top: 48%;
              height:7%;
              background: #001c57;*/
            }
          /* + + + + + レスポンシブ + + + + +  */
          
          






/* PageTitle
--------------------------------------------------- */
body .SectionTitle{
  padding: 0;
  color: #4e3c33;
  position: relative;
  /*background:#003893  url(../img/common/decoration/bg_catetitle.png)repeat-x top center;*/
  /*background:#f6f6f6;*/
  overflow: hidden;
  /*height:110px;*/
  text-align:center;
  position:relative;
}
body .SectionTitle .Heading{
  
}
body .SectionTitle .Heading span{ 
  position: relative;
  line-height: 1.2;
  letter-spacing: 0.1em;
  background:#fff;
  z-index: 5;
  padding: 0 20px;
}
body .SectionTitle::before {
  position: absolute;
  content: "";
  height: 1px;
  left: 10px;
  top: 48%;
  width: 96%;
  width: -webkit-calc(100% - 20px);
  width:         calc(100% - 20px);
  height: 1px;
  background: #001c57;
}



        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .SectionTitle{
          /*background:  url(../img/common/decoration/bg_catetitle.png)repeat-x top center;*/
          background-size:auto 82px;
          height:82px;
          margin-top: 50px;
        }
        body.rsbp-under-bp2  .SectionTitle.CustomTitleW,
        body.rsbp-under-bp2  .SectionTitle.CustomTitle{
          padding: 1.0em 10px;
        }
        body.rsbp-under-bp3 .SectionTitle{
          /*background:  url(../img/common/decoration/bg_catetitle.png)repeat-x top center;*/
          background-size:auto 82px;
          height:82px;
          margin-top: 50px;
        }
        body.rsbp-under-bp3  .SectionTitle.CustomTitleW,
        body.rsbp-under-bp3  .SectionTitle.CustomTitle{
          padding: 1.0em 10px;
        }


    body .SectionTitle .Heading{
      margin: 0 auto;
      line-height: 1.5;
      font-weight: normal;
      vertical-align: middle;
      padding:25px 30px;
      font-size: 160%;
      
    }
    body .SectionTitle .Heading{
      /*background:  url(../img/common/decoration/image_pagetitle.png)no-repeat right bottom;*/
    }
    
          /* + + + + + レスポンシブ + + + + +  */
            body.rsbp-under-bp2 .SectionTitle{
              height:auto;
            }
            body.rsbp-under-bp2 .SectionTitle .Heading{
              font-size:200%;
              padding:20px 10px;
              /*background:  url(../img/common/decoration/image_pagetitle.png)no-repeat 100% bottom;*/
              background-size:auto 90px;
            }
          
          
            body.rsbp-under-bp3 .SectionTitle .Heading{
              font-size:150%;
              background:  url(../img/common/decoration/image_pagetitle.png)no-repeat 110% bottom;
              background-size:auto 80px;
              
            }
            
            
          /* + + + + + レスポンシブ + + + + +  */
          
          



/* カテゴリ見出し common
--------------------------------------------------- */
/*.icon-custom{
  padding-left:55px;
  height:50px;
  width: 70px;
}*/

        /* + + + + + レスポンシブ + + + + +  */
        
        /*body.rsbp-under-bp3 .icon-custom {
         width: 50px;
        }*/

/*
.icon-custom.Type1{
  background: url(../img/common/decoration/head/icon1.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.icon-custom.Type2{
  background: url(../img/common/decoration/head/icon2.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.icon-custom.Type3{
  background: url(../img/common/decoration/head/icon3.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.icon-custom.Type4{
  background: url(../img/common/decoration/head/icon4.png)no-repeat 0% 50% ;
  background-size:60px auto;
  
}
.icon-custom.Type5{
  background: url(../img/common/decoration/head/icon5.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.icon-custom.Type6{
  background: url(../img/common/decoration/head/icon6.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.icon-custom.Type7{
  background: url(../img/common/decoration/head/icon7.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.icon-custom.Type8{
  background: url(../img/common/decoration/head/icon8.png)no-repeat 0% 50% ;
  background-size:60px auto;
}

.CustomTitle .icon-custom.Type1{
  background: url(../img/common/decoration/head/icon1_on.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.CustomTitle .icon-custom.Type2{
  background: url(../img/common/decoration/head/icon2_on.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.CustomTitle .icon-custom.Type3{
  background: url(../img/common/decoration/head/icon3_on.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.CustomTitle .icon-custom.Type4{
  background: url(../img/common/decoration/head/icon4_on.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.CustomTitle .icon-custom.Type5{
  background: url(../img/common/decoration/head/icon5_on.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.CustomTitle .icon-custom.Type6{
  background: url(../img/common/decoration/head/icon6_on.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.CustomTitle .icon-custom.Type7{
  background: url(../img/common/decoration/head/icon7_on.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.CustomTitle .icon-custom.Type8{
  background: url(../img/common/decoration/head/icon8_on.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
.icon-custom.Type9{
  background: url(../img/common/decoration/head/icon9_on.png)no-repeat 0% 50% ;
  background-size:60px auto;
}
*/












/* 見出し common
--------------------------------------------------- */
.Heading{
  line-height: 1.5;
}


/* 見出しバリエーション
--------------------------------------------------- */

/* Type1 :::::::::::::::::::::::::  
.Heading.Type1{
  font-size:   200%;
  line-height: 1.5;
  font-weight: 400;
  padding: 0;
  margin: 2em 0 0.75em;
}*/

        /* + + + + + レスポンシブ + + + + +  
        body.rsbp-under-bp1 .Heading.Type1{
        }
        body.rsbp-under-bp2 .Heading.Type1{
          font-size: 150%;
        }
        body.rsbp-under-bp2 .Heading.Type1 br{
          display: none;
        }
        body.rsbp-under-bp3 .Heading.Type1{
          font-size: 137.5%;
        }*/


/* Type1 :::::::::::::::::::::::::  */
.Heading.Type1{
  font-size: 150%;
  position: relative;
  font-weight: 400;
  margin: 3em 0 1.5em 0;
  width:100%;
  padding: 0.5em;
  background: rgba(255,255,255,0.7);
  background-image: -webkit-repeating-linear-gradient(-90deg, rgba(68,76,186,0.05), rgba(68,76,186,0.05) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  background-image:         repeating-linear-gradient(-90deg, rgba(68,76,186,0.05), rgba(68,76,186,0.05) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.15);
  border-radius:0 5px 5px 0;
}
    .Heading.Type1::before{
      content: "";
      height: 100%;
      width: 0.3em;
      display: block;
      position: absolute;
      left: -0.3em;
      top:   0%;
      background: #2c59c0;
      border-radius:5px 0 0 5px;
    }
    .Heading.Type1::after{
      content: "";
      height: 50%;
      width: 0.3em;
      display: block;
      position: absolute;
      left: -0.3em;
      top:   50%;
      background: #003893;
      border-radius:0 0 0 5px;
    }
    
    
    
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type1{
          font-size: 150%;
          margin: 0 0 1em;
          width:100%;
        }
        body.rsbp-under-bp3 .Heading.Type1{
          font-size: 150%;
          margin: 0 0 1em;
          width:100%;
        }
        


/* Type2 :::::::::::::::::::::::::  */
.Heading.Type2{
  font-size: 180%;
  position: relative;
  font-weight: bold;
  margin: 5px 0;
  width:100%;
  padding: 0.5em 0em 0.0em 0.0em;
  background:none;
  text-align:left;
  color:#222;
  position: relative;
}



    .Heading.Type2 .Main{
      margin-left:0px;
    }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type2{
          font-size: 180%;
          margin: 0 0 5px;
          width:100%;

        }
        body.rsbp-under-bp3 .Heading.Type2{
          font-size: 150%;
          margin: 0 0 5px;
          width:100%;
        }


    
    
    body.rsbp-under-bp3     .SknTplCenterTitle .inner{
      position: relative;
      margin-top:0px;
      margin-left:-10px;
      margin-right:-10px;
      
    }
    
    body.rsbp-under-bp3 .SknTplCenterTitle .inner .Heading{
      padding: 0 8px;
    
    }
    
    
    body.rsbp-under-bp3 .SknTplCenterTitle .inner  .Heading::before,
    body.rsbp-under-bp3 .SknTplCenterTitle .inner  .Heading::after{
      display:none;
    
    }




    
/* Type3 :::::::::::::::::::::::::  */
.Heading.Type3 {
  font-size: 125%;
  position: relative;
  padding: 0.375em 0px;
  margin: 2.5em 0 0.5em;
}
    .Heading.Type3::before{
      content: "";
      height:  1px;
      width: 100%;
      display: block;
      position: absolute;
      background: #222;
      width: 100%;
      left:0;
      bottom:0px;
    }
    .Heading.Type3::after{
      content: "";
      width: 0.25em;
      display: block;
      position: absolute;
      background: #003893;
      -webkit-transition: all .2s;
              transition: all .2s;
      left: 0;
      height:4px;
      width: 20%;
      bottom:1px;
      
    }
    .Heading.Type3 .Main{
      font-size:140%;
      color:#4e3c33;
      padding:10px;
      line-height:80px;;
    }

    .Heading.Type3 .Sub{
      width:90px;
    }
    .Heading.Type3 .Sub img{
      width:100px;
      overflow:hidden;
      margin:-5px;
    }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp1 .Heading.Type3::before{
          /*width: 0.125em;
          left: -1em;*/

        }
        body.rsbp-under-bp1 .Heading.Type3::after{
          /*width: 105%;*/
         
        }
        body.rsbp-under-bp2 .Heading.Type3{
          border-left: 4px solid #003893;
          padding-left: 5px;
          position:relative;
          min-height:40px;
        }
        body.rsbp-under-bp2 .Heading.Type3::before{
          display: none;
        }
        body.rsbp-under-bp2 .Heading.Type3::after{
          width: 100%;
          left: 0px;
          height:1px;
          background: #222;
          
        }
        body.rsbp-under-bp2 .Heading.Type3 .Main{
          font-size: 100%;
          color: #4e3c33;
          padding: 10px;
          line-height: 1.2;
          display: block;
          margin-left:40px;
        }
        body.rsbp-under-bp2 .Heading.Type3 .Sub{
          width:40px;
          position:absolute;
          left:1px;
        }
        body.rsbp-under-bp2 .Heading.Type3 .Sub img{
          width:40px;
          overflow:hidden;
          margin:0;
        }
        body.rsbp-under-bp2 .Heading.Type3:not(.Unit)  .Main,          
        body.rsbp-under-bp2:not(.ServicePage) .Heading.Type3 .Main{
          margin-left:0px;
        }
       
        body.rsbp-under-bp3.PcView .Heading.Type3 .Main{
          /*padding-right:170px;*/
          line-height:1.3;
        }
        body.rsbp-under-bp3.PcView .Heading.Type3 .Main::before{
          /*content: "";
          float:right;
          width:170px;
          height:1px;
          position:static;
          display:block;*/
        }
        body.rsbp-under-bp3.PcView .SectionItem{
          padding-top:0.01em;
        }
        body.rsbp-under-bp3.PcView .TextItem.SectionDetail .GaiyoComment {
          padding: 10px 30px 20px 30px;
        }
        
        
 /*300+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width: 320px) {
/*        body.rsbp-under-bp3.PcView .Heading.Type3 .Main::before{
          display:none;
        }

        body.rsbp-under-bp3.PcView .SectionItem{
          padding-top:2em;
        }
*/

}/*300++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


        
.DefaultParagraph > .Heading.Type3{
  margin-top:1em;
}


/* Type4 :::::::::::::::::::::::::  */
.Heading.Type4{
  font-size: 130.5%;
  position: relative;
  font-weight: 600;
  margin: 3em 0 1.5em;
  padding: 1em;
  background: rgba(0,0,0,0.125);
  /*background-image: -webkit-repeating-linear-gradient(-45deg, rgba(230,230,230,0.5), rgba(230,230,230,0.5) 1px, rgba(250,250,250,0.5) 1px, rgba(250,250,250,0.5) 6px);
  background-image:         repeating-linear-gradient(-45deg, rgba(230,230,230,0.5), rgba(230,230,230,0.5) 1px, rgba(250,250,250,0.5) 1px, rgba(250,250,250,0.5) 6px);*/
  background: rgba(255,255,255,0.7);
  background-image: -webkit-repeating-linear-gradient(-90deg, rgba(90,181,169,0.05), rgba(90,181,169,0.05) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  background-image:         repeating-linear-gradient(-90deg, rgba(90,181,169,0.05), rgba(90,181,169,0.05) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  border-radius:0.2em;
  box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.25);
}
    .Heading.Type4::before{
      content: "";
      height: 60%;
      width: 0.4em;
      display: block;
      position: absolute;
      left: -0.2em;
      top:   20%;
      background: #2c59c0;
      background: #003893;
      border-radius:0.2em;
      z-index:1200;
    }
    .Heading.Type4::after{
      content: "";
      height: 30%;
      width: 0.4em;
      display: block;
      position: absolute;
      left: -0.2em;
      top:   50%;
      background: #003893;
      border-radius:0 0 0.2em 0.2em;
      z-index:1250;
    }
    
    .Heading.Type4 > a{
      color:#00a0dd;
    }
    .Heading.Type4 > a:hover{
      color:#fff;
      text-decoration:underline;
    }
    
    .Heading.Type4 > span.Sub{
      font-weight:normal;
      font-size:80%;
    }
    
    
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type4{
          font-size: 100%;
        }
        body.rsbp-under-bp3 .Heading.Type4{
          font-size: 87.5%;
          box-shadow: 0 0.1em 0.1em rgba(0,0,0,0.5);
        }
        /* + + + + + レスポンシブ + + + + +  */

/* Type5 :::::::::::::::::::::::::  */
.Heading.Type5{
  font-size: 112.5%;
  margin:  2em 0 1em;
}
    .Heading.Type5::before{
      content: "●";
      margin-right: 0.25em;
    }
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type5{
          font-size: 100%;
        }
        body.rsbp-under-bp3 .Heading.Type5{
          font-size: 87.5%;
        }



/* Type6 :::::::::::::::::::::::::  */
.Heading.Type6{
  font-size: 140%;
  position: relative;
  font-weight:bold;
  margin: 2em 0 1.5em;
  width:100%;
  padding: 0.4em 1em 0.4em 0.8em;
  color:#fff;
  background:#00a0dd;
  text-shadow: 0 0.05em 0.2em rgba(0,56,147,0.5);
  border-radius:5px;
  
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#57c8f6+0,c4ebfc+100 */
  background: rgb(87,200,246); /* Old browsers */
  background: -moz-linear-gradient(left,  rgba(87,200,246,1) 0%, rgba(196,235,252,1) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left,  rgba(87,200,246,1) 0%,rgba(196,235,252,1) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right,  rgba(87,200,246,1) 0%,rgba(196,235,252,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#57c8f6', endColorstr='#c4ebfc',GradientType=1 );  IE6-9 */

  
}
    .Heading.Type6::before{
      content: "";
      height: 100%;
      width: 0.4em;
      display: block;
      position: absolute;
      left: 0em;
      top:   0%;
      background: #111986;
      border-radius:5px 0 0 5px;
    }
/*
    .Heading.Type6::after{
      content: "";
      height: 100%;
      width: 0.1em;
      display: block;
      position: absolute;
      left: 0.5em;
      top:   0%;
      background: #f4003f;
    }
*/
    .Heading.Type6 .Main{
      margin-left:20px;
    }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type6{
          font-size: 110%;
          margin: 0 0 1em;
          width:100%;
          /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#57c8f6+0,7ad3f8+100 */
          background: #57c8f6; /* Old browsers */
          background: -moz-linear-gradient(left,  #57c8f6 0%, #7ad3f8 100%); /* FF3.6-15 */
          background: -webkit-linear-gradient(left,  #57c8f6 0%,#7ad3f8 100%); /* Chrome10-25,Safari5.1-6 */
          background: linear-gradient(to right,  #57c8f6 0%,#7ad3f8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
          /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#57c8f6', endColorstr='#7ad3f8',GradientType=1 );  IE6-9 */

        }
        body.rsbp-under-bp2 .Heading.Type6 .Main{
          margin-left:0;
        }
        body.rsbp-under-bp3 .Heading.Type6{
          font-size: 110%;
          margin: 0 0 1em;
          width:100%;
        }

/* Type7 :::::::::::::::::::::::::  */
.Heading.Type7{
  font-size: 112.5%;
  margin:  1em 0 1em;
}
    .Heading.Type5::before{
     
    }
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type7{
          font-size: 100%;
        }
        body.rsbp-under-bp3 .Heading.Type7{
          font-size: 87.5%;
        }


/* Type8 :::::::::::::::::::::::::  */
.Heading.Type8 {
  font-size: 115%;
  position: relative;
  padding: 0.375em 0px;
  margin: 2.5em 0 0.5em;
  margin: 1.5em 0 0.5em;
}
    .Heading.Type8::before{
      content: "";
      height:  3px;
      width: 100%;
      display: block;
      position: absolute;
      background: #c4ebfc;
      width: 100%;
      left:0;
      bottom:0px;
    }
    .Heading.Type8::after{
      content: "";
      width: 0.25em;
      display: block;
      position: absolute;
      background: #111986;
      /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#57c8f6+0,c4ebfc+100 */
      background: rgb(87,200,246); /* Old browsers */
      background: -moz-linear-gradient(left,  rgba(87,200,246,1) 0%, rgba(196,235,252,1) 100%); /* FF3.6-15 */
      background: -webkit-linear-gradient(left,  rgba(87,200,246,1) 0%,rgba(196,235,252,1) 100%); /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to right,  rgba(87,200,246,1) 0%,rgba(196,235,252,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#57c8f6', endColorstr='#c4ebfc',GradientType=1 );  IE6-9 */

      -webkit-transition: all .2s;
              transition: all .2s;
      left: 0;
      height:3px;
      width: 90px;
      bottom:0;
      
    }
    .Heading.Type8 .Main{
      font-size:140%;
      color:#222;
      padding:10px;
      line-height:80px;;
    }

    .Heading.Type8 .Sub{
      width:90px;
    }
    .Heading.Type8 .Sub img{
      width:100px;
      overflow:hidden;
      margin:-5px;
    }


        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type8{
          font-size: 100%;
          margin: 0 0 1em;
          width:100%;

        }
        body.rsbp-under-bp3 .Heading.Type8{
          font-size: 100%;
          margin: 0 0 1em;
          width:100%;
        }


/* Type9 :::::::::::::::::::::::::  */
.Heading.Type9{
  font-size: 120%;
  position: relative;
  font-weight: 400;
  margin: 5px 0 1em;
  margin: 5px 0;
  width:100%;
  padding: 0.8em 1em 0.8em 1em;
  color:#fff;
  background:#222221;
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.15);
  border-radius:0px;
  text-align:center;
  box-shadow: 0 0.04em 0.18em rgba(0,0,0,0.4);
  
  
      background: -webkit-gradient(linear, left top, right bottom, from(#222221), color-stop(0.25, #222221), color-stop(0.25, #5160e2), color-stop(0.5, #5160e2), color-stop(0.5, #222221), color-stop(0.75, #222221), color-stop(0.75, #5160e2), to(#5160e2));
      background: -moz-linear-gradient(-45deg, #5160e2 25%, #222221 25%, #222221 50%, #5160e2 50%, #5160e2 75%, #222221 75%, #222221);
      background: linear-gradient(-45deg, #222221 25%, #5160e2 25%, #5160e2 50%, #222221 50%, #222221 75%, #5160e2 75%, #5160e2);
      background-size: 6px 6px;
  
  
  
  
  
}


/* Type9 :::::::::::::::::::::::::  */
.Heading.Type9{
  font-size: 120%;
  position: relative;
  font-weight: 400;
  margin: 5px 0 1em;
  width:100%;
  padding: 0.8em 1em 0.8em 1em;
  color:#fff;
  background:#00a0dd;
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.15);
  border-radius:0px;
  text-align:center;
  color:#222;
  
  /*
      background: -webkit-gradient(linear, left top, right bottom, from(#00a0dd), color-stop(0.25, #00a0dd), color-stop(0.25, #5160e2), color-stop(0.5, #5160e2), color-stop(0.5, #00a0dd), color-stop(0.75, #00a0dd), color-stop(0.75, #5160e2), to(#5160e2));
      background: -moz-linear-gradient(-45deg, #5160e2 25%, #00a0dd 25%, #00a0dd 50%, #5160e2 50%, #5160e2 75%, #00a0dd 75%, #00a0dd);
      background: linear-gradient(-45deg, #00a0dd 25%, #5160e2 25%, #5160e2 50%, #00a0dd 50%, #00a0dd 75%, #5160e2 75%, #5160e2);
      background-size: 6px 6px;
  */
  background:url(
  data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAGUlEQVQImWNIKL/tiwszJJTf9mXABQabJADsDBn0cAxsQAAAAABJRU5ErkJggg==
  ) repeat;
  
}
/*
    .Heading.Type9::before{
      content: "";
      height: 100%;
      width: 0.5em;
      display: block;
      position: absolute;
      left: 0em;
      top:   0%;
      background: #00a0dd;
      border-radius:5px 0 0 5px;
    }
*/
    .Heading.Type9 .Main{
      margin-left:0px;
    }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type9{
          font-size: 110%;
          margin: 0 0 1em;
          width:100%;

        }
        body.rsbp-under-bp3 .Heading.Type9{
          font-size: 110%;
          margin: 0 0 1em;
          width:100%;
        }


/* Type10 :::::::::::::::::::::::::  */
.Heading.Type10{
  font-size: 120%;
  position: relative;
  font-weight: 400;
  margin: 5px 0 1em;
  width:100%;
  padding: 0.8em 1em 0.8em 1em;
  color:#fff;
  background:#00a0dd;
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.15);
  border-radius:0px;
  text-align:center;
  color:#fff;
  background:#ea1c0c;
}
    .Heading.Type10::before{
      content: "";
      height: 50px;
      width: 0.2em;
      display: block;
      position: absolute;
      left: 0;
      top:   50%;
      margin-top:-25px;
      background: #fff;
      border-radius:0 2px 2px 0 ;
    }
    .Heading.Type10::after{
      content: "";
      height: 50px;
      width: 0.2em;
      display: block;
      position: absolute;
      right: 0;
      top:   50%;
      margin-top:-25px;
      background: #fff;
      border-radius:2px 0  0  2px ;
    }
    .Heading.Type10 .Main{
      margin-left:0px;
    }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type10{
          font-size: 110%;
          margin: 0 0 1em;
          width:100%;

        }
        body.rsbp-under-bp3 .Heading.Type10{
          font-size: 110%;
          margin: 0 0 1em;
          width:100%;
        }


/* Type11 :::::::::::::::::::::::::  */
.Heading.Type11{
  font-size: 160%;
  position: relative;
  font-weight: 400;
  margin: 1em 0 1em;
  width:100%;
  padding: 0.8em 2em 0.8em 2em;
  color:#222;
  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; 
  text-align:left;
  
/* 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 */

  
-webkit-background-clip: text;
background-image: linear-gradient(to right, #2328c4, #30e214);
background-image: linear-gradient(to right, #2328c4, #02afff);
background-image: linear-gradient(to right, #2328c4, #00a0dd);
-webkit-text-fill-color: transparent;
text-shadow: 0 0.04em 0.18em rgba(0,0,0,0.2);
}
/*IE対策*/
html.ie .Heading.Type11{
  background:none;
  color:#491fa4;
  text-shadow: 0 0.04em 0.18em rgba(0,0,0,0.3);
}
    .Heading.Type11::before{
      content: "";
      height: 100%;
      width: 2px;
      display: block;
      position: absolute;
      left: -2px;
      top:   0px;
      background: #00a0dd;
    }
/*
    .Heading.Type11::after{
      content: "";
      height: 100%;
      width: 2px;
      display: block;
      position: absolute;
      left: -2px;
      top:   0px;
      background: #00a0dd;
    }
*/
    .Heading.Type11 .Main{
      margin-left:0px;
    }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type11{
          font-size: 110%;
          margin: 0 0 1em;
          width:100%;

        }
        body.rsbp-under-bp3 .Heading.Type11{
          font-size: 110%;
          margin: 0 0 1em;
          width:100%;
          padding: 0.5em 1em;
        }





p.DefaultText.Small{
  font-size:90%;
  line-height:1.5;
}



.Heading.TypeS{
  margin-left:40px;
  font-size:120%;
}
.Heading.TypeS span.icon-search::before{
  color:#383c94;
  font-size:160%;
  position: absolute;
  left: -40px;
  top: -10px;
}

.Heading.TypeS2{
  margin-left:10px;
  margin-top:30px!important;
}





    
/* Type31 :::::::::::::::::::::::::  */
.Heading.Type31 {
  font-size: 125%;
  position: relative;
  padding: 0.375em 0px;
  margin: 2.5em 0 0.5em;
}
    .Heading.Type31::before{
      content: "";
      height:  0px;
      width: 100%;
      display: block;
      position: absolute;
      background: #222;
      width: 100%;
      left:0;
      bottom:0px;
    }
    .Heading.Type31::after{
      content: "";
      width: 0.25em;
      display: block;
      position: absolute;
      /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#111986+0,1950c6+100&0.4+0,0.27+100 */
      background: -moz-linear-gradient(left,  rgba(17,25,134,0.7) 0%, rgba(25,80,198,0.5) 100%); /* FF3.6-15 */
      background: -webkit-linear-gradient(left,  rgba(17,25,134,0.7) 0%,rgba(25,80,198,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to right,  rgba(17,25,134,0.7) 0%,rgba(25,80,198,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66111986', endColorstr='#451950c6',GradientType=1 );  IE6-9 */
      -webkit-transition: all .2s;
              transition: all .2s;
      left: 0;
      height:4px;
      width: 100%;
      bottom:0px;
      
    }
    .Heading.Type31 .Main{
      font-size:140%;
      color:#4e3c33;
      padding:10px;
      line-height:80px;;
    }

    .Heading.Type31 .Sub{
      width:90px;
    }
    .Heading.Type31 .Sub img{
      width:100px;
      overflow:hidden;
      margin:-5px;
    }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp1 .Heading.Type31::before{
          /*width: 0.125em;
          left: -1em;*/

        }
        body.rsbp-under-bp1 .Heading.Type31::after{
          /*width: 105%;*/
         
        }
        body.rsbp-under-bp2 .Heading.Type31{
          border-left: 4px solid #003893;
          padding-left: 5px;
          position:relative;
          min-height:40px;
        }
        body.rsbp-under-bp2 .Heading.Type31::before{
          display: none;
        }
        body.rsbp-under-bp2 .Heading.Type31::after{
          width: 100%;
          left: 0px;
          height:1px;
          background: #222;
          
        }
        body.rsbp-under-bp2 .Heading.Type31 .Main{
          font-size: 100%;
          color: #4e3c33;
          padding: 10px;
          line-height: 1.2;
          display: block;
          margin-left:40px;
        }
        body.rsbp-under-bp2 .Heading.Type31 .Sub{
          width:40px;
          position:absolute;
          left:1px;
        }
        body.rsbp-under-bp2 .Heading.Type31 .Sub img{
          width:40px;
          overflow:hidden;
          margin:0;
        }
        body.rsbp-under-bp2 .Heading.Type31:not(.Unit)  .Main,          
        body.rsbp-under-bp2:not(.ServicePage) .Heading.Type31 .Main{
          margin-left:0px;
        }
       
        body.rsbp-under-bp3.PcView .Heading.Type31 .Main{
          /*padding-right:170px;*/
          line-height:1.3;
        }
        body.rsbp-under-bp3.PcView .Heading.Type31 .Main::before{
          /*content: "";
          float:right;
          width:170px;
          height:1px;
          position:static;
          display:block;*/
        }
        body.rsbp-under-bp3.PcView .SectionItem{
          padding-top:0.01em;
        }
        body.rsbp-under-bp3.PcView .TextItem.SectionDetail .GaiyoComment {
          padding: 10px 30px 20px 30px;
        }
        
        
 /*300+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width: 320px) {
/*        body.rsbp-under-bp3.PcView .Heading.Type31 .Main::before{
          display:none;
        }

        body.rsbp-under-bp3.PcView .SectionItem{
          padding-top:2em;
        }
*/

}/*300++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/


        
.DefaultParagraph > .Heading.Type31{
  margin-top:1em;
}




/* common :::::::::::::::::::::::::  */
div:not(.SectionItem) > .Heading:first-child{
  margin-top: 0;
}

/* レスポンシブ用改行 */
body.rsbp-under-bp2 br.BrForWide{
  display: none;
}
body.rsbp-over-bp2  br.BrForNarrow{
  display: none;
}
    /* 見出しの中の改行を省く */
    body.rsbp-under-bp3 .Heading br{
      display: none;
    }

/*共通ここまで--------------------------------------------------------------*/


/*例外*/
div:not(.SectionItem) > .Heading.Type6:first-child {
  margin-top: 2em;
}



        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-over-bp3 div:not(.SectionItem) > .Heading.Type6:first-child {
          margin-top: 2em;
        }
        /*body.rsbp-over-bp3 .QuestionList .InfoSide{
          display:block!important;
        }
        body.rsbp-over-bp3 .QuestionList .toggle.Heading::before{
          display:none!important;
        }
        */




/* DefaultText
--------------------------------------------------- */
.DefaultText{
}
.DefaultTextNon{
  display:none;
}
.ContentsDivision .DefaultText{
  line-height: 2;
}

.ContentsDivision .DefaultText.FontSizeSmaller,
.ContentsDivision .DefaultText.FontSizeSmall{
  line-height: 1.5;
}
.DefaultText em{
  /*color: #ff1f25;*/
}
p.DefaultText{
  margin: 0 0 1em;
}
p.DefaultText:last-child{
  margin-bottom: 0;
}
ul.DefaultText,
ol.DefaultText,
dl.DefaultText{
  line-height: 1.5;
  margin: 0.5em 0 0.5em 1.5em;
}
ul:not([class]),
ol:not([class]),
dl:not([class]){
  margin: 0.5em 0 0.5em 1.5em;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 .DefaultText{
          
        }

p.BodyCopyText{
  line-height: 2;
  margin: 0 0 1em;
  letter-spacing:0.1em;
  font-size:1.05rem;
}

        /* + + + + + レスポンシブ + + + + +  */
        /*SP用br削除後の半角余白対策*/
        
        body.rsbp-under-bp2.PcView p.BodyCopyText br{
          display:none;
        }
        
        
        body.rsbp-under-bp2.SpView p.BodyCopyText br{
          display:inline;
        }

        body.rsbp-under-bp2.SpView p.BodyCopyText br {
          content: '';
        }
        body.rsbp-under-bp2.SpView p.BodyCopyText br:after {
          margin-right: -0.333em;
          content: '';
        }



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






/* AttentionText
--------------------------------------------------- */
.AttentionText{
  color: #e10915;
  padding: 1em;
  border: 1px dotted;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 .AttentionText{
          font-size: 87.5%;
        }

/* Caption
--------------------------------------------------- */
.Caption{
  display: block;
  font-size: 75%;
  line-height: 1.5;
  display: block;
  margin: 1em 0;
  text-align: center;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 .Caption{
          font-size: 83.5%;
        }
        
.Caption .SubText{
  display:inline-block;
}



/* ImageBox
--------------------------------------------------- */
.ImageBox{
}
    .ImageBox p{
      margin: 0 0 10px;
    }

ul.ImageLinkListTpl.Type1{
  list-style: none;
}
    ul.ImageLinkListTpl.Type1 li{
      overflow: hidden;
      display: inline-block;
      background: #fff;
      position: relative;
    }
    ul.ImageLinkListTpl.Type1 li:hover{
      border: 1px solid #fff;
      box-sizing: border-box;
    }
        ul.ImageLinkListTpl.Type1 li a{
        }
            ul.ImageLinkListTpl.Type1 li img{
              width: 100%;
              position: relative;
              z-index: 1;
              -moz-transition: -moz-transform 0.2s linear;
              -webkit-transition: -webkit-transform 0.2s linear;
              -o-transition: -o-transform 0.2s linear;
              -ms-transition: -ms-transform 0.2s linear;
              transition: transform 0.2s linear;
            }
            ul.ImageLinkListTpl.Type1 li:hover img{
              -webkit-transform: scale(1.1);
              -moz-transform: scale(1.1);
              -o-transform: scale(1.1);
              -ms-transform: scale(1.1);
              transform: scale(1.1);
              opacity: 0.9;
            }
            ul.ImageLinkListTpl.Type1 li .figcaption{
              position: absolute;
              bottom: -3em;
              left: 0;
              z-index: 2;
              width: 100%;
              padding: 0.6em 0;
              line-height: 1em;
              font-weight: bold;
              font-size: 90%;
              color: #fff;
              background: rgba(0, 0, 0, 0.5);
              -moz-transition: -moz-transform       0.2s linear;
              -webkit-transition: -webkit-transform 0.2s linear;
              -o-transition: -o-transform           0.2s linear;
              -ms-transition: -ms-transform         0.2s linear;
              transition: transform                 0.2s linear;
            }
            ul.ImageLinkListTpl.Type1 li:hover .figcaption{
              bottom: -30px;
              -webkit-transform: translateY(-30px);
              transform: translateY(-30px);
            }
.SknTplThumbnailList ul.ColumnGroup li.Column .ImageItem{
  overflow:hidden;
}


.SknTplThumbnailList ul.ColumnGroup li.Column a img{
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
  -ms-transition: all 0.15s;
  -o-transition: all 0.15s;
  transition: all 0.15s;
}



/*主にトップページ*/

.SknTplThumbnailList ul.ColumnGroup li.Column a:hover img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    opacity: 0.9;
    
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}




/*余白調整*/
.SknTplTextList ul.TextList > li{
  padding: 0;
}
.SknTplTextList ul.TextList > li > a{
  margin: 0;

}
.SknTplTextList ul.TextList > li a span{
  margin-left: -0.2em;
}

.SknTplTextList ul.TextList > li.LinkText{
  padding: 0.75em 0.5em 0.75em 3em;
  display: block;
  text-decoration: none;
  position: relative;
} 


/* tooltip（未使用）
--------------------------------------------------- */
.Tooltip {
  border-bottom: 1px dashed;
  cursor: pointer;
  margin: 0 0.25em;
}
.Tooltip::before{
  margin-right: 0.25em;
  color: #2098d1;
}
.Tooltip:hover {
  border-bottom: none;
}
    .ui-tooltip {
      box-shadow: none;
      border: 2px solid #2098d1;
      background: white;
      width: 40em;
      max-width: 50%;
      padding: 25px;
      z-index: 100;
    }
    .ui-tooltip * {
      line-height: 2!important;
      font-size: 100%;
    }


/* PhoneNumberText
--------------------------------------------------- */
.PhoneNumberText{
  color: inherit;
  font-size: 175%;
  /*font-weight: bold;*/
  font-family: "Arial";
  vertical-align: baseline;
  white-space: nowrap;
  position:relative;
}

/* tel link
--------------------------------------------------- */
.TelLink{
  color: #505050!important;
  text-decoration: none!important;
}
.TelLink:hover{
  text-decoration: none!important;
}
body.SpView .TelLink{
  color: #092b7d !important;
}



/* mail link
--------------------------------------------------- */
.MailLink{
  color: #116cc1!important;
}
.MailLink:hover{
  border-bottom: 1px solid
}

/* sup
--------------------------------------------------- */
sup{
  font-size: x-small;
  line-height: 1.1;
}

/* Local link
--------------------------------------------------- */
a.ButtonLocal,
a.ButtonLocalLink{
  padding:0.5em;
  margin:5px;
  border:1px solid #aaa;
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.3);
  border-radius: 0.2em;
  -webkit-transition: color .2s, background-color .2s;
  transition: color .2s, background-color .2s;
  border:1px solid #aaa;

  background: rgba(255,255,255,0.7);
  background-image: -webkit-repeating-linear-gradient(-90deg, rgba(68,76,186,0.05), rgba(68,76,186,0.05) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  background-image:         repeating-linear-gradient(-90deg, rgba(68,76,186,0.05), rgba(68,76,186,0.05) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.15);
}


        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 a.ButtonLocal,
        body.rsbp-under-bp3 a.ButtonLocalLink{
          padding-left: 50px;
          text-indent: -40px;
        }



a.ButtonLocalLink:hover,
a.ButtonLocal:hover{
  background: #222;
  color:#fff;
}
a.ButtonLocalLink::before,
a.ButtonLocal::before{
  content: '\e854';
  font-family: "picticon";
  font-style: normal;
  font-weight: normal;
  /*speak: none;*/
  margin-right: 0;
  padding-right:0;
  color:#b5e61d;
  border-right: 0px dotted;
}
a:hover.ButtonLocalLink::before,
a:hover.ButtonLocal::before{
  color:#fff;
}

/*外部リンク*/

a.ButtonLocalLink::after{
  content: '\f08e';
  font-family: "picticon";
  font-style: normal;
  font-weight: normal;
  font-size:80%;
  /*speak: none;*/
  margin-left: 0.2em;
  padding-left:0.2em;
  opacity:0.7;
  filter: alpha(opacity=70);/* ie lt 8 */
}


.AfterLInk{

}
.AfterLInk::after{
  content: '\f08e';
  font-family: "picticon";
  font-style: normal;
  font-weight: normal;
  font-size:70%;
  /*speak: none;*/
  margin-left: 0.15em;
  padding-left:0.15em;
  border-left: 0px dotted;
  opacity:0.8;
  filter: alpha(opacity=80);/* ie lt 8 */
}

.PanelM .AfterLInk::after{
  margin-left: 0.2em;
  padding-left:0.5em;
  font-size:60%;
  opacity:0.7;
  filter: alpha(opacity=70);/* ie lt 8 */
}

.OuterBlock .BlockContents ul li a::after{
  content: '\f08e';
  font-family: "picticon";
  font-style: normal;
  font-weight: normal;
  font-size:70%;
  /*speak: none;*/
  margin-left: 0.15em;
  padding-left:0.15em;
  border-left: 0px dotted;
  opacity:0.8;
  filter: alpha(opacity=80);/* ie lt 8 */
}



/* Map link
--------------------------------------------------- */
a.Map{}
a.Map::before{
  content: '\e87a';
  font-family: "picticon";
  font-style: normal;
  font-weight: normal;
  /*speak: none;*/
  margin-right: 0.2em;
  color:#00a0dd;
}

/*強調*/
span.PickUpWord{
  font-weight:bold;
  margin-left:0.2em;
  color:#00a0dd;
  padding:0.1em 0.5em;
}

/*強調*/
em.Main{
  color:red;
  font-weight:bold;
  font-size:110%;
  border: 1px solid #ff5b7c;
  border-radius: 0.2em;
  padding:0 0.2em;
  display:inline-block;
}
em.Sub{
  color:#222;
  font-weight:bold;
  font-size:105%;
  border: 1px solid #222;
  border-radius: 0;
  padding:0 0.2em;
  display:inline-block;
  line-height:2;
  margin:2px 0;
}

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 em.Sub {
          
        }



/* 丸付き文字
--------------------------------------------------- */
.Circled{
  color: #fff;
  background: #aba0d5;
  border-radius: 1.5em;
  display: inline-block;
  width: 1.5em;
  line-height: 1.5em;
  text-align: center;
  vertical-align: middle;
}

/* font
--------------------------------------------------- */

/* basic */
.fontSansSerif{
  font-family: "Verdana", "Meiryo", "Hiragino Kaku Gothic ProN", "Arial", "Century Gothic", sans-serif;
}
.fontSerif{
  font-family: "Times New Roman", "Hiragino Mincho ProN", "HiraMinProN-W3", "MS PMincho", serif;
}
.fontMonospace{
  font-family: "Osaka-mono", "MS Gothic", monospace;
}
.fontNumber{
  font-family: "Arial";
}
/* webfont */
.fontJapanese,
.Heading,
.hvr-more:before,
th {
  font-family: "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif;
   -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
/*           font-smooth:    always; w3c*/
      -webkit-transform: rotate(0.001deg);
              transform: rotate(0.001deg);
}
.fontEnglish {
  font-family: "Arial", "Century Gothic", sans-serif;
}


/* FontSize
--------------------------------------------------- */
.FontSizeXLarge,
.DefaultText.FontSizeXLarge{
  font-size: 200%;
}
.FontSizeLarge,
.DefaultText.FontSizeLarge{
  font-size: 150%;
}
.FontSizeLarger,
.DefaultText.FontSizeLarger{
  font-size: 125%;
}
.FontSizeNormal,
.DefaultText.FontSizeNormal{
  font-size: 100%;
}
.FontSizeSmaller,
.DefaultText.FontSizeSmaller{
  font-size: 87.5%;
}
.FontSizeSmall,
.DefaultText.FontSizeSmall{
  font-size: 75%;
}
.FontSizeXSmall,
.DefaultText.FontSizeXSmall{
  font-size: 62.5%;
}

/* FontWeight
--------------------------------------------------- */
.FontWeightNormal{
  font-weight: normal;
}
.FontWeightBold{
  font-weight: bold;
}

/* TextAlign
--------------------------------------------------- */
.TextAlignCenter{
  text-align: center;
}
.TextAlignLeft{
  text-align: left;
}
.TextAlignRight{
  text-align: right;
}
.TextAlignJustify{
  text-align: justify;
}
/* TextOverFlowNone
--------------------------------------------------- */
.TextOverFlowNone{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* NoWrap
--------------------------------------------------- */
.NoWrap{
  white-space: nowrap;
}


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   MessageBox                                     */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* MessageBox
--------------------------------------------------- */
.MessageBox{
  padding: 30px 0 50px;
  margin: 1em auto;
  width: 75%;
  text-align: center;
  background: rgba(255,255,255,0.5);
  border: 4px solid rgba(104,88,148,0.5);
  color: rgba(104,88,148,1);
  border-radius: 10px;
  position: relative;
}
    .MessageBox .Heading{
      font-size: 125%;
      margin: 0 0 1em;
      font-weight: bold;
    }
    .MessageBox .Heading .Icon{
      display: block;
      font-size: 300%;
      color: rgba(104,88,148,0.75);
      text-align: center;
    }
    .MessageBox .Heading .Label{
        
    }
    
    .MessageBox .DefaultText{
      text-align: center;
      line-height: 1.3;
      font-size: 87.5%;
      margin: 0;
    }
    /* options */
    .MessageBox.Caution{
      color: #222;
      color: inherit;
      background: #f5f47a;
    }
    .MessageBox.Clear .Heading{
      color: #4584ed;
    }
    .MessageBox.Error .Heading{
    }
    
    
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 .MessageBox{
          width: 100%;
        }
        
        /* + + + + + /レスポンシブ + + + + +  */
    

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   GoPageTop                                      */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/* GoPageTop
--------------------------------------------------- */
.GoPageTop{
  font-size: 65%;
  line-height: 1;
  vertical-align: bottom;
  margin-top:1em;
  margin-bottom:2em;
  
}
.GoPageTop a{
  margin:0 auto;
  width:216px;
  display: block;
}

.GoPageTop a img{
  width:221px;
}



/* GoPageTop
--------------------------------------------------- 
.GoPageTop{
  font-size: 65%;
  display: inline-block;
  line-height: 1;
  vertical-align: bottom;
  margin-left: -3.5em;
}
.GoPageTop *{
  line-height: 1;
  vertical-align: bottom;
}
    .GoPageTop p{
      display: inline-block;
    }
    .GoPageTop p a{
      width:  7em;
      height: 7em;
      text-align: center;
      vertical-align: middle;
      display: table-cell;
      position: relative;
      font-weight: normal;
      border-radius: 100%;
      -webkit-transition: all .2s;
              transition: all .2s;
      width:  6em;
      height: 6em;
    }
    .GoPageTop p a{
      background:none;
      border:3px solid #fff;
    }
    .GoPageTop p a *{
      color: #fff;
    }
    .GoPageTop p a .Label{
      position: relative;
      top: 1em;
      top: 1.2em;
      font-size: 112.5%;
    }
    .GoPageTop p a .Icon{
      font-size: 150%;
      width: 100%;
      display: block;
      text-align: center;
      position: absolute;
      top: -0em;
      -webkit-transition: all .2s;
              transition: all .2s;
      top:5px;
      top:12px;
    }
    
    
    .GoPageTop p a:hover{
      
    }
    .GoPageTop p a:hover .Label:before{
      top: -0.3em;
    }
    .GoPageTop p a:hover img{
      opacity:1!important;
    }
    */
    

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Button 等                                      */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */


/* 汎用ボタン ※詳細な書式はSknTplTextButtonで定義
--------------------------------------------------- */
.Button,
.Button *{
  vertical-align: middle;
}
/* 汎用ボタン（シンプルver）
--------------------------------------------------- */
.SimpleButton,
.SimpleButton *{
  vertical-align: middle;
}
.SimpleButton{
  border: 1px solid;
  border-radius: 3em;
  text-align: center;
  display: inline-block;
}
.SimpleButton .Label{
  width: auto;
  line-height: 3em;
  padding: 0 2em;
}

/*  Localボタン
--------------------------------------------------- */
.Local.Button{
  color: #333;
  background: rgba(34,34,34,0.875);
  border: none;
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.3);
  border-radius: 0.2em;

  border:1px solid #aaa;
  background: rgba(255,255,255,0.7);
  background-image: -webkit-repeating-linear-gradient(-90deg, rgba(90,181,169,0.1), rgba(90,181,169,0.1) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  background-image:         repeating-linear-gradient(-90deg, rgba(90,181,169,0.1), rgba(90,181,169,0.1) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.15);
}
.Local.Button:hover{
  background: rgba(34,34,34,1);
  color:#fff;
}
.Local.Button:hover *{
  color: #fff;
}
.Local.Button span::before{
  color:#00a0dd;

}
.Local.Button:hover span::before{
  color:#fff;

}

/* TextButton
--------------------------------------------------- */
.TextButton {
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'Meiryo', Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: inline-block;
  color: #fff;
  background: #383c94;
  line-height: 1;
  text-align: center;
  margin: 0.2em;
}
    .TextButton .Label{
      display: inline-block;
      padding: 0.5em 2em;
      letter-spacing: -0.05em;
    }
    
    a.TextButton:before{
      content: "";
    }
    a.TextButton{
      position: relative;
    }
    
        a:hover .TextButton .Label:before,
        a .TextButton:hover .Label:before{
          -webkit-animation: blink .5s ease -2s infinite alternate;
             -moz-animation: blink .5s ease -2s infinite alternate;
              -ms-animation: blink .5s ease -2s infinite alternate;
        }
    
    /* Small size */
    .TextButton.SmallButton{
      font-size: 87.5%;
      margin: 0.1em;
    }
        .TextButton.SmallButton .Label{
          padding: 0.4em 0.6em;
        }
        
        
                /* + + + + + レスポンシブ + + + + +  */
                body.rsbp-under-bp2 .TextButton .Label{
                  padding: 0.5em 1em;
                }
                /* + + + + + レスポンシブ + + + + +  */


/*詳細*/

/* TextButton
--------------------------------------------------- */
.ShopIndex .TextButton {
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'Meiryo', Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: inline-block;
  color: #fff;
  background: #383c94;
  line-height: 1;
  text-align: center;
  margin: 0.2em;
  
  margin: 0.2em auto;
  width: 96%;
}
    .ShopIndex .TextButton .Label{
      display: inline-block;
      padding: 0.5em 2em;
      letter-spacing: -0.05em;
      
      padding: 0.5em 0;
      display: block;
    }



/* menu-trigger (ハンバーガーメニュー)
--------------------------------------------------- */
.MenuTrigger{
}
    .menu-trigger,
    .menu-trigger p,
    .menu-trigger span {
      display: inline-block;
      transition: all .4s;
    }
    .menu-trigger {
      padding: 0.5em;
      position: relative;
    }
    .menu-trigger .Icon {
      position: relative;
      width:  3.5em;
      height: 3em;
    }
    .menu-trigger .Icon span.Shape {
      position: absolute;
      left: 0;
      width: 100%;
      height: 4px;
      background-color: #333;
    }
    .menu-trigger .Icon span.Shape:nth-of-type(1) {
      top: 0.25em;
    }
    .menu-trigger .Icon span.Shape:nth-of-type(2) {
      top: 1.5em;
    }
    .menu-trigger .Icon span.Shape:nth-of-type(3) {
      top: 2.75em;
    }
    .menu-trigger .Label {
/*      position: absolute;
      width: 100%;
      font-size: 125%;
      bottom: 50%;
      bottom: -webkit-calc(50% - 0.65em);
      bottom:         calc(50% - 0.65em);
      right: 100%;
      display: block;
      text-align: center;
*/
/*      bottom: -23px;
      right: -webkit-calc(50% - 1.75em);
      right:         calc(50% - 1.75em);
*/
    }

    .menu-trigger .Label {
      position: absolute;
      width: 100%;
      font-size: 110%;
      /*bottom: -36%;*/
      bottom: -25%;
      right: 0;
      display: block;
      text-align: center;
      margin-top:0;
    }



    /* Active */
    .menu-trigger.Active{
      background: rgba(0,0,0,0);
    }
    .menu-trigger.Active .Label{
    }
    .menu-trigger.Active .Icon span.Shape{
      background-color: #333;
    }
    .menu-trigger.Active .Icon span.Shape:nth-of-type(1) {
      -webkit-transform: translateY(1.25em) rotate(-315deg);
              transform: translateY(1.25em) rotate(-315deg);
    }
    .menu-trigger.Active .Icon span.Shape:nth-of-type(2) {
      opacity: 0;
    }
    .menu-trigger.Active .Icon span.Shape:nth-of-type(3) {
      -webkit-transform: translateY(-1.25em) rotate(315deg);
              transform: translateY(-1.25em) rotate(315deg);
    }

/* BreadCrumb（パンくず）
--------------------------------------------------- */
.BreadCrumb {
  margin: 0 auto;
  padding: 0 10px;
  font-size: 75%;
  line-height: 3em;
  z-index: 10;
  position: relative;
}
    .BreadCrumb p{
      padding-left: 15px;
      color: rgba(255,255,255,1);
      color:#333;
      margin-top: 5px;
    }
    .BreadCrumb p *{
    }
    .BreadCrumb p .Partition{
      color: rgba(255,255,255,0.375);
      color:#333;
      padding: 0 0.5em;
      display: inline;
    }
    /* Unit */
    .BreadCrumb p .Unit{
      text-align: left;
    }
    .BreadCrumb p a:hover{
      text-decoration: underline;
    }
    .BreadCrumb p .Unit.Last{
      font-weight: bold;
      font-weight: normal;
      color: #fff;
      color: #333;      
    }
    .BreadCrumb p .Unit.Home span.Icon{
      padding-right:0.3em;
      color:#333;
    }
    .Partition {
      display: inline;
    }
    
    /* + + + + + レスポンシブ + + + + +  */
    body.rsbp-under-bp3 .BreadCrumb {
      display: none;
    }
    /* + + + + + レスポンシブ + + + + +  */


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   effect                                         */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* 角丸
--------------------------------------------------- */
.Rounded{
  border-radius: 1em;
  overflow: hidden;
}

/* 影付き
--------------------------------------------------- */
.Shadow{
  box-shadow: 0.25em 0.25em 0 rgba(45,90,190,0.25);
}

/* blur エフェクト
--------------------------------------------------- */
.Blur{
  -webkit-filter: blur(5px);
          filter: blur(5px);
}




/* トランジション対象
--------------------------------------------------- */
    #HeaderDivision a{
      -webkit-transition: color .2s,  background-color .2s;
              transition: color .2s,  background-color .2s;
    }
    #HeaderDivision .MainMenuBlock .MainMenu li,
    #HeaderDivision .MainMenuBlock .BlockFooter ,
    #HeaderDivision .MainMenuBlock .BlockFooter a{
      -webkit-transition: all .2s;
              transition: all .2s;
    }
    /*#HeaderDivision .MainMenuBlock .MainMenu li.Active,*/
    body.rsbp-over-bp2 #HeaderDivision .MainMenuBlock .MainMenu li:hover{
      /*background: rgba(213,218,0,0.1);*/
    }
    
    
    /*
    #ContentsDivision .ImageItem,
    #ContentsDivision .TextItem,
    #ContentsDivision .Image,
    #ContentsDivision .Heading,
    #ContentsDivision a,
    #ContentsDivision a::before{
      -webkit-transition: all .2s;
              transition: all .2s;
    }
    */
    /* ページ幅 
    #ContentsDivision .PageWidthSetter{
      -webkit-transition: max-width .2s, padding .2s;
              transition: max-width .2s, padding .2s;
    }
    */

/* 各種hover効果
--------------------------------------------------- */



    /* hoverエフェクト共通 */
    [class^="hvr-"],
    [class*=" hvr-"] {
      -webkit-transition: all .2s;
              transition: all .2s;
    }
    
    /* default */
    .hvr-default{
    }
        .hvr-default:hover{
          background: #222;
          /*background: #3F1111;*/
          color: #fff;
        }

    .hvr-default.TypeC1{
      background: rgba(255,255,255,0.15);
    }
        .hvr-default.TypeC1:hover{
          background: #222;
          color: #fff;
        }



    /* brightness */
    .hvr-brightness-up{
    }
        .hvr-brightness-up:hover{
          -webkit-filter: brightness(1.1);
                  filter: brightness(1.1);
        }
        .hvr-brightness-down{
        }
        .hvr-brightness-down:hover{
          -webkit-filter: brightness(0.9);
                  filter: brightness(0.9);
        }
    
    /* outline */
    .hvr-outline{
      outline: 0px solid #f00;
      -webkit-transition: all .1s;
              transition: all .1s;
    }
        .hvr-outline:hover{
          outline: 5px solid #f00;
          z-index: 15;
        }
        .hvr-outline:hover .Icon:before{
          -webkit-transform: scale(1.25);
                  transform: scale(1.25);
        }
    
    
    /* zoom */
    .hvr-zoom{
      z-index: 10;
      display: inline-block;
    }
        .hvr-zoom:hover{
          position: relative;
          z-index: 15;
          -webkit-transform: scale(1.25);
                  transform: scale(1.25);
        }
    /* more */
    .hvr-more{
      position: relative;
    }
        .hvr-more:before{
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          -webkit-transition: all .5s;
                  transition: all .5s;
          content: attr(title);
          white-space: nowrap;
          display: block;
          position: absolute;
          bottom: 30px;
          left:   20px;
          font-size: 112.5%;
          font-weight: 600;
          line-height: 1.125em;
          color: #fff;
          z-index: 20;
          text-align: center;
          vertical-align: middle;
          opacity: 0;
        }
        .hvr-more:hover:before{
          left:   50px;
          opacity: .9;
        }
                /* アイコン */
                .hvr-more .Icon{
                  color: #fff;
                  position: absolute;
                  bottom: 30px;
                  left:   30px;
                  z-index: 21;
                  font-size: 100%;
                  line-height: 1.125em;
                  -webkit-transform: scale(2);
                          transform: scale(2);
                  opacity: 0.0;
                  vertical-align: bottom;
                }
                .hvr-more:hover .Icon{
                  opacity: 1;
                }

    /* 画像へのリンクなら「＋」を表示 */
    a[href*=".jpg"]::before{
      content: "＋";
      font-size: 150%;
      line-height: 1.5em;
      width: 1.5em;
      background: #0e3382;
      color: #fff;
      position: absolute;
      text-align: center;
      vertical-align: middle;
      z-index: 10;
      display: inline-block;
      bottom: 5px;
      right:  -5px;
      opacity: 0;
    }
    a[href*=".jpg"]:hover::before{
      opacity: 1;
      right:  5px;
    }

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   link                                           */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* anchor
--------------------------------------------------- */
a{
  color: inherit;
  text-decoration: none;
  display: inline-block;
}
a:link {
}
a:visited {
}
a:active{
}
a:hover {
  /*text-decoration: underline;*/
}



/* image link
--------------------------------------------------- */
a img{
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
a:hover img{
  opacity: 0.75;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}

a[href*=".jpg"]{
  position: relative;
}


/*サイト内検索*/
.Search-head{
  margin-left:5px; 
  text-align: left;
}
.Search-head .SearchContentsMenu{
  width:250px;
}
.Search-head #ContentC{
  display:none;
}
.Search-head #ContentSpc{
  display:none;
}
.Search-head #ContentQ{
  width:190px; 
  margin:0; 
  height:20px;  
  background:#ffffff; 
  border:none;
}
.Search-head #ContentSpq{
  width:190px; 
  margin:0; 
  height:20px;  
  background:#ffffff; 
  border:none;
}
.Search-head .submit{
  display:inline-block; 
  width:25px; 
  height:25px; 
  overflow:hidden; 
  position: absolute; 
  margin:0;
}
.Search-head input[type="submit"]{
  padding:10px 0 0 50px;
  margin:-2px 0 0 -2px;
  background: url(../img/common/button/button_search_b.png) no-repeat 1px 1px;
  background-size:21px auto;
  cursor: pointer;
}
.Search-head .search-box{
  width:230px;
}
.Search-head #ContentSearchForm{
  width:100%;
}
.Search-head{}

    /* + + + + + レスポンシブ + + + + +  */
    body.SpView .Search-head input[type="submit"]{
      padding:10px 0 0 50px;
      margin:-2px 0 0 -2px;
      background: url(../img/common/button/button_search_b.png) no-repeat 1px 1px;
      background-size:21px auto;
      cursor: pointer;
    }

/*スマートフォンサイト内検索*/
.SpArea01{
	border-top: 1px solid #b5b5b5;
/*	border-bottom: 1px solid #5b73a8;*/
	z-index: 10998;
	clear: both;
    background: url(../img/common/decoration/image-bg-menu-header.png) repeat-x  bottom center ;
}
.SpArea01 .LayoutBlock{}
.SpArea01 .LayoutBlock .BlockContents{position: relative; text-align:center;}
.SpArea01 .LayoutBlock .BlockContents .Search-head{display:inline-block;}
.SpArea01 .LayoutBlock .BlockContents .Search-head .SearchContentsMenu{width:220px;}
.SpArea01 .LayoutBlock .BlockContents .Search-head .search-box{width:200px;}
.SpArea01 .LayoutBlock .BlockContents .Search-head #ContentQ{width:160px;}
.SpArea01 .LayoutBlock .BlockContents .Search-head .submit{}

.SpArea01 .LayoutBlock .BlockContents .Search-head input[type="submit"]{}

.SpArea01 .LayoutBlock .GlovalLink{width:60px; display:inline-block;}






/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   TabMenu Setting                                */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */


/* TabMenu （Type1:装飾付き）
--------------------------------------------------- */
.TabMenu{
  padding: 30px;
  background: rgba(90,85,85,0.75);
}

    /* - - list - - */
    .TabMenu ul{
      list-style: none;
    }
    .TabMenu ul > li{
      display: block;
      float: left;
      /* width: 20%;  幅はcolumnで指定 */
    }
    .TabMenu ul > li a{
      display: block;
      padding: 1.25em 0 1em;
      background: #fff;
      text-align: center;
      border: 1px solid #e0e0e0;
    }
    .TabMenu ul > li .Label{
    }
    .TabMenu ul > li .Label .Main{
      display: block;
      font-size: 100%;
      line-height: 2;
      letter-spacing: 0.125em;
      font-weight: bold;
    }
    .TabMenu ul > li .Label .Sub{
      display: block;
      font-size: 62.5%;
      line-height: 1.5;
      color: #aaa;
      letter-spacing: 0.125em
    }
    /* hover */
    .TabMenu ul > li:not(.Active) a:hover{
      cursor: pointer;
      background: #eee;
    }
    .TabMenu ul > li:not(.Active) a:hover .Sub{
      color: #685894;
    }
    /* Invalid */
    .TabMenu ul > li.Invalid{
      display: none!important;
    }
    .TabMenu ul > li a.Invalid{
      /*opacity: 0.1!important;*/
      /*cursor: default!important;*/
    }
    .TabMenu ul > li a.Invalid:hover{
      cursor: default!important;
      background: #fff!important;
    }
    .TabMenu ul > li a.Invalid:hover .Sub{
      color: #aaa;
    }


    /* Active */
    .TabMenu ul > li.Active{
    }
    .TabMenu ul > li.Active a{
      color: #fff;
      background: #222;
      border-color: #f90;
    }
    .TabMenu ul > li.Active .Sub{
      color: #f90;
    }

.MovieMenuBox{
  position:relative;
  background: rgba(0,0,0,0.05);
}
.MovieMenuBox::after{
  content: "";
  position: absolute;
  height: 1px;
  background: #383c94;
  width:100%;
  visibility:visible;
}



/* TabMenu （Type1:装飾付き）
--------------------------------------------------- */
.TabMenu{
  list-style: none;
  width: 100%;
  padding: 30px 10px 2px;
  background:none;
}


    /* - - list - - */
    .TabMenu li{
      width: 25%;
      float: left;
      padding: 2px;
    }
    .TabMenu li a{
      display: block;
      padding: 0.75em 0.2em;
      text-align: center;
      background: linear-gradient( to right, rgba(136,0,86,0.3), rgba(136, 0, 86, 0.2));
      text-align: center;
      color: inherit;
      text-decoration: none;
      transition: 0.2s ease 0s;
      font-size: 90%;
      position: relative;
      top: 0;
    }
    /* hover */
    .TabMenu li a:hover{
      top: -7px;
      box-shadow: 0 -2px 0 #383c94 inset;
    }
    
    /* Invalid */


    /* Active */
    .TabMenu li a.Active{
      color: #fff;
      background: #383c94;
      top: -7px;
    }
    .TabMenu li a.Active:after{
      content: "";
      position: absolute;
      bottom: -8px;
      left: 50%;
      margin-left: -4px;
      display: block;
      width: 0px;
      height: 0px;
      border-style: solid;
      border-width: 8px 8px 0 8px;
      border-color: #383c94 transparent transparent transparent;
    }
    
    /* TabBoxes */
    .TabBoxes{
      padding: 2px;
    }
    .TabBoxes > div{
    }
    .TabBoxes #tabBox2,
    .TabBoxes #tabBox3,
    .TabBoxes #tabBox4{
      display:none;
    }


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    pagination                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* pagination
--------------------------------------------------- */
.pagination{
  text-align: center;
  background: rgba(0,0,0,0.125);
  background:none;
  padding: 0.5em 0;
  margin:  1em 0;
  font-size: 100%;
}
    .pagination a{
      background-image: none;
      text-decoration: none!important;
    }
    .pagination .number a,
    .pagination .number a:hover,
    .pagination .prev   a,
    .pagination .prev   a:hover,
    .pagination .next   a,
    .pagination .next   a:hover,
    .pagination .start  a,
    .pagination .start  a:hover,
    .pagination .end    a,
    .pagination .end    a:hover,
    .pagination .disabled,
    .pagination .current{
      font-family: 'Arial';
      display: inline-block;
      text-align: center;
      vertical-align: middle;
      text-decoration: none;
      line-height: 2.5em;
      width: 2.5em;
      padding: 0;
      background: #fff;
      color: #aaa;
      border: 2px solid #cccccc;
      margin: 2px;
    }
    .pagination .number a,
    .pagination .start  a,
    .pagination .end    a,
    .pagination .current{
    }
    .pagination         a:before{
      line-height: inherit;
    }
    .pagination .number a:hover{
      color: #fff;
      background-color: #333;
      border-color: #4d4d4d;
      text-decoration: none;
    }
    .pagination .current{
      color: #fff;
      background: #00a0dd;
      border: 2px solid #00a0dd;
    }
    .pagination .prev   a,
    .pagination .prev   a:hover,
    .pagination .next   a,
    .pagination .next   a:hover,
    .pagination .disabled{
      padding: 6px 5px;
    }
    .pagination .start  a:hover,
    .pagination .end    a:hover,
    .pagination .prev   a:hover,
    .pagination .next   a:hover{
      color: #fff;
      background-color: #222;
      border-color: #222;
    }
    .pagination .disabled{
      color: #aaa;
      background: #eee;
      border-color: #eee;
    }
    /* + + + + + レスポンシブ + + + + +  */
    body.rsbp-under-bp2 .pagination{
      font-size: 12px;
    }
    /* + + + + + /レスポンシブ + + + + +  */

/*  CategoryTopボタン
--------------------------------------------------- */
.CategoryTop.Button{
  color: #fff;
  background: rgba(34,34,34,0.875);
  border: none;
  
  color: #333;
  background: rgba(34,34,34,0.875);
  border: none;
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.3);
  border-radius: 0.2em;

  border:1px solid #aaa;
  background: rgba(255,255,255,0.7);
  background-image: -webkit-repeating-linear-gradient(-90deg, rgba(90,181,169,0.1), rgba(90,181,169,0.1) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  background-image:         repeating-linear-gradient(-90deg, rgba(90,181,169,0.1), rgba(90,181,169,0.1) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.15);

}
.CategoryTop.Button:hover{
  background: rgba(34,34,34,1);
}
.CategoryTop.Button:hover *{
  color: #fff;
}
.CategoryTop.Button span::before{
  color:#00a0dd;
}
.CategoryTop.Button:hover span::before{
  color:#fff;
}

    /* + + + + + レスポンシブ + + + + +  */
    body.SpView .SknTplTextButton .Button .Label {
      display: inline-block;
      padding: 0 1em 0 0.5em;
    }
    
    body.SpView .SknTplTextButton .Button .Label em {
      margin: 0 0.2em;
      vertical-align:top;
    }
    
    /* + + + + + /レスポンシブ + + + + +  */




/*  ContentsNavi（次のページ・前のページ ボタン）
--------------------------------------------------- */
.ContentsNavi.Button{
  border-width: 1px; 
}
    /* Button common */
    .ContentsNavi.Button{
      position: absolute;
      top: 0%;
      top: calc(50% - 2.75em);
      top: calc(50% - 2.30em);
      font-size: 80%;
    }
    .ContentsNavi.Button:hover{
      padding-right: 0;
      padding-left:  0;
    }
    .ContentsNavi.Button .Label{
      padding: 0 0.75em;
    }
    .ContentsNavi.Button .Icon{
      border: none;
    }
    .ContentsNavi.Button .Icon::before{
      line-height: inherit;
    }
    /* PrevButton */
    .ContentsNavi.Button.Prev{
      left: 0px;
    }
    .ContentsNavi.Button.Prev:hover{
      left: -5px;
    }
    .ContentsNavi.Button.Prev .Label{
      padding-left: 0;
    }
    /* NextButton */
    .ContentsNavi.Button.Next{
      right: 0px;
    }
    .ContentsNavi.Button.Next:hover{
      right: -5px;
    }
    .ContentsNavi.Button.Next .Label{
      padding-right: 0;
    }

    /* + + + + + レスポンシブ + + + + +  */
    body.rsbp-under-bp2 .ContentsNavi.Button,
    body.rsbp-under-bp2 .ContentsNavi.Button:hover{
      padding: 1em 0;
    }
    body.rsbp-under-bp2 .ContentsNavi.Button .Label{
      display: none;
    }
    /* + + + + + /レスポンシブ + + + + +  */



/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Column Setting                                 */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* ColumnGroup
--------------------------------------------------- */
.ColumnGroup{
  text-align: center;
}
    /* - - column common - -  */
    .ColumnGroup > .Column{
      width: 100%;
      margin: 0 auto 1.5em;
      text-align: left;
      text-align: justify;
    }
    .ColumnGroup > .Column > .inner{
      padding: 10px;
    }
    
    /* 要素数をクラス名に持たせて自動配置 ※ulにクラス名をつけて使用  */
    /* ColumnGroup（数字）elements が横並び数                         */
    /* FixedNumber をつけた場合は数を固定。それ以外は幅に応じて変化   */
    
    /* - - two columns - - */
    body                             .ColumnGroup4elements >             .Column:nth-child(1n),
    body                             .ColumnGroup3elements >             .Column:nth-child(1n),
    /*body.rsbp-over-bp3               .ColumnGroup2elements >             .Column:nth-child(1n),*/
    body.rsbp-over-bp2               .ColumnGroup2elements >             .Column:nth-child(1n),
    body:not([class*="rsbp"])        .ColumnGroup2elements >             .Column:nth-child(1n),
    body[class*="rsbp"]              .ColumnGroup2elements.FixedNumber > .Column:nth-child(1n) {
      width: 50%;
      float: left;
      /*2列*/
      width: 49.5%;
      width: 49.3%;
      /*width: 48.9%;*/
      float: none;
      display: inline-block;
      vertical-align: top;
      
    }
    
    /* - - three columns - - */
    body                             .ColumnGroup6elements >             .Column:nth-child(1n),
    body                             .ColumnGroup5elements >             .Column:nth-child(1n),
    body.rsbp-over-bp3               .ColumnGroup4elements >             .Column:nth-child(1n),
    body.rsbp-over-bp2               .ColumnGroup3elements >             .Column:nth-child(1n),
    body:not([class*="rsbp"])        .ColumnGroup3elements >             .Column:nth-child(1n),
    body[class*="rsbp"]              .ColumnGroup3elements.FixedNumber > .Column:nth-child(1n) {
      width: 33.3%;
      float: left;
      margin-bottom: 0;
    }

    /* - - four columns - - */
    body.rsbp-over-bp3               .ColumnGroup6elements >             .Column:nth-child(1n),
    body.rsbp-over-bp3               .ColumnGroup5elements >             .Column:nth-child(1n),
    body.rsbp-over-bp2               .ColumnGroup4elements >             .Column:nth-child(1n),
    body:not([class*="rsbp"])        .ColumnGroup4elements >             .Column:nth-child(1n),
    body[class*="rsbp"]              .ColumnGroup4elements.FixedNumber > .Column:nth-child(1n) {
      width: 25%;
      float: left;
      margin-bottom: 0;
    }
    
    /* - - five columns - - */
    /*body.rsbp-over-bp2               .ColumnGroup6elements >             .Column:nth-child(1n),*/
    body.rsbp-over-bp2               .ColumnGroup5elements >             .Column:nth-child(1n),
    body:not([class*="rsbp"])        .ColumnGroup5elements >             .Column:nth-child(1n),
    body[class*="rsbp"]              .ColumnGroup5elements.FixedNumber > .Column:nth-child(1n) {
      width: 20%;
      float: left;
      margin-bottom: 0;
    }
    
    /* - - six columns - - */
    body.rsbp-over-bp2               .ColumnGroup6elements >             .Column:nth-child(1n),
    body.rsbp-over-bp1               .ColumnGroup6elements >             .Column:nth-child(1n),
    body:not([class*="rsbp"])        .ColumnGroup6elements >             .Column:nth-child(1n),
    body[class*="rsbp"]              .ColumnGroup6elements.FixedNumber > .Column:nth-child(1n) {
      width: 16.6%;
      float: left;
      margin-bottom: 0;
    }
    
    /* - - seven columns - - */
    body.rsbp-over-bp2               .ColumnGroup7elements >             .Column:nth-child(1n),
    body.rsbp-over-bp1               .ColumnGroup7elements >             .Column:nth-child(1n),
    body:not([class*="rsbp"])        .ColumnGroup7elements >             .Column:nth-child(1n),
    body[class*="rsbp"]              .ColumnGroup7elements.FixedNumber > .Column:nth-child(1n) {
      width: 14.25%;
      float: left;
      margin-bottom: 0;
    }
    


        /*３コラムを1列に*/
        .Sp1Column .ColumnGroup3elements > .Column:nth-child(n) .Heading.Type5 {
            font-size: 112.5%;
            margin: 0em 0 1em;
        }

        /*画像（中）スクロール*/
        .SknTplImageParagraph.WithMiddle .ImageItem .Image img {
            width: auto;
        }
        
        /* + + + + + レスポンシブ + + + + +  */
        

        body.rsbp-under-bp2 .SknTplImageParagraph .TextItem{
          margin:0 0px;
          width:100%;
        }

        body.rsbp-under-bp2 .ColumnGroup > .Column > .inner{
          /*padding: 5px;*/
        }
        
        
        body.rsbp-under-bp2 .ColumnGroup4elements.FixedNumber > .Column:nth-child(n),
        body.rsbp-under-bp2 .ColumnGroup4elements .ColumnX:nth-child(n){
          width: 48%;
          float: none;
          display:inline-block;
        }
        body.rsbp-under-bp2 .SknTplThumbnailList .ThumbnailList.Type2 > li > .inner{
          padding:10px;
          padding:0.4%;
        }
        body.rsbp-under-bp3 .ColumnGroup4elements.FixedNumber > .Column:nth-child(n),
        body.rsbp-under-bp3 .ColumnGroup4elements .ColumnX:nth-child(n){
          width: 48%;
          float: none;
          display:inline-block;
        }
        body.rsbp-under-bp3 .SknTplThumbnailList .ThumbnailList.Type2 > li > .inner{
          padding:2px;
        }
        /*３コラムを1列に*/
        body.rsbp-under-bp3 .Sp1Column .ColumnGroup3elements > .Column:nth-child(n){
          width: 100%;
          float:none;
          margin-bottom:1em;
        }
        
        /*4段ボックス*/
        body.rsbp-under-bp3  .LineColumn .AutoColumnGroup .Column:nth-child(1n){
          width: 100%;
          float:none;
          margin-bottom:1em;
        }
        
        /* + + + + + /レスポンシブ + + + + +  */



/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Icon Setting                                   */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */


/* 特殊なアイコン用のスタイル */

.icon-file-pdf::before,
.icon-file-excel::before,
.icon-file-word::before,
.icon-file-image::before,
.icon-file-archive::before{
  width: 1.25em;
  line-height: 1.25em;
  /*
          -webkit-transform: scale(1.25);
                  transform: scale(1.25);
  */
}


    /*ファイルアイコンカラー*/
    .icon-file-pdf::before {
      color:      #fff!important;
      background: #bb0708!important;
    }
    .icon-file-excel::before {
      color:      #fff!important;
      background: #02723b!important;
    }
    .icon-file-word::before {
      color:      #fff!important;
      background: #2b5797!important;
    }
    .icon-file-image::before {
      color:      #fff!important;
      background: #222!important;
    }
    .icon-file-archive::before {
      color:      #fff!important;
      background: #222063!important;
    }



/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Table Setting                                  */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
   body:not(.TopPage) .ContentsDivision table{
  border-collapse: collapse;
  width: 100%;
  margin-right: auto;
  margin-left : auto;
  font-size: 95%;
  border-top: 1px solid rgba(0,0,0,0.25);
}
/* bp2より幅が 狭い 時 */
.rsbp-under-bp2 .ContentsDivision table{
  font-size: 83.5%;
}
.ContentsDivision li table{
  font-size: 100%;
}
   body:not(.TopPage) .ContentsDivision table th,
   body:not(.TopPage) .ContentsDivision table td{
      padding: 0.75em;
      border-bottom: 1px solid rgba(0,0,0,0.25);
    }
    .ContentsDivision table td{
      text-align:left;
    }
    .ContentsDivision table th:first-child,
    .ContentsDivision table td:first-child{
      /*white-space: nowrap;*/
    }
    .ContentsDivision table th{
      font-weight: normal;
      vertical-align: middle;
      min-width: 10em;
    }
    /* bp2より幅が 狭い 時 */
    .rsbp-under-bp2 .ContentsDivision table th{
      min-width: 5em;
    }
    .ContentsDivision table td p{
      font-size: 100%;
      text-align:left;
    }
    .ContentsDivision table table.OnlyLayout{
      width: auto;
      font-size: 100%;
      margin-left : 0;
      border: none;
    }
        .ContentsDivision table table.OnlyLayout th,
        .ContentsDivision table table.OnlyLayout td{
          border-bottom: 0;
          padding: 0;
          background:none;
        }
        .ContentsDivision table table.OnlyLayout th:not(:last-child),
        .ContentsDivision table table.OnlyLayout td:not(:last-child){
          padding-right: 1em;
        }



/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Other Setting                                  */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* Scrollable 横スクロール
--------------------------------------------------- */
.Scrollable {
  overflow: auto;
  position: relative;
}
    .Scrollable > table {
      width: 800px; /* ここはスクロール対象の最大幅を入れる */
      /*width: 100%;*/
      margin-bottom: 0!important;
    }
    .Scrollable th{
      white-space: nowrap;
    }
    .Scrollable::-webkit-scrollbar{
      height: 1em;
      margin-top: 5px;
    }
    .Scrollable::-webkit-scrollbar-track{
      background: rgba(0,0,0,0.25);
    }
    .Scrollable::-webkit-scrollbar-thumb {
      background: #03c;
    }
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 .Scrollable > table {
          width: 800px; /* ここはスクロール対象の最大幅を入れる */
         }

/* Scrollable 画像 横スクロール
--------------------------------------------------- */
  .Scrollable.Image {
    overflow: visible;
  }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 .Scrollable.Image{
          overflow: auto;
          position: relative;
          margin:0 -2.5%;
          padding-left:2.5%;
        }
        body.rsbp-under-bp3 .Scrollable.Image > img {
          width: auto!important; /* ここはスクロール対象の最大幅を入れる */
          margin-bottom: 0!important;
          max-width:850px;
       }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3.AfterServiceProductsDetail .Scrollable.Image{
          margin:0 -2.5%;
          padding-left:2.5%;
        }
        body.rsbp-under-bp3.AfterServiceProductsDetail .Scrollable.Image > img {
          width: auto!important; /* ここはスクロール対象の最大幅を入れる */
          margin-bottom: 0!important;
          max-width:700px;
       }
       /*画像（中）スクロール*/
        body.rsbp-under-bp3 .SknTplImageParagraph.WithMiddle .Scrollable.Image > img {
            width: auto !important;
            margin-bottom: 0 !important;
            max-width: 500px;
        }


/*検索ボタン*/
.Search-bottom .submit {
    display: inline-block;
/*    width: 25px;
    height: 25px;
    overflow: hidden;
    position: absolute;
    margin: 0;*/
}
.Search-bottom #ContentC{
  display: none;
}
.Search-bottom.SearchPage #ContentC {
  display: inline-block;
}


.Search-bottom input[type="submit"] {
/*    padding: 10px 0 0 50px;
  margin: -2px 0 0 -2px;
  background: url(../img/common/button/button_search.png) no-repeat 1px 1px;*/
  background:#fff;
  cursor: pointer;
  padding:0 1.5em;
  border: none;
  letter-spacing:0.5em;
  text-indent:0.25em;
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.5);
  border:1px solid #ccc;
}
.Search-bottom input[type="submit"]:hover{
  background:#333;
  color:#fff;
}
.Search-bottom span.icon-search-circled::before{
  margin-right:0.2em;
}


        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 .Search-bottom .submit {
          width:100%;
          margin:0.5em auto;
        }
        body.rsbp-under-bp3 .SearchButton{
          width:100%;
          padding:0.2em;
        }      
        body.rsbp-under-bp3  .Search-bottom{
          margin: 0 0 0 0;
        }
        body.rsbp-under-bp3 .Search-bottom span, 
        body.rsbp-under-bp3 .Search-bottom span.Heading.Type5 {
          display: inline-block;
          margin: 0.5em 0 0.5em 0;
          width:100%;
          font-size:110%;
        }
        body.rsbp-under-bp3 .Search-bottom #ContentQ{
          width:100%;
          font-size:110%;
          padding:0.2em;
        }
        
        /* + + + + + /レスポンシブ + + + + +  */



/* CalendarBox
--------------------------------------------------- */
.CalendarBlock{
  text-align:center;
}
.CalendarBox {
  /*background: #f1f1f1;
  width:40%;*/
  display:inline-block;
}
    .CalendarBox .inner{
      padding: 10px 15px 20px;
    }
    .CalendarBox .Heading{
      color: #fff;
      text-align: center;
      font-weight: normal;
    }
        .CalendarBox .Heading .Main{
          font-size: 180%;
        }
        .CalendarBox .Heading .Sub{
          margin-right: 0.5em;
          
        }
    /* CalendarTable */
    .CalendarBox .CalendarTable{
      width: 50%;
      max-width: 275px;
      margin: 0 auto;
      border-collapse: separate;
      border-spacing: 3px;
    }
        .CalendarBox .CalendarTable th,
        .CalendarBox .CalendarTable td{
          text-align: center;
          vertical-align: middle;
          width: 14.285%;
          padding: 0;
          /*background: #fff;*/
        }
        .CalendarBox .CalendarTable th{
          font-size: 75%;
          font-weight: normal;
        }
            .CalendarBox .CalendarTable td .Day{
              border-radius: 5px;
              padding: 0.4em 0;
              width: 2em;
              display: inline-block;
              text-align: center;
              background: #eee
            }
            .CalendarBox .CalendarTable td .ClosingDay{
              color: #fff;
              background: #383c94;
            }
            .CalendarBox .CalendarTable td .EventDay{
              color: #fff;
              background: #0867B7;
            }
            .CalendarBox .CalendarTable td .Day a{
              color: #fff;
              text-decoration: underline;
              display:block;
            }
    
    
    
    
    
/*YOUTUBE動画再生*/
.YoutubeItem{
  text-align:center;
  max-width:600px;
  margin:10px auto;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 .YoutubeItem{
          
        }
        
        body.rsbp-under-bp3 .YoutubeItem iframe {

        }
            body.rsbp-under-bp3 .ThumbnailList.VideoList li .Image {
              position:relative;
              height: 250px;
            }

                body.rsbp-under-bp3 .ThumbnailList.VideoList li > .inner .ImageItem .Image iframe {
                  position: absolute;
                  top: 0;
                  right: 0;
                  width: 100% !important;
                  height: 100% !important;
                }



/*SknTplDecoratedBox TypeM*/
.SknTplDecoratedBox.TypeM > .DecoratedBox{
  background: linear-gradient( to bottom, rgba(255,196,214,0.5), rgba(255,196,214,0.2));
  background-attachment: scroll;
  background-attachment: fixed;
  border: 1px solid rgba(255,196,214,0.5);
  margin: 10px;
  padding: 25px;
}
.SknTplDecoratedBox.TypeM > .DecoratedBox .Heading.Type2{
  margin: 1em 0 0.75em;
}
.SknTplDecoratedBox.TypeM > .DecoratedBox > .inner{
  padding:15px;
}












/* PagenationBox
--------------------------------------------------- */

.PagenationBox {
  margin: 1.5em 0;
}
    .PagenationBox p{
      font-size: 14px;
      font-family: "Arial";
      font-weight: bold;
      line-height: 1.1;
      text-align: center;
    }
        .PagenationBox p span.Unit{
          display: inline-block;
          margin: 0 2px;
          text-align: center;
        }
            .PagenationBox p span.Unit a,
            .PagenationBox p span.Unit .current,
            .PagenationBox p span.Unit .invalid{
              display: block;
              border: none;
              float: none;
              margin: 0px;
              padding: 11px 0px;
              width: 35px;
              
              color: #333;
              background: #fff;
              border: 2px solid #4d4d4d;
            }
            .PagenationBox p span.Unit a{
              text-decoration: none;
              cursor: pointer;
            }
            .PagenationBox p span.Unit a:hover{
              text-decoration: none;
              color: #00a0dd;
              border-color: #00a0dd;
            }
            .PagenationBox p span.Unit .current,
            .PagenationBox p span.Unit .current:hover{
              color: #fff;
              background: #00a0dd;
              border-color: #00a0dd;
            }
            .PagenationBox p span.Unit .invalid{
              opacity: 0.25;
            }
    /* adjust icon */
    .PagenationBox span.Unit [class^="icon-"]:before,
    .PagenationBox span.Unit [class*=" icon-"]:before{
      margin: 0;
      position: relative;
      left: 0.25em;
    }
    .PagenationBox span.Unit [class^="icon-"] span,
    .PagenationBox span.Unit [class*=" icon-"] span{
      visibility: hidden;
    }
/* DecoratedBoxType1
--------------------------------------------------- */
.DecoratedBoxType1 {
  background: url(../img/common/decoration/dotline_gray_8px.png);
  padding: 10px;
}
    .DecoratedBoxType1 > .inner{
      background: #fff;
      padding: 30px;
    }
        .DecoratedBoxType1 > .inner > *{
          margin: 0;
        }
/* DecoratedBoxType1
--------------------------------------------------- */
.DecoratedBoxType2 {
}



/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    FollowMenu Style                              */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* setting
--------------------------------------------------- 
body.rsbp-over-bp3 .FollowMenuContainer{
  position: absolute;
}*/
@media screen and (max-width: 1279px)  {
    .FollowMenuContainer{
      /*display: none;*/
    }
}
/* FollowMenuBlock
--------------------------------------------------- */
.FollowMenuBlock{
  /*background: #11100f url(../img/common/menu/side/bg/default.png) no-repeat 50% 0%;*/
  border: 0px solid #393837;
  padding: 0;
  width: 230px!important;
  margin-top:0px;
  /*right: 0px!important;
  left: auto!important;*/
  right:0;
  z-index: 10000;
}
    body.rsbp-over-bp3 .FollowMenuBlock .BlockHeader{
      margin: 0 0 15px;
    }
    body.rsbp-over-bp3 .FollowMenuBlock .BlockContents{
      margin: 0 0 15px;
    }
    body.rsbp-over-bp3 .FollowMenuBlock .BlockFooter{
      
    }
    
             /* + + + + + レスポンシブ + + + + +  */
            body.rsbp-under-bp2 .FollowMenuBlock{
              width:100%!important;
              top:0;
            }
            body.rsbp-under-bp2 .FollowMenuBlock {
              
            }
            
/*装飾0*/
.SknTplDecoratedBox{
  text-align:center;
}
.SknTplDecoratedBox > .DecoratedBox {
  background: linear-gradient( to bottom, rgba(229, 28, 10, 0.5), rgba(10,28,10,0.125));
  background-attachment: scroll;
  background-attachment: fixed;
  border: 0px dashed rgba(10,210,230,0.5);
  /*background:#ddeaff;*/
  margin: 25px;
  padding: 25px;
  border-radius: 0;
  margin:25px 0;
}
.SknTplDecoratedBox > .DecoratedBox{
  background:none;
}
.SknTplDecoratedBox > .DecoratedBox > .inner {
  background:rgba(255,255,255,0.9);
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.25);
  /*background:#00a0dd;
  color:#fff;*/
  box-shadow:none;
}


            
/*装飾1*/
.SknTplDecoratedBox.Type1{
  text-align:center;
}
.SknTplDecoratedBox.Type1 > .DecoratedBox {
  background: linear-gradient( to bottom, rgba(10,210,230,0.5), rgba(10,210,230,0.125));
  background-attachment: scroll;
  background-attachment: fixed;
  border: 0px dashed rgba(10,210,230,0.5);
  
  background:#ddeaff;
  margin: 25px;
  padding: 25px;
  display:inline-block;
}
.SknTplDecoratedBox.Type1 > .DecoratedBox.Type1{
  
}
.SknTplDecoratedBox > .DecoratedBox.Type1 > .inner {
    background:#fff;
    padding: 30px;
}
/*装飾2*/
.SknTplDecoratedBox.Type2{
  text-align:center;
}
.SknTplDecoratedBox.Type2 > .DecoratedBox {
  background: linear-gradient( to bottom, rgba(10,210,230,0.5), rgba(10,210,230,0.125));
  background-attachment: scroll;
  background-attachment: fixed;
  border: 0px dashed rgba(10,210,230,0.5);
  
  background:#eee1ba;
      background: -webkit-gradient(linear, left top, right bottom, from(#d0c39c), color-stop(0.10, #d0c39c), color-stop(0.10, #eee1ba), color-stop(0.5, #eee1ba), color-stop(0.5, #d0c39c), color-stop(0.60, #d0c39c), color-stop(0.60, #eee1ba), to(#eee1ba));
      background: -moz-linear-gradient(-45deg, #d0c39c 10%, #eee1ba 10%, #eee1ba 50%, #d0c39c 50%, #d0c39c 60%, #eee1ba 60%, #eee1ba);
      background: linear-gradient(-45deg, #d0c39c 10%, #eee1ba 10%, #eee1ba 50%, #d0c39c 50%, #d0c39c 60%, #eee1ba 60%, #eee1ba);
      background-size: 10px 10px;

  margin: 25px;
  padding: 25px;
  display:inline-block;
}
.SknTplDecoratedBox.Type2 > .DecoratedBox.Type2{
  
}
.SknTplDecoratedBox > .DecoratedBox.Type2 > .inner {
    background:#f9f1d8;
    padding: 30px;
}


 
.PageBlock .SknTplDecoratedBox{
  text-align:center;
}
.PageBlock .SknTplDecoratedBox > .DecoratedBox {
  background: linear-gradient( to bottom, rgba(229, 28, 10, 0.5), rgba(10,28,10,0.125));
  background-attachment: scroll;
  background-attachment: fixed;
  border: 0px dashed rgba(10,210,230,0.5);
  padding: 0px;
  border-radius: 0;
  margin:0;
  background:none;
}
.PageBlock .SknTplDecoratedBox > .DecoratedBox{

}
.PageBlock .SknTplDecoratedBox > .DecoratedBox > .inner {
  background:rgba(255,255,255,0.9);
  padding: 30px 35px;
  border-radius: 0;
  box-shadow: 1em 1em 0 rgba(153,84,84,0.15);
  /*background:#00a0dd;
  color:#fff;*/
  border:2px solid #aaa;
  border-left:2px solid #e91b0c;
  border-top:2px solid #e91b0c;
  background: linear-gradient( to bottom, rgba(255, 244, 227, 0.8), rgba(255, 255, 255, 0.9));
  background-attachment: scroll;
  background-attachment: fixed;
  position:relative;
}
.PageBlock .SknTplDecoratedBox > .DecoratedBox > .inner::before {
  position:absolute;
  top:0;
  width:25px;
  height:25px;
  content: "";
  left:0;
  background:#e91b0c;
}
.PageBlock .SknTplDecoratedBox > .DecoratedBox > .inner:after {
  position:absolute;
  bottom:0;
  width:25px;
  height:25px;
  content: "";
  right:0;
  background:#ccc;
}
/*
.PageBlock .SknTplDecoratedBox > .DecoratedBox > .inner .DefaultText{
  display:inline;
  position:relative;
}
.PageBlock .SknTplDecoratedBox > .DecoratedBox > .inner .DefaultText:after{
  display:inline;
  position:absolute;
  content: "";
  left:0;
  bottom:-1px;
  height:1px;
  width:100%;
  background:#e91b0c;
}
*/
                            /* + + + + + レスポンシブ + + + + +  */
                            body.rsbp-under-bp2 .PageBlock .SknTplDecoratedBox > .DecoratedBox > .inner {
                             text-align:left;
                             padding: 30px 35px;
                            }
                            body.rsbp-under-bp2 .PageBlock .SknTplDecoratedBox > .DecoratedBox > .inner::before {
                              position:absolute;
                              top:0;
                              width:20px;
                              height:20px;
                              content: "";
                              left:0;
                              background:#e91b0c;
                            }
                            body.rsbp-under-bp2 .PageBlock .SknTplDecoratedBox > .DecoratedBox > .inner:after {
                              position:absolute;
                              bottom:0;
                              width:20px;
                              height:20px;
                              content: "";
                              right:0;
                              background:#ccc;
                            }

/*テーブルタイプ*/

.SknTplDecoratedBox .DecoratedBox .DecoratedInnerTable{
  display:table;
  width:100%;
  padding:0;
  box-shadow: 0 0.25em 1em rgba(0,0,0,0.25);
}
                            /* + + + + + レスポンシブ + + + + +  */
                            body.rsbp-under-bp2 .SknTplDecoratedBox .DecoratedBox .DecoratedInnerTable{
                             padding:0;
                            }
                            body.rsbp-under-bp3 .SknTplDecoratedBox .DecoratedBox .DecoratedInnerTable{
                             padding:0;
                            }
/*
.SknTplDecoratedBox .DecoratedBox{
  background:none;
}
.SknTplDecoratedBox .DecoratedBox .inner{
  border:1px solid #555;
}
.SknTplDecoratedBox .DecoratedBox .DecoratedInnerTable .DecoratedInner{
  display:table-cell;
  padding:30px;
}
.SknTplDecoratedBox .DecoratedBox .DecoratedInnerTable .DecoratedInner.Type1{
  width:20%;
  background:#eb1b0c;
  border-radius:10px 0 0 10px;

}
.SknTplDecoratedBox .DecoratedBox .DecoratedInnerTable .DecoratedInner.Type1 div{
  background: url(../program/img/2014/image_tr_1.jpg)no-repeat 60% 50%;
  background-size:contain;
}
.SknTplDecoratedBox .DecoratedBox .DecoratedInnerTable .DecoratedInner.Type2{
  width:80%;
  text-align:left;
}
*/
/*見出し下で使用すること*/
.Patent{
  border-radius:6px;
  background:#f49a1c;
  color:#fff;
  font-weight:bold;
  display:inline-block;
  padding:4px 6px;
  line-height:1.1;
  font-size:0.8rem;
  position:absolute;
  top:5px;
  right:10px;
  text-align:center;
}

             /* + + + + + レスポンシブ + + + + +  */
            body.rsbp-under-bp2 .Patent{
              position:static;
              position:relative;
            } 	