@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                               */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* PageTitle
--------------------------------------------------- */
body .PageTitle{
  /*padding: 1.25em 10px;
  padding: 1.75em 10px;*/
  color: #fff;
  position: relative;
  background:#eee;
  color: #4a2101;
  background: #7d0000 url(../../../files/uploads/bg_pagetitle.jpg)no-repeat 50% 50% ;
  background-size:100% auto;
}

    body .PageTitle .Heading{
      padding: 1.5em 10px;
    }

        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2  .PageTitle.CustomTitle{
          padding: 0;
        }
        body.rsbp-under-bp2  .PageTitle .Heading{
          padding: 1.0em 10px;
        }
          
          
    body .PageTitle .Heading  *{
      vertical-align: middle;
      font-weight: normal;
    }
    body .PageTitle .Heading > span.icon-pos-static{
      width:55px;
      display:none;
    }
    body .PageTitle .Heading  .Main{
      margin-left: .25em;
      margin-left: 1.0em;
      margin-right: .5em;
      font-size: 125%;
      font-size: 200%;
      color:#4a2101;
      text-shadow: 0 0.04em 0.21em rgba(0,0,0,0.1);
    }
    /*IE対策*/
    html.ie .PageTitle .Heading  .Main{
      background:none;
      
      text-shadow: 0 0.04em 0.18em rgba(0,0,0,0.2);
    }
    
    
    body .PageTitle .Heading  .Sub{
      font-size: 80%;
      font-weight: normal;
    }
    body .PageTitle .Heading  .Sub  span,
    body .PageTitle .Heading  .Main span{
      /*vertical-align: unset; w3c*/
      vertical-align: middle;
    }
    body .PageTitle .Heading  .Icon::before{
      font-size: 250%;
    }
    
    
    
        /* + + + + + レスポンシブ + + + + +  */
        
        body.rsbp-under-bp2 .PageTitle {
          /*padding: 2.5em 5px 5px;*/
          /*background: #eee url(../img/common/decoration/bg_pagetitle.png)no-repeat 69% 50% ;*/
          padding: 1em 10px;
        }
        
        
        
        body.rsbp-under-bp2 .PageTitle .Heading {
          font-size: 95%;
          padding: 0.25em 1em;
        }
        
        body.rsbp-under-bp2 .PageTitle .Heading  .Main{
          margin-left:0;
        }
        
        body.rsbp-under-bp2 .PageTitle {
          padding: 1em 10px;
        }
        
        body.Facility.rsbp-under-bp3  .PageTitle {
          padding: 0.74em 10px;
        }
        body.rsbp-under-bp2 .PageTitle {
          /*padding: 2em 5px 5px;*/
          /*background: #7d0000 url(../img/common/decoration/bg_pagetitle.png)no-repeat 0% 0% ;
          background-size:auto 100%;
          background-size:100% auto;*/
          
        }
        body.rsbp-under-bp3 .PageTitle {
          padding: 0.1em .2em;
        }
        body.rsbp-under-bp2 .PageTitle .Heading {
          /*font-size: 75%;*/
          padding: 0.25em .75em;
          padding: 0.25em .2em;
        }

        body.rsbp-under-bp3 .PageTitle .Heading  .Main{
          font-size: 120%;
          font-weight: normal;
          margin-left: 0;
        }
        body.rsbp-under-bp3  .PageTitle .Heading  .Sub{
          display:block;
          /*margin-left:65px;*/
          margin-left:2px;
          margin-top: 0px;
          line-height:1.1;
          font-size:70%;
        }
        body.rsbp-under-bp2.Service .PageTitle .Heading  .Main{
          text-shadow: 0 0.05em 0.3em rgba(0,0,0,1),0 0.05em 0.3em rgba(0,0,0,1),0 0 1px rgba(0,0,0,1);
          color:#fff;
        }
        body.rsbp-under-bp2.Service  .PageTitle .Heading  .Sub{
          text-shadow: 0 0.05em 0.3em rgba(0,0,0,1),0 0.05em 0.3em rgba(0,0,0,1),0 0 1px rgba(0,0,0,1);
          color:#fff;
        }
        body.rsbp-under-bp3.Service .PageTitle .Heading  .Main{
          text-shadow: 0 0.05em 0.3em rgba(0,0,0,1),0 0.05em 0.3em rgba(0,0,0,1),0 0.05em 1px rgba(0,0,0,1);
          color:#fff;
        }
        body.rsbp-under-bp3.Service  .PageTitle .Heading  .Sub{
          text-shadow: 0 0.05em 0.3em rgba(0,0,0,1),0 0.05em 0.3em rgba(0,0,0,1),0 0.05em 1px rgba(0,0,0,1);
          color:#fff;
        }
        
        body.rsbp-under-bp2 .PageTitle .Heading  .Sub > span{
          
        }
        body.rsbp-under-bp2 .PageTitle .Heading > span.icon-pos-static{
          display:none;
        }
        body.rsbp-under-bp2 .CustomTitle .icon-custom.Type3{
          background-size: 50px auto;
          width: 50px;
        }

        
        /* + + + + + レスポンシブ + + + + +  */


