/* lplus Q&A Block — フロント＆エディタ共通デザイン */
.lqb{
  --lqb-accent:#0a9298;
  --lqb-deep:#076c70;
  --lqb-soft:#eef7f8;
  --lqb-line:#e3edee;
  --lqb-muted:#6b7f81;
  --lqb-ink:#1f2430;
  --lqb-body:#3b4552;
  --lqb-pad-card-y:40px;
  --lqb-pad-card-x:40px;
  --lqb-pad-item:32px;
  --lqb-gap-mark:18px;
  --lqb-gap-qa:18px;
  --lqb-gap-lead:22px;
  --lqb-gap-block:22px;
  --lqb-gap-links:28px;
  --lqb-base:16px;
  --lqb-mk-size:calc(var(--lqb-base) * 2.875);
  /* 本文1行ぶんの高さ（質問・結論 1.06em × 行間1.65） */
  --lqb-line-h:calc(var(--lqb-base) * 1.749);
  /* 丸を1行の中央に置くためのずらし量（負の値） */
  --lqb-mk-offset:calc((var(--lqb-line-h) - var(--lqb-mk-size)) / 2);
}
.lqb{font-size:var(--lqb-base);}
.lqb *{box-sizing:border-box;}
.lqb__card{
  background:#fff;border-radius:14px;box-shadow:0 3px 14px rgba(31,60,90,.06);
  padding:var(--lqb-pad-card-y) var(--lqb-pad-card-x);
}

.lqb__item{padding:var(--lqb-pad-item) 0;border-bottom:1px solid var(--lqb-line);}
.lqb__item:first-child{padding-top:0;}
.lqb__item:last-child{border-bottom:0;padding-bottom:0;}

.lqb__qrow{display:flex;gap:var(--lqb-gap-mark);align-items:flex-start;
  padding-bottom:var(--lqb-gap-qa);border-bottom:1px dashed var(--lqb-line);}
.lqb .lqb__qtx{flex:1 1 auto;min-width:0;font-size:1.06em;font-weight:800;line-height:1.65;}

.lqb__arow{padding-top:var(--lqb-gap-qa);}
.lqb__ahead{display:flex;gap:var(--lqb-gap-mark);align-items:flex-start;}
.lqb .lqb__concl{flex:1 1 auto;min-width:0;margin:0;font-size:1.06em;font-weight:800;line-height:1.65;
  overflow-wrap:break-word;word-break:break-word;}
.lqb__abody{margin-top:var(--lqb-gap-lead);padding-left:calc(var(--lqb-mk-size) / 2);}
.lqb__abody > *:first-child{margin-top:0;}
.lqb__abody > *:last-child{margin-bottom:0;}
.lqb__abody p{font-size:.97em;color:var(--lqb-body);line-height:1.9;
  overflow-wrap:break-word;word-break:break-word;}

/* マーク
   ・レイアウト上の箱は「本文1行ぶんの高さ」だけにする（行の詰まり方を本文に合わせる）
   ・丸と文字は絶対配置で、その箱の中央にくるよう top でずらす
   ・margin を使わないので、テーマの margin リセットに影響されない */
