@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: 68%;
    }
    /* ImageItem */
    .SknTplImageParagraph .ImageItem{
      width: 30%;
      position: relative;
    }
    .SknTplImageParagraph .ImageItem .Image{
      margin: 0;
      display: block;
      text-align: center;
    }
    .SknTplImageParagraph .ImageItem .Image img{
      width: 100%;
    }
    
    
    /* - - 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: linear-gradient( to bottom, rgba(10,210,230,0.5),  rgba(10,210,230,0.125));
  background-attachment: fixed;
  border: 1px dashed rgba(10,210,230,0.5);
  margin:  25px;
  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;
    }
    
    /* Type1 news type - - - - - - - - - - - - - -  */
    .SknTplThumbnailList .ThumbnailList.Type1{
    }
        /* Thumbnail size */
        .SknTplThumbnailList .ThumbnailList.Type1 .ImageItem{
          width: 25%;
        }
        .ImageItem + .SknTplThumbnailList .ThumbnailList.Type1 .TextItem{
          vertical-align: middle;
          padding: 20px;
          float: right;
          width: 75%;
        }
        
        .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;
        }
        
        
        /* Thumbnail pos */
        .SknTplThumbnailList .ThumbnailList.Type1 .ImageItem{
          overflow: hidden;
          vertical-align: middle;
          float: left;
        }
        /* text style */
        .SknTplThumbnailList .ThumbnailList.Type1 .TextItem{
        }
            .SknTplThumbnailList .ThumbnailList.Type1 .TextItem .Title{
              font-weight: bold;
              margin: 0 0 0.5em;
            }
            .SknTplThumbnailList .ThumbnailList.Type1 .TextItem .Title:first-child:last-child{
            }
            .SknTplThumbnailList .ThumbnailList.Type1 .TextItem .DefaultText{
              font-size: 87.5%;
            }
        
    /* Type2 gallery type - - - - - - - - - - - - - -  */
    .SknTplThumbnailList .ThumbnailList.Type2{
    }
        .SknTplThumbnailList .ThumbnailList.Type2{
        }
        .SknTplThumbnailList .ThumbnailList.Type2 > li{
          padding: 0;
          line-height: 1;
          vertical-align: middle;
        }
        .SknTplThumbnailList .ThumbnailList.Type2 > li > .inner{
          padding: 15px;
        }
        .SknTplThumbnailList .ThumbnailList.Type2 > li a{
          display: block;
          position: relative;
        }
                /* + + + + + レスポンシブ + + + + +  */
                body.rsbp-under-bp3 .SknTplThumbnailList .ThumbnailList.Type2 > li > .inner{
                  padding: 1.5vw;
                }
                /* + + + + + /レスポンシブ + + + + +  */


        /* Thumbnail pos */
        .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;
            }
                /* + + + + + レスポンシブ + + + + +  */
                body.rsbp-under-bp3 .SknTplThumbnailList .ThumbnailList.Type2 .ImageItem p.Caption{
                  font-size: 75%;
                }
                /* + + + + + /レスポンシブ + + + + +  */
                
                
        /* text style */
        .SknTplThumbnailList .ThumbnailList.Type2 .TextItem{
          padding: 1em;
        }
            .SknTplThumbnailList .ThumbnailList.Type2 .TextItem .Title{
              font-weight: bold;
              margin: 0 0 0.5em;
            }
            .SknTplThumbnailList .ThumbnailList.Type2 .TextItem .Title:first-child:last-child{
            }
            .SknTplThumbnailList .ThumbnailList.Type2 .TextItem .Sub{
              font-size: 75%;
            }









/* TextButton Template ：テキストボタン
--------------------------------------------------- */
.SknTplTextButton{
  position: relative;
}
    /* - - ul - - */
    .SknTplTextButton ul{
      font-size: 100%;
      list-style: none;
      text-align: center;
      margin: 0;
    }
    .SknTplTextButton li{
      margin: 0 2.5px;
      display: inline-block;
    }
    
    /* - - p - - */
    .SknTplTextButton p{
      font-size: 100%;
      text-align: center;
      margin: 0;
    }
    /* Button style */
    .SknTplTextButton .Button {
      position: relative;
      display: inline-block;
      color: inherit;
      background: rgba(255,255,255,0.75);
      border: 2px solid;
      line-height: 1;
      text-align: center;
      margin: 0.25em 0.125em;
      padding: 1.25em 0;
      -webkit-transition: all .2s;
              transition: all .2s;
      white-space: nowrap;
    }
    .SknTplTextButton .Button:hover {
      color: #fff;
      background: rgba(0,0,0,0.9);
      border-color: rgba(0,0,0,0.9);
      padding: 1.25em 0.5em;
      opacity: 1;
    }
    .SknTplTextButton .Button,
    .SknTplTextButton .Button > *{
      line-height: 1.5;
      vertical-align: middle;
    }
    .SknTplTextButton .Button .Icon{
      display: inline-block;
      border-right: 1px dotted;
      padding: 0 0.5em;
    }
    .SknTplTextButton .Button .Label{
      display: inline-block;
      padding: 0 1.0em 0 1.5em;
    }
    .SknTplTextButton .Button .Label:before{
      font-size: 1.25em;
      position: static;
    }
    .SknTplTextButton .Button .Label em{
      font-weight: bold;
      margin: 0 0.2em;
    }
    
        /* + + + + + レスポンシブ + + + + +  */
        body.rsbp-under-bp2  .SknTplTextButton .Button{
          font-size: 87.5%;
        }
        body.rsbp-under-bp3  .SknTplTextButton .Button{
          padding: 1.25em 0em;
        }
        body.rsbp-under-bp3  .SknTplTextButton .Button:hover {
          padding: 1.25em 0em;
        }
        body.rsbp-under-bp3  .SknTplTextButton .Button .Label{
          display: inline-block;
          padding: 0 1em 0 0.5em;
        }
        body.rsbp-under-bp3  .SknTplTextButton .Button .Icon{
        }
        /* + + + + + /レスポンシブ + + + + +  */










