.elementor-11474 .elementor-element.elementor-element-511b4b8c{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}@media(max-width:1366px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for text-editor, class: .elementor-element-51a8ac42 *//* ========================================
   Tech Blog: BASTION概要記事用CSS
   BetterDocs記事のカスタムCSS
   ======================================== */

.bastion-blog {
  font-family: 'Noto Sans JP', sans-serif;
  color: #1a1a2e;
  line-height: 1.9;
  font-size: 15px;
}

.bastion-blog h2 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  margin: 56px 0 16px !important;
  padding-bottom: 8px;
  border-bottom: 2px solid #3b9eff;
  line-height: 1.4 !important;
}

.bastion-blog h3 {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  margin: 40px 0 12px !important;
  line-height: 1.4 !important;
}

.bastion-blog p {
  margin-bottom: 16px !important;
  color: #333 !important;
  line-height: 1.9 !important;
}

.bastion-blog strong {
  color: #1a1a2e;
  font-weight: 600;
}

/* 導入部ハイライト */
.blog-hero {
  background: linear-gradient(135deg, #0f1218, #1a1f2b);
  border-radius: 12px;
  padding: 32px;
  margin-bottom: 40px;
  color: #e4e7ee;
}

.blog-hero h1 {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin-bottom: 16px !important;
  line-height: 1.4 !important;
}

.blog-hero p {
  color: #b4bcd0 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  margin-bottom: 0 !important;
}

.blog-hero .blog-meta {
  font-size: 12px !important;
  color: #8892a8 !important;
  margin-bottom: 12px !important;
  font-family: 'DM Mono', monospace;
}

/* アーキテクチャ図 */
.arch-diagram {
  background: #0f1218;
  border: 1px solid #242a38;
  border-radius: 12px;
  padding: 24px;
  margin: 32px 0;
  overflow-x: auto;
}

.arch-diagram svg {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

/* コードブロック */
.bastion-blog pre {
  background: #0f1218 !important;
  border: 1px solid #242a38 !important;
  border-radius: 8px !important;
  padding: 20px !important;
  margin: 20px 0 !important;
  overflow-x: auto;
  font-family: 'DM Mono', 'Consolas', monospace !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #e4e7ee !important;
}

.bastion-blog code {
  font-family: 'DM Mono', 'Consolas', monospace !important;
  font-size: 13px !important;
}

.bastion-blog p code {
  background: #f0f2f5 !important;
  color: #d63384 !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
}

/* テーブル */
.bastion-blog table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 20px 0 !important;
  font-size: 13px !important;
}

.bastion-blog th {
  background: #1a1a2e !important;
  color: #ffffff !important;
  padding: 10px 14px !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  border: 1px solid #ddd !important;
}

.bastion-blog td {
  padding: 10px 14px !important;
  border: 1px solid #e0e0e0 !important;
  color: #333 !important;
  line-height: 1.6 !important;
  vertical-align: top !important;
}

.bastion-blog tr:nth-child(even) td {
  background: #f8f9fa !important;
}

/* ポイントボックス */
.point-box {
  background: #eef6ff;
  border-left: 4px solid #3b9eff;
  border-radius: 0 8px 8px 0;
  padding: 16px 20px;
  margin: 24px 0;
  font-size: 14px;
  color: #1a1a2e;
  line-height: 1.8;
}

.point-box strong {
  color: #2176d4;
}

/* 知見セクション */
.insight-card {
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px 24px;
  margin: 16px 0;
}

.insight-card h3 {
  font-size: 15px !important;
  margin: 0 0 8px !important;
  color: #1a1a2e !important;
}

.insight-card p {
  font-size: 14px !important;
  color: #555 !important;
  margin-bottom: 0 !important;
}

/* CTA */
.blog-cta {
  background: linear-gradient(135deg, #0f1218, #1a1f2b);
  border-radius: 12px;
  padding: 32px;
  margin: 48px 0 0;
  text-align: center;
}

.blog-cta p {
  color: #b4bcd0 !important;
  font-size: 14px !important;
  margin-bottom: 16px !important;
}

.blog-cta a {
  display: inline-block;
  padding: 12px 32px;
  background: #3b9eff;
  color: #fff !important;
  border-radius: 8px;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 14px;
  margin: 4px;
  transition: background 0.2s;
}

.blog-cta a:hover {
  background: #2176d4;
}

/* レスポンシブ */
@media (max-width: 600px) {
  .blog-hero {
    padding: 24px 16px;
  }
  .blog-hero h1 {
    font-size: 20px !important;
  }
}/* End custom CSS */