@charset "utf-8";



/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    Template                                      */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */


/* SknTpl common ：共通の定義
--------------------------------------------------- */
.SknTpl{
  margin: 1.25em auto;
}

.Heading + .SknTpl{
  margin-top: 10px;
}
div > .SknTpl:first-child{
  margin-top: 0;
}
div > .SknTpl:last-child{
  margin-bottom: 0;
}








/* ImageParagraph Template ：画像（大）、画像（左右）とテキスト
--------------------------------------------------- */
.SknTplImageParagraph{
}
    /* TextItem */
    .SknTplImageParagraph .TextItem{
      width: 55%;
    }
            /* 画像おおきめ */
            .SknTplImageParagraph.LargeImage .TextItem{
              width: 40%;
            }
            /* 画像floatなし */
            .SknTplImageParagraph.FloatNone  .TextItem{
              float: none;
              width: auto;
            }
    /* ImageItem */
    .SknTplImageParagraph .ImageItem{
      width: 40%;
      position: relative;
    }
            /* 画像おおきめ */
            .SknTplImageParagraph.LargeImage .ImageItem{
              width: 55%;
            }
            /* 画像floatなし */
            .SknTplImageParagraph.FloatNone  .ImageItem{
              margin: 1em 0;
            }
    .SknTplImageParagraph .ImageItem .Image{
      margin: 0;
      display: block;
      text-align: center;
    }
    .SknTplImageParagraph .ImageItem .Image img{
      width: 100%;
    }
    .SknTplImageParagraph .ImageItem .Image.Default img{
      width: auto;
    }
            /* ボーダー付き */
            .SknTplImageParagraph .ImageItem.Border{
              border: 1px solid;
            }
    
    
    /* - - FullImage - - */
    .SknTplImageParagraph.FullImage{
    }
    .SknTplImageParagraph.FullImage .ImageItem{
      width: auto;
    }
    .SknTplImageParagraph.FullImage .TextItem{
      width: auto;
      margin-top: 0.75em;
    }
    

    /* - - LeftImage - - */
    .SknTplImageParagraph.LeftImage .ImageItem{
      float: left;
      margin-right: 10px;
    }
    .SknTplImageParagraph.LeftImage .TextItem{
      float: right;
    }
    /* - - RightImage - - */
    .SknTplImageParagraph.RightImage .ImageItem{
      float: right;
      margin-left: 10px;
    }
    .SknTplImageParagraph.RightImage .TextItem{
      float: left;
    }
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp3 .SknTplImageParagraph.RightImage .ImageItem,
        body.rsbp-under-bp3  .SknTplImageParagraph.LeftImage .ImageItem{
          float: none;
          width: auto;
          margin: 0 0 1em;
          padding: 0;
        }
        body.rsbp-under-bp3 .SknTplImageParagraph.RightImage .ImageItem .Image,
        body.rsbp-under-bp3  .SknTplImageParagraph.LeftImage .ImageItem .Image{
          text-align: center;
        }
        body.rsbp-under-bp3 .SknTplImageParagraph.RightImage .TextItem,
        body.rsbp-under-bp3  .SknTplImageParagraph.LeftImage .TextItem{
          float: none;
          width: auto;
        }
        
        /* + + + + + /レスポンシブ + + + + +  */










