/* インサイト記事・一覧用 — build.py / build_index.py / build2.py から生成 */
body.lgl-insight .c-postContent,
body.lgl-insight .p-page__title{max-width:840px;margin-left:auto;margin-right:auto}
/* 日本語タイトルの折り返し。auto-phrase で文節境界、balance で行の均等割り */
body.lgl-insight .c-pageTitle__main{word-break:auto-phrase}
/* 狭い画面では強制改行を解除し、自然に折り返させる */
@media(max-width:782px){.lgl-tb{display:none}}
body.lgl-insight .c-postContent{line-height:1.95}
body.lgl-insight .c-postContent h2{margin-top:2.6em}
body.lgl-insight .c-postContent h3{margin-top:2.2em}
.lgl-photo{margin:2.2em 0}
.lgl-photo img{width:100%;height:auto;display:block;border-radius:8px}
.lgl-photo figcaption{font-size:.86em;color:#777;margin-top:.7em;line-height:1.6}
.lgl-photo--hero{margin:0 0 2.6em}
.lgl-photo--hero img{border-radius:10px}
body.lgl-insight .c-postContent h2 + .lgl-photo{margin-top:1.4em}
.lgl-fig{margin:2.4em auto;max-width:700px}
.lgl-fig svg{border:1px solid #e2e2e2;border-radius:8px;background:#fff;padding:14px 10px}
.lgl-fig figcaption{font-size:.86em;color:#777;text-align:center;margin-top:.7em;line-height:1.6}
.lgl-toc{border:1px solid #e2e2e2;border-radius:8px;padding:1.3em 1.6em 1.4em;margin:2em 0;background:#fff}
.lgl-toc__ttl{font-weight:700;color:#102087;margin:0 0 .6em;font-size:1em}
.lgl-toc ol{list-style:none;counter-reset:toc;margin:0;padding:0}
.lgl-toc > ol > li{counter-increment:toc;margin:.42em 0;padding-left:1.9em;position:relative;line-height:1.65}
.lgl-toc > ol > li::before{content:counter(toc);position:absolute;left:0;top:calc((1.65rem - 17px) / 2);width:17px;height:17px;
  border-radius:3px;background:#102087;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}
.lgl-toc__sub{counter-reset:sub;margin:.3em 0 .5em}
.lgl-toc__sub li{counter-increment:sub;margin:.22em 0;padding-left:1.1em;position:relative;font-size:.92em;line-height:1.6}
.lgl-toc__sub li::before{content:"";position:absolute;left:0;top:.8em;width:6px;height:1px;background:#bbb}
.lgl-toc a{color:#333;text-decoration:none;border-bottom:1px solid transparent}
.lgl-toc a:hover{color:#102087;border-bottom-color:#102087}
.lgl-keypoints{background:#f7f7f7;border-left:5px solid #102087;border-radius:4px;padding:1.4em 1.6em;margin:2em 0}
.lgl-keypoints__ttl{font-weight:700;color:#102087;margin:0 0 .6em;font-size:1.02em}
.lgl-keypoints ul{margin:0;padding-left:1.2em}
.lgl-keypoints li{margin:.45em 0;line-height:1.75}
.lgl-def{border-left:5px solid #102087;background:#eef0f9;padding:1.2em 1.5em;margin:1.8em 0;font-size:1.06em}
.lgl-def p{margin:0}
.lgl-acc{border:1px solid #e2e2e2;border-radius:8px;overflow:hidden;margin:1.8em 0;background:#fff}
.lgl-acc__item{border-top:1px solid #e2e2e2}
.lgl-acc__item:first-child{border-top:0}
.lgl-acc summary{cursor:pointer;list-style:none;padding:1.05em 3.2em 1.05em 1.1em;position:relative;
  font-weight:700;color:#102087;line-height:1.65;transition:background .15s}
.lgl-acc summary::-webkit-details-marker{display:none}
.lgl-acc summary:hover{background:#f7f7f7}
.lgl-acc summary::after{content:"";position:absolute;right:1.3em;top:50%;width:9px;height:9px;
  border-right:2px solid #102087;border-bottom:2px solid #102087;
  transform:translateY(-70%) rotate(45deg);transition:transform .18s}
.lgl-acc__item[open] summary::after{transform:translateY(-20%) rotate(-135deg)}
.lgl-acc__item[open] summary{background:#f7f7f7}
.lgl-acc__n{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;
  border-radius:50%;background:#102087;color:#fff;font-size:.8em;margin-right:.7em;flex:none;vertical-align:-5px}
.lgl-acc__body{padding:.2em 1.3em 1.3em 1.2em;margin:0;line-height:1.9;color:#444}
.lgl-acc--faq summary{font-weight:600}
@media print{.lgl-acc__body{display:block!important}}
.lgl-note{font-size:.86em;color:#777;line-height:1.85;margin:1.2em 0}
.lgl-faq__q{color:#102087}
.c-postContent .lgl-faq{margin-top:1.8em}
.c-postContent .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.8em 0}
.c-postContent table{font-size:.93em;width:100%;border-collapse:collapse}
/* Arkhe の td,th{word-break:break-all} を打ち消す。
   英語は単語の途中で割れ、日本語も禁則処理が効かなくなるため。 */
.c-postContent td,.c-postContent th{word-break:normal;overflow-wrap:break-word}
@media(max-width:600px){
  .c-postContent .wp-block-table{position:relative}
  .c-postContent table{min-width:520px}
  .c-postContent .wp-block-table::after{content:"→ 横にスクロールできます";display:block;font-size:.78em;color:#999;padding:.4em 0 0}
  html[lang^="en"] .c-postContent .wp-block-table::after{content:"→ Scroll the table sideways"}
}
.c-postContent th{background:#102087;color:#fff!important}
.c-postContent td,.c-postContent th{padding:.7em .9em;border:1px solid #e2e2e2;vertical-align:top}
/* 行の切れ目が追えるよう1行おきに敷く。Gutenberg の is-style-stripes は
   ブロックライブラリの CSS が無いと効かないので、こちらで持つ。 */
.c-postContent tbody tr:nth-child(even){background:#f6f7fb}
.lgl-cta{background:#f7f7f7;border-radius:8px;padding:1.6em 1.8em;margin:2.4em 0}
@media(max-width:600px){.lgl-fig svg{padding:8px 4px}}
body.lgl-insights-index .c-postContent{max-width:900px;margin-left:auto;margin-right:auto}
.lgl-cards{margin:2.4em 0}
.lgl-card{display:flex;gap:1.6em;border:1px solid #e2e2e2;border-radius:10px;padding:1.5em;margin-bottom:1.6em;background:#fff}
.lgl-card__thumb{flex:0 0 190px;align-self:flex-start;display:block;border-radius:8px;overflow:hidden}
.lgl-card__thumb svg,.lgl-card__thumb img{display:block;width:100%;height:auto;border-radius:8px}
.lgl-card__body{flex:1;min-width:0}
.lgl-card__meta{font-size:.85em;color:#888;margin:0 0 .5em;display:flex;gap:1em}
.lgl-card__ttl{font-size:1.28em;line-height:1.5;margin:0 0 .6em}
.lgl-card__ttl a{color:#102087;text-decoration:none}
.lgl-card__ttl a:hover{text-decoration:underline}
.lgl-card__lead{font-size:.95em;line-height:1.85;color:#444;margin:0 0 .9em}
.lgl-card__tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5em;padding:0;margin:0 0 .9em}
.lgl-card__tag{font-size:.78em;color:#102087;background:#eef0f9;border-radius:3px;padding:.25em .7em}
.lgl-card__more a{font-size:.92em;font-weight:700;color:#9d001c;text-decoration:none}
.lgl-card__more a::after{content:" →"}
.lgl-planned{background:#f7f7f7;border-radius:8px;padding:1.4em 1.7em;margin:2.5em 0}
.lgl-planned__ttl{font-weight:700;color:#102087;margin:0 0 .5em;font-size:.98em}
.lgl-planned ul{margin:0;padding-left:1.2em;color:#777;font-size:.92em}
.lgl-planned li{margin:.35em 0}
@media(max-width:782px){.lgl-card{flex-direction:column;gap:1em}.lgl-card__thumb{flex:0 0 190px;align-self:flex-start;display:block;border-radius:8px;overflow:hidden}}
