@charset "utf-8";
/* JU愛知 機関誌アーカイブ 追加分のみ（本体 style.css を上書き/補完） */
:root{ --ju-blue:#0d6ec8; --ju-line:#e3e8ef; --ju-sub:#7a8798; --ju-ink:#232d3a; }

/* ---- 一覧 ---- */
.p-journal-contents{ padding:56px 0 90px; }
.p-journal-lead{ margin:0 0 44px; }
.p-journal-lead__ttl{ font-size:2.4rem; font-weight:700; color:var(--ju-ink); padding:0 0 14px; border-bottom:2px solid var(--ju-blue); margin:0 0 20px; }
.p-journal-lead__txt{ font-size:1.5rem; line-height:2; color:var(--ju-ink); }
.p-journal-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:28px 26px; }
.p-journal-list__item{ background:#fff; border-radius:6px; box-shadow:0 2px 10px rgba(20,40,70,.08); overflow:hidden; transition:.2s; }
.p-journal-list__item:hover{ box-shadow:0 8px 22px rgba(20,40,70,.16); transform:translateY(-3px); }
.p-journal-list__item a{ display:block; color:inherit; text-decoration:none; }
.p-journal-card__thumb{ height:172px; overflow:hidden; background:#f0f3f7; }
.p-journal-card__thumb img{ width:100%; height:100%; object-fit:cover; object-position:top center; }
.p-journal-card__body{ padding:16px 18px 20px; }
.p-journal-card__intro{ display:flex; align-items:center; gap:12px; margin:0 0 10px; }
.p-journal-card__cat{ display:inline-block; background:var(--ju-blue); color:#fff; font-size:1.2rem; font-weight:700; border-radius:999px; padding:4px 14px; line-height:1.4; }
.p-journal-card__date{ font-size:1.3rem; color:var(--ju-sub); }
.p-journal-card__ttl{ font-size:1.5rem; line-height:1.75; font-weight:500; color:var(--ju-ink); }

/* ---- 詳細 ---- */
.p-journalDt-contents{ padding:52px 0 90px; }
.p-journalDt-intro{ text-align:center; margin:0 0 34px; }
.p-journalDt-intro__date{ display:block; font-size:1.4rem; color:var(--ju-sub); margin:0 0 12px; }
.p-journalDt-intro__cat{ margin:0 0 22px; }
.p-journalDt-intro__cat span{ display:inline-block; background:var(--ju-blue); color:#fff; font-size:1.3rem; font-weight:700; border-radius:999px; padding:5px 18px; }
.p-journalDt-intro__ttl{ font-size:2.6rem; line-height:1.6; font-weight:700; color:var(--ju-ink); }
.p-journalDt-intro__sub{ display:block; margin-top:10px; font-size:.66em; font-weight:600; line-height:1.65; color:var(--ju-sub); }
.p-journalDt-body h4.wp-block-heading{ font-size:1.7rem; font-weight:700; color:var(--ju-ink); margin:26px 0 8px; padding-left:12px; border-left:3px solid #cfe0f2; }
.p-journalDt-box{ font-size:1.6rem; line-height:2.05; color:var(--ju-ink); }
.p-journalDt-box__fig{ margin:0 0 40px; text-align:center; }
.p-journalDt-box__fig img{ max-width:100%; height:auto; border:1px solid var(--ju-line); }
.p-journalDt-box h3{ font-size:1.9rem; font-weight:700; color:var(--ju-ink); border-left:4px solid var(--ju-blue); padding:2px 0 2px 14px; margin:44px 0 20px; line-height:1.6; }
.p-journalDt-box h4{ font-size:1.6rem; font-weight:700; color:var(--ju-blue); margin:30px 0 12px; line-height:1.6; }
.p-journalDt-box p{ margin:0 0 22px; }
.p-journalDt-box figure{ margin:28px 0; text-align:center; }
.p-journalDt-box figure img{ max-width:86%; height:auto; border:1px solid var(--ju-line); }
.p-journalDt-summary{ background:#f2f7fc; border-left:4px solid var(--ju-blue); border-radius:4px; padding:24px 28px; margin:0 0 40px; }
.p-journalDt-summary__ttl{ font-size:1.5rem; font-weight:700; color:var(--ju-blue); margin:0 0 10px; }
.p-journalDt-summary__txt{ font-size:1.5rem; line-height:1.95; margin:0; }
.p-journalDt-summary__txt ul{ margin:0; padding:0 0 0 1.3em; }
.p-journalDt-summary__txt li{ margin:0 0 8px; }
.p-journalDt-summary__txt li:last-child{ margin:0; }
.p-journalDt-box figcaption{ font-size:1.3rem; color:var(--ju-sub); margin:8px 0 0; }
.p-journalDt-meta{ font-size:1.3rem; color:var(--ju-sub); border-top:1px solid var(--ju-line); padding:18px 0 0; margin:44px 0 0; }
.p-journalDt-tags{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 0; padding:0; }
.p-journalDt-tags li a{ display:inline-block; font-size:1.3rem; color:var(--ju-blue); background:#eef4fb; border:1px solid #d5e4f4; border-radius:999px; padding:5px 16px; text-decoration:none; }
.p-journalDt-tags li a:hover{ background:var(--ju-blue); color:#fff; }
.p-journalDt-related{ font-size:1.4rem; margin:24px 0 0; }
.p-journalDt-box__btn{ text-align:center; margin:56px 0 0; }
.p-journalDt-box__btn a{ display:inline-block; min-width:280px; background:var(--ju-blue); color:#fff; font-size:1.5rem; font-weight:700; text-align:center; text-decoration:none; border-radius:999px; padding:16px 40px; transition:.2s; }
.p-journalDt-box__btn a:hover{ opacity:.82; }

/* ---- 記事内の表 ---- */
.p-journalDt-box .ju-tablewrap{ margin:24px 0 30px; overflow-x:auto; -webkit-overflow-scrolling:touch; background:#fff; border:1px solid var(--ju-line); border-radius:8px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.p-journalDt-box .ju-table{ width:100%; border-collapse:collapse; margin:0; font-size:1.45rem; line-height:1.7; }
.p-journalDt-box .ju-table th,.p-journalDt-box .ju-table td{ border:0; border-bottom:1px solid var(--ju-line); border-right:1px solid var(--ju-line); padding:12px 16px; text-align:left; vertical-align:middle; }
.p-journalDt-box .ju-table th:last-child,.p-journalDt-box .ju-table td:last-child{ border-right:0; }
.p-journalDt-box .ju-table tbody tr:last-child td{ border-bottom:0; }
.p-journalDt-box .ju-table thead th{ background:var(--ju-blue); color:#fff; font-weight:700; white-space:nowrap; border-right-color:rgba(255,255,255,.35); letter-spacing:.02em; }
.p-journalDt-box .ju-table tbody tr:nth-child(even){ background:#f6f9fd; }
.p-journalDt-box .ju-table tbody tr:hover{ background:#eaf2fb; }
.p-journalDt-box .ju-table tbody td:first-child{ font-weight:600; }
.p-journalDt-box .ju-table th.num{ text-align:right; }
.p-journalDt-box .ju-table td.num{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1; }
.p-journalDt-box .ju-table caption{ caption-side:top; text-align:left; padding:0 0 8px; font-size:1.35rem; color:#666; }

/* ---- 記事内の囲み（note）---- */
.p-journalDt-box .ju-note{ position:relative; margin:30px 0; padding:20px 24px 20px 26px; border:1px solid var(--ju-line); border-left:5px solid var(--ju-blue); border-radius:8px; background:#f4f8fd; font-size:1.45rem; line-height:1.9; }
.p-journalDt-box .ju-note__ttl{ display:block; font-size:1.5rem; font-weight:700; color:var(--ju-blue); margin:0 0 8px; letter-spacing:.02em; }
.p-journalDt-box .ju-note--tip{ background:#f2faf4; border-left-color:#2e9e5b; }
.p-journalDt-box .ju-note--tip .ju-note__ttl{ color:#22804a; }
.p-journalDt-box .ju-note--caution{ background:#fff8ec; border-left-color:#e0951f; }
.p-journalDt-box .ju-note--caution .ju-note__ttl{ color:#b7730f; }
.p-journalDt-box .ju-note--alert{ background:#fdf1f1; border-left-color:#d64545; }
.p-journalDt-box .ju-note--alert .ju-note__ttl{ color:#b83232; }
.p-journalDt-box .ju-note--quote{ background:#f7f5fb; border-left-color:#7b6bb5; }
.p-journalDt-box .ju-note--quote .ju-note__ttl{ color:#5f4f9d; }
.p-journalDt-box .ju-note--source{ background:#f7f8fa; border-left-color:#9aa5b4; font-size:1.3rem; color:#555f6c; }
.p-journalDt-box .ju-note--source .ju-note__ttl{ color:#6a7686; font-size:1.35rem; }
.p-journalDt-box .ju-note--related{ background:#fff; border-left-color:var(--ju-blue); padding-bottom:16px; }
.p-journalDt-box .ju-note__links{ list-style:none; margin:4px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 14px; }
.p-journalDt-box .ju-note__links li{ margin:0; }
.p-journalDt-box .ju-note__links a{ display:block; height:100%; box-sizing:border-box; background:#f4f8fd; border:1px solid #d5e4f4; border-radius:6px; padding:10px 14px 10px 30px; position:relative; color:var(--ju-ink); text-decoration:none; font-size:1.35rem; line-height:1.65; transition:.2s; }
.p-journalDt-box .ju-note__links a::before{ content:"›"; position:absolute; left:13px; top:9px; color:var(--ju-blue); font-weight:700; font-size:1.6rem; }
.p-journalDt-box .ju-note__links a:hover{ background:var(--ju-blue); border-color:var(--ju-blue); color:#fff; }
.p-journalDt-box .ju-note__links a:hover::before{ color:#fff; }

/* ---- 用語集 ---- */
.p-glossary-list{ margin:0; }
.p-glossary-list dt{ font-size:1.8rem; font-weight:700; color:var(--ju-ink); border-left:4px solid var(--ju-blue); padding:2px 0 2px 14px; margin:34px 0 12px; }
.p-glossary-list dd{ font-size:1.55rem; line-height:2; margin:0 0 0 18px; padding:0 0 22px; border-bottom:1px solid var(--ju-line); }

@media screen and (max-width:1024px){
	.p-journal-list{ grid-template-columns:repeat(2,1fr); gap:24px 20px; }
}
@media screen and (max-width:767px){
	.p-journal-contents,.p-journalDt-contents{ padding:34px 0 60px; }
	.p-journal-list{ grid-template-columns:1fr; gap:20px; }
	.p-journal-card__thumb{ height:200px; }
	.p-journal-lead__ttl{ font-size:2rem; }
	.p-journalDt-intro__ttl{ font-size:2rem; }
	.p-journalDt-box{ font-size:1.5rem; }
	.p-journalDt-box h3{ font-size:1.7rem; margin:34px 0 16px; }
	.p-journalDt-box h4{ font-size:1.45rem; margin:24px 0 10px; }
	.p-journalDt-box figure img{ max-width:100%; }
	.p-journalDt-box__btn a{ min-width:0; width:100%; }
	.p-journalDt-box .ju-table{ font-size:1.35rem; min-width:560px; }
	.p-journalDt-box .ju-table th,.p-journalDt-box .ju-table td{ padding:10px 12px; }
	.p-journalDt-box .ju-note{ padding:16px 16px 16px 18px; }
	.p-journalDt-box .ju-note__links{ grid-template-columns:1fr; }
}

/* 写真デザイン統一（2026-08-27 滝澤様指示 / 2026-08-31 高さ揃えへ改訂） */
/* 幅を機械的に3等分せず、行の高さを揃えて幅を写真の形に応じて配分する（切り抜きなし） */
.p-journalDt-box figure.photo-grid{ margin:30px 0; display:block; }
.p-journalDt-box figure.photo-grid .pg-row{
	display:flex; gap:10px; margin:0 auto 10px; align-items:stretch;
}
.p-journalDt-box figure.photo-grid .pg-row:last-of-type{ margin-bottom:0; }
.p-journalDt-box figure.photo-grid .pg-row img{
	min-width:0; width:auto; max-width:none; height:auto; display:block;
	border:1px solid var(--ju-line);
	border-radius:8px;
	background:#f0f3f7;
	box-shadow:0 2px 8px rgba(20,40,70,.10);
}
.p-journalDt-box figure.photo-grid figcaption{
	font-size:1.3rem;
	line-height:1.7;
	color:var(--ju-sub);
	text-align:center;
	margin-top:10px;
}
.p-journalDt-box figure:not(.photo-grid) img{
	border-radius:8px;
	box-shadow:0 2px 8px rgba(20,40,70,.10);
}
@media (max-width:600px){
	/* 狭い画面では横に並べず縦積み（1枚が細くなりすぎるのを防ぐ） */
	.p-journalDt-box figure.photo-grid .pg-row{ gap:6px; margin-bottom:6px; }
	.p-journalDt-box figure.photo-grid .pg-row.pg-n3{ display:block; max-width:none !important; }
	.p-journalDt-box figure.photo-grid .pg-row.pg-n3 img{ width:auto; max-width:100%; margin:0 auto 6px; }
}

/* 用語集（2026-09-03 拡充） */
.gloss-index{ display:flex; flex-wrap:wrap; gap:10px 12px; margin:0 0 34px; }
.gloss-index__cat{ background:#f3f6fa; border:1px solid var(--ju-line); border-radius:4px; padding:8px 14px; font-size:1.5rem; }
.gloss-index__cat a{ font-weight:700; color:var(--ju-blue); text-decoration:none; }
.gloss-index__cat a:hover{ text-decoration:underline; }
.gloss-index__n{ color:#7b8794; font-size:1.3rem; margin-left:8px; }
.gloss-sec{ margin:0 0 10px; }
.gloss-sec__ttl{ font-size:2.0rem; margin:44px 0 6px; padding:6px 0 6px 14px; border-left:6px solid var(--ju-blue); background:#f7f9fc; }
.p-glossary-list dt{ scroll-margin-top:90px; }
.gloss-see, .gloss-rel{ display:block; margin-top:10px; font-size:1.35rem; color:#5a6673; }
.gloss-see a, .gloss-rel a{ color:var(--ju-blue); }
.gloss-rel__site{ color:#8a949e; font-size:1.25rem; }
.gloss-note{ margin:40px 0 0; padding:14px 16px; background:#f7f9fc; border:1px solid var(--ju-line); font-size:1.35rem; color:#5a6673; line-height:1.9; }
.gloss-ref{ color:var(--ju-blue); text-decoration:none; border-bottom:1px dotted var(--ju-blue); }
.gloss-ref:hover{ background:#eef4fb; }
@media screen and (max-width:767px){
  .gloss-index__cat{ font-size:1.4rem; padding:7px 11px; }
  .gloss-sec__ttl{ font-size:1.8rem; }
}

/* 加盟店名 → JU愛知公式の加盟店一覧（久保さんチェック 2026-09-07 / 中村さん[B] 2026-09-09） */
.member-ref{ color:var(--ju-blue); text-decoration:none; border-bottom:1px dotted var(--ju-blue); }
.member-ref:hover{ background:#eef4fb; }

/* 20260916 タグは押せない表示に統一（飛び先が一覧しか無かったため） */
.p-journalDt-tags li span{ display:inline-block; font-size:1.3rem; color:var(--ju-sub); background:#f4f6f8; border:1px solid #e2e6ea; border-radius:999px; padding:5px 16px; }
/* 20260916 関連記事（同じタグを持つ記事への実リンク） */
.p-journalDt-relbox{ margin:44px 0 0; border-top:1px solid var(--ju-line); padding:22px 0 0; }
.p-journalDt-relbox__ttl{ font-size:1.6rem; font-weight:700; color:var(--ju-blue); margin:0 0 12px; }
.p-journalDt-relbox__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); gap:10px 20px; }
.p-journalDt-relbox__list li a{ display:block; font-size:1.4rem; line-height:1.6; color:#222; text-decoration:none; border-left:3px solid var(--ju-blue); padding:2px 0 2px 12px; }
.p-journalDt-relbox__list li a:hover{ color:var(--ju-blue); text-decoration:underline; }
@media screen and (max-width:767px){ .p-journalDt-relbox__list{ grid-template-columns:1fr; } }

/* 20260916c 話題ページ（索引・話題別）の見た目 --------------------------- */
.p-topics-body{ text-align:left; }
.p-topics-body p,.p-topics-body li,.p-topics-body h2,.p-topics-body h3{ text-align:left; }
.p-topics-body .p-journalDt-lead{ font-size:1.45rem; line-height:1.9; color:#4a4a4a; margin:0 0 18px; }
.p-topics-body h2.wp-block-heading{ font-size:1.7rem; font-weight:700; color:var(--ju-ink); margin:38px 0 14px; padding:0 0 8px; border-bottom:2px solid #e3ecf6; }
.p-topics-body h2.wp-block-heading:first-of-type{ margin-top:26px; }
.p-topics-body .ju-topics-note{ font-size:1.3rem; color:var(--ju-sub); margin:-6px 0 14px; }
.ju-glosslink{ display:inline-block; font-size:1.35rem; color:var(--ju-blue); background:#f2f7fc; border:1px solid #d5e4f4; border-radius:6px; padding:8px 16px; text-decoration:none; margin:0 0 4px; }
.ju-glosslink:hover{ background:var(--ju-blue); color:#fff; }

/* 話題のチップ（記事が2本以上ある話題） */
.ju-chips{ list-style:none; display:flex; flex-wrap:wrap; gap:9px; margin:0 0 6px; padding:0; }
.ju-chips li a{ display:inline-flex; align-items:center; gap:8px; font-size:1.35rem; line-height:1.4; color:var(--ju-blue); background:#eef4fb; border:1px solid #d5e4f4; border-radius:999px; padding:6px 7px 6px 16px; text-decoration:none; transition:.15s; }
.ju-chips li a:hover{ background:var(--ju-blue); color:#fff; border-color:var(--ju-blue); }
.ju-chips__n{ display:inline-block; min-width:22px; text-align:center; font-size:1.15rem; font-weight:700; color:#fff; background:#89b0d9; border-radius:999px; padding:2px 7px; }
.ju-chips li a:hover .ju-chips__n{ background:#fff; color:var(--ju-blue); }

/* 記事が1本だけの話題（索引の行） */
.ju-solo{ list-style:none; margin:0 0 6px; padding:0; column-count:2; column-gap:36px; }
.ju-solo li{ display:block; break-inside:avoid; -webkit-column-break-inside:avoid; padding:9px 2px; border-bottom:1px dotted #dde5ee; font-size:1.33rem; line-height:1.7; }
.ju-solo__tag{ font-weight:700; color:var(--ju-ink); margin-right:7px; white-space:nowrap; }
.ju-solo__tag::before{ content:"#"; color:#9cbbda; margin-right:1px; }
.ju-solo__ttl{ color:#333; text-decoration:none; }
.ju-solo__ttl:hover{ color:var(--ju-blue); text-decoration:underline; }
.ju-solo li:target{ background:#fff4d6; border-radius:4px; box-shadow:0 0 0 7px #fff4d6; }

/* 話題ページの記事カード */
.ju-cards{ list-style:none; margin:0 0 6px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
.ju-cards li{ display:block; }
.ju-cards li a{ display:block; height:100%; background:#fff; border:1px solid var(--ju-line); border-radius:8px; padding:15px 18px 16px; text-decoration:none; transition:.15s; }
.ju-cards li a:hover{ border-color:var(--ju-blue); box-shadow:0 2px 12px rgba(13,110,200,.13); }
.ju-cards__meta{ display:flex; align-items:center; gap:10px; margin:0 0 8px; }
.ju-cards__cat{ display:inline-block; font-size:1.15rem; font-weight:700; color:#fff; background:var(--ju-blue); border-radius:3px; padding:3px 10px; white-space:nowrap; }
.ju-cards__date{ font-size:1.2rem; color:var(--ju-sub); font-family:"Open Sans",sans-serif; }
.ju-cards__ttl{ display:block; font-size:1.45rem; line-height:1.68; font-weight:600; color:#222; }
.ju-cards li a:hover .ju-cards__ttl{ color:var(--ju-blue); }
.ju-cards__desc{ display:block; margin:7px 0 0; font-size:1.22rem; line-height:1.72; color:var(--ju-sub); }

@media screen and (max-width:767px){
  .ju-solo{ column-count:1; }
  .ju-cards{ grid-template-columns:1fr; }
  .p-topics-body h2.wp-block-heading{ font-size:1.55rem; margin:30px 0 12px; }
}
