/* GovForum互換CSS：.word / .table_03 / .kadomaru */

/* =========================================================
   用語注釈
   ========================================================= */

.word{
  color:#006699;
  font-weight:700;
  border-bottom:1px dotted #006699;
  cursor:help;
  text-decoration:none;
}

.word:hover{
  color:#004a75;
  text-decoration:none;
}

.pchide{
  display:none;
}

#gf-tooltip{
  display:none;
  position:absolute;
  z-index:9999;
  max-width:340px;
  background:#15345a;
  color:#fff;
  padding:10px 12px;
  border-radius:10px;
  font-size:14px;
  line-height:1.7;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  pointer-events:none;
}


/* =========================================================
   table_03：フォーラムから貼り付ける通常表
   bgcolor・align・valign・width の指定を活かす
   ========================================================= */

.article-body table.table_03,
table.table_03{
  width:90%;
  max-width:100%;
  margin:28px 0 0;
  border-collapse:collapse;
  border-spacing:0;
  border:1px solid #ccd8e4;
  border-radius:0;
  overflow:visible;
  background:#fff;
  background-image:none;
  color:#243041;
  font-size:15px;
  line-height:1.7;
}

.article-body table.table_03 caption,
table.table_03 caption{
  caption-side:top;
  margin:0 !important;
  padding:0 0 4px !important;
  color:#15345a;
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  text-align:left;
}

.article-body table.table_03 td,
.article-body table.table_03 th,
table.table_03 td,
table.table_03 th{
  border:1px solid #ccd8e4;
  padding:12px 14px;
  line-height:1.75;
  background-image:none !important;
}

/* bgcolorがないセルは白背景 */
.article-body table.table_03 td:not([bgcolor]),
.article-body table.table_03 th:not([bgcolor]),
table.table_03 td:not([bgcolor]),
table.table_03 th:not([bgcolor]){
  background-color:#fff;
  color:#243041;
}

/* HTMLのalign属性を反映 */
.article-body table.table_03 td[align="left"],
.article-body table.table_03 th[align="left"],
table.table_03 td[align="left"],
table.table_03 th[align="left"]{
  text-align:left !important;
}

.article-body table.table_03 td[align="center"],
.article-body table.table_03 th[align="center"],
table.table_03 td[align="center"],
table.table_03 th[align="center"]{
  text-align:center !important;
}

.article-body table.table_03 td[align="right"],
.article-body table.table_03 th[align="right"],
table.table_03 td[align="right"],
table.table_03 th[align="right"]{
  text-align:right !important;
}

/* HTMLのvalign属性を反映 */
.article-body table.table_03 td[valign="top"],
.article-body table.table_03 th[valign="top"],
table.table_03 td[valign="top"],
table.table_03 th[valign="top"]{
  vertical-align:top !important;
}

.article-body table.table_03 td[valign="middle"],
.article-body table.table_03 th[valign="middle"],
table.table_03 td[valign="middle"],
table.table_03 th[valign="middle"]{
  vertical-align:middle !important;
}

.article-body table.table_03 td[valign="bottom"],
.article-body table.table_03 th[valign="bottom"],
table.table_03 td[valign="bottom"],
table.table_03 th[valign="bottom"]{
  vertical-align:bottom !important;
}

/* 濃い青セルは白文字 */
.article-body table.table_03 td[bgcolor="#006699"],
.article-body table.table_03 th[bgcolor="#006699"],
.article-body table.table_03 td[bgcolor="#006699"] *,
.article-body table.table_03 th[bgcolor="#006699"] *,
table.table_03 td[bgcolor="#006699"],
table.table_03 th[bgcolor="#006699"],
table.table_03 td[bgcolor="#006699"] *,
table.table_03 th[bgcolor="#006699"] *{
  color:#fff !important;
}

/* 薄い青緑セルは黒文字 */
.article-body table.table_03 td[bgcolor="#ECF9F8"],
.article-body table.table_03 th[bgcolor="#ECF9F8"],
.article-body table.table_03 td[bgcolor="#ECF9F8"] *,
.article-body table.table_03 th[bgcolor="#ECF9F8"] *,
.article-body table.table_03 td[bgcolor="#ecf9f8"],
.article-body table.table_03 th[bgcolor="#ecf9f8"],
.article-body table.table_03 td[bgcolor="#ecf9f8"] *,
.article-body table.table_03 th[bgcolor="#ecf9f8"] *,
table.table_03 td[bgcolor="#ECF9F8"],
table.table_03 th[bgcolor="#ECF9F8"],
table.table_03 td[bgcolor="#ECF9F8"] *,
table.table_03 th[bgcolor="#ECF9F8"] *,
table.table_03 td[bgcolor="#ecf9f8"],
table.table_03 th[bgcolor="#ecf9f8"],
table.table_03 td[bgcolor="#ecf9f8"] *,
table.table_03 th[bgcolor="#ecf9f8"] *{
  color:#243041 !important;
}

/* 赤文字は赤のまま維持 */
.article-body table.table_03 font[color="#ff0000"],
.article-body table.table_03 font[color="#FF0000"],
.article-body table.table_03 [style*="color: #ff0000"],
.article-body table.table_03 [style*="color:#ff0000"],
table.table_03 font[color="#ff0000"],
table.table_03 font[color="#FF0000"],
table.table_03 [style*="color: #ff0000"],
table.table_03 [style*="color:#ff0000"]{
  color:#ff0000 !important;
}