/* カテゴリ見出し 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(229,0,61,0.05), rgba(229,0,61,0.05) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  background-image:         repeating-linear-gradient(-90deg, rgba(229,0,61,0.05), rgba(229,0,61,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;
      background: #7d0000;
      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: #7d0000;
      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: 150%;
  font-weight: 800;
  padding: 0;
  margin: 3em 0 0.75em;
  color: #88192d;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type2{
          font-size: 137.5%;
          margin-bottom: 1em;
        }
        body.rsbp-under-bp3 .Heading.Type2{
          font-size: 125%;
        }
    
    
/* Type3 :::::::::::::::::::::::::  */
.Heading.Type3 {
  font-size: 125%;
  position: relative;
  padding: 0.375em 0px;
  margin: 3em 0 1.5em;
}
    .Heading.Type3::before{
      content: "";
      height: 200%;
      height: calc(100% + 1.5em);
      width: 0.25em;
      display: block;
      position: absolute;
      left: -1.5em;
      left: -0.7em;
      /*top:  -0.5em;*/
      background: #001f67;
      background: #7d0000;
      -webkit-transition: all .2s;
              transition: all .2s;
      left: 0;
      height:5px;
      width: 10em;
      bottom:0;
      
    }
    .Heading.Type3::after{
      content: "";
      height:  1px;
      width: 110%;
      display: block;
      position: absolute;
      left:   -5%;
      bottom: -0.5em;
      background: rgba(0,0,0,0.375);
      width: 100%;
      left:0;
      bottom:-1px;
    }
        /* + + + + + レスポンシブ + + + + +  */
        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 #7d0000;
          padding-left: 15px;
        }
        body.rsbp-under-bp2 .Heading.Type3::before{
          display: none;
        }
        body.rsbp-under-bp2 .Heading.Type3::after{
          width: 100%;
          left: 0px;
        }

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


/* Type4 :::::::::::::::::::::::::  */
.Heading.Type4{
  font-size: 112.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.05em 0.05em rgba(0,0,0,0.15);
}
    .Heading.Type4::before{
      content: "";
      height: 60%;
      width: 0.4em;
      display: block;
      position: absolute;
      left: -0.2em;
      top:   20%;
      background: #2c59c0;
      background: #7d0000;
      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: #7d0000;
      border-radius:0 0 0.2em 0.2em;
      z-index:1250;
    }
    
    .Heading.Type4 > a{
      color:#88192d;
    }
    .Heading.Type4 > a:hover{
      color:#88192d;
      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: 120%;
  position: relative;
  font-weight: 400;
  margin: 2em 0 1.5em;
  width:100%;
  padding: 0.4em 1em 0.4em 1em;
  color:#fff;
  background:#7d0000;
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.15);
  border-radius:5px;
}
    .Heading.Type6::before{
      content: "";
      height: 100%;
      width: 0.5em;
      display: block;
      position: absolute;
      left: 0em;
      top:   0%;
      background: #cc0035;
      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%;

        }
        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.Type5{
          font-size: 100%;
        }
        body.rsbp-under-bp3 .Heading.Type5{
          font-size: 87.5%;
        }


/* Type8 :::::::::::::::::::::::::  */
.Heading.Type8{
  font-size: 110%;
  font-weight: 800;
  padding: 0;
  margin: 3em 0 0.75em;
  color: #88192d;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .Heading.Type8{
          font-size: 137.5%;
          margin-bottom: 1em;
        }
        body.rsbp-under-bp3 .Heading.Type8{
          font-size: 125%;
        }


