.elementor-24962 .elementor-element.elementor-element-58aec66{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-67fe0e3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-5ce7fea{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-672e343{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-4505faf{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-2db4763{line-height:30px;letter-spacing:2px;width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-24962 .elementor-element.elementor-element-2db4763.elementor-element{--align-self:center;}.elementor-24962 .elementor-element.elementor-element-5598423{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#CCCCCC;--border-color:#CCCCCC;--border-radius:10px 10px 10px 10px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-24962 .elementor-element.elementor-element-10458ec{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-8846177.elementor-element{--align-self:center;}.elementor-24962 .elementor-element.elementor-element-9464792 .elementor-heading-title{font-size:36px;}.elementor-24962 .elementor-element.elementor-element-3e68bfe{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-3e68bfe.e-con{--align-self:center;}.elementor-24962 .elementor-element.elementor-element-4a06c7f{font-family:"Noto Sans JP", Sans-serif;font-size:14px;line-height:19px;letter-spacing:2px;color:#A32727;width:auto;max-width:auto;}.elementor-24962 .elementor-element.elementor-element-09e816f img{border-radius:4px 4px 4px 4px;}.elementor-24962 .elementor-element.elementor-element-09e816f{width:var( --container-widget-width, 39% );max-width:39%;--container-widget-width:39%;--container-widget-flex-grow:0;}.elementor-24962 .elementor-element.elementor-element-09e816f.elementor-element{--align-self:center;}.elementor-24962 .elementor-element.elementor-element-aff3eaa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-2fd1709{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-b3ac603{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-0b95c72 .elementor-icon-wrapper{text-align:center;}.elementor-24962 .elementor-element.elementor-element-0b95c72.elementor-view-stacked .elementor-icon{background-color:#4BA055;}.elementor-24962 .elementor-element.elementor-element-0b95c72.elementor-view-framed .elementor-icon, .elementor-24962 .elementor-element.elementor-element-0b95c72.elementor-view-default .elementor-icon{color:#4BA055;border-color:#4BA055;}.elementor-24962 .elementor-element.elementor-element-0b95c72.elementor-view-framed .elementor-icon, .elementor-24962 .elementor-element.elementor-element-0b95c72.elementor-view-default .elementor-icon svg{fill:#4BA055;}.elementor-24962 .elementor-element.elementor-element-0b95c72 .elementor-icon{font-size:20px;}.elementor-24962 .elementor-element.elementor-element-0b95c72 .elementor-icon svg{height:20px;}.elementor-24962 .elementor-element.elementor-element-0b95c72 > .elementor-widget-container{margin:0px 0px -9px 0px;padding:0px 0px 0px 0px;}.elementor-24962 .elementor-element.elementor-element-0b95c72.elementor-element{--align-self:center;}.elementor-24962 .elementor-element.elementor-element-75cd9b9 .elementor-heading-title{font-size:30px;letter-spacing:2px;color:#333333;}.elementor-24962 .elementor-element.elementor-element-17bf813{width:var( --container-widget-width, 800px );max-width:800px;--container-widget-width:800px;--container-widget-flex-grow:0;}@media(min-width:768px){.elementor-24962 .elementor-element.elementor-element-5598423{--width:583px;}.elementor-24962 .elementor-element.elementor-element-3e68bfe{--width:150px;}}@media(max-width:767px){.elementor-24962 .elementor-element.elementor-element-67fe0e3{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-24962 .elementor-element.elementor-element-5ce7fea{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24962 .elementor-element.elementor-element-672e343{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-24962 .elementor-element.elementor-element-4505faf{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-24962 .elementor-element.elementor-element-2db4763{font-size:14px;width:100%;max-width:100%;}.elementor-24962 .elementor-element.elementor-element-2db4763 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-24962 .elementor-element.elementor-element-5598423{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-24962 .elementor-element.elementor-element-4a06c7f{text-align:center;}.elementor-24962 .elementor-element.elementor-element-09e816f > .elementor-widget-container{padding:0px 20px 0px 20px;}.elementor-24962 .elementor-element.elementor-element-09e816f{width:100%;max-width:100%;}.elementor-24962 .elementor-element.elementor-element-09e816f.elementor-element{--order:-99999 /* order start hack */;}.elementor-24962 .elementor-element.elementor-element-e20cbf2 > .elementor-widget-container{padding:20px 20px 20px 20px;}.elementor-24962 .elementor-element.elementor-element-2fd1709{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-24962 .elementor-element.elementor-element-75cd9b9 .elementor-heading-title{font-size:20px;}}/* Start custom CSS for html, class: .elementor-element-e20cbf2 *//* =========================
   heartct-reco（完全版）
   余白を --gap-y で一元管理
   ========================= */
.heartct-reco{
  /* 色・余白・パディング */
  --accent:#2aa198;
  --ring:#d8e8e6;
  --panel:#f6fbfb;
  --item-bg:#fff;

  --gap-y:.6rem;     /* ← 見出し下／項目間／注意書き上の“縦の間隔”を統一 */
  --gap-x:.8rem;     /* ← 複数列時の横の間隔 */
  --card-py:.65rem;  /* ← 各カードの上下パディング */

  font-family:"Noto Sans JP","Yu Gothic",system-ui,sans-serif;
  background:linear-gradient(180deg,var(--panel),#fff);
  border:1px solid var(--ring);
  border-radius:12px;
  padding:16px 18px;
  box-shadow:0 1px 4px rgba(0,0,0,.04);
}

/* 見出し */
.heartct-reco > h3{
  margin:0 0 var(--gap-y) !important;  /* ← 見出し下を統一値に */
  font-weight:700;
  font-size:1.1rem;
  line-height:1.3;
  padding-left:.75rem;
  border-left:6px solid var(--accent);
}

/* リスト（余白は gap で管理・UA/既存のマージンを完全打消し） */
.heartct-reco ul{
  list-style:none;
  margin:0 !important;                 /* ← 既存の margin をゼロに固定 */
  padding:0 !important;
  display:grid;
  grid-template-columns:1fr;
  gap:var(--gap-y) var(--gap-x);        /* ← 項目間＝--gap-y で統一 */
}

/* カード風アイテム（余計な margin を持たせない） */
.heartct-reco li{
  margin:0 !important;                  /* ← 行間は gap だけで作る */
  position:relative;
  padding:var(--card-py) .8rem var(--card-py) 2.2rem;
  background:var(--item-bg);
  border:1px solid var(--ring);
  border-radius:10px;
  line-height:1.7;
  word-break:break-word;
  hyphens:auto;
}

/* チェックアイコンを縦中央に固定（内容量でズレない） */
.heartct-reco li::before{
  content:"✓";
  position:absolute;
  left:.7rem; top:1.5rem;
  transform:translateY(-50%);           /* ← 常に縦センター */
  width:1.25rem; height:1.25rem;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  display:grid; place-items:center;
  font-weight:700; font-size:.85rem;
  box-shadow:0 0 0 2px #fff;
}

/* 注意書き：上だけを --gap-y で揃える（下は0でOK） */
.heartct-reco .note{
  margin:var(--gap-y) 0 0 !important;   /* ← リストとの距離＝項目間と同じ */
  padding:.6rem .8rem;
  font-size:.92rem;
  color:#444;
  background:#f2fbfa;
  border:1px solid var(--ring);
  border-left:4px solid var(--accent);
  border-radius:8px;
}

/* フォーカス可視化 */
.heartct-reco a:focus-visible,
.heartct-reco button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}

/* ===== Responsive ===== */
@media (max-width:480px){
  .heartct-reco{ padding:12px 14px; --gap-y:.5rem; --card-py:.58rem; }
  .heartct-reco > h3{ font-size:clamp(1rem,2.5vw + 0.9rem,1.2rem); }
}
@media (min-width:640px){
  .heartct-reco ul{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1024px){
  .heartct-reco ul{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}/* End custom CSS */