/* =========================================================
   既存コンテンツ・プラグイン出力を新デザインに合わせる上書き
   （legacy.css の後に読み込む）
   ========================================================= */

/* 旧テーマ時代のグローバル指定を打ち消す */
.entry-content hr { height: 0; color: inherit; }

/* ---------- 各ページ冒頭のサブタイトル（.sub_title） ---------- */
.entry-content .sub_title {
	position: relative;
	display: inline-block;
	margin: 0 0 .8em;
	padding: 6px 22px 8px;
	background: var(--nm-yellow);
	border: var(--nm-line);
	border-radius: 12px;
	box-shadow: var(--nm-shadow-sm);
	color: var(--nm-ink);
	font-family: var(--nm-font-display);
	font-weight: 400;
	font-size: clamp(22px, 3.4vw, 34px);
	line-height: 1.3;
	transform: rotate(-1deg);
}
.entry-content hr + .sub_title,
.entry-content .sub_title:not(:first-child) { margin-top: 1.4em; }
.entry-content .dictionary .sub_title { font-size: clamp(18px, 2.6vw, 26px); }

/* ---------- 新全件DB・ランキング表 ---------- */
.entry-content .result_shinzenken table {
	border: var(--nm-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--nm-radius);
	box-shadow: var(--nm-shadow);
	overflow: hidden;
}
.entry-content .result_shinzenken table thead { background: var(--nm-green); }
.entry-content .result_shinzenken table thead tr th {
	border: 0;
	border-bottom: var(--nm-line);
	padding: 10px 12px;
	background: var(--nm-green);
	color: var(--nm-white);
	font-weight: 900;
	text-align: center;
	white-space: nowrap;
}
@media (max-width: 600px) {
	.entry-content .result_shinzenken table thead tr th,
	.entry-content .result_shinzenken table tbody tr td { padding: 8px 8px; }
	.entry-content .result_shinzenken table tbody td:first-child,
	.entry-content .result_shinzenken table tbody td:last-child { font-size: 15px; }
}
.entry-content .result_shinzenken table tbody tr td {
	border: 0;
	border-bottom: 2px dashed #cfc4ad;
	padding: 9px 12px;
}
.entry-content .result_shinzenken table tbody tr:last-child td { border-bottom: 0; }
.entry-content .result_shinzenken table tbody tr:nth-child(even) td { background: #fffaf0; }
.entry-content .result_shinzenken table tbody tr:hover td { background: #f2ffd3; }
.entry-content .result_shinzenken table tbody td:first-child,
.entry-content .result_shinzenken table tbody td:last-child {
	text-align: center;
	font-family: var(--nm-font-display);
	font-size: 18px;
	white-space: nowrap;
}
/* 上位3位をメダル色に */
.entry-content .result_shinzenken table tbody tr:nth-child(-n+3) td { font-weight: 900; }
.entry-content .result_shinzenken table tbody tr:nth-child(1) td:first-child { background: var(--nm-yellow); }
.entry-content .result_shinzenken table tbody tr:nth-child(2) td:first-child { background: #dfe6ee; }
.entry-content .result_shinzenken table tbody tr:nth-child(3) td:first-child { background: #f1c49a; }

/* ---------- プロフィール一覧 ---------- */
.entry-content .profile,
.entry-content .profile_sp {
	border: var(--nm-line);
	border-radius: var(--nm-radius);
	box-shadow: var(--nm-shadow);
	overflow: hidden;
	background: var(--nm-white);
}
.entry-content .profile_area { border-bottom: 3px dashed var(--nm-ink); }
.entry-content .profile_area:last-child { border-bottom: 0; }
.entry-content .profile_area table { margin: 0; border: 0; }
.entry-content .profile_area td { border: 0; }
.entry-content .profile_area img { border-radius: 0; }

/* ---------- 汎用ボタンブロック（旧配色の上書き） ---------- */
.entry-content .wp-block-button__link.has-contrast-background-color { background: var(--nm-ink) !important; color: var(--nm-yellow) !important; }

/* ---------- CM Tooltip Glossary ---------- */
.entry-content a.glossaryLink {
	color: inherit;
	text-decoration: none;
	border-bottom: 2px dotted var(--nm-pink) !important;
	background: linear-gradient(transparent 70%, rgba(255, 61, 139, .15) 70%);
}
.entry-content a.glossaryLink:hover { background: rgba(255, 61, 139, .2); }
#tt {
	border: var(--nm-line) !important;
	border-radius: 12px !important;
	box-shadow: var(--nm-shadow-sm) !important;
}

/* ---------- VK ExUnit SNSボタン ---------- */
.veu_socialSet { margin-top: 2.4em !important; }
.veu_socialSet ul { display: flex !important; flex-wrap: wrap; gap: 8px; }
.veu_socialSet li.sb_icon { margin: 0 !important; }
.veu_socialSet .sb_icon_inner {
	border: 2px solid var(--nm-ink) !important;
	border-radius: 999px !important;
	box-shadow: 3px 3px 0 var(--nm-ink);
}

/* ---------- Contact Form 7 ---------- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
	width: 100%;
	max-width: 100%;
	padding: 10px 14px;
	border: var(--nm-line);
	border-radius: 10px;
	background: var(--nm-white);
	font: inherit;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus { outline: 3px solid var(--nm-yellow); outline-offset: 0; }
.wpcf7-submit { background: var(--nm-pink) !important; color: var(--nm-white) !important; }

/* ---------- WP-Polls ---------- */
.wp-polls {
	padding: 16px;
	background: var(--nm-paper);
	border: var(--nm-line);
	border-radius: var(--nm-radius);
}
.wp-polls .Buttons { border: var(--nm-line) !important; border-radius: 999px; background: var(--nm-yellow) !important; font-weight: 900; padding: 6px 18px; cursor: pointer; }
.wp-polls .pollbar { border: 1px solid var(--nm-ink) !important; background: var(--nm-pink) !important; }

/* ---------- サイドバーのブロックウィジェット ---------- */
.nm-sidebar .wp-block-image { margin: 0; }
.nm-sidebar .twitter-timeline { display: block; }