/* 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:#7d0000;
  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(#7d0000), color-stop(0.25, #7d0000), color-stop(0.25, #9e0028), color-stop(0.5, #9e0028), color-stop(0.5, #7d0000), color-stop(0.75, #7d0000), color-stop(0.75, #9e0028), to(#9e0028));
      background: -moz-linear-gradient(-45deg, #7d0000 25%, #9e0028 25%, #7d0000 50%, #9e0028 50%, #7d0000 75%, #9e0028 75%, #7d0000);
      background: linear-gradient(-45deg, #7d0000 25%, #9e0028 25%, #9e0028 50%, #7d0000 50%, #9e0028 75%, #9e0028 75%, #9e0028);
      background-size: 6px 6px;
  
  
  
  
  
}
/*
    .Heading.Type9::before{
      content: "";
      height: 100%;
      width: 0.5em;
      display: block;
      position: absolute;
      left: 0em;
      top:   0%;
      background: #cc0035;
      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;
  width:100%;
  padding: 0.8em 1em 0.8em 1em;
  color:#222;
  background:#f3e6e9;
  box-shadow: 0 0.05em 0.05em rgba(0,0,0,0.15);
  border-radius:0px;
  text-align:center;
}
/*
    .Heading.Type10::before{
      content: "";
      height: 100%;
      width: 0.5em;
      display: block;
      position: absolute;
      left: 0em;
      top:   0%;
      background: #cc0035;
      border-radius:5px 0 0 5px;
    }
*/
    .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, #cc0035);
-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: #cc0035;
    }
/*
    .Heading.Type11::after{
      content: "";
      height: 100%;
      width: 2px;
      display: block;
      position: absolute;
      left: -2px;
      top:   0px;
      background: #cc0035;
    }
*/
    .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;
        }

/* TypeTopTitle :::::::::::::::::::::::::  */
.Heading.TypeTopTitle{
  font-size: 180%;
  font-weight: 400;
  padding: 0;
  margin: 1.1em 0;
  color:#4b2603;
  font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",'Noto Serif JP',HGS明朝E,メイリオ,Meiryo,serif;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp1 .Heading.TypeTopTitle{
          font-size: 170%;
        }
        body.rsbp-under-bp2 .Heading.TypeTopTitle{
          font-size: 160%;
        }
        body.rsbp-under-bp3 .Heading.TypeTopTitle{
          font-size: 160%;
        }


/* TypeTop :::::::::::::::::::::::::  */
.Heading.TypeTop{
  font-size: 200%;
  font-weight: 400;
  padding: 0;
  margin: 0.2em 0;
  color:#4b2603;
  font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",'Noto Serif JP',HGS明朝E,メイリオ,Meiryo,serif;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp1 .Heading.TypeTop{
          font-size: 190%;
        }
        body.rsbp-under-bp2 .Heading.TypeTop{
          font-size: 170%;
        }
        body.rsbp-under-bp3 .Heading.TypeTop{
          font-size: 160%;
        }




/* TypeTop :::::::::::::::::::::::::  */
.Heading.TypeSubTop{
  font-size: 190%;
  font-weight: 400;
  position: relative;
  padding: 0px;
  margin: 1em 0;
  color:#4b2603;
  line-height:1.5;
  font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",'Noto Serif JP',HGS明朝E,メイリオ,Meiryo,serif;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp1 .Heading.TypeSubTop{
          font-size: 170%;
        }
        body.rsbp-under-bp2 .Heading.TypeSubTop{
          font-size: 150%;
        }
        body.rsbp-under-bp3 .Heading.TypeSubTop{
          
        }


.IconMenuItem{
  margin:1em auto;
  font-size: 180%;
}

/*黒背景対応：1*/
.DarkBg{
  background: #000;
}
.DarkBg .Heading{
  color:#fadec1;
}


/* TypeS :::::::::::::::::::::::::  */

.Heading.TypeS{
  margin-left:40px;
  font-size:120%;
}
.Heading.TypeS span.icon-search::before{
  color:#7d0000;
  font-size:160%;
  position: absolute;
  left: -40px;
  top: -10px;
}
/* TypeS2 :::::::::::::::::::::::::  */
.Heading.TypeS2{
  margin-left:10px;
  margin-top:30px!important;
}



/* common :::::::::::::::::::::::::  */
.PageBlock .Heading:first-child{
  margin-top: 0;
}



/* Center Type2 :::::::::::::::::::::::::  */

