.elementor-5646 .elementor-element.elementor-element-1e7be93{--display:flex;}.elementor-5646 .elementor-element.elementor-element-f7c2d29{--display:flex;}.elementor-5646 .elementor-element.elementor-element-c66d83e .elementor-toc__header-title{text-align:start;}.elementor-5646 .elementor-element.elementor-element-c66d83e .elementor-toc__header{flex-direction:row;}.elementor-5646 .elementor-element.elementor-element-c66d83e{--item-text-hover-decoration:underline;}.elementor-5646 .elementor-element.elementor-element-e7f6e36{--display:flex;}.elementor-5646 .elementor-element.elementor-element-4eaffd9{--display:flex;}.elementor-5646 .elementor-element.elementor-element-182472c{--display:flex;}.elementor-5646 .elementor-element.elementor-element-6e93fb4{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-5646 .elementor-element.elementor-element-6e93fb4 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-5646 .elementor-element.elementor-element-6e93fb4:after{content:"0.66";}.elementor-5646 .elementor-element.elementor-element-6e93fb4 .elementor-post__thumbnail__link{width:100%;}.elementor-5646 .elementor-element.elementor-element-6e93fb4 .elementor-post__meta-data span + span:before{content:"///";}.elementor-5646 .elementor-element.elementor-element-6e93fb4.elementor-posts--thumbnail-left .elementor-post__thumbnail__link{margin-right:20px;}.elementor-5646 .elementor-element.elementor-element-6e93fb4.elementor-posts--thumbnail-right .elementor-post__thumbnail__link{margin-left:20px;}.elementor-5646 .elementor-element.elementor-element-6e93fb4.elementor-posts--thumbnail-top .elementor-post__thumbnail__link{margin-bottom:20px;}@media(max-width:767px){.elementor-5646 .elementor-element.elementor-element-6e93fb4 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-5646 .elementor-element.elementor-element-6e93fb4:after{content:"0.5";}.elementor-5646 .elementor-element.elementor-element-6e93fb4 .elementor-post__thumbnail__link{width:100%;}}/* Start custom CSS *//* ==========================================================
   CELA  |  Single Post Template  -  Custom CSS
   ========================================================== */

/* ---------- カラー / 変数 ---------- */
body.elementor-page-5646{
  --sp-accent:#1f3864;
  --sp-accent-2:#c9a227;
  --sp-soft:#f5f7fa;
  --sp-line:#e6e8ec;
  --sp-text:#333333;
  --sp-muted:#8d94a0;
  --sp-radius:10px;
}

/* ---------- 共通レイアウト ---------- */

body.elementor-page-5646 .elementor-widget{ margin-bottom:0; }

/* ---------- パンくず ---------- */
body.elementor-page-5646 .elementor-widget-breadcrumbs{
  font-size:12px;
  letter-spacing:.03em;
  color:var(--sp-muted);
  padding:18px 0 4px;
}
body.elementor-page-5646 .elementor-widget-breadcrumbs a{
  color:var(--sp-muted);
  text-decoration:none;
}
body.elementor-page-5646 .elementor-widget-breadcrumbs a:hover{
  color:var(--sp-accent);
  text-decoration:underline;
}

/* ---------- 記事タイトル ---------- */
body.elementor-page-5646 .elementor-widget-theme-post-title .elementor-heading-title{
  position:relative;
  font-size:clamp(24px,3.4vw,36px);
  line-height:1.55;
  font-weight:700;
  color:#1a1a1a;
  padding:0 0 22px;
  margin:6px 0 34px;
  border-bottom:1px solid var(--sp-line);
}
body.elementor-page-5646 .elementor-widget-theme-post-title .elementor-heading-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:72px;
  height:3px;
  background:var(--sp-accent);
}

