@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
.deb-pre--txt-mk{
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 50%;
    padding-bottom: 0.3em;
}

.deb-pre--txt-mk.mk-blue   { background:  linear-gradient(transparent 50%, #D9E1FF 50%); color: #212121; }
.deb-pre--txt-mk.mk-lightblue   { background: linear-gradient(transparent 50%, #D9F9FF 50%); color: #212121; }
.deb-pre--txt-mk.mk-green  { background: linear-gradient(transparent 50%, #D9FFDC 50%); color: #212121; }
.deb-pre--txt-mk.mk-orange   { background: linear-gradient(transparent 50%, #FFE6D9 50%); color: #212121; }
.deb-pre--txt-mk.mk-pink   { background: linear-gradient(transparent 50%, #FFD9F6 50%); color: #212121; }
.deb-pre--txt-mk.mk-red   { background: linear-gradient(transparent 50%, #FFD9DA 50%); color: #212121; }
.deb-pre--txt-mk.mk-yellow { background: linear-gradient(transparent 50%, #FFF9D9 50%); color: #212121; }

strong .deb-pre--txt-mk {
  font-weight: 600 !important;
}


article{
    color: #212121;
     font-family: 'Roboto', sans-serif;
}
article .deb-block{
    margin: 32px 0;
}
article strong{
    font-weight: 600;
}

article p:not(.ez-toc-title){
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
}

/* H2 */
.wp-block-heading h2,
h2.wp-block-heading,
.wp-block-heading h2 strong,
h2.wp-block-heading strong {
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

/* H3 */
.wp-block-heading h3,
h3.wp-block-heading,
.wp-block-heading h3 strong,
h3.wp-block-heading strong {
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

/* H4 */
.wp-block-heading h4,
h4.wp-block-heading,
.wp-block-heading h4 strong,
h4.wp-block-heading strong {
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}





img.has-border-color.has-aaaaaa-border-color {
  border: none !important;
  box-shadow: none !important;
  margin: 8px 0;
}
.wp-block-table thead{
    border: none!important;
}
.wp-block-table .has-fixed-layout tbody{
    border:none!important;
}
.wp-block-table .has-fixed-layout th{
  background-color: #F1F1F1;
  border: 1px solid #e0e7ef!important;
  border-bottom: 1px solid #e0e7ef!important;
  padding: 0.8em 1em;
  font-weight:600;
  font-size: 1em;
  text-align: left;
}
.wp-block-table .has-fixed-layout td {
  padding: 1em 1.2em;
  border: 1px solid #e0e7ef;
  text-align: left;
  font-size: 1em;
  line-height: 1.5;
  font-weight: 300;
}

/* 目次ボックス全体 */
#ez-toc-container {
  border: 1px solid #0066FF;
  background: #FCFCFC;
  padding: 1.6rem;
  margin: 1em auto 3rem;
  max-width: 600px;
  position: relative;
　word-wrap: break-word;
  overflow-wrap: break-word;
  position: relative;
　transition: all 0.3s ease;
}

/* 表示状態 */
#ez-toc-container.toc-visible {
  display: block;
}

/* 非表示状態 */
.ez-toc-list-level-1.closed {
  display: none !important;
}

/* クローズボタン */
#ez-toc-container::after {
  content: "ー";
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 45px;
  height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: 1em;
  color: #0066FF;
  background: #fff;
  border: 1px solid #0066FF;
  border-radius: 50%;
  transition: all 0.2s;
}
#ez-toc-container.closed::after{
  content: "＋";
}

/* タイトル（Index） */
p.ez-toc-title.ez-toc-toggle {
  font-size: 1.8em !important;
  font-weight: 300 !important;
  font-family: 'Jost', sans-serif !important;
  color: #0066FF !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  display: block !important;
}

/* タイトルコンテナ */
#ez-toc-container .ez-toc-title-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid #0066FF;
}

/* 「目次」小文字 */
.ez-toc-title-container::after {
  content: "目次";
  font-family: 'Lato', sans-serif;
  font-weight: 500;
  font-size: 12px;
  color: #0066FF;
  text-align: left;
}

/* 開閉アイコン非表示 */
#ez-toc-container .ez-toc-icon-toggle-span {
  display: none;
}

/* リスト全体 */
#ez-toc-container ul.ez-toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: item;
}

/* トップレベル（H2）の各項目 - グリッドレイアウト */
#ez-toc-container ul.ez-toc-list > li {
  display: grid;
  grid-template-columns: 2.5em 1fr;
  gap:0;
  align-items: start;
  margin: 1em 0;
  counter-increment: item;
}

/* 円い番号カウンター */
#ez-toc-container ul.ez-toc-list > li::before {
  content: counter(item, decimal);
  grid-column: 1;
  grid-row: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.8em;
  height: 1.8em;
  background: #fff;
  border: 1px solid #0066FF;
  border-radius: 50%;
  font-weight: 500;
  color: #0066FF;
  font-size: 1em;
  font-family: 'Jost', sans-serif;
  box-sizing: border-box;
}

/* トップレベルのテキスト（H2リンク） */
#ez-toc-container ul.ez-toc-list > li > a {
  grid-column: 2;
  grid-row: 1;
  font-size: 1.1em;
  font-weight: 500;
  color: #212121;
  font-family: 'Roboto', sans-serif;
  text-decoration: none;
  transition: color 0.2s;
}

#ez-toc-container ul.ez-toc-list > li > a:hover {
  color: #0066FF;
  text-decoration: underline;
}

/* サブリスト（H3以下）をグリッド第2列に配置 */
#ez-toc-container ul.ez-toc-list > li > ul {
  grid-column: 2;
  grid-row: 2;
  list-style: none;
  padding: 0;
  margin: 0.5em 0 0 0;
}

/* サブリスト項目（H3） */
#ez-toc-container ul.ez-toc-list li ul li {
  margin: 0.4em 0;
  font-size: 0.95em;
  position: relative;
  padding-left: 1.5em;
}

#ez-toc-container ul.ez-toc-list li ul li::before {
  content: "–";
  position: absolute;
  left: 0;
  color: #0066FF;
}

#ez-toc-container ul.ez-toc-list li ul li a {
  color: #212121;
  font-family: 'Roboto', sans-serif;
  text-decoration: none;
  transition: color 0.2s;
}

#ez-toc-container ul.ez-toc-list li ul li a:hover {
  color: #0066FF;
}