.SknTplCenterTitle{

}
    /* Header */
    .SknTplCenterTitle .inner{
      font-size: 125%;
      position: relative;
      margin-top:25px;
      margin-bottom:40px;
      text-align:center;
      line-height: 1.3;
       font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
    }
    .SknTplCenterTitle .inner::before{
      position:absolute;
      content: "";
      height: 1px;
      left:50%;
      top:40%;
      width:96%;
      margin-left:-48%;
      height:1px;
      background:#4a2101;
    }
    /*CenterTitleItem*/
    .SknTplCenterTitle .inner.CenterTitleItem{
      position:relative;
    }
    
    .SknTplCenterTitle .inner .Heading{
      overflow:hidden;
      text-align:center;
      background:#fff;
      display: inline-block;
      margin:0;
      padding:0 20px;
      line-height:1.3;
    }
    .SknTplCenterTitle .inner .Heading .Main{
      line-height:1.0;
      letter-spacing:0.1em;
    }

/*黒背景対応：2*/
    .DarkBg .SknTplCenterTitle .inner::before{
      background:#fadec1;
    }
    .DarkBg .SknTplCenterTitle .inner .Heading{
      background:#000;
    }


    /* + + + + + レスポンシブ + + + + +  */
    body.rsbp-under-bp2  .SknTplCenterTitle .inner .Heading{
      margin-bottom:0;
    
    }
    /* + + + + + レスポンシブ + + + + +  */
    
    
    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;
    
    }





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


/* DefaultText
--------------------------------------------------- */
.DefaultText{
}
.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{
          
        }

/*背景黒の場合*/
.ReproArea .DefaultText{
  color:#fadec1;
}

/* 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.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}



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

.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: #fff!important;
  text-decoration: none!important;
}
.TelLink:hover{
  text-decoration: none!important;
}
body.SpView .TelLink{
  color: #fff !important;
}

body.SpView .AuthorItem .TelLink .Main{
  color: #fff !important;
  font-size:120%;
}

/* 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;
  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(229,0,61,0.05), rgba(229,0,61,0.05) 3px, rgba(250,250,250,0.5) 3px, rgba(250,250,250,0.5) 6px);
  background-image:         repeating-linear-gradient(-90deg, rgba(229,0,61,0.05), rgba(229,0,61,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);
}

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.5em;
  padding-right:0.5em;
  color:#89001f;
  border-right: 1px 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:#89001f;
}

/*強調*/
span.PickUpWord{
  font-weight:bold;
  margin-left:0.2em;
  color:#89001f;
  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: 400%;
      color: rgba(104,88,148,0.75);
      text-align: center;
    }
    .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{
      color: #dc4e1f;
    }
    
    
        /* + + + + + レスポンシブ + + + + +  */
        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);
}
.Local.Button:hover *{
  color: #fff;
}
.Local.Button span::before{
  color:#89001f;

}


/* TextButton
--------------------------------------------------- */
.TextButton {
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'Meiryo', Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: inline-block;
  color: #fff;
  background: #7d0000;
  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: #7d0000;
  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;
      padding: 1.0em 1.5em 2.0em 1.5em;
      position: relative;
    }
    .menu-trigger .Icon {
      position: relative;
      width:  3.25em;
      height: 3em;
    }
    .menu-trigger .Icon span.Shape {
      position: absolute;
      left: 0;
      width: 100%;
      height: 4px;
      background-color: #fff;
    }
    .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%;
      right: 100%;
      display: block;
      text-align: center;

      /*menu*/
      font-size: 110%;
      bottom:10px;
      color:#fff;
      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: #fff;
    }
    .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;
  background: #000;
  background:none;
  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:#682b3d;
      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:#682b3d;
    }
    /* + + + + + レスポンシブ + + + + +  */
    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;
    }
    /*
    #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;
}








/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   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: #7d0000;
  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 #7d0000 inset;
    }
    
    /* Invalid */


    /* Active */
    .TabMenu li a.Active{
      color: #fff;
      background: #7d0000;
      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: #7d0000 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: #890024;
      border: 2px solid #890024;
    }
    .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:#89001f;

}


    /* + + + + + レスポンシブ + + + + +  */
    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);
      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: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-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;
    }

        /*３コラムを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 5px;
        }

        body.rsbp-under-bp2 .ColumnGroup > .Column > .inner{
          /*padding: 5px;*/
        }
        
        
        body.rsbp-under-bp2 .ColumnGroup4elements.FixedNumber > .Column:nth-child(n),
        body.rsbp-under-bp2 .ColumnGroup4elements .Column: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 .Column: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;
    }


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   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 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: #7d0000;
            }
            .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: #890024;
              border-color: #890024;
            }
            .PagenationBox p span.Unit .current,
            .PagenationBox p span.Unit .current:hover{
              color: #fff;
              background: #890024;
              border-color: #890024;
            }
            .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 {
}