/* ---------- 目次 ---------- */
body.elementor-page-5646 .elementor-widget-table-of-contents{
  margin:0 0 44px;
  border-radius:var(--sp-radius);
  overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
}
body.elementor-page-5646 .elementor-widget-table-of-contents .elementor-toc__header{
  background:var(--sp-accent);
  border:none;
  padding:14px 22px;
}
body.elementor-page-5646 .elementor-widget-table-of-contents .elementor-toc__header-title{
  color:#ffffff;
  font-size:16px;
  font-weight:700;
  letter-spacing:.08em;
}
body.elementor-page-5646 .elementor-widget-table-of-contents .elementor-toc__toggle-button i{ color:#ffffff; }
body.elementor-page-5646 .elementor-widget-table-of-contents .elementor-toc__body{
  background:var(--sp-soft);
  border:1px solid var(--sp-line);
  border-top:none;
  padding:20px 24px;
  max-height:none;
}
body.elementor-page-5646 .elementor-toc__list-item{ margin:0 0 10px; }
body.elementor-page-5646 .elementor-toc__list-item-text{
  color:var(--sp-text);
  font-size:14px;
  line-height:1.8;
}
body.elementor-page-5646 .elementor-toc__list-item-text:hover{ color:var(--sp-accent); }
body.elementor-page-5646 .elementor-toc__list-item .elementor-toc__list-wrapper{
  padding-left:18px;
  margin-top:8px;
}

/* ---------- 本文 ---------- */
body.elementor-page-5646 .elementor-widget-theme-post-content{
  font-size:16px;
  line-height:2;
  color:var(--sp-text);
}
body.elementor-page-5646 .elementor-widget-theme-post-content p{ margin:0 0 1.6em; }
body.elementor-page-5646 .elementor-widget-theme-post-content h2{
  font-size:22px;
  line-height:1.6;
  font-weight:700;
  color:#1a1a1a;
  margin:2.6em 0 1em;
  padding:12px 18px;
  background:var(--sp-soft);
  border-left:5px solid var(--sp-accent);
  border-radius:0 4px 4px 0;
}
body.elementor-page-5646 .elementor-widget-theme-post-content h3{
  font-size:19px;
  line-height:1.6;
  font-weight:700;
  margin:2.2em 0 .9em;
  padding-bottom:8px;
  border-bottom:2px solid var(--sp-line);
}
body.elementor-page-5646 .elementor-widget-theme-post-content h4{
  font-size:17px;
  font-weight:700;
  margin:1.8em 0 .8em;
}
body.elementor-page-5646 .elementor-widget-theme-post-content a{
  color:var(--sp-accent);
  text-underline-offset:3px;
}
body.elementor-page-5646 .elementor-widget-theme-post-content img{ border-radius:var(--sp-radius); }
body.elementor-page-5646 .elementor-widget-theme-post-content ul,
body.elementor-page-5646 .elementor-widget-theme-post-content ol{ margin:0 0 1.6em 1.4em; }
body.elementor-page-5646 .elementor-widget-theme-post-content li{ margin-bottom:.6em; }
body.elementor-page-5646 .elementor-widget-theme-post-content blockquote{
  margin:2em 0;
  padding:18px 24px;
  background:var(--sp-soft);
  border-left:4px solid var(--sp-accent-2);
  color:#555555;
  font-style:normal;
}
body.elementor-page-5646 .elementor-widget-theme-post-content table{
  width:100%;
  border-collapse:collapse;
  margin:2em 0;
  font-size:15px;
}
body.elementor-page-5646 .elementor-widget-theme-post-content th,
body.elementor-page-5646 .elementor-widget-theme-post-content td{
  border:1px solid var(--sp-line);
  padding:12px 14px;
}
body.elementor-page-5646 .elementor-widget-theme-post-content th{ background:var(--sp-soft); }

/* ---------- 投稿者ボックス ---------- */
body.elementor-page-5646 .elementor-widget-author-box{ margin:56px 0 0; }
body.elementor-page-5646 .elementor-author-box{
  background:var(--sp-soft);
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  padding:28px 30px;
}
body.elementor-page-5646 .elementor-author-box__avatar img{
  border-radius:50%;
  border:3px solid #ffffff;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
body.elementor-page-5646 .elementor-author-box__name{
  font-size:17px;
  font-weight:700;
  color:#1a1a1a;
  margin-bottom:8px;
}
body.elementor-page-5646 .elementor-author-box__bio{
  font-size:14px;
  line-height:1.9;
  color:#5b6170;
}

/* ---------- 関連記事 見出し ---------- */
body.elementor-page-5646 .elementor-widget-heading{ margin:64px 0 24px; }
body.elementor-page-5646 .elementor-widget-heading .elementor-heading-title{
  font-size:22px;
  font-weight:700;
  line-height:1.4;
  color:#1a1a1a;
  padding-left:14px;
  border-left:5px solid var(--sp-accent);
}

/* ---------- 関連記事カード ---------- */
body.elementor-page-5646 .elementor-widget-posts .elementor-posts{ gap:24px; }
body.elementor-page-5646 .elementor-widget-posts .elementor-post{
  background:#ffffff;
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  overflow:hidden;
  transition:box-shadow .25s ease, transform .25s ease;
}
body.elementor-page-5646 .elementor-widget-posts .elementor-post:hover{
  box-shadow:0 10px 26px rgba(0,0,0,.09);
  transform:translateY(-3px);
}
body.elementor-page-5646 .elementor-widget-posts .elementor-post__thumbnail__link{ margin:0; }
body.elementor-page-5646 .elementor-widget-posts .elementor-post__text{ padding:16px 18px 20px; }
body.elementor-page-5646 .elementor-widget-posts .elementor-post__meta-data{
  font-size:12px;
  color:var(--sp-muted);
  margin-bottom:8px;
}
body.elementor-page-5646 .elementor-widget-posts .elementor-post__title{
  font-size:15px;
  line-height:1.7;
  margin:0 0 10px;
}
body.elementor-page-5646 .elementor-widget-posts .elementor-post__title a{ color:#1a1a1a; }
body.elementor-page-5646 .elementor-widget-posts .elementor-post__title a:hover{ color:var(--sp-accent); }
body.elementor-page-5646 .elementor-widget-posts .elementor-post__excerpt p{
  font-size:13px;
  line-height:1.9;
  color:#666666;
}
body.elementor-page-5646 .elementor-widget-posts .elementor-post__read-more{
  font-size:13px;
  font-weight:600;
  color:var(--sp-accent);
}

/* ---------- レスポンシブ ---------- */
@media (max-width:1024px){
  body.elementor-page-5646 .elementor-widget-heading{ margin:52px 0 20px; }
}
@media (max-width:767px){
  body.elementor-page-5646 .e-con{ --content-width:100%; }
  body.elementor-page-5646 .elementor-widget-theme-post-content{ font-size:15px; line-height:1.9; }
  body.elementor-page-5646 .elementor-widget-theme-post-content h2{ font-size:19px; padding:10px 14px; }
  body.elementor-page-5646 .elementor-widget-theme-post-content h3{ font-size:17px; }
  body.elementor-page-5646 .elementor-author-box{ padding:22px 18px; }
  body.elementor-page-5646 .elementor-widget-table-of-contents .elementor-toc__body{ padding:16px 18px; }
}/* End custom CSS */