/* =========================================================
   kadomaru：薄い青の角丸枠
   ========================================================= */

.article-body table.kadomaru,
table.kadomaru{
  width:90%;
  max-width:100%;
  margin:28px 0 0;
  border:1px solid #dbe8f3 !important;
  border-radius:14px !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden !important;
  background:#fafdff !important;
  background-image:none !important;
  color:#243041 !important;
  text-align:left !important;
  box-shadow:none;
}

.article-body table.kadomaru caption,
table.kadomaru caption{
  caption-side:top;
  margin:0 !important;
  padding:0 0 4px !important;
  color:#15345a !important;
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  text-align:left !important;
  background:transparent !important;
}

.article-body table.kadomaru tbody,
.article-body table.kadomaru tr,
.article-body table.kadomaru td,
.article-body table.kadomaru th,
.article-body table.kadomaru strong,
.article-body table.kadomaru span,
.article-body table.kadomaru div,
table.kadomaru tbody,
table.kadomaru tr,
table.kadomaru td,
table.kadomaru th,
table.kadomaru strong,
table.kadomaru span,
table.kadomaru div{
  background:#fafdff !important;
  background-image:none !important;
  color:#243041 !important;
  text-align:left !important;
}

.article-body table.kadomaru td,
.article-body table.kadomaru th,
table.kadomaru td,
table.kadomaru th{
  padding:20px 22px !important;
  border:0 !important;
  vertical-align:top !important;
  line-height:1.75 !important;
}

.article-body table.kadomaru font[color="#ff0000"],
.article-body table.kadomaru font[color="#FF0000"],
.article-body table.kadomaru [style*="color: #ff0000"],
.article-body table.kadomaru [style*="color:#ff0000"],
table.kadomaru font[color="#ff0000"],
table.kadomaru font[color="#FF0000"],
table.kadomaru [style*="color: #ff0000"],
table.kadomaru [style*="color:#ff0000"]{
  color:#ff0000 !important;
  font-weight:800;
}


/* =========================================================
   スマートフォン用注釈
   ========================================================= */

.article-body p.gf-mobile-note,
p.gf-mobile-note{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  height:0 !important;
  min-height:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
}

/* JavaScriptが無効な場合のフォールバック */
.article-body p:has(.pchide),
p:has(.pchide){
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  height:0 !important;
  min-height:0 !important;
  line-height:0 !important;
  overflow:hidden !important;
}


/* =========================================================
   提供元表記
   ========================================================= */

.content-source-note{
  margin:28px 0 0;
  padding:16px 18px;
  border:1px solid #e5c766;
  border-left:5px solid #d1a928;
  border-radius:10px;
  background:#fff9dc;
  color:#4a3b12;
  line-height:1.75;
}

.content-source-note a{
  color:#8a6500;
  font-weight:700;
  text-decoration:underline;
}


/* =========================================================
   スマートフォン
   ========================================================= */

@media(max-width:768px){
  .article-body table.table_03,
  .article-body table.kadomaru,
  table.table_03,
  table.kadomaru{
    width:100% !important;
    display:block;
    overflow-x:auto;
    white-space:normal;
  }

  .article-body table.table_03 tbody,
  .article-body table.kadomaru tbody,
  table.table_03 tbody,
  table.kadomaru tbody{
    display:table;
    width:100%;
  }

  .article-body table.table_03 td,
  .article-body table.table_03 th,
  table.table_03 td,
  table.table_03 th{
    padding:10px 12px;
  }

  .article-body table.kadomaru td,
  .article-body table.kadomaru th,
  table.kadomaru td,
  table.kadomaru th{
    padding:16px !important;
  }

  .article-body p.gf-mobile-note,
  p.gf-mobile-note,
  .article-body p:has(.pchide),
  p:has(.pchide){
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    line-height:1.7 !important;
    overflow:visible !important;
    margin:8px 0 14px !important;
    padding:0 !important;
  }

  .article-body p.gf-mobile-note .pchide,
  p.gf-mobile-note .pchide,
  .article-body p:has(.pchide) .pchide,
  p:has(.pchide) .pchide{
    display:inline !important;
    color:#ff6600 !important;
    font-size:14px !important;
    line-height:1.7 !important;
  }

  #gf-tooltip{
    display:none !important;
  }

  .content-source-note{
    margin-top:22px;
    padding:14px 15px;
  }
}


/* =========================================================
   selector14：記事内の中見出し
   ========================================================= */

.article-body h5.selector14,
.article-body .selector14,
h5.selector14{
  display:block;
  width:auto;
  margin:30px 0 8px !important;
  padding:9px 13px 9px 14px;
  border:0;
  border-left:4px solid #006699;
  border-radius:0 7px 7px 0;
  background:#f2f7fa;
  color:#15345a;
  font-size:18px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.01em;
}

.article-body h5.selector14:first-child,
.article-body .selector14:first-child{
  margin-top:0 !important;
}

@media(max-width:768px){
  .article-body h5.selector14,
  .article-body .selector14,
  h5.selector14{
    margin-top:24px !important;
    margin-bottom:7px !important;
    padding:8px 11px 8px 12px;
    font-size:17px;
  }
}
