@charset "UTF-8";
/*--------------------------------------------

	共通パーツ

--------------------------------------------*/
/*--------------------------------------------
	タイトル
--------------------------------------------*/
/* 黒文字　16px相当 */
.tpcs-content h3 {
 font-size: 129%;
 font-weight: bold;
 margin-bottom: 15px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
 .tpcs-content h3 {
  font-size: 118%;
  font-weight: bold;
  margin-bottom: 10px;
 }
}

/* 左　グレー仕切り線 */
.tpcs-content h4 {
 font-size: 118%;
 font-weight: bold;
 margin-bottom: 12px;
}

.tpcs-content h4 span {
 display: inline-block;
 vertical-align: middle;
 line-height: 1.2em;
}

.tpcs-content h4:before {
 display: inline-block;
 vertical-align: middle;
 content: "";
 width: 4px;
 height: 16px;
 border-radius: 4px;
 background-color: #515457;
 margin-right: 10px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
 .tpcs-content h4 {
  position: relative;
  font-size: 108%;
  font-weight: bold;
  margin-bottom: 5px;
  padding-left: 10px;
  line-height: 1.4em;
 }
 .tpcs-content h4:before {
  position: absolute;
  left: 0;
  top: 0;
  min-height: 16px;
  height: 100%;
 }
}
/* 16px #646d7c */
.tpcs-content h5 {
 font-size: 115%;
 color: #646d7c;
 margin-bottom: 12px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
 .tpcs-content h5 {
  font-size: 108%;
  margin-bottom: 5px;
 }
}

.js-contents-block-content b {
  font-size:100%;
  margin-top:3px;
}

.ttl-blk {
  font-size: 129%;
  font-weight: bold;
  margin-bottom: 20px;
  background: none;
  padding: 0;
  color: #000000;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  .ttl-blk {
    font-size: 108%;
    font-weight: normal;
    margin-bottom: 15px;
  }
}

/*--------------------------------------------
 p
--------------------------------------------*/
/*--------------------------------------------
 UL
--------------------------------------------*/
.js-contents-block-content ul {
 padding-left: 10px;
 font-size: 115%;
 line-height: 1.5em;
}
.js-contents-block-content ul li {
 position: relative;
 margin-top: 10px;
 padding-left: 15px;
}
.js-contents-block-content >ul >li:before {
 position: absolute;
 left: 0;
 top: 2px;
 margin-top: 0.25em;
 display: inline-block;
 content: "";
 width: 8px;
 height: 8px;
 background: url("/cmn/img/icon_listpointer.png") no-repeat center center;
 background-size: cover;
}
/*.tpcs-content ul li:first-child {
 margin-top: 0;
}*/
/*--------------------------------------------
 OL
--------------------------------------------*/
.js-contents-block-content ol {
 counter-reset: sqexcounter;
 padding-left: 10px;
 font-size: 115%;
 line-height: 1.5em;
}
.js-contents-block-content ol li {
 /* list-style-type: decimal; */
 position: relative;
 margin-top: 10px;
 padding-left: 1.75em;
}
/*.js-contents-block-content ol li:first-child {
 margin-top: 0;
}*/
.js-contents-block-content ol li:before {
 position: absolute;
 left: 0;
 margin-right: 5px;
 counter-increment: sqexcounter; /* 任意の名前を付ける（もちろん英語で） */
 content: counter(sqexcounter)"."; /* 名前を付けたカウンターをcontentで発動！ */
}
/*--------------------------------------------
 DL
--------------------------------------------*/
/* 縦並び */
.lst-blktxt dt {
 font-size: 129%;
 font-weight: bold;
}
.lst-blktxt dd {
 margin-top: 10px;
 padding-left: 20px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
 .lst-blktxt dt {
  font-size: 108%;
 }
}
/* 横並び */
.lst-inltxt {
  margin-top: 10px;
}
.lst-inltxt dt {
 font-size: 110%;
 font-weight: bold;
 margin-right: 30px;
 display: inline-block;
 vertical-align: top;
}
.lst-inltxt dd {
 display: inline-block;
 vertical-align: top;
 max-width: 980px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
 .lst-inltxt {
  display: table;
  width: 100%;
 }
 .lst-inltxt dt {
  display: table-cell;
  font-size: 108%;
  width: 30%;
 }
 .lst-inltxt dd {
  display: table-cell;
  max-width: 70%;
  width: 70%;
  padding-left: 10px;
 }
}