.lqb-mk{position:relative;flex:0 0 auto;margin:0;overflow:visible;
  width:var(--lqb-mk-size);height:var(--lqb-line-h);
  color:#fff;font-weight:800;line-height:1;}
.lqb-mk__shape{position:absolute;left:0;top:var(--lqb-mk-offset);
  width:var(--lqb-mk-size);height:calc(var(--lqb-mk-size) * 1.15);overflow:visible;}
.lqb-mk__txt{position:absolute;left:0;top:var(--lqb-mk-offset);
  width:var(--lqb-mk-size);height:var(--lqb-mk-size);
  display:flex;align-items:center;justify-content:center;
  font-size:calc(var(--lqb-base) * 1.18);line-height:1;}
.lqb-mk--q .lqb-mk__shape path{fill:var(--lqb-accent);stroke:none;}
.lqb-mk--a .lqb-mk__shape path{fill:#fff;stroke:var(--lqb-accent);stroke-width:2;stroke-linejoin:round;}
.lqb-mk--a{color:var(--lqb-accent);}

/* リンク（次の行動） */
.lqb__links{margin-top:var(--lqb-gap-links);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:24px;}
.lqb__link{display:inline-flex;align-items:center;gap:10px;font-size:.95em;font-weight:800;
  color:var(--lqb-ink);text-decoration:none;line-height:1;cursor:pointer;}
.lqb__arw{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--lqb-accent);
  color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.95em;line-height:1;}
.lqb__inlink{color:var(--lqb-accent);text-decoration:underline;text-underline-offset:2px;
  overflow-wrap:break-word;word-break:break-word;}

/* 囲みボックス（上下線・背景なし） */
.lqb__box{margin:var(--lqb-gap-block) 0;padding:16px 0;background:none;
  border-top:2px solid var(--lqb-accent);border-bottom:2px solid var(--lqb-accent);}
.lqb__box-title{display:inline-flex;align-items:center;gap:7px;margin:0;
  color:var(--lqb-accent);font-size:.95em;font-weight:800;}
/* アイコンは常にメインカラー（テーマの文字色上書きを受けない） */
.lqb-box__ic{width:17px;height:17px;flex:0 0 auto;color:var(--lqb-accent);stroke:var(--lqb-accent);}
.lqb__box > *:last-child{margin-bottom:0;}
/* ボックス内は上下マージンをリセットし、要素と要素の間だけ空ける */
.lqb__abody .lqb__box > *{margin-top:0;margin-bottom:0;}
.lqb__abody .lqb__box > * + *{margin-top:.7em;}

/* 箇条書き（coreリストに寄せる） */
.lqb__abody ul{margin:var(--lqb-gap-block) 0;padding:0;list-style:none;}
.lqb__abody ul li{position:relative;padding-left:22px;margin-bottom:12px;font-size:.97em;line-height:1.9;}
.lqb__abody ul li:last-child{margin-bottom:0;}
.lqb__abody ul li::before{content:"";position:absolute;left:2px;top:.8em;width:7px;height:7px;
  border-radius:50%;background:var(--lqb-accent);}

/* 表（外枠なし・内側罫線・項目列グレー・ヘッダー塗り＋白文字・中央揃え） */
.lqb__abody table{width:100%;border-collapse:collapse;margin:var(--lqb-gap-block) 0;font-size:.95em;line-height:1.65;}
.lqb__abody th{background:var(--lqb-accent);color:#fff;font-weight:700;padding:12px 13px;
  text-align:center;vertical-align:middle;border:0;line-height:1.5;}
.lqb__abody th + th{border-left:1px solid #fff;}
.lqb__abody td{padding:13px 11px;text-align:center;vertical-align:middle;border:0;
  border-bottom:1px solid #ececec;border-left:1px solid #ececec;}
.lqb__abody td:first-child{border-left:0;font-weight:700;background:#f5f7f7;}

/* スマホ */
@media screen and (max-width:600px){
  .lqb{--lqb-pad-card-y:24px;--lqb-pad-card-x:16px;--lqb-pad-item:24px;
    --lqb-gap-mark:10px;--lqb-gap-qa:14px;--lqb-gap-lead:18px;--lqb-gap-block:18px;
    --lqb-gap-links:22px;--lqb-mk-size:calc(var(--lqb-base) * 2.125);
    --lqb-mk-offset:calc((var(--lqb-line-h) - var(--lqb-base) * 2.125) / 2);}
  .lqb__card{border-radius:12px;}
  .lqb__abody th,.lqb__abody td{padding:10px 8px;}
  .lqb__abody th{font-size:.92em;}
}

/* === 長いURLの折り返しを確実にする（テーマの word-break 等に負けないよう詳細度を上げる） === */
.lqb .lqb__concl,
.lqb .lqb__abody p,
.lqb .lqb__abody li,
.lqb .lqb__inlink{
  overflow-wrap:anywhere;
  word-break:normal;
  word-wrap:break-word;
}
/* wbr（折り返し可能点）を確実に機能させる */
.lqb wbr{display:inline;white-space:normal;}
/* テーマが keep-all を当てていても、この要素内では通常改行に戻す */
.lqb .lqb__concl,
.lqb .lqb__abody{word-break:normal !important;line-break:auto !important;}

/* 文中の広告リンク（goweb・data-id） */
.lqb__adlink{color:var(--lqb-accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font-weight:700;}

/* v2.7.1 質問をH3で出力したとき：テーマ（SWELL等）の見出し装飾を打ち消し、divのときと同じ見た目にする */
.lqb .lqb__qrow h3.lqb__qtx,
.post_content .lqb .lqb__qrow h3.lqb__qtx{
	margin:0 !important;padding:0 !important;border:0 !important;background:none !important;box-shadow:none !important;
	font-size:1.06em !important;font-weight:800 !important;line-height:1.65 !important;color:inherit !important;
	letter-spacing:inherit !important;text-align:left !important;position:static !important;
}
.lqb .lqb__qrow h3.lqb__qtx::before,
.lqb .lqb__qrow h3.lqb__qtx::after,
.post_content .lqb .lqb__qrow h3.lqb__qtx::before,
.post_content .lqb .lqb__qrow h3.lqb__qtx::after{content:none !important;display:none !important;}