/* DecoratedBox Template ：装飾付きボックス
--------------------------------------------------- */
.SknTplDecoratedBox {
}
.SknTplDecoratedBox > .DecoratedBox{
  background: rgba(90,120,140,0.075);
  margin:  25px 0;
  padding: 25px;
}
.SknTplDecoratedBox > .DecoratedBox > .inner{
  background: #fff;
  padding: 50px;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .SknTplDecoratedBox > .DecoratedBox{
          margin:  12.5px;
          padding: 12.5px;
        }
        body.rsbp-under-bp2 .SknTplDecoratedBox > .DecoratedBox  > .inner{
          padding: 25px;
        }
        body.rsbp-under-bp3 .SknTplDecoratedBox > .DecoratedBox{
          margin:  0;
          padding: 12.5px;
        }
        body.rsbp-under-bp3 .SknTplDecoratedBox > .DecoratedBox  > .inner{
          padding: 12.5px;
        }
        /* + + + + + /レスポンシブ + + + + +  */










/* SimpleDecoratedBox Template：装飾付きボックス（シンプル）
--------------------------------------------------- */
.SknTplDecoratedBox.Simple {
}
.SknTplDecoratedBox.Simple > .DecoratedBox{
  background: rgba(245,245,245,0.875);
}
.SknTplDecoratedBox.Simple > .DecoratedBox > .inner{
  background: none;
}
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2 .SknTplDecoratedBox.Simple > .DecoratedBox{
        }
        body.rsbp-under-bp3 .SknTplDecoratedBox.Simple > .DecoratedBox{
        }
        /* + + + + + /レスポンシブ + + + + +  */









/* SknTplThumbnailList ：画像付きリスト
--------------------------------------------------- */
.SknTplThumbnailList{
}
    .SknTplThumbnailList ul{
      list-style: none;
    }
        /* hover */
        .SknTplThumbnailList .ThumbnailList > li a[href]:hover{
          color: #fff;
          background: #444a59;
        }
    
    /* Type1 news type - - - - - - - - - - - - - -  */
    .SknTplThumbnailList .ThumbnailList.Type1{
    }
    
        .SknTplThumbnailList .ThumbnailList.Type1 > li {
          padding: 0;
          line-height: 1;
          vertical-align: middle;
        }
        .SknTplThumbnailList .ThumbnailList.Type1 > li *{
          vertical-align: middle;
        }
        .SknTplThumbnailList .ThumbnailList.Type1 > li a{
          display: block;
          position: relative;
          padding: 20px;
        }
        
        /* Thumbnail style */
        .SknTplThumbnailList .ThumbnailList.Type1 .ImageItem{
          width: 100px;
          overflow: hidden;
          vertical-align: middle;
          float: left;
        }
            .SknTplThumbnailList .ThumbnailList.Type1 .ImageItem .Image{
              height: 100px;
            }
            .SknTplThumbnailList .ThumbnailList.Type1 .ImageItem .Image .Landscape{
              height: 100%;
              width:  auto;
            }
            .SknTplThumbnailList .ThumbnailList.Type1 .ImageItem .Image .Portrait{
              height: auto;
              width:  100%;
            }
        
        /* text style */
        .SknTplThumbnailList .ThumbnailList.Type1 .TextItem{
          margin-left: 125px;
        }
            .SknTplThumbnailList .ThumbnailList.Type1 .TextItem .Title{
              font-weight: 400;
              font-size: 125%;
              margin: 0 0 1em;
            }
            .SknTplThumbnailList .ThumbnailList.Type1 .TextItem .DefaultText{
              font-size: 87.5%;
            }




    /* Type2 gallery type - - - - - - - - - - - - - -  */
    .SknTplThumbnailList .ThumbnailList.Type2{
    }
        .SknTplThumbnailList .ThumbnailList.Type2 > li{
          padding: 0;
          line-height: 1;
          vertical-align: middle;
        }
        .SknTplThumbnailList .ThumbnailList.Type2 > li > .inner{
        }
        .SknTplThumbnailList .ThumbnailList.Type2 > li a{
          display: block;
          padding: 15px;
          position: relative;
          
        }
            /* tableを利用して縦横中央揃え */
            .SknTplThumbnailList .ThumbnailList.Type2 > li .ImageItem{
              display: table;
              width: 100%;
            }
            .SknTplThumbnailList .ThumbnailList.Type2 > li .ImageItem > p{
              display: table-cell;
              width: 100%;
              vertical-align: middle;
              text-align: center;
            }
            .SknTplThumbnailList .ThumbnailList.Type2 > li .ImageItem .Image{
            }

        /* Thumbnail style */
        .SknTplThumbnailList .ThumbnailList.Type2 .ImageItem{
          vertical-align: middle;
        }
            .SknTplThumbnailList .ThumbnailList.Type2 .ImageItem p.Image{
            }
            .SknTplThumbnailList .ThumbnailList.Type2 .ImageItem p.Caption{
              font-size: 87.5%;
              line-height: 1.5;
              margin-top: 0.5em;
            }


        /* text style */
        .SknTplThumbnailList .ThumbnailList.Type2 .TextItem{
          padding: 2em 0;
        }
            .SknTplThumbnailList .ThumbnailList.Type2 .TextItem .Title{
              font-weight: bold;
              margin: 0 0 0.5em;
              text-align: center;
            }
            .SknTplThumbnailList .ThumbnailList.Type2 .TextItem .DefaultText{
              font-size: 87.5%;
              opacity: 0.75;
              line-height: 1.5;
            }


    /* フロー（矢印アイコン付） バージョン - - - - - - - - - - - - - -  */
    .SknTplThumbnailList .ThumbnailList.FlowList            li{
      position: relative;
      margin: 0;
    }
    .SknTplThumbnailList .ThumbnailList.FlowList            li > .inner{
      padding: 1.5em;
    }
    .SknTplThumbnailList .ThumbnailList.FlowList            li .Icon{
      font-size: 150%;
    }
    .SknTplThumbnailList .ThumbnailList.FlowList.Vertical   li .Icon{
      
    }
    .SknTplThumbnailList .ThumbnailList.FlowList.Horizontal li .Icon{
      right: -.5em;
    }







/* TextButton Template ：テキストボタン
--------------------------------------------------- */
.SknTplTextButton{
  position: relative;
  text-align: center;
}
    /* - - ul - - */
    .SknTplTextButton ul{
      list-style: none;
      text-align: center;
      margin: 0;
    }
    .SknTplTextButton li{
      margin: 0 2.5px;
      display: inline-block;
    }
    
    /* - - p - - */
    .SknTplTextButton p{
      margin: 0;
    }
    /* Button style */
    .SknTplTextButton .Button {
      position: relative;
      display: inline-block;
      color: inherit;
      color: #fff;
      /*background: #444a59;*/
      background: rgba(20,120,200,1);
      line-height: 1;
      text-align: center;
      margin: 0.25em 0.125em;
      padding: 0.875em 2.5em;
      white-space: nowrap;
      -webkit-transition: all .2s;
              transition: all .2s;
      border-radius: .5em;
    }
    .SknTplTextButton .Button,
    .SknTplTextButton .Button > *{
      line-height: 1;
      vertical-align: middle;
    }
    .SknTplTextButton .Button .Icon{
      padding: 0;
    }
    .SknTplTextButton .Button .Icon.icon-pos-left:before,
    .SknTplTextButton .Button .Icon.icon-pos-right:before{
      -webkit-transition: all .2s;
              transition: all .2s;
    }
    
    .SknTplTextButton .Button .Label{
      display: inline-block;
      padding: 0;
      font-weight: 400;
      /*letter-spacing: 0.1em;*/
    }
    .SknTplTextButton .Button .Label:before{
      font-size: 1.25em;
      position: static;
    }
    .SknTplTextButton .Button .Label .Main{
      font-weight: 500;
      margin: 0 0.2em;
    }
        /* hover */
        .SknTplTextButton .Button[href]:hover {
          color: #fff;
          border-color: #444a59;
          background:   #444a59;
        }
        /* Current */
        .SknTplTextButton .Button.Current {
          color: #fff;
          border-color: #444a59;
          background:   #444a59;
        }
        
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2  .SknTplTextButton .Button{
          font-size: 87.5%;
        }
        body.rsbp-under-bp3  .SknTplTextButton .Button{
        }
        /* + + + + + /レスポンシブ + + + + +  */










/* DecoratedTable Template ：表組み（テーブル）
--------------------------------------------------- */
.SknTplDecoratedTable{
}
    .SknTplDecoratedTable table{
      width: 100%;
      border-collapse: collapse;
      border-collapse: separate;
      border-spacing: 4px;
      background: rgba(50,50,50,0.05);
      padding: 10px;
    }

    /* common */
    .SknTplDecoratedTable tr{
    }
    .SknTplDecoratedTable th,
    .SknTplDecoratedTable td{
      padding: 0.75em 0.75em;
      line-height: 1.5;
      border: 2px dotted rgba(150,150,150,0.25);
    }
    .SknTplDecoratedTable th{
      text-align: center;
      letter-spacing: 0.125em;
      font-weight: 500;
      background: rgba(225,225,225,0.85);
    }
    .SknTplDecoratedTable td{
      background: rgba(255,255,255,0.85);
    }
    
    /* thead */
    .SknTplDecoratedTable thead{
    
    }
    .SknTplDecoratedTable thead th{
      padding: 0.75em 0px;
      background: #435f9a;
      border: none;
      color: #fff;
      letter-spacing: 0.05em;
      text-align: center;
      overflow: hidden;
      font-size: smaller;
    }
    .SknTplDecoratedTable thead th:first-child{
      width: 30%;
    }
    /* tbody */
    .SknTplDecoratedTable tbody{
    }
    .SknTplDecoratedTable thead  + tbody{
      border-top: none;
    }
    .SknTplDecoratedTable tbody th,
    .SknTplDecoratedTable tbody td{
    }
    .SknTplDecoratedTable tbody th{
    
    }
    .SknTplDecoratedTable tbody > tr > th:not([width]){
      width: 25%;
    }
    .SknTplDecoratedTable tbody td{
    }
    .SknTplDecoratedTable tbody td + td{
    }
    .SknTplDecoratedTable tbody td .Heading{
      margin-left: 0px;
      margin-right: 0px;
    }
            /* + + + + + レスポンシブ + + + + +  */
            body.rsbp-under-bp3 .SknTplDecoratedTable{
            }
            /* notScrollable */
            body.rsbp-under-bp3 .SknTplDecoratedTable{
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable > :not([class*="Scrollable"]) thead th{
              display: none;
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable > :not([class*="Scrollable"]) thead th:first-child:last-child{
              display: block;
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable > :not([class*="Scrollable"]) tr,
            body.rsbp-under-bp3 .SknTplDecoratedTable > :not([class*="Scrollable"]) th,
            body.rsbp-under-bp3 .SknTplDecoratedTable > :not([class*="Scrollable"]) td{
              display: block;
              width: auto!important;
              margin-bottom: 4px;
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable > :not([class*="Scrollable"]) th{
              padding: 0.25em 10px;
              width: auto;
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable > :not([class*="Scrollable"]) td{
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable > :not([class*="Scrollable"]) tbody td + td{
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable .NoDecoratedTable td{
              border: none!important;
            }
            
            /* Scrollable */
            body.rsbp-under-bp3 .Scrollable .SknTplDecoratedTable thead{
              display: table-header-group;
            }
            body.rsbp-under-bp3 .Scrollable .SknTplDecoratedTable thead th{
              display: table-cell;
            }
            body.rsbp-under-bp3 .Scrollable .SknTplDecoratedTable tr{
              display: table-row;
            }
            body.rsbp-under-bp3 .Scrollable .SknTplDecoratedTable th,
            body.rsbp-under-bp3 .Scrollable .SknTplDecoratedTable td{
              display: table-cell;
            }
    /* + + + + + /レスポンシブ + + + + +  */
    
    
    /* - - inner list - - */
    .SknTplDecoratedTable ul,
    .SknTplDecoratedTable ol{
      margin: 0 0 0 2em;
    }
    .SknTplDecoratedTable li ul ,
    .SknTplDecoratedTable li ol{
      margin: 0.25em 0 0.5em 1em;
    }












/* TextList Template ：テキストリスト
--------------------------------------------------- */
.SknTplTextList{
}
    /* - - ul - - */
    .SknTplTextList ul.TextList{
      list-style: none;
      margin: 0;
    }
    .SknTplTextList ul.TextList > li{
      padding: 0.5em 0;
      margin: 0;
      border-bottom: 1px dotted rgba(0,0,0,0.25);
    }
    .SknTplTextList ul.TextList > li > a{
      margin: 0;
      padding: 0.75em 0.5em 0.75em 3.5em;
      display: block;
      text-decoration: none;
      position: relative;
      border-radius: 0.25em;
    }
    .SknTplTextList ul.TextList > li .Label{
      
    }
    .SknTplTextList ul.TextList > li .Label span.Sub{
      display: block;
      font-size: 75%;
      line-height: 1;
      opacity: 0.75;
    }
    
    .SknTplTextList ul.TextList > li .Icon{
      vertical-align: middle;
      position: absolute;
      top: 50%;
      left: 0%;
      margin-top: -0.75em;
      padding: 0 0.25em;
    }
    /* hover */
    .SknTplTextList ul.TextList > li > a:hover{
      background: #444a59;
    }
    .SknTplTextList ul.TextList > li > a:hover *{
      color: #fff;
    }








/* SknTplFaq ：Ｑ＆Ａ
--------------------------------------------------- */
.SknTplFaq {
}
    .SknTplFaq > .inner {
      border: 1px dashed rgba(10,210,230,0.5);
      background: #fff;
      border-radius: 1.5em;
      margin:  5px;
      padding: 30px;
    }
    /* common */
    .SknTplFaq > .inner > .QuestionItem,
    .SknTplFaq > .inner > .AnswerItem {
      position: relative;
      padding-left: 40px;
    }
    .SknTplFaq > .inner > .QuestionItem::before,
    .SknTplFaq > .inner > .AnswerItem::before {
      position: absolute;
      top: 0px;
      left: -0.5em;
      font-family: 'Century Gothic';
      font-weight: 400;
      color: #fff;
      width: 1.75em;
      line-height: 1.75em;
      text-align: center;
      vertical-align: middle;
      border-radius: 3em;
      
    }
    
    
    
    /* question */
    .SknTplFaq > .inner > .QuestionItem {
      font-weight: bold;
      font-size: 125%;
      color: #233e75;
      margin: 0 0 1em;
    }
    .SknTplFaq > .inner > .QuestionItem::before {
      content: "Q";
      background-color: #233e75;
    }
    /* answer */
    .SknTplFaq > .inner > .AnswerItem {
      font-size: 87.5%;
      padding-left: 80px;
    }
    .SknTplFaq > .inner > .AnswerItem::before {
      content: "A";
      background-color: #cc2262;
    }
        .SknTplFaq > .inner > .AnswerItem > .DefaultText:first-child{
          margin-left: -40px;
        }
        .SknTplFaq > .inner > .AnswerItem .Heading {
          margin: 2em 0 0.5em -40px;
          font-size: larger;
        }
        .SknTplFaq > .inner > .AnswerItem .Heading.Small {
          margin: 1em 0 1em;
          font-size: 100%;
        }
        .SknTplFaq > .inner > .AnswerItem ul.DefaultText,
        .SknTplFaq > .inner > .AnswerItem ol.DefaultText{
          margin-left: 3em;
        }
        .SknTplFaq > .inner > .AnswerItem .DefaultText li{
          margin: 0 0 0.25em;
        }










/* GetAdobeReader 
--------------------------------------------------- */
.SknTplGetAdobeReader{
  background: rgba(200,200,200,0.5);
  padding: 20px 30px;
  max-width: 500px;
}
    .SknTplGetAdobeReader .Banner{
      margin: 0;
      float: left;
      width: 125px;
    }
    .SknTplGetAdobeReader .Text{
      margin: 0 0 0 135px;
      font-size: 62.5%;
      line-height: 1.5;
      text-align: justify;
      color: #555;
    }
    /* + + + + + レスポンシブ + + + + +  */
    
        body.rsbp-under-bp3 .SknTplGetAdobeReader{
          padding: 10px;
        }
        body.rsbp-under-bp3 .SknTplGetAdobeReader .Banner{
          width: 75px;
        }
        body.rsbp-under-bp3 .SknTplGetAdobeReader .Banner img{
        }
        body.rsbp-under-bp3 .SknTplGetAdobeReader .Text{
          margin: 0;
          margin: 0 0 0 85px;
          font-size: 50%;
        }
        
    /* + + + + + /レスポンシブ + + + + +  */












/* SknTplColumnGroup
--------------------------------------------------- */
.SknTplColumnGroup {
}
    /* ColumnGroupはcommon_element.cssで定義 */










