/* 標準投稿・お知らせ本文の共通組版。公開画面とブロックエディターで共有する。 */
:where(.nt-article-content, .editor-styles-wrapper) { font-family: 'Noto Sans JP', sans-serif; font-size: 17px; line-height: 2.05; overflow-wrap: anywhere; }
.nt-article-content.entry-content { padding: 0; }
.nt-article-content.entry-content > * { max-width: 840px; }
.nt-article-content.entry-content > .alignfull { margin-inline: 0; }
:where(.nt-article-content, .editor-styles-wrapper) > :first-child { margin-top: 0; }
:where(.nt-article-content, .editor-styles-wrapper) > :last-child { margin-bottom: 0; }
:where(.nt-article-content, .editor-styles-wrapper) p { margin-block: 0 26px; }
:where(.nt-article-content, .editor-styles-wrapper) h2 { margin-block: 40px 18px; font-size: 28px; font-weight: 700; line-height: 1.6; letter-spacing: .5px; }
:where(.nt-article-content, .editor-styles-wrapper) h3 { margin-block: 26px 14px; font-size: 22px; font-weight: 700; line-height: 1.6; }
:where(.nt-article-content, .editor-styles-wrapper) .wp-block-image img { height: auto; border-radius: 10px; }
:where(.nt-article-content, .editor-styles-wrapper) figcaption { margin-top: 12px; font-size: 13px; line-height: 1.7; text-align: left; color: #8a97a6; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-info-box { margin-block: 26px; padding: 28px 32px 30px; background: #f7efdf; border-radius: 12px; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-info-box h3 { margin: 0 0 8px; font-size: 19px; line-height: 1.7; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-info-box p { margin: 0; color: #5e7186; font-size: 15px; line-height: 1.9; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-talk,
:where(.nt-article-content, .editor-styles-wrapper) .nt-qa { margin-block: 26px; padding: 32px 32px 34px; border: 1px solid #dce2e7; border-radius: 10px; background: #fbfcfd; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-speaker { display: flex; align-items: flex-start; gap: 18px; --speaker-color: #2e7bb8; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-speaker + .nt-speaker { margin-top: 22px; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-speaker--green { --speaker-color: #4e9e62; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-speaker--pink { --speaker-color: #d9526e; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-speaker-initial { flex: 0 0 56px; display: grid; place-items: center; width: 56px; height: 56px; margin: 0; border-radius: 50%; background: var(--speaker-color); color: #fff; font-size: 20px; font-weight: 700; line-height: 1.3; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-speaker-initial.has-background { padding: 0; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-speaker-initial img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-speaker-copy { min-width: 0; flex: 1; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-speaker-name { margin: 0 0 6px; color: var(--speaker-color); font-size: 13px; font-weight: 700; line-height: 1.5; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-speaker-quote { margin: 0; padding: 18px 22px 20px; border: 1px solid #dce2e7; border-radius: 12px; background: #fff; font-size: 16px; line-height: 1.95; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-qa-question,
:where(.nt-article-content, .editor-styles-wrapper) .nt-qa-answer { position: relative; margin: 0; padding-left: 38px; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-qa-question { font-size: 18px; font-weight: 700; line-height: 1.8; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-qa-answer { margin-top: 12px; color: #5e7186; font-size: 16px; line-height: 2; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-qa-question::before { content: 'Q'; color: #d6202e; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-qa-answer::before { content: 'A'; color: #8a97a6; }
:where(.nt-article-content, .editor-styles-wrapper) .nt-qa-question::before,
:where(.nt-article-content, .editor-styles-wrapper) .nt-qa-answer::before { position: absolute; left: 0; font-size: 20px; font-weight: 700; line-height: 1.5; }
/* Figma 880:2 の本文、950:2 の再利用部品。 */
@media (max-width: 600px) {
 :where(.nt-article-content, .editor-styles-wrapper) { font-size: 15px; line-height: 2; }
 :where(.nt-article-content, .editor-styles-wrapper) p { margin-bottom: 22px; }
 :where(.nt-article-content, .editor-styles-wrapper) h2 { font-size: 20px; margin-block: 32px 14px; letter-spacing: 0; }
 :where(.nt-article-content, .editor-styles-wrapper) h3 { font-size: 17px; margin-block: 22px 12px; }
 :where(.nt-article-content, .editor-styles-wrapper) figcaption,
 :where(.nt-article-content, .editor-styles-wrapper) .wp-block-image.nt-caption-photo figcaption { font-size: 12px; margin-top: 10px; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-caption-photo { width: 100%; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-caption-photo img { width: 100%; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-info-box { margin-block: 22px; padding: 20px 18px 22px; border-radius: 10px; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-info-box h3 { margin: 0 0 6px; font-size: 16px; line-height: 1.6; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-info-box p { margin: 0; font-size: 13.5px; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-talk,
 :where(.nt-article-content, .editor-styles-wrapper) .nt-qa { padding: 22px 18px 24px; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-speaker { gap: 12px; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-speaker + .nt-speaker { margin-top: 18px; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-speaker-initial { flex-basis: 44px; width: 44px; height: 44px; margin: 0; font-size: 16px; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-speaker-name { margin: 0 0 5px; font-size: 12px; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-speaker-quote { margin: 0; padding: 14px 16px 16px; border-radius: 10px; font-size: 14px; line-height: 1.9; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-qa-question,
 :where(.nt-article-content, .editor-styles-wrapper) .nt-qa-answer { padding-left: 28px; margin: 0; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-qa-question { font-size: 15px; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-qa-answer { margin-top: 10px; font-size: 14px; line-height: 1.95; }
 :where(.nt-article-content, .editor-styles-wrapper) .nt-qa-question::before,
 :where(.nt-article-content, .editor-styles-wrapper) .nt-qa-answer::before { font-size: 17px; }
}

/* Figma 318:153 / 357:24: 標準のカラム・画像ブロックを組み合わせた写真部品。 */
:where(.nt-article-content,.editor-styles-wrapper) .nt-photo-pair.wp-block-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:40px 0}
:where(.nt-article-content,.editor-styles-wrapper) .nt-photo-pair>.wp-block-column{min-width:0;margin:0}
:where(.nt-article-content,.editor-styles-wrapper) .nt-photo-pair .wp-block-image{margin:0}
:where(.nt-article-content,.editor-styles-wrapper) .nt-photo-pair .wp-block-image img{display:block;width:100%;height:auto;object-fit:contain;border-radius:8px}
/* 未選択の写真はFigmaの差し替え枠。編集画面では標準の画像選択UIを使う。 */
.nt-article-content .nt-photo-slot .nt-empty-photo{display:block;box-sizing:border-box;height:420px;padding:14px;border-radius:8px;background:#eeebe7;color:#5e7186;font:500 13px/1.7 var(--nk-font-sans)}
.nt-article-content .nt-photo-pair .nt-empty-photo{height:240px;padding:12px}
/* 既存情報ボックスの表形式。項目と行数は標準テーブルで編集する。 */
:where(.nt-article-content,.editor-styles-wrapper) .nt-info-box.nt-basic-info{padding:28px 32px;border-radius:12px;margin-block:76px 0;color:#2b2b2b}
:where(.nt-article-content,.editor-styles-wrapper) .nt-info-box.nt-basic-info h3{margin:0 0 14px;font-size:16px;font-weight:500;line-height:1.7;letter-spacing:1px}
:where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info .wp-block-table{margin:0;overflow:visible}
:where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info table{width:100%;border:0;border-collapse:collapse;margin:0}
:where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info .wp-block-table table{table-layout:auto}
:where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info td{min-width:0;border:0;border-top:1px solid #e4e8ec;padding:11px 0;vertical-align:top;font-size:18px;font-weight:400;line-height:1.7;letter-spacing:0;overflow-wrap:anywhere}
/* 内容に合わせて項目列を伸縮。長い項目名でも内容欄を圧迫しない。 */
:where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info td:first-child{box-sizing:border-box;padding-inline-end:24px;color:#5e7186;font-size:16px}
/* table要素は維持し、2列の情報表の行だけを共有グリッドにする。結合セル・多列表は通常の表で表示する。 */
@media(min-width:601px){
@supports(grid-template-columns:subgrid){
 :where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info table:not(:has([colspan],[rowspan],tr>:nth-child(3),thead,tfoot))>tbody{display:grid;grid-template-columns:fit-content(calc(100% / 3)) minmax(0,1fr)}
 :where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info table:not(:has([colspan],[rowspan],tr>:nth-child(3),thead,tfoot))>tbody>tr{display:grid;grid-template-columns:subgrid;grid-column:1/-1}
}
}
@media(max-width:600px){
 :where(.nt-article-content,.editor-styles-wrapper) .nt-photo-pair.wp-block-columns{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:28px}
 .nt-article-content .nt-photo-slot .nt-empty-photo{height:220px;padding:12px}
 .nt-article-content .nt-photo-pair .nt-empty-photo{height:200px}
 :where(.nt-article-content,.editor-styles-wrapper) .nt-info-box.nt-basic-info{padding:22px 20px;margin-top:48px}
 :where(.nt-article-content,.editor-styles-wrapper) .nt-info-box.nt-basic-info h3{font-size:14px;margin-bottom:10px}
 :where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info table,:where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info tbody{display:block}
 :where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info tr{display:block;border-top:1px solid #e4e8ec;padding:10px 0}
 :where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info td{display:block;width:auto;border:0;padding:0;font-size:15px;font-weight:500}
 :where(.nt-article-content,.editor-styles-wrapper) .nt-basic-info td:first-child{padding-inline-end:0;font-size:13px;font-weight:400;margin-bottom:1px}
}
