.elementor-kit-11{--e-global-color-primary:#020101;--e-global-color-secondary:#1E293B;--e-global-color-text:#334155;--e-global-color-accent:#046BD2;--e-global-color-7129a9b:#3831FF;--e-global-color-5eb524c:#FF4935;--e-global-color-080886a:#F7F7F7;--e-global-color-fc32380:#FFFFFF;--e-global-color-40128e7:#D1D5DB;--e-global-color-8c63af6:#EB0000;--e-global-color-b93a5fc:#E7E7E7;--e-global-typography-primary-font-family:"Noto Sans";--e-global-typography-primary-font-size:27px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:35px;--e-global-typography-secondary-font-family:"Noto Sans";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:28px;--e-global-typography-text-font-family:"Noto Sans";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Noto Sans";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:400;font-family:"Noto Sans";font-size:16px;font-weight:400;}.elementor-kit-11 e-page-transition{background-color:#FFBC7D;}.elementor-kit-11 a{color:var( --e-global-color-accent );}.elementor-kit-11 h1{font-family:"Noto Sans";font-size:27px;font-weight:600;line-height:35px;}.elementor-kit-11 h2{font-family:"Noto Sans";font-size:22px;font-weight:600;line-height:34px;}.elementor-kit-11 h3{font-family:"Noto Sans";font-size:19px;font-weight:500;line-height:28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== 全体設定（ベース設定） ===== */
body.single-post body {
  background: #FFFFFF;
  color: #111111;
  font-family: "Noto Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1rem;          /* ベース文字サイズ（約15px） */
  font-weight: 400;         /* 通常ウェイト */
  line-height: 1.7;
}

/* rem の基準は html。ここを落とすと 1rem が小さくなる */
html { font-size: 15px; } /* PC基準 */

@media (max-width: 768px) {   /* タブレット以下 */
  html { font-size: 14px; }   /* 1rem = 14px */
}

@media (max-width: 480px) {   /* スマホ */
  html { font-size: 13px; }   /* 1rem = 12px */
}

/* ===== 見出し（H1-H5）===== */
.single-post .entry-content h1,
.single-post .elementor h1 {
   font-weight: 700;
   font-size: 1.7rem;
   line-height: 1.3;
   padding: 0.4em 0.6em;
   margin: 1.6rem 0 0.8rem;
   background: #111111;   /* 黒背景 */
   color: #FFFFFF;        /* 白文字 */  
}

.single-post .entry-content h2,
.single-post .elementor h2 {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.25;
  padding: 0.6em 0.8em;
  margin: 2rem 0 1rem;
  background: #F5F5F5;
  border-left: 10px solid var(--e-global-color-accent, #383CFF); 
  /* 青いアクセント */
}

.single-post .entry-content h3,
.single-post .elementor h3 {
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.3;
  padding: 0.4em 0.6em;
  padding-left: calc(0.6em + 20px);  /* 左余白 */
  margin: 1.6rem 0 0.8rem;
  background: #F4F4F4;
}

/*「関連項目」タイトルのみ*/
.single-post .entry-content h5, 
.single-post .elementor h5 {
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.3;
  padding: 0.4em 0.6em;
  padding-left: calc(0.6em + 20px);  /* 左余白 */
  margin: 1.6rem 0 0.8rem;
  background: #F4F4F4;
}

/* ===== 段落・番号無有リスト ===== */
.single-post .entry-content p,
.single-post .elementor p {
  margin: 0 0 1.25rem;
  padding-left: 20px;  /* 左余白 */
  color: #111111;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
}

.single-post .entry-content ul,
.single-post .elementor ul {
  margin: 0 0 1.25rem;
  padding-left: 50px;  /* 左余白 */
  color: #111111;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
}

.single-post .entry-content ol,
.single-post .elementor ol {
  margin: 0 0 1.25rem;
  padding-left: 50px;  /* 左余白 */
  color: #111111;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
}

/* ===== コードブロック ===== */
/* コードブロック */
.single-post pre,
.single-post .elementor pre {
  background: #010202;   /* 黒背景 */
  color: #28fe14;        /* 緑文字 */  
  padding: 1rem 1.25rem;
  border-radius: 10px;
  overflow-x: auto; /* 横スクロール */
  white-space: pre; /* 上記の補足 */
  line-height: 1.6;
  box-shadow: 0 1px 6px rgba(0,0,0,.12);
  margin: 1rem 4rem 1rem 2rem; /* 上右下左 */
}

/* コードブロック内の code は pre に合わせる */
.single post pre code,
.single-post .elementor pre code {
  background: transparent;   /* 背景を消す */
  color: inherit;            /* pre の文字色を継承 */
  padding: 0;
  border-radius: 0;
  white-space: pre;        /* 折り返さない */
  word-break: normal;      /* 単語分割しない */
  overflow-wrap: normal;   /* 強制改行を無効 */
}

/* インラインコード */
.single-post code,
.single-post .elementor code {
  background: #D1D5DB;   /* グレー */
  color: #111111;   /* 黒 */
  padding: .15em .4em;
  border-radius: 4px;
  font-family: "Fira Code", monospace;
  font-size: 0.95rem;
}

/* ===== テーブル ===== */
.single-post .entry-content table,
.single-post .elementor table {
  width: calc(100% - 50px); /* 左右25pxずつ */
  margin: auto;     /* 中央寄せ */
  border-collapse: collapse;
}

.single-post .entry-content table,
.single-post .elementor table {
  font-size: 0.9rem;   /* 段落と同じ */
  line-height: 1.6;
}

/* ===== 目次 ===== */
/* Elementor Table of Contents - 左余白調整 */
.single-post .elementor-widget-table-of-contents ul,
.single-post .elementor-widget-table-of-contents ol {
  padding-left: 10px;   /* ← 好きな値に調整 */
  margin-left: 0;
}


/* ===== レスポンシブ対応 ===== */
/* --- タブレット以下（768px以下） --- */
@media (max-width: 768px) {
  .single-post body {
    font-size: 0.95rem;
    line-height: 1.75;
  }

 .single-post .entry-content h1,
 .single-post .elementor h1 {
   font-weight: 700;
   font-size: 1.6rem;
   line-height: 1.3;
   padding: 0.4em 0.6em;
   margin: 1.6rem 0 0.8rem;
   background: #111111;   /* 黒背景 */
   color: #FFFFFF;        /* 白文字 */  
 }

  .single-post .entry-content h2,
  .single-post .elementor h2 {
    font-size: 1.25rem;
    margin: 1.5rem 0 0.8rem;
    padding: 0.5em 0.7em;
    border-left-width: 8px;
  }

  .single-post .entry-content h3,
  .single-post .elementor h3 {
    font-size: 1.1rem;
    margin: 1.2rem 0 0.6rem;
    padding: 0.35em 0.6em;
  }

  .single-post .entry-content h5,
  .single-post .elementor h5 {
    font-size: 1.1rem;
    margin: 1.2rem 0 0.6rem;
    padding: 0.35em 0.6em;
  }
  
  .single-post .entry-content p,
  .single-post .elementor p {
    padding-left: 18px;  /* 左余白 */
  }

  .single-post .entry-content ul,
  .single-post .elementor ul {
    padding-left: 45px;  /* 左余白 */
  }

  .single-post .entry-content ol,
  .single-post .elementor ol {
    padding-left: 45px;  /* 左余白 */
  }

  .single-post pre,
  .single-post .elementor pre {
    padding: 1rem 1rem;
    margin: 0.9rem 3.6rem 0.9rem 1.8rem; /* 上右下左 */
  }
  
  .single-post code,
  .single-post .elementor code {
    font-size: 0.95rem;
    padding: 0.3rem 1rem;
  }

 .single-post .entry-content table,
 .single-post .elementor table {
   width: calc(100% - 40px); /* 左右20pxずつ */
 }

 .single-post .entry-content table,
 .single-post .elementor table {
   font-size: 0.9rem;
   line-height: 1.6;
 }
 
  /* Elementor Table of Contents - 左余白調整 */
 .single-post .elementor-widget-table-of-contents ul,
 .single-post .elementor-widget-table-of-contents ol {
   padding-left: 8px;   /* ← 好きな値に調整 */
   margin-left: 0;
 }
}

/* --- スマホ（480px以下） --- */
@media (max-width: 480px) {
  .single-post body {
    font-size: 0.9rem;
    line-height: 1.8;
  }

 .single-post .entry-content h1,
 .single-post .elementor h1 {
   font-weight: 700;
   font-size: 1.6rem;
   line-height: 1.3;
   padding: 0.4em 0.6em;
   margin: 1.6rem 0 0.8rem;
   background: #111111;   /* 黒背景 */
   color: #FFFFFF;        /* 白文字 */  
  }

  .single-post .entry-content h2,
  .single-post .elementor h2 {
    font-size: 1.2rem;
    margin: 1.2rem 0 0.6rem;
    padding: 0.45em 0.6em;
    border-left-width: 6px;
  }

  .single-post .entry-content h3,
  .single-post .elementor h3 {
    font-size: 1.1rem;
    margin: 1rem 0 0.5rem;
    padding: 0.3em 0.5em;
  }

  .single-post .entry-content p,
  .single-post .elementor p {
    padding-left: 10px;  /* 左余白 */
  }

  .single-post .entry-content h5,
  .single-post .elementor h5 {
    font-size: 1.1rem;
    margin: 1rem 0 0.5rem;
    padding: 0.3em 0.5em;
  }
  
  .single-post .entry-content ul,
  .single-post .elementor ul {
    padding-left: 30px;  /* 左余白 */
  }

  .single-post .entry-content ol,
  .single-post .elementor ol {
    padding-left: 30px;  /* 左余白 */
  }
  
  .single-post pre,
  .single-post .elementor pre {
    padding: 0.5rem 1rem;
    margin: 0.5rem 1.2rem; /* 上下 0.5rem 左右 1.2rem */
  }
  
  .single-post code,
  .single-post .elementor code {
    font-size: 0.95rem;
    padding: 0.3rem 0.5rem;
  }

 .single-post .entry-content table,
 .single-post .elementor table {
   width: calc(100% - 10px); /* 左右5pxずつ */
 }

 .single-post .entry-content table,
 .single-post .elementor table {
   font-size: 0.9rem; 
   line-height: 1.6;
 }
 
   /* Elementor Table of Contents - 左余白調整 */
 .single-post .elementor-widget-table-of-contents ul,
 .single-post .elementor-widget-table-of-contents ol {
   padding-left: 0px;   /* ← 好きな値に調整 */
   margin-left: 0;
 }
}/* End custom CSS */