/*--------------------------------------------
 table
--------------------------------------------*/
.js-contents-block-content table {
 width: 100%;
}
.js-contents-block-content table th {
 font-size: 116%;
 font-weight: bold;
 padding: 10px;
}
.js-contents-block-content table td {
 padding: 6px 10px;
 border-bottom: 1px solid #e5e5e5;
 text-align: center;
 line-height: 1.5em !important;
}
/* typeA */
.tb-type-a th {
 border-bottom: 2px solid #868686;
}
.tb-type-a td {
}
/* typeB */
.tb-type-b {
 border: 1px solid #e5e5e5;
}
.tb-type-b th {
 color: #ffffff;
 background-color: #868686;
 border-bottom: 1px solid #e5e5e5;
 border-right: 1px solid #e5e5e5;
}
.tb-type-b th:last-child,
.tb-type-b td:last-child {
 border-right: none;
}
.tb-type-b td {
 border-right: 1px solid #e5e5e5;
}
.tb-type-b td:first-child {
 background-color: #d9d9d9;
}
.tb-type-b tr:last-child td {
 border-bottom: none;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
 .js-contents-block-content table th {
  font-size: 93% !important;
  font-weight: normal;
 }
 .js-contents-block-content table th {
  padding: 5px;
 }
 .js-contents-block-content table td {
  font-size: 86% !important;
  padding: 5px;
 }
}

/*--------------------------------------------
 Blockquote
--------------------------------------------*/
/* typeA */
.box-blkq-a {
 border-left: 10px solid #868686;
 padding: 10px;
 padding-left: 20px;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
 .box-blkq-a {
  border-left: 5px solid #868686;
  padding: 10px;
  padding-left: 15px;
 }
}
/* typeB */
.box-blkq-b {
 padding: 20px 30px;
 background-color: #d9d9d9;
}
@media screen and (min-width: 0px) and (max-width: 767px) {
 .box-blkq-b {
  padding: 15px;
 }
}
/*--------------------------------------------
 hr
--------------------------------------------*/
.js-contents-block-content hr {
 height: 1px;
 background-color: #e5e5e5;
 border: none;
 margin: 35px 0 50px 0;
}



/*--------------------------------------------
	リンク
--------------------------------------------*/
/* アイコン左付け（黒） */
.lk-arw-lt {
 display: inline-block;
 vertical-align: middle;
 font-size: 115%;
 color: #000000;
}

.lk-arw-lt:before {
 content: "";
 display: inline-block;
 vertical-align: middle;
 width: 8px;
 height: 13px;
 background-image: url("/cmn/img/arrow_right_bk.png");
 background-repeat: no-repeat;
 background-position: left top;
 margin-right: 10px;
}

/* 別窓アイコン右付け（赤） */
.lk-win-rt {
 display: inline-block;
 vertical-align: middle;
}

.lk-win-rt:after {
 content: "";
 display: inline-block;
 vertical-align: middle;
 width: 13px;
 height: 12px;
 background-image: url("/cmn/img/icon_window.png");
 background-repeat: no-repeat;
 background-position: left top;
 margin-left: 5px;
}


/* SP */
@media screen and (min-width: 0px) and (max-width: 767px) {
 .lk-arw-lt {
  font-size: 86%;
  color: #000000;
 }
 .lk-arw-lt:before {
  width: 4px;
  height: 6.5px;
  background-size: cover;
 }
}