/* DecoratedTable Template ：表組み（テーブル）
--------------------------------------------------- */
.SknTplDecoratedTable{
}
    .SknTplDecoratedTable table{
      width: 100%;
      border-collapse: collapse;
      border-collapse: separate;
      border-spacing: 4px;
      background: rgba(50,50,50,0.00);
      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.0);
    }
    .SknTplDecoratedTable td{
      background: rgba(255,255,255,0.0);
    }
    
    /* 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(.NotBlockTable) > :not([class*="Scrollable"]) thead th{
              display: none;
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable:not(.NotBlockTable) > :not([class*="Scrollable"]) thead th:first-child:last-child{
              display: block;
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable:not(.NotBlockTable) > :not([class*="Scrollable"]) tr,
            body.rsbp-under-bp3 .SknTplDecoratedTable:not(.NotBlockTable) > :not([class*="Scrollable"]) th,
            body.rsbp-under-bp3 .SknTplDecoratedTable:not(.NotBlockTable) > :not([class*="Scrollable"]) td{
              display: block;
              width: auto!important;
              margin-bottom: 4px;
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable:not(.NotBlockTable) > :not([class*="Scrollable"]) th{
              padding: 0.25em 10px;
              width: auto;
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable:not(.NotBlockTable) > :not([class*="Scrollable"]) td{
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable:not(.NotBlockTable) > :not([class*="Scrollable"]) tbody td + td{
            }
            body.rsbp-under-bp3 .SknTplDecoratedTable:not(.NotBlockTable) .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.25em 0;
      padding: 0.75em 0.5em 0.75em 3em;
      display: block;
      text-decoration: none;
      position: relative;
    }
    .SknTplTextList ul.TextList > li .Label span.Sub{
      display: block;
      padding: 0.25em;
      font-size: 75%;
      line-height: 1;
      opacity: 0.75;
    }
    
    .SknTplTextList ul.TextList > li .Icon:before{
      color: #02c3cc;
      background: #0899ea;
      color: #fff;
      padding: 0.25em;
      border-radius: 2em;
      vertical-align: middle;
      position: absolute;
      top: 50%;
      left: .75em;
      margin-top: -0.75em;
    }









/* SknTplFaq ：Ｑ＆Ａ
--------------------------------------------------- */
.SknTplFaq {
}
    .SknTplFaq > .inner {
      padding: 50px;
      background: rgba(225,225,225,0.5);
      border: 1px dashed #ccc;
    }
    /* common */
    .SknTplFaq > .inner > .QuestionText,
    .SknTplFaq > .inner > .AnswerText {
      position: relative;
      padding-left: 30px;
    }
    .SknTplFaq > .inner > .QuestionText::before,
    .SknTplFaq > .inner > .AnswerText::before {
      position: absolute;
      top: 0px;
      left: 0px;
      font-family: 'Century Gothic';
      font-weight: normal;
    }
    
    
    
    /* question */
    .SknTplFaq > .inner > .QuestionText {
      font-weight: bold;
      font-size: 125%;
      margin: 0 0 1em;
    }
    .SknTplFaq > .inner > .QuestionText::before {
      content: "Q:";
      color: #233e75;
    }
    /* answer */
    .SknTplFaq > .inner > .AnswerText {
      font-size: 100%;
      line-height: 1.5;
    }
    .SknTplFaq > .inner > .AnswerText::before {
      content: "A:";
      color: #cc2262;
      
    }










/* 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で定義 */











/* SknTplEmbedVideo version 2016060801
--------------------------------------------------- */
.SknTplEmbedVideo {
}
    .SknTplEmbedVideo > .inner{
      padding: 30px;
    }
    .SknTplEmbedVideo > .inner > .code {
      position: relative;
      width: 100%;
      padding-top: 56.25%;
    }
    .SknTplEmbedVideo > .inner > .code > iframe {
      position: absolute;
      top: 0;
      right: 0;
      width: 100% !important;
      height: 100% !important;
    }











/* SknTplEmbedGoogleMaps version 2016060801
--------------------------------------------------- */
.SknTplEmbedGoogleMaps {
}
    .SknTplEmbedGoogleMaps > .inner {
      padding: 30px;
    }
    .SknTplEmbedGoogleMaps > .inner > .code {
      position: relative;
      width: 100%;
      padding-top: 56.25%;
    }
    .SknTplEmbedGoogleMaps > .inner > .code > iframe {
      position: absolute;
      top: 0;
      right: 0;
      width: 100% !important;
      height: 100% !important;
    }