@charset "Shift-JIS";

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    サイト共通 細かい要素の装飾定義               */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

body.rsbp-under-bp3 .SPBreak{
  display: block;
}

.FloatLeft{
  float:left;
}
.FloatRight{
  float:right;
}

body.rsbp-under-bp3 .FloatLeft,
body.rsbp-under-bp3 .FloatRight{
  float: none;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   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%;
    }
    


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Text and Heading                               */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* PageTitle
--------------------------------------------------- */

body .PageTitle{
}


/* 見出し common
--------------------------------------------------- */
.Heading{
  line-height: 1.5;
}


/* 見出しバリエーション
--------------------------------------------------- */

/* Type1 :::::::::::::::::::::::::  */
.Heading.Type1{
}

/* Type2 :::::::::::::::::::::::::  */
.Heading.Type2{
}

/* Type3 :::::::::::::::::::::::::  */
.Heading.Type3 {
}

/* Type4 :::::::::::::::::::::::::  */
.Heading.Type4{
}
h2.Heading{
  text-align: center;
  margin-bottom: 40px;
  color: #0586ba;
  padding: 2em 0;
}
h2.Heading::after {
    content: "";
    border-bottom: 4px solid #0586ba;
    padding: 20px;
}
h2.Heading .MainTitle{
  font-size: 200%;
  display: block;
  text-align: center;
  letter-spacing: 3px;
  line-height: 1.5;
}
h2.Heading .SubTitle{
  display: block;
  text-align: center;
  letter-spacing: 1px;
  line-height: 1.1;
}
h3.Heading{
  color: #0586ba;
  border-bottom: 1px solid #0586ba;
}
h3.Heading .MainTitle{
  font-size: 140%;
  border-bottom: 6px solid #0586ba;
  padding: 3px 0;
  line-height: 1.8;
}

body.rsbp-under-bp2 h2.Heading {
  margin-bottom: 20px;
}
body.rsbp-under-bp2 h2.Heading .MainTitle{
  font-size: 140%;
}
body.rsbp-under-bp3 h2.Heading {
  padding: 1em;
}
body.rsbp-under-bp3 h2.Heading .MainTitle{
  text-align: center;
}
body.rsbp-under-bp3 h3.Heading{
  text-align: center;
}

body.rsbp-under-bp3 h3.Heading .MainTitle{
  font-size: 120%;
}
h4.Heading{
  border-left: 3px solid #f7a922;
  padding: 10px;
}

  
/* DefaultText
--------------------------------------------------- */
.DefaultText{
}
.ContentsDivision .DefaultText{
  line-height: 2;
}
.ContentsDivision .DefaultText.FontSizeSmaller,
.ContentsDivision .DefaultText.FontSizeSmall{
}
.DefaultText em{
}
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;
}

/* AttentionText
--------------------------------------------------- */
.AttentionText{
}

/* Caption
--------------------------------------------------- */
.Caption{
  display: block;
  font-size: 75%;
  line-height: 1.5;
  display: block;
  margin: 1em 0;
  text-align: center;
}


/* PhoneNumberText
--------------------------------------------------- */
.PhoneNumberText{
  color: inherit;
  font-size: 175%;
  font-family: "Arial";
  vertical-align: baseline;
  white-space: nowrap;
}

/* tel link
--------------------------------------------------- */
.TelLink{
}
.TelLink:hover{
}


/* sup
--------------------------------------------------- */
sup{
  font-size: x-small;
  line-height: 1.1;
}


/* 丸付き文字
--------------------------------------------------- */
.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", "Hiragino Kaku Gothic ProN", "Meiryo", "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";
}