body .dp_block_balloon .bl_item.bl_area .bl_area_content{
    border: 1px solid #0066FF!important;
    border-radius: 15px!important;
}
.dp_block_balloon .bl_item.bl_area .bl_area_content::before {
    left: -20px!important;
    color: #0066FF!important;
    
}
.dp_block_balloon .bl_item.bl_area .bl_area_content::after {
    left: -19px!important;
}
.dp_block_balloon .bl_item.bl_area .bl_area_content::before,
.dp_block_balloon .bl_item.bl_area .bl_area_content::after {
    content: '';
    position: absolute;
    top: 15px;
    border-width: 10px;
    border-style: solid;
    /*border-color: transparent transparent #ececec transparent;*/
}


.is-style-box-noti-memo {
  border: 1px solid #0066FF;
  background-color:#F0F6FF;
  padding: 1.2em 1.5em;
  padding-left: 5.6em;
  border-radius: 10px;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  margin: 1em 0;
  position: relative;
}

.is-style-box-noti-memo::before {
  content: "\f303";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.2em;
  color: white;
  position: absolute;
  top: 35%;
  left: 1em;
  width: 1.8em;
  height: 1.8em;
  background: #0066FF;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.is-style-box-noti-warning {
  border: 1px solid #FFD7C1;
  background-color: #FFE8DB;
  color: #F21A0A;
  padding: 1.2em 1.5em;
  padding-left: 5.6em; /* 左側にアイコン用スペースを確保 */
  border-radius: 10px;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  margin: 1em 0;
  position: relative;
}


.is-style-box-noti-warning::before {
  content: "\f06a"; /* Font Awesome の exclamation-circle アイコン */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.2em;
  color: white;
  position: absolute;
  top: 50%;
  left: 1em;
  width: 1.8em;
  height: 1.8em;
  background: #FFAA00;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(-50%);
  box-shadow: 0 0 5px rgba(255,170,0,0.45);
}



.is-style-box-deco-bordered-box-shadow {
  border: 1px solid #0066FF;
  background-color: #ffffff;
  padding: 1.5em 2em;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.3);;
  margin: 1em 0;
  transition: box-shadow 0.3s ease;
}

.is-style-box-deco-bordered-box-shadow:hover {
  box-shadow: 0 8px 24px rgba(74, 144, 226, 0.45);
  border-color: #357ABD;
}

ul.wp-block-list.list-col-1.inline-img-left li,
ol.wp-block-list.list-col-1.inline-img-left li {
  position: relative !important;
  padding-left: 2.5em !important;
  margin: 0.7em 0 !important;
  font-size: 1em !important;
  line-height: 1.6 !important;
}

ul.wp-block-list.list-col-1.inline-img-left li::before {
  content: "";
  position: absolute !important;
  left: 0.5em !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  border: 1px solid #0066FF !important;
  background: #FCFCFC !important;
  display: inline-block !important;
}

/* 親リスト（1, 2, 3…） */
ol.wp-block-list.list-col-1.inline-img-left {
  counter-reset: parent; /* 親カウンターの初期化 */
  list-style: none;
  padding-left: 0;
}

ol.wp-block-list.list-col-1.inline-img-left > li {
  counter-increment: parent; /* 親カウンターを進める */
  position: relative;
  padding-left: 2em;
  margin: 0.7em 0;
  font-size: 1em;
  line-height: 1.6;
}

/* 親番号スタイル（数字のみ） */
ol.wp-block-list.list-col-1.inline-img-left > li::before {
  content: counter(parent) ".";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #0066FF;
  font-family: 'Jost', sans-serif;
  font-size: 1em;
  font-weight: 700;
}

/* 子リスト（1. 2. 3.） */
ol.wp-block-list.list-col-1.inline-img-left ol {
  counter-reset: child;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  padding-left: 2em;
}

ol.wp-block-list.list-col-1.inline-img-left ol > li {
  counter-increment: child;
  position: relative;
  padding-left: 2em;
  margin: 0.5em 0;
  font-size: 0.95em;
  line-height: 1.6;
}

/* 子番号スタイル（数字のみ） */
ol.wp-block-list.list-col-1.inline-img-left ol > li::before {
  content: counter(child) ".";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #0066FF;
  font-family: 'Jost', sans-serif;
  font-size: 0.95em;
  font-weight: 600;
}
