/* tool / a11y / ads */

/* ---- tool ---- */

/* ---- a11y ---- */
/* 文字の下限 14px: インラインの小さい font-size を一括で 14px に(見出し h2・h3 の指定は 16px 以上なので大小関係は変わらない) */
[style*="font-size:8px"],
[style*="font-size: 8px"],
[style*="font-size:9px"],
[style*="font-size: 9px"],
[style*="font-size:10px"],
[style*="font-size: 10px"],
[style*="font-size:11px"],
[style*="font-size: 11px"],
[style*="font-size:12px"],
[style*="font-size: 12px"],
[style*="font-size:13px"],
[style*="font-size: 13px"],
[style*="font-size:12.5px"],
[style*="font-size: 12.5px"],
[style*="font-size:13.5px"],
[style*="font-size: 13.5px"],
[style*="font-size:.60rem"],
[style*="font-size: .60rem"],
[style*="font-size:0.60rem"],
[style*="font-size: 0.60rem"],
[style*="font-size:.61rem"],
[style*="font-size: .61rem"],
[style*="font-size:0.61rem"],
[style*="font-size: 0.61rem"],
[style*="font-size:.62rem"],
[style*="font-size: .62rem"],
[style*="font-size:0.62rem"],
[style*="font-size: 0.62rem"],
[style*="font-size:.63rem"],
[style*="font-size: .63rem"],
[style*="font-size:0.63rem"],
[style*="font-size: 0.63rem"],
[style*="font-size:.64rem"],
[style*="font-size: .64rem"],
[style*="font-size:0.64rem"],
[style*="font-size: 0.64rem"],
[style*="font-size:.65rem"],
[style*="font-size: .65rem"],
[style*="font-size:0.65rem"],
[style*="font-size: 0.65rem"],
[style*="font-size:.66rem"],
[style*="font-size: .66rem"],
[style*="font-size:0.66rem"],
[style*="font-size: 0.66rem"],
[style*="font-size:.67rem"],
[style*="font-size: .67rem"],
[style*="font-size:0.67rem"],
[style*="font-size: 0.67rem"],
[style*="font-size:.68rem"],
[style*="font-size: .68rem"],
[style*="font-size:0.68rem"],
[style*="font-size: 0.68rem"],
[style*="font-size:.69rem"],
[style*="font-size: .69rem"],
[style*="font-size:0.69rem"],
[style*="font-size: 0.69rem"],
[style*="font-size:.70rem"],
[style*="font-size: .70rem"],
[style*="font-size:0.70rem"],
[style*="font-size: 0.70rem"],
[style*="font-size:.71rem"],
[style*="font-size: .71rem"],
[style*="font-size:0.71rem"],
[style*="font-size: 0.71rem"],
[style*="font-size:.72rem"],
[style*="font-size: .72rem"],
[style*="font-size:0.72rem"],
[style*="font-size: 0.72rem"],
[style*="font-size:.73rem"],
[style*="font-size: .73rem"],
[style*="font-size:0.73rem"],
[style*="font-size: 0.73rem"],
[style*="font-size:.74rem"],
[style*="font-size: .74rem"],
[style*="font-size:0.74rem"],
[style*="font-size: 0.74rem"],
[style*="font-size:.75rem"],
[style*="font-size: .75rem"],
[style*="font-size:0.75rem"],
[style*="font-size: 0.75rem"],
[style*="font-size:.76rem"],
[style*="font-size: .76rem"],
[style*="font-size:0.76rem"],
[style*="font-size: 0.76rem"],
[style*="font-size:.77rem"],
[style*="font-size: .77rem"],
[style*="font-size:0.77rem"],
[style*="font-size: 0.77rem"],
[style*="font-size:.78rem"],
[style*="font-size: .78rem"],
[style*="font-size:0.78rem"],
[style*="font-size: 0.78rem"],
[style*="font-size:.79rem"],
[style*="font-size: .79rem"],
[style*="font-size:0.79rem"],
[style*="font-size: 0.79rem"],
[style*="font-size:.80rem"],
[style*="font-size: .80rem"],
[style*="font-size:0.80rem"],
[style*="font-size: 0.80rem"],
[style*="font-size:.81rem"],
[style*="font-size: .81rem"],
[style*="font-size:0.81rem"],
[style*="font-size: 0.81rem"],
[style*="font-size:.82rem"],
[style*="font-size: .82rem"],
[style*="font-size:0.82rem"],
[style*="font-size: 0.82rem"],
[style*="font-size:.83rem"],
[style*="font-size: .83rem"],
[style*="font-size:0.83rem"],
[style*="font-size: 0.83rem"],
[style*="font-size:.84rem"],
[style*="font-size: .84rem"],
[style*="font-size:0.84rem"],
[style*="font-size: 0.84rem"],
[style*="font-size:.85rem"],
[style*="font-size: .85rem"],
[style*="font-size:0.85rem"],
[style*="font-size: 0.85rem"],
[style*="font-size:.86rem"],
[style*="font-size: .86rem"],
[style*="font-size:0.86rem"],
[style*="font-size: 0.86rem"],
[style*="font-size:.87rem"],
[style*="font-size: .87rem"],
[style*="font-size:0.87rem"],
[style*="font-size: 0.87rem"],
[style*="font-size:.6rem"],
[style*="font-size: .6rem"],
[style*="font-size:0.6rem"],
[style*="font-size: 0.6rem"],
[style*="font-size:.7rem"],
[style*="font-size: .7rem"],
[style*="font-size:0.7rem"],
[style*="font-size: 0.7rem"],
[style*="font-size:.8rem"],
[style*="font-size: .8rem"],
[style*="font-size:0.8rem"],
[style*="font-size: 0.8rem"]{font-size:14px!important}
.site-header p,.badge,.tooltip,.topnav nav,.topnav .navcta,label,.hero2 .badge2,.hero2 .hstats div,.sec-head .kicker,.sec-head p,.feat-card p,.rec-card .body h4,.rec-card .stars,.statband .lbl,.uc-card .tx p,.cta-band p,.data-table,.data-table td:nth-child(3){font-size:14px!important}
label{color:#334155}
.hero2 .badge2,.hero2 .hstats div{font-size:14px!important}

/* 薄い字の色を濃くする(白や薄い灰色の背景の上で 4.5:1 以上) */
[style*="color:#999"],[style*="color: #999"],[style*="color:#aaa"],[style*="color:#bbb"],[style*="color:#9ca3af"],[style*="color:#94a3b8"],[style*="color:#888"],[style*="color:#666"],[style*="color: #666"],[style*="color:#6b7280"],[style*="color:#64748b"]{color:#475569!important}
small{color:#475569}
::placeholder{color:#64748b;opacity:1}

/* タップ領域 44px 以上 */
.topnav .brand{min-height:44px}
.hamburger{width:44px;height:44px;flex-shrink:0}
.topnav nav a{display:inline-flex;align-items:center;min-height:44px}
.topnav .navcta{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
#filter-tabs{gap:8px!important}
#filter-tabs button{min-height:44px;min-width:44px;padding:8px 16px!important;font-size:14px!important}
#entries button{min-width:44px;min-height:44px}
main a[href],footer a[href]{min-height:44px}
.tooltip-trigger{width:44px;height:44px;border:0;background:none;padding:0;border-radius:50%;cursor:help}
.tooltip-trigger>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-size:14px;font-weight:700}
.tooltip{white-space:normal;width:max-content;max-width:min(280px,calc(100vw - 48px))}

@media(max-width:480px){
#mobile-sticky-cta{padding:8px 16px!important}
#mobile-sticky-cta a{display:flex!important;align-items:center;justify-content:center;min-height:44px}
body{padding-bottom:72px!important}
/* 同意バナー(固定・約70〜90px)が出ている間は、固定バーをバナーの上に持ち上げ、本文の下余白も足す(バナーを消すと元に戻る) */
body:has(#consent-banner-v2) #mobile-sticky-cta{bottom:92px!important}
body:has(#consent-banner-v2){padding-bottom:164px!important}
}
#entries span[style*="border-radius:10px"]{color:#1e293b!important}
#entries button[aria-label]{color:#b91c1c!important}

/* フォーカスの輪 */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible,input[type="date"]:focus-within{outline:3px solid #1d4ed8;outline-offset:2px;box-shadow:0 0 0 2px #fff}
a[style*="background:#1DA1F2"]{background:#0b5fa5!important}
a[style*="background:#00B900"]{background:#046c4e!important}

.sec-head .kicker{color:#92400e}
strong[style*="color:#1976d2"]{color:#1d4ed8!important}
strong[style*="color:#388e3c"]{color:#166534!important}

/* 長い題名・全角の入力で崩れない */
#entries,#entries *{overflow-wrap:anywhere}
#title-input,#goal-value{min-width:0}

/* ---- ads ---- */
#ads-block{max-width:700px;margin:24px auto 16px;padding:16px;background:#fff;border:1px solid #64748b;border-radius:8px;color:#334155;font-size:14px;line-height:1.7}
#ads-block h2{margin:0 0 8px;font-size:16px;font-weight:700;color:#334155}
#ads-block p{margin:0 0 8px;font-size:14px;color:#334155}
#ads-block ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}
#ads-block li{margin:0}
#ads-block .ads-kind{display:block;margin:0 0 4px;font-size:14px;color:#334155}
#ads-block a{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 16px;background:#fff;border:1px solid #475569;border-radius:22px;font-size:14px;font-weight:600;color:#1e3a8a;text-decoration:none;text-align:center;overflow-wrap:anywhere}
#ads-block a:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px}
#ads-block img{width:1px;height:1px}