/* 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{
}
    .MessageBox .Heading{
    }
    .MessageBox .Heading .Icon{
    }
    .MessageBox .DefaultText{
    }


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   GoPageTop                                      */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* GoPageTop
--------------------------------------------------- */
.GoPageTop{
  position: fixed;
  bottom: -110px;
  right: 10px;
  z-index: 9999;
}
body.rsbp-under-bp2 .GoPageTop img{
  width: 70px;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Button 等                                      */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* menu-trigger (ハンバーガーメニュー)
--------------------------------------------------- */
.MenuTrigger{
}

/* BreadCrumb（パンくず）
--------------------------------------------------- */
.BreadCrumb {
  margin: 0 auto;
  padding: 0;
  background: #000;
  font-size: 75%;
  line-height: 3em;
  z-index: 10;
  position: relative;
}
    .BreadCrumb p{
      padding-left: 15px;
      color: rgba(255,255,255,1);
    }
    .BreadCrumb p *{
    }
    .BreadCrumb p .Partition{
      color: rgba(255,255,255,0.375);
      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;
      color: #fff;
    }

.LinkButton{
  border: 2px solid #0586ba;
  color: #0586ba;
  font-weight: bold;
  display: inline-block;
}
.LinkButton a{
  display: block;
  padding: 10px 40px;
  color: #0586ba;
}
.LinkButton a:hover{
  background: #0586ba;
  color: #fff;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   effect                                         */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* 各種hover効果
--------------------------------------------------- */


    /* hoverエフェクト共通 */
    [class^="hvr-"],
    [class*=" hvr-"] {
      -webkit-transition: all .2s;
              transition: all .2s;
    }
    
    /* default */
    .hvr-default{
    }
        .hvr-default: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;
        }
    
    
    /* 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);
        }

    /* 画像へのリンクなら「＋」を表示 */
    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{
  text-decoration: none;
}
a:link {
}
a:visited {
}
a:active{
}
a:hover {
}



/* image link
--------------------------------------------------- */
a img{
}
a:hover img{
  opacity: 0.75;
}
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;
    }




/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    pagination                                    */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* pagination
--------------------------------------------------- */
.pagination{
  text-align: center;
  background: rgba(0,0,0,0.125);
  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: #333;
      border: 2px solid #fff;
      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: #222;
      border-color: #222;
      text-decoration: none;
    }
    .pagination .current{
      color: #fff;
      background: #2c59c0;
      border: 2px solid #2c59c0;
    }
    .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;
    }


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Column Setting                                 */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* ColumnGroup
--------------------------------------------------- */
.ColumnGroup{

}
    /* - - column common - -  */
    .ColumnGroup > .Column{
      width: 100%;
      margin: 0 auto 2em;
    }
    .ColumnGroup > .Column > .inner{
      padding: 10px;
    }
    
    /* 要素数をクラス名に持たせて自動配置 ※ulにクラス名をつけて使用  */
    /* ColumnGroup（数字）elements が横並び数                         */
    /* FixedNumber をつけた場合は数を固定。それ以外は幅に応じて変化   */
 
    /* - - two columns - - */
    body                             .ColumnGroup4elements >             .Column:nth-child(1n),
    body.rsbp-over-bp3               .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;
      margin-bottom: 0;
    }
    
    
    /* - - 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-bp1               .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;
    }

    body.rsbp-under-bp3               .ColumnGroup2elements >             .Column:nth-child(1n),
    body.rsbp-under-bp3               .ColumnGroup3elements >             .Column:nth-child(1n),    {
      width: 100%;
      float: none;
      margin-bottom: 0;
    }
    





/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   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;
}

.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: 660px; /* ここはスクロール対象の最大幅を入れる */
      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;
    }

/* listStyle 
--------------------------------------------------- */

ul{
  list-style: none;
}


#MainContentsArea .DetailBlock{
  margin-bottom:80px;
}
#MainContentsArea .DetailBlockG{
  margin-bottom:80px;
  background: #f4f5f7;
  margin: 0 auto;
  padding: 40px 0 80px;
}
#MainContentsArea .DetailBlockB{
  margin-bottom:80px;
  background: #f2f1ea;
  margin: 0 auto;
  padding: 40px 0 80px;
}

#MainContentsArea .DetailBlock .Paragraph{
  margin-bottom:40px;
}
#MainContentsArea .DetailBlockG .Paragraph{
  margin: 0 auto;
  width: 80%;
  text-align: left;
  background: #fff;
  padding: 40px;
}
#MainContentsArea .DetailBlockB .Paragraph{
  margin-bottom: 0;
  margin-top: 40px;
  width: 80%;
  text-align: left;
  border: 1px solid #ccc;
  background: #f4f5f7;
  padding: 40px;
}

body.rsbp-under-bp3 #MainContentsArea .DetailBlock{
  margin-bottom:40px;
}
body.rsbp-under-bp3 #MainContentsArea .DetailBlock .Paragraph{
  margin-bottom:20px;
}
body.rsbp-under-bp2 #MainContentsArea .DetailBlockG .Paragraph{
  margin: 0 10px;
  width: auto;
  text-align: left;
  background: #fff;
  padding: 20px 10px;
}

/* GoogleMap 
--------------------------------------------------- */

.GoogleMap{
  height: 0;
  overflow: hidden;
  padding-bottom: 60%;
  position: relative;
}
.GoogleMap iframe{
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: calc(100% + 1px);
  border: 0;
}
body.rsbp-over-bp3 .SPBreak:before{
  content: "　";
}
body.rsbp-under-bp3 .SPBreak:before{
  display: block;
}