@charset "UTF-8";

/* リンク */
main a[target="_blank"]:after {
  content: "\e164";
  margin-left: 4px;
  vertical-align: -1px;
  font-size: 90%;
  font-family: 'Glyphicons Halflings';
}
.noicon-blank a[target="_blank"]:after {display: none;}


/* 長いリンクを折り返す */
.link-break {
  word-break: break-all;
}

/* ページの幅の設定 */
.page-wrap {
  max-width: calc(1200px + 30px);  /* ページの幅 + 左右のガターサイズ */
}
/* グリッド 追加 */
@media (min-width:1200px) {
  .col-lg-2_10 {
    width: 20%;
  }
}
/* フレックスコンテナ */
.row-df {
    display: -webkit-flex;
  display: flex;
    -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.row-df > [class^="col-"] {
  float: none;
}
/* フリーサイズボックス */
.col {
  padding-left: 15px;
  padding-right: 15px;
}
/* コンテンツ間の余白 */
.section {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media (min-width:768px) {
  .section {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}
@media (min-width:992px) {
  .section {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}
/* フリーサイズのカラム */
.col {
  padding-left: 15px;
  padding-right: 15px;
}


/* スクリーンリーダー */
@media (max-width:767px) {
  .xs-sr-only {
    position: absolute;
    overflow: hidden;
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    border: 0;
    clip: rect(0,0,0,0);
  }
}


/* テキスト　重要 */
.text-important {
  color: #f00;
  font-size: 1.5rem;
}
@media (min-width:768px) {
  .text-important {
    font-size: 2rem;
  }
}
/* テキスト　行揃え */
@media (max-width:767px) {
  .text-center-xs {text-align: center;}
}
@media (min-width:768px) {
  .text-center-sm {text-align: center;}
}
/* フォントサイズ */
.font-m {font-size: 1rem;}
.font-lg {font-size: 1.25rem;}
/* テーブル */
@media (max-width:767px) {
  .table-responsive-list,
  .table-responsive-list thead,
  .table-responsive-list tbody,
  .table-responsive-list tfoot,
  .table-responsive-list tr,
  .table-responsive-list th,
  .table-responsive-list td,
  .table-responsive-list caption {
    display: block;
  }
  .table-bordered.table-responsive-list {
    border: none;
  }
  .table-bordered.table-responsive-list > thead > tr > th,
  .table-bordered.table-responsive-list > tbody > tr > th,
  .table-bordered.table-responsive-list > tbody > tr > td {
    border: none;
  }
  .table-bordered.table-responsive-list tbody td {
    padding-left: 1.5rem;
  }

  /* スマホ時データ縦並びで横スクロール */
  .table-x,
  .table-x thead,
  .table-x tbody,
  .table-x tr,
  .table-x th,
  .table-x td{
    display: block;
  }
  .table-x table {
    position: relative;
    overflow: hidden;
  }
  .table-x thead {
	    display: -webkit-flex;
    display: flex;
    	-webkit-flex-direction: column;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    border: 1px solid #ddd;
  }
  .table-x thead th,
  .table-x thead td {
    padding: 6px 10px;
    height: 3em;
    border: 1px solid #ddd;
  }
  .table-x tbody {
    overflow-x: scroll;
    display: flex;
    margin-left: 100px;
    border: 1px solid #ddd;
  }
  .table-x tbody th,
  .table-x tbody td {
    padding: 6px 10px;
    height: 3em;
    border: 1px solid #ddd;
    white-space: nowrap;
  }
  .table-x tbody th {
    border-bottom: 2px solid #ddd;
  }
}


/* テーブル垂直位置 */
.table-v-middle > tbody > tr > th,
.table-v-middle > tbody > tr > td {
  vertical-align: middle;
}
/* テーブル内フリガナ */
.table > tbody > .table-ruby th {
  padding-top: 16px;
}
.table > tbody > .table-ruby td {
  padding-top: 24px;
}

/* レスポンシブ画像　行揃え */
.img-responsive-center {
  margin-left: auto;
  margin-right: auto;
}
/* レスポンシブ画像　高さ */
.img-responsive-height {
  display: block;
  width: auto;
  max-height: 100%;
}
/* 画像 */
.img-responsive-inline {
  display: inline-block;
  width: auto;
}

/* リスト */
.list-none {list-style-type: none;}
.list-1letter {
  padding-left: 1rem;
  list-style-type: none;
}
.list-1letter li {
  padding-left: 1rem;
  text-indent: -1rem;
}
/* 用語間の調整マージン */
.d-list dd + dt {
  margin-top: 1rem;
}
@media (max-width:767px) {
  .d-list dd {
    margin-left: 1rem;
  }
}


/* PDF等のアイコン */
img[src$="doc_icon.gif"],
img[src$="xls-icon.gif"],
img[src$="pdf_icon.gif"] {
  vertical-align: -2px;
}


/* フォーム */
.form-inline-item [type="text"],
.form-inline-item [type="num"],
.form-inline-item [type="email"] {
  display: inline !important;
  width: auto;
}
