/* 配当ゴー:銘柄ページ・一覧。モックと同じ配色。テーマの外観に左右されないよう .hg の中だけに効かせる */
.hg {
	--hg-bg: #F2F5F1; --hg-surface: #FFFFFF; --hg-surface-2: #E9EFEA; --hg-line: #D6DFD8; --hg-fg: #14201A; --hg-muted: #58665E;
	--hg-accent: #294893; --hg-accent-soft: #E3E9F6; --hg-target: #B5651B; --hg-target-soft: #F7E7D5; --hg-bar: #C9D4CC;
	--hg-font: 'Murecho', 'Hiragino Sans', 'Noto Sans JP', system-ui, sans-serif;
	--hg-numf: 'Murecho', 'Hiragino Sans', 'Noto Sans JP', system-ui, sans-serif; /* 数字も同じ書体(桁は tabular-nums でそろえる) */
	box-sizing: border-box; max-width: 1120px; margin: 0 auto; padding-inline: 16px; padding-block: 24px 48px;
	display: flex; flex-direction: column; gap: 16px;
	background: var(--hg-bg); color: var(--hg-fg); font-family: var(--hg-font); font-size: 15px; line-height: 1.6; font-variant-numeric: tabular-nums;
}
@media (prefers-color-scheme: dark) {
	.hg {
		--hg-bg: #0F1512; --hg-surface: #16201B; --hg-surface-2: #1E2A24; --hg-line: #2B3831; --hg-fg: #E5EEE8; --hg-muted: #97A59D;
		--hg-accent: #8FA8E8; --hg-accent-soft: #1C2540; --hg-target: #E59A55; --hg-target-soft: #3A2817; --hg-bar: #34423A;
	}
}
.hg *, .hg *::before, .hg *::after { box-sizing: border-box; }
.hg h1, .hg h2 { margin: 0; line-height: 1.3; text-wrap: balance; color: var(--hg-fg); font-family: var(--hg-font); }
.hg h1 { font-size: 26px; } .hg h2 { font-size: 17px; }
.hg p { margin: 0; }
.hg a { color: var(--hg-accent); }
.hg-num { font-family: var(--hg-numf); font-weight: 600; }
.hg-sub, .hg-lbl, .hg-muted { color: var(--hg-muted); } .hg-sub { font-size: 13px; } .hg-lbl { font-size: 12px; }
.hg-accent { color: var(--hg-accent); } .hg-target { color: var(--hg-target); }
.hg-crumb { font-size: 13px; color: var(--hg-muted); }
.hg-card { background: var(--hg-surface); border: 1px solid var(--hg-line); border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.hg-sec-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px 12px; flex-wrap: wrap; }
.hg-page-h { display: flex; flex-direction: column; gap: 2px; }
.hg-hero-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.hg-hero-num { display: flex; flex-direction: column; gap: 4px; text-align: right; }
.hg-big { font-size: 44px; line-height: 1; color: var(--hg-target); }
.hg-kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px 16px; border-top: 1px solid var(--hg-line); padding-top: 14px; }
.hg-kv > div { display: flex; flex-direction: column; gap: 1px; }
.hg-v { font-weight: 700; }
.hg-hist { position: relative; padding-top: 24px; }
.hg-bars { display: flex; align-items: flex-end; gap: 2px; height: 170px; }
.hg-bars > div { flex: 1 1 0; background: var(--hg-accent); border-radius: 3px 3px 0 0; }
.hg-xl { display: flex; gap: 2px; border-top: 1px solid var(--hg-line); padding-top: 4px; }
.hg-xl > span { flex: 1 1 0; width: 0; text-align: center; font-size: 11px; color: var(--hg-muted); white-space: nowrap; overflow: visible; }
.hg-mark { position: absolute; top: 0; bottom: 22px; border-left: 2px dashed var(--hg-fg); }
.hg-mark > span { position: absolute; top: 0; left: 6px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.hg-mark > span.hg-mark-r { left: auto; right: 6px; }
.hg-hint, .hg-foot { font-size: 12px; color: var(--hg-muted); line-height: 1.7; }
.hg-stack { display: flex; height: 14px; border-radius: 7px; overflow: hidden; background: var(--hg-surface-2); }
.hg-stack > i { display: block; height: 100%; }
.hg-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--hg-muted); }
.hg-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.hg-sw { width: 12px; height: 10px; border-radius: 2px; display: inline-block; }
.hg-mbars { display: flex; align-items: flex-end; gap: 3px; height: 180px; border-bottom: 1px solid var(--hg-line); }
.hg-mcol { flex: 1 1 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; position: relative; }
.hg-mcol > i { display: block; width: 76%; background: var(--hg-accent); border-radius: 3px 3px 0 0; }
.hg-mcol.is-last > i { background: var(--hg-target); }
.hg-mcol > span { position: absolute; bottom: -20px; font-size: 11px; color: var(--hg-muted); white-space: nowrap; }
.hg-callout { background: var(--hg-surface-2); border-radius: 10px; padding: 12px 14px; font-size: 13px; display: flex; flex-direction: column; gap: 2px; margin-top: 14px; }
.hg-empty { color: var(--hg-muted); font-size: 14px; }
.hg-soon { border-style: dashed; }
.hg-soon ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--hg-muted); }
.hg-search input { width: 100%; max-width: 420px; height: 40px; border-radius: 10px; border: 1px solid var(--hg-line); background: var(--hg-surface); color: var(--hg-fg); padding: 0 12px; font: inherit; }
.hg-table-wrap { overflow-x: auto; }
.hg-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.hg-table th { text-align: left; font-size: 12px; color: var(--hg-muted); font-weight: 500; padding: 8px; border-bottom: 1px solid var(--hg-line); white-space: nowrap; }
.hg-table td { padding: 10px 8px; border-bottom: 1px solid var(--hg-line); }
.hg-table .r { text-align: right; white-space: nowrap; }
.hg-table small { font-size: 10px; color: var(--hg-muted); margin-left: 4px; font-family: var(--hg-font); }
.hg-table tr[hidden] { display: none; }
.hg [hidden] { display: none !important; }
.hg :focus-visible { outline: 2px solid var(--hg-accent); outline-offset: 2px; }
@media (max-width: 560px) {
	.hg-hero-num { text-align: left; }
	.hg-big { font-size: 36px; }
	.hg-table:not(.hg-fy):not(.hg-cards) th:nth-child(3), .hg-table:not(.hg-fy):not(.hg-cards) td:nth-child(3), .hg-table:not(.hg-fy):not(.hg-cards) th:nth-child(4), .hg-table:not(.hg-fy):not(.hg-cards) td:nth-child(4) { display: none; }
}
/* v0.3.0:利回り・グラフ・上場廃止の帯 */
.hg-banner { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; background: var(--hg-target-soft); border: 1px solid var(--hg-target); color: var(--hg-fg); border-radius: 12px; padding: 12px 16px; font-size: 14px; }
.hg-banner > b { color: var(--hg-target); font-size: 15px; }
.hg-banner.is-gone { background: var(--hg-surface-2); border-color: var(--hg-line); }
.hg-banner.is-gone > b { color: var(--hg-fg); }
.hg-kv-top { border-top: 0; padding-top: 0; }
.hg-yld { font-size: 30px; line-height: 1.1; color: var(--hg-accent); }
.hg-chart-wrap { position: relative; }
.hg-chart { width: 100%; height: auto; display: block; overflow: visible; }
.hg-chart .hg-grid { stroke: var(--hg-line); stroke-width: 1; }
.hg-chart .hg-ax { fill: var(--hg-muted); font-size: 11px; font-family: var(--hg-numf); }
.hg-chart .hg-yline { fill: none; stroke: var(--hg-accent); stroke-width: 2; stroke-linejoin: round; }
.hg-chart .hg-tline { stroke: var(--hg-target); stroke-width: 2; stroke-dasharray: 6 4; }
.hg-chart .hg-band { fill: var(--hg-target-soft); opacity: .7; }
.hg-chart .hg-cur { stroke: var(--hg-muted); stroke-width: 1; }
.hg-chart .hg-dot { fill: var(--hg-accent); stroke: var(--hg-surface); stroke-width: 2; }
.hg-chart [hidden] { display: none; }
.hg-tip { position: absolute; top: 0; pointer-events: none; background: var(--hg-fg); color: var(--hg-bg); font-size: 12px; line-height: 1.5; padding: 6px 10px; border-radius: 8px; white-space: nowrap; transform: translateX(-50%); }
.hg-table tr.hg-fc td { color: var(--hg-muted); font-style: normal; background: var(--hg-surface-2); }
.hg-fy td:first-child, .hg-fy th { white-space: nowrap; }
.hg-fy td { padding: 9px 8px; }
@media (max-width: 640px) {
	.hg-chart-wrap { overflow-x: auto; margin-inline: -4px; }
	.hg-chart { min-width: 600px; }
}
/* v0.4.0:配当方針・株主優待 */
.hg-pol { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.hg-pol-item { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.hg-pol-item h3 { margin: 0; font-size: 15px; color: var(--hg-fg); font-family: var(--hg-font); }
.hg-pol-item > p { font-size: 14px; line-height: 1.7; }
.hg-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.hg-tags > span { font-size: 12px; padding: 2px 10px; border-radius: 999px; background: var(--hg-accent-soft); color: var(--hg-accent); font-weight: 600; }
.hg-src { font-size: 13px; color: var(--hg-muted); }
.hg-src summary { cursor: pointer; color: var(--hg-accent); }
.hg-src p { margin-top: 8px; padding: 10px 12px; background: var(--hg-surface-2); border-radius: 8px; line-height: 1.7; max-height: 320px; overflow: auto; }
.hg-tiers td:first-child { white-space: nowrap; width: 1%; font-weight: 600; }
.hg-tiers td { font-size: 13px; vertical-align: top; }
/* v0.5.0:タブ・タグのリンク・ランキング */
.hg-tabs { display: flex; gap: 4px; border-bottom: 2px solid var(--hg-line); overflow-x: auto; }
.hg-tabs a { padding: 10px 18px; font-weight: 700; font-size: 15px; color: var(--hg-muted); text-decoration: none; border-bottom: 3px solid transparent; margin-bottom: -2px; white-space: nowrap; }
.hg-tabs a:hover { color: var(--hg-fg); }
.hg-tabs a.is-on { color: var(--hg-accent); border-bottom-color: var(--hg-accent); }
.hg-tags > a { font-size: 12px; padding: 3px 12px; border-radius: 999px; background: var(--hg-accent-soft); color: var(--hg-accent); font-weight: 700; text-decoration: none; border: 1px solid transparent; }
.hg-tags > a:hover { border-color: var(--hg-accent); }
.hg-lead { font-size: 15px; line-height: 1.8; }
.hg-rank-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.hg-rank-grid a { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border: 1px solid var(--hg-line); border-radius: 12px; background: var(--hg-surface); text-decoration: none; color: var(--hg-fg); }
.hg-rank-grid a:hover { border-color: var(--hg-accent); }
.hg-rank-grid b { font-size: 16px; color: var(--hg-accent); }
.hg-rank-grid span { font-size: 12px; color: var(--hg-muted); line-height: 1.6; }
.hg-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hg-filters select { height: 40px; border-radius: 10px; border: 1px solid var(--hg-line); background: var(--hg-surface); color: var(--hg-fg); padding: 0 10px; font: inherit; }
.hg-table th[data-sort] { cursor: pointer; user-select: none; }
.hg-table th[data-sort]::after { content: ' \2195\FE0E'; color: var(--hg-line); }
.hg-table th.is-asc::after { content: ' \2191\FE0E'; color: var(--hg-accent); }
.hg-table th.is-desc::after { content: ' \2193\FE0E'; color: var(--hg-accent); }
.hg-table td.rk { color: var(--hg-muted); width: 1%; }
/* v0.6.0:お気に入り・目標利回り・検索・事業内容 */
.hg-title-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.hg-fav { appearance: none; border: 1px solid var(--hg-line); background: var(--hg-surface); color: var(--hg-target); border-radius: 999px; cursor: pointer; font-size: 18px; line-height: 1; padding: 4px 8px; display: inline-flex; align-items: center; gap: 6px; font-family: var(--hg-font); }
.hg-fav[aria-pressed="true"] { background: var(--hg-target-soft); border-color: var(--hg-target); }
.hg-fav em { font-style: normal; font-size: 13px; font-weight: 700; color: var(--hg-fg); }
.hg-table td.fv { width: 1%; padding-right: 0; }
.hg-table td.fv .hg-fav { border: 0; background: none; padding: 2px; }
.hg-mytarget { gap: 10px; }
.hg-mt-now { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.hg-mt-now b { font-size: 24px; }
.hg-mt-form { display: flex; flex-direction: column; gap: 10px; }
.hg-mt-row { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.hg-mt-row label, .hg-mt-reason { display: flex; flex-direction: column; gap: 4px; }
.hg-mt-input { display: inline-flex; align-items: center; gap: 4px; }
.hg-mt-input input { width: 90px; height: 40px; border-radius: 10px; border: 1px solid var(--hg-line); background: var(--hg-surface); color: var(--hg-fg); padding: 0 10px; font: inherit; font-family: var(--hg-numf); text-align: right; }
.hg-pf-input input { width: 76px; height: 34px; }
.hg-mt-input input.is-saving { opacity: .5; }
.hg-mt-reason textarea { width: 100%; border-radius: 10px; border: 1px solid var(--hg-line); background: var(--hg-surface); color: var(--hg-fg); padding: 8px 10px; font: inherit; }
.hg-btn { height: 40px; padding: 0 18px; border-radius: 10px; border: 0; background: var(--hg-accent); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.hg-btn-link { border: 0; background: none; color: var(--hg-accent); text-decoration: underline; cursor: pointer; font: inherit; font-size: 13px; }
.hg-mt-msg { font-size: 13px; color: var(--hg-target); min-height: 1em; }
.hg-hit { color: var(--hg-accent); }
.hg-searchbox { position: relative; display: flex; gap: 8px; max-width: 640px; width: 100%; }
.hg-searchbox input { flex: 1; height: 46px; border-radius: 12px; border: 1px solid var(--hg-line); background: var(--hg-surface); color: var(--hg-fg); padding: 0 14px; font: inherit; font-size: 16px; }
.hg-searchbox input { padding-right: 46px; }
.hg-searchbox > .hg-sb-go { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 10px; background: none; color: var(--hg-accent); cursor: pointer; padding: 0; }
.hg-searchbox > .hg-sb-go:hover { background: var(--hg-surface-2); }
.hg-searchbox > .hg-sb-go svg { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.hg-searchbox input[type=search]::-webkit-search-cancel-button { margin-right: 4px; }
.hg-suggest { position: absolute; z-index: 20; top: 50px; left: 0; right: 0; margin: 0; padding: 4px; list-style: none; background: var(--hg-surface); border: 1px solid var(--hg-line); border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.hg-suggest li { display: flex; align-items: center; gap: 8px; border-radius: 8px; }
.hg-suggest a { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; padding: 8px 10px; border-radius: 8px; text-decoration: none; color: var(--hg-fg); }
.hg-sg-add { flex: 0 0 auto; margin-right: 6px; height: 34px; min-width: 76px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--hg-accent); background: var(--hg-accent); color: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.hg-sg-add:hover { filter: brightness(1.08); }
.hg-sg-add.is-added { background: var(--hg-surface-2); border-color: var(--hg-line); color: var(--hg-muted); cursor: default; }
.hg-suggest li.is-active, .hg-suggest li:hover { background: var(--hg-surface-2); }
.hg-suggest small { font-size: 12px; color: var(--hg-muted); }
.hg-embed { background: transparent; padding: 0; max-width: none; }
.hg-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.hg-chips > span:not(.hg-lbl) { font-size: 12px; padding: 2px 10px; border-radius: 6px; background: var(--hg-surface-2); color: var(--hg-fg); }
/* v0.7.0:掲示板 */
.hg-count { font-size: 11px; background: var(--hg-surface-2); color: var(--hg-muted); border-radius: 999px; padding: 1px 7px; margin-left: 4px; }
.hg-board-form { display: flex; flex-direction: column; gap: 8px; }
.hg-board-form textarea { width: 100%; border-radius: 10px; border: 1px solid var(--hg-line); background: var(--hg-surface); color: var(--hg-fg); padding: 10px 12px; font: inherit; }
.hg-board-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.hg-post { border-top: 1px solid var(--hg-line); padding-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.hg-post header { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; }
.hg-post header img, .hg-ava { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.hg-ava { display: inline-flex; align-items: center; justify-content: center; background: var(--hg-accent-soft); color: var(--hg-accent); font-weight: 700; }
.hg-post time { margin-left: auto; font-size: 12px; color: var(--hg-muted); }
.hg-badge { font-size: 11px; padding: 1px 8px; border-radius: 999px; background: var(--hg-target-soft); color: var(--hg-target); font-weight: 700; }
.hg-post-body { font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.hg-post-body p { margin: 0 0 8px; }
.hg-post footer { display: flex; gap: 14px; font-size: 12px; color: var(--hg-muted); }
.hg-post footer a { margin-left: auto; }
/* v0.8.0:会員・掲示板(単独) */
.hg-userbar { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; justify-content: flex-end; font-size: 13px; }
.hg-userbar a { color: var(--hg-fg); text-decoration: none; font-weight: 600; }
.hg-userbar a:hover { color: var(--hg-accent); }
.hg-btn-s { background: var(--hg-accent); color: #fff !important; padding: 5px 12px; border-radius: 999px; }
.hg-narrow { max-width: 560px; }
.hg-auth h1 { font-size: 22px; }
.hg-form { display: flex; flex-direction: column; gap: 12px; }
.hg-form label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--hg-muted); }
.hg-form input[type=email], .hg-form input[type=password], .hg-form input[type=text], .hg-input { height: 44px; border-radius: 10px; border: 1px solid var(--hg-line); background: var(--hg-surface); color: var(--hg-fg); padding: 0 12px; font: inherit; font-size: 16px; }
.hg-form .hg-check { flex-direction: row; align-items: center; gap: 8px; color: var(--hg-fg); }
.hg-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.hg-flash { padding: 10px 14px; border-radius: 10px; font-size: 14px; }
.hg-flash.is-ok { background: var(--hg-accent-soft); color: var(--hg-accent); }
.hg-flash.is-error { background: var(--hg-target-soft); color: var(--hg-target); }
.hg-thread { border-top: 1px solid var(--hg-line); padding-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.hg-thread > .hg-post { border-top: 0; padding-top: 0; }
.hg-post.is-reply { margin-left: 40px; padding: 10px 12px; background: var(--hg-surface-2); border-radius: 10px; }
.hg-reply-form { margin-left: 40px; }
.hg-act { border: 0; background: none; color: var(--hg-muted); font: inherit; font-size: 12px; cursor: pointer; padding: 2px 4px; }
.hg-act:hover { color: var(--hg-accent); }
.hg-act[aria-pressed="true"] { color: var(--hg-target); }
.hg-act-r { margin-left: auto; }
.hg-pager { display: flex; justify-content: space-between; font-size: 14px; }
.hg-nick .hg-mt-row label { flex: 1 1 240px; }
@media (max-width: 560px) { .hg-post.is-reply, .hg-reply-form { margin-left: 16px; } }
.hg-btn-sm { height: 30px; padding: 0 12px; font-size: 12px; display: inline-flex; align-items: center; text-decoration: none; border-radius: 8px; }
.hg-btn.is-off { background: var(--hg-surface-2); color: var(--hg-muted); cursor: default; }
.hg-vis { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; }
/* v0.9.1 マイポートフォリオ */
.hg-pf-card .hg-sec-h { flex-wrap: wrap; gap: 6px 14px; }
.hg-pf-save { margin-left: 4px; }
.hg-pf th[data-sort] { cursor: pointer; user-select: none; outline-offset: -2px; }
.hg-pf th[data-sort]::after { content: ' \2195\FE0E'; color: var(--hg-line); }
.hg-pf th.is-asc::after { content: ' \2191\FE0E'; color: var(--hg-accent); }
.hg-pf th.is-desc::after { content: ' \2193\FE0E'; color: var(--hg-accent); }
.hg-table th.c, .hg-table td.c { text-align: center; }
.hg-rs { appearance: none; border: 0; background: none; padding: 6px; border-radius: 8px; cursor: pointer; line-height: 0; color: var(--hg-muted); }
.hg-rs svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.hg-rs.has-reason { color: var(--hg-accent); }
.hg-rs.has-reason svg { fill: var(--hg-accent-soft); }
.hg-rs:hover { background: var(--hg-surface-2); }
.hg-rs-pop { position: absolute; z-index: 50; margin: 0; background: var(--hg-surface); color: var(--hg-fg); border: 1px solid var(--hg-line); border-radius: 12px; box-shadow: 0 10px 28px rgba(0,0,0,.16); padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.6; }
.hg-rs-pop[hidden] { display: none; }
.hg-rs-ttl { font-size: 12px; color: var(--hg-muted); font-weight: 600; }
.hg-rs-text { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 240px; overflow: auto; }
.hg-rs-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--hg-muted); }
.hg-rs-meta[hidden] { display: none; }
.hg-rs-form { display: flex; flex-direction: column; gap: 8px; }
.hg-rs-form[hidden] { display: none; }
.hg-rs-form textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--hg-line); border-radius: 10px; padding: 8px 10px; font: inherit; font-size: 14px; background: var(--hg-surface); color: var(--hg-fg); resize: vertical; }
.hg-rs-act { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.hg-rs-act .hg-check { margin-right: auto; font-size: 13px; display: inline-flex; align-items: center; gap: 6px; }
/* v0.9.2 上部の検索バー(どのページにも表示) */
.hg.hg-gbar { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100; display: block; max-width: none; margin: 0; padding: 8px 16px; background: var(--hg-surface); border-bottom: 1px solid var(--hg-line); }
main.hg > .hg-gbar { margin: -24px -16px 0; } /* テーマが wp_body_open を出さないときの予備(配当ゴーのページの先頭) */
.hg-gbar-in { max-width: 1088px; margin: 0 auto; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 20px; }
.hg-gbar .hg-searchbox { flex: 1 1 320px; max-width: 520px; gap: 6px; }
.hg-gbar .hg-searchbox input { height: 40px; font-size: 15px; border-radius: 10px; }
.hg-gbar .hg-searchbox > .hg-sb-go { width: 34px; height: 34px; }
.hg-logo { display: inline-flex; align-items: center; flex: 0 0 auto; line-height: 0; }
.hg-logo img { height: 32px; width: auto; display: block; }
.hg-gbar .hg-suggest { top: 46px; z-index: 110; }
.hg-gbar .hg-userbar { margin-left: auto; }
@media (max-width: 640px) {
	.hg-gbar .hg-searchbox { flex: 1 1 0; min-width: 0; max-width: none; }
	.hg-gbar .hg-userbar { flex-basis: 100%; }
	.hg-logo img { height: 28px; }
	.hg-gbar .hg-userbar { margin-left: 0; justify-content: flex-start; }
}
/* マイポートフォリオの設定(サブ) */
.hg-settings { gap: 10px; padding: 14px 18px; }
.hg-settings .hg-h3 { font-size: 15px; color: var(--hg-muted); }
.hg-settings .hg-check, .hg-settings .hg-lbl { font-size: 13px; }
.hg-settings .hg-input, .hg-settings .hg-btn { height: 36px; }
.hg-settings .hg-mt-row { max-width: 520px; }
/* v0.9.3 ポートフォリオの見出し・評価・スマホのカード表示 */
.hg-pf-head { align-items: center; }
.hg-pf-title { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-width: 0; }
.hg-pf-title .hg-pf-h[hidden], .hg-pencil[hidden] { display: none; }
.hg-pencil { appearance: none; border: 0; background: none; padding: 6px; border-radius: 8px; cursor: pointer; line-height: 0; color: var(--hg-muted); }
.hg-pencil svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hg-pencil:hover { background: var(--hg-surface-2); color: var(--hg-accent); }
.hg-nick-form { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hg-nick-form[hidden] { display: none; }
.hg-nick-form .hg-input { height: 36px; width: 220px; max-width: 100%; font-size: 16px; }
.hg-nick-form .hg-btn-sm { height: 36px; }
.hg-rs-lbl { display: none; }
.hg-table .nm-s { display: none; }
.hg-pf-sortsel { display: none; }
.hg-table .nm-top { display: none; }
.hg-table .th-s { display: none; }
.hg-scroll-hint { display: none; }
@media (max-width: 640px) {
	/* スマホ:表のまま(旧配当ゴーと同じ並び)。銘柄の列を左に固定し、右の列は横にスクロール */
	.hg-pf-card, .hg-cards-card { padding: 14px 12px; }
	.hg-pf-head { flex-wrap: wrap; }
	.hg-table-wrap:has(> .hg-cards) { margin-inline: -12px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.hg-cards { min-width: 520px; }
	.hg-cards .th-l { display: none; }
	.hg-cards .th-s { display: inline; }
	.hg-cards th { background: var(--hg-surface); padding: 10px 6px; }
	.hg-cards th[data-sort]::after { font-size: 11px; }
	.hg-cards td { padding: 10px 6px; }
	.hg-cards th.fv, .hg-cards td.fv { display: none; }
	.hg-cards th:nth-child(2), .hg-cards td.nm { position: sticky; left: 0; z-index: 2; background: var(--hg-surface); box-shadow: 1px 0 0 var(--hg-line); width: 96px; min-width: 96px; max-width: 96px; padding-left: 12px; }
	.hg-cards th:nth-child(2) { background: var(--hg-surface); }
	.hg-cards td.nm { line-height: 1.35; white-space: nowrap; overflow: hidden; }
	.hg-cards td.nm .nm-top { display: flex; align-items: center; gap: 4px; font-family: var(--hg-numf); font-weight: 600; }
	.hg-cards td.nm .nm-top .hg-fav { border: 0; background: none; padding: 0; font-size: 14px; }
	.hg-cards td.nm > small { display: none; }
	.hg-cards td.nm a { display: block; }
	.hg-cards .nm-l { display: none; }
	.hg-cards .nm-s { display: inline; }
	.hg-cards td.px { white-space: nowrap; }
	.hg-cards .hg-pf-input { gap: 1px; }
	.hg-cards .hg-pf-input input { width: 50px; height: 30px; padding: 0 5px; }
	.hg-cards .hg-pf-input input::placeholder { font-size: 12px; }
	.hg-cards .hg-hit { font-size: 11px; display: block; }
	.hg-table-wrap.is-scrollable { background: linear-gradient(to left, rgba(0,0,0,.06), transparent 18px) right / 18px 100% no-repeat; }
	.hg-scroll-hint { display: flex; justify-content: flex-end; margin: -6px 0 -4px; color: var(--hg-muted); line-height: 0; }
	.hg-scroll-hint svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; animation: hg-nudge 1.6s ease-in-out infinite; }
	.hg-gbar .hg-userbar { flex-wrap: nowrap; overflow-x: auto; gap: 14px; white-space: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.hg-gbar .hg-userbar::-webkit-scrollbar { display: none; }
}
.hg-settings .hg-vis { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 2px 8px; }
.hg-settings .hg-vis input { margin-top: 4px; }
.hg-settings .hg-vis a { grid-column: 2; justify-self: start; }
/* v0.9.5 目標の「保存」ボタン・スマホで拡大しないように(入力欄は16px以上) */
.hg-pf-input.is-editing .hg-mt-pub { font-size: 13px; display: inline-flex; align-items: center; gap: 6px; }
body:has(.hg-gbar) { overflow-x: clip; }
@media (max-width: 640px) {
	.hg input[type=text]:not(.hg-pf-input input), .hg input[type=search], .hg input[type=email], .hg input[type=password], .hg textarea, .hg select, .hg-rs-pop textarea { font-size: 16px !important; }
}
@keyframes hg-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
@media (prefers-reduced-motion: reduce) { .hg-scroll-hint svg { animation: none; } }
.hg-pf thead th, .hg-rs-table thead th { border-top: 1px solid var(--hg-line); }
.hg-settings .hg-vis b { font-weight: 700; color: var(--hg-fg); }
.hg-gbar .hg-searchbox input { min-width: 0; width: 100%; }
.hg-pf-title { flex-wrap: nowrap; }
.hg-pf-title .hg-pf-h { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hg-pf-title .hg-pencil, .hg-pf-title .hg-pf-save { flex: 0 0 auto; }
.hg-pf-title:has(.hg-nick-form:not([hidden])) { flex-wrap: wrap; }
@media (max-width: 640px) {
	.hg-gbar-in { gap: 8px 12px; }
	.hg-pf-save { padding: 0 10px; height: 30px; }
	.hg-pf-title .hg-pencil { padding: 4px; }
}
.hg-pub-link { font-size: 13px; margin-left: 4px; white-space: nowrap; }
.hg-pub-link[hidden] { display: none; }
/* v0.9.10 マイポートフォリオ:表の中(見出し以外)は1px小さく、目標の入力も同じ大きさ */
.hg-pf td, .hg-pf td a { font-size: 13px; }
.hg-pf td small { font-size: 10px; }
.hg-pf .hg-pf-input input { font-size: 13px !important; font-family: var(--hg-numf); font-weight: 600; }
.hg-pf .hg-pf-input input::placeholder { font-family: var(--hg-font); font-weight: 400; font-size: 12px; }
/* v0.9.10 見出し(ページ見出しをなくし、ポートフォリオ名を見出しに)・画像保存はグレー */
.hg-pf-page .hg-pf-h { font-size: 17px; margin: 0; line-height: 1.3; }
.hg-pf-save { background: var(--hg-surface-2); color: var(--hg-muted); border: 1px solid var(--hg-line); font-weight: 600; }
.hg-pf-save:hover { color: var(--hg-fg); }
@media (max-width: 640px) {
	.hg-pf-page .hg-pf-h { font-size: 15px; }
}
@media (max-width: 640px) {
	.hg-cards th, .hg-cards td { padding-left: 4px; padding-right: 4px; }
	.hg-cards th:nth-child(2), .hg-cards td.nm { padding-left: 10px; }
	.hg-cards .hg-pf-input input { width: 46px; }
	.hg-cards { min-width: 100%; width: max-content; }
	.hg-cards th, .hg-cards td { padding-left: 8px; padding-right: 8px; }
}
/* 説明文が行の途中で折り返して右に余白ができないように(テーマの text-wrap: balance を打ち消す) */
.hg p, .hg .hg-hint { text-wrap: wrap; }
/* v0.9.12 共通フッター(ロゴ・利用規約・プライバシーポリシー) */
.hg.hg-gfoot { display: block; max-width: none; margin: 0; padding: 24px 16px 32px; background: var(--hg-surface); border-top: 1px solid var(--hg-line); }
.hg-gfoot-in { max-width: 1088px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.hg-gfoot .hg-logo img { height: 36px; }
.hg-gfoot nav { display: flex; gap: 8px 20px; flex-wrap: wrap; font-size: 13px; }
.hg-gfoot nav a { color: var(--hg-fg); text-decoration: none; }
.hg-gfoot nav a:hover { text-decoration: underline; }
.hg-gfoot small { margin-left: auto; font-size: 12px; color: var(--hg-muted); }
@media (max-width: 640px) { .hg-gfoot small { margin-left: 0; flex-basis: 100%; } }
/* v0.9.13 全ページの書体を Murecho に・上部の余白をなくす */
body, body button, body input, body select, body textarea { font-family: 'Murecho', 'Hiragino Sans', 'Noto Sans JP', system-ui, sans-serif; }
.hg-body .wp-site-blocks { padding-top: 0; }
.hg-body .wp-site-blocks > main.hg { margin-block-start: 0; }
/* v0.9.15 表の見出しは中央寄せ・単位(円・%・人)は数字より2px小さく */
.hg-cards thead th { text-align: center; }
.hg-u { font-size: calc(1em - 2px); }
.hg-pf-input > span { font-size: calc(1em - 2px); }
