/* S07 みんなの住宅ローン v2（2026-11）
 * 配色はロゴ（ピンクの文字・水色／オレンジ／緑の3人）から。Web フォントは読み込まない（端末のフォントを使う） */
:root {
	--sky: #1a9fd6;
	--sky-d: #0b7fb3;
	--sky-l: #e9f6fd;
	--sky-ll: #f5fbfe;
	--pink: #ef4f68;
	--pink-d: #d9304d;
	--pink-l: #fff1f4;
	--orange: #f59a23;
	--orange-l: #fff6e8;
	--green: #4fb748;
	--green-l: #eef9ec;
	--ink: #26343f;
	--sub: #5b6b78;
	--line: #dfe9ef;
	--bg: #ffffff;
	--r: 14px;
	--shadow: 0 2px 10px rgba(22, 80, 110, .08);
	--font: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif;
	--font-h: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
img, iframe, video { max-width: 100%; }
img { height: auto; vertical-align: middle; }
a { color: var(--sky-d); text-underline-offset: 3px; }
a:hover { color: var(--pink-d); }
h1, h2, h3, h4 { font-family: var(--font-h); line-height: 1.5; }
ul, ol { padding-left: 1.4em; }
button, input { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--sky); outline-offset: 2px; border-radius: 4px; }
[hidden] { display: none !important; }
.mn-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mn-skip { position: absolute; left: 8px; top: -60px; z-index: 100; padding: 8px 14px; background: var(--ink); color: #fff; border-radius: 8px; }
.mn-skip:focus { top: 8px; color: #fff; }

.mn-wrap { width: 100%; max-width: 1136px; margin: 0 auto; padding: 0 16px; }
.mn-wrap-n { max-width: 832px; }
.mn-wrap-sim { max-width: 932px; padding-bottom: 48px; }

/* PR 注記・ヘッダー */
.mn-prnote { margin: 0; padding: 4px 16px; background: var(--sky-ll); color: var(--sub); font-size: 11px; line-height: 1.6; text-align: center; }
.mn-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--line); }
.mn-header-in { display: flex; align-items: center; gap: 8px; max-width: 1136px; min-height: 60px; margin: 0 auto; padding: 0 16px; }
.mn-logo { flex: 0 1 196px; min-width: 0; margin: 0; line-height: 1; }
.mn-logo img { display: block; width: 100%; max-width: 196px; height: auto; }
.mn-nav { display: none; }
.mn-header-sim { flex: 0 0 auto; margin-left: auto; padding: 7px 12px; border-radius: 999px; background: var(--pink-d); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.5; text-decoration: none; white-space: nowrap; }
.mn-header-sim:hover { background: #c22541; color: #fff; }
.mn-burger { flex: 0 0 44px; display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 0 10px; border: 0; border-radius: 10px; background: var(--sky-l); cursor: pointer; }
.mn-burger span { display: block; height: 2px; border-radius: 2px; background: var(--sky-d); }

.mn-drawer { position: fixed; inset: 0; z-index: 60; background: rgba(20, 45, 60, .45); }
.mn-drawer-in { position: absolute; top: 0; right: 0; bottom: 0; width: min(88vw, 360px); padding: 16px 18px 40px; overflow-y: auto; background: #fff; }
.mn-drawer-close { display: block; margin: 0 0 12px auto; padding: 8px 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 14px; cursor: pointer; }
.mn-drawer-h { margin: 20px 0 4px; color: var(--sub); font-size: 13px; font-weight: 700; }
.mn-drawer ul { margin: 0; padding: 0; list-style: none; }
.mn-drawer li a { display: block; padding: 12px 4px; border-bottom: 1px solid var(--line); color: var(--ink); font-weight: 600; text-decoration: none; }
.mn-drawer-single { margin-top: 8px !important; }
.mn-drawer .mn-search { margin-top: 24px; }

/* ボタン */
.mn-btn { display: inline-block; padding: 13px 24px; border: 0; border-radius: 999px; font-weight: 700; line-height: 1.45; text-align: center; text-decoration: none; cursor: pointer; transition: background-color .15s, transform .15s; }
.mn-btn-cta { background: var(--pink-d); color: #fff; box-shadow: 0 3px 0 #b3223c; }
.mn-btn-cta:hover { background: #c62743; color: #fff; transform: translateY(1px); }
.mn-btn-sub { background: var(--sky-d); color: #fff; box-shadow: 0 3px 0 #086690; }
.mn-btn-sub:hover { background: #0a72a1; color: #fff; }
.mn-btn-line { display: block; background: #fff; color: var(--sky-d); border: 2px solid var(--sky); }
.mn-btn-line:hover { background: var(--sky-l); color: var(--sky-d); }
.mn-pr { display: inline-block; margin-right: 8px; padding: 1px 7px; border: 1px solid #9aa8b3; border-radius: 4px; color: var(--sub); font-family: var(--font); font-size: 11px; font-weight: 700; line-height: 1.5; vertical-align: 2px; }

/* 検索フォーム */
.mn-search { display: flex; gap: 8px; }
.mn-search input { flex: 1 1 auto; min-width: 0; height: 46px; padding: 0 14px; border: 1px solid #c3d3dc; border-radius: 999px; background: #fff; }
.mn-search button { flex: 0 0 auto; height: 46px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--sky-d); color: #fff; font-weight: 700; cursor: pointer; }
.mn-search-l { margin: 0 0 24px; }

/* トップ：ヒーロー */
.mn-hero { background: linear-gradient(180deg, var(--sky-ll), #fff); }
.mn-hero-in { display: flex; flex-direction: column-reverse; max-width: 1136px; margin: 0 auto; }
.mn-hero-img img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: 70% 40%; }
.mn-hero-text { padding: 22px 16px 30px; }
.mn-hero-kicker { display: inline-block; align-self: flex-start; margin: 0 0 10px; padding: 3px 12px; border-radius: 999px; background: var(--pink-l); color: var(--pink-d); font-size: 13px; font-weight: 700; }
.mn-hero h1 { margin: 0 0 12px; font-size: clamp(25px, 6.6vw, 36px); line-height: 1.45; letter-spacing: .02em; }
.mn-hero h1 span { display: inline-block; }
.mn-hero-lead { margin: 0 0 20px; color: var(--sub); font-size: 15px; }
.mn-quick { padding: 16px; border: 2px solid var(--sky); border-radius: var(--r); background: #fff; box-shadow: var(--shadow); }
.mn-quick-t { margin: 0 0 10px; font-family: var(--font-h); font-weight: 700; }
.mn-quick-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mn-quick label { display: block; color: var(--sub); font-size: 13px; font-weight: 700; }
.mn-quick label span { display: flex; align-items: center; gap: 6px; color: var(--ink); font-size: 14px; font-weight: 400; white-space: nowrap; }
.mn-quick input { flex: 1 1 auto; width: 100%; min-width: 0; height: 48px; padding: 0 10px; border: 1px solid #b9cdd8; border-radius: 10px; background: var(--sky-ll); font-size: 18px; font-weight: 700; text-align: right; }
.mn-quick .mn-btn { grid-column: 1 / -1; width: 100%; }

/* セクション */
.mn-sec { padding: 40px 0; }
.mn-sec-tint { background: var(--sky-ll); }
.mn-h { position: relative; margin: 0 0 14px; padding-left: 16px; font-size: clamp(20px, 5.2vw, 26px); }
.mn-h::before { content: ""; position: absolute; left: 0; top: .28em; bottom: .28em; width: 6px; border-radius: 3px; background: linear-gradient(180deg, var(--pink), var(--orange)); }
.mn-h-s { font-size: clamp(18px, 4.6vw, 21px); }
.mn-sec-lead { margin: -4px 0 18px; color: var(--sub); font-size: 15px; }
.mn-note { margin: 12px 0 0; color: var(--sub); font-size: 13px; line-height: 1.75; }
.mn-more { margin: 16px 0 0; text-align: right; }
.mn-more a { font-weight: 700; }
.mn-more a::after { content: " ›"; }
.mn-cols { display: grid; gap: 36px; }

/* 今月の金利 */
.mn-rates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.mn-rates a { display: flex; flex-direction: column; height: 100%; padding: 14px 12px 12px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; color: var(--ink); text-decoration: none; box-shadow: var(--shadow); transition: transform .15s, border-color .15s; }
.mn-rates a:hover { transform: translateY(-2px); border-color: var(--sky); }
.mn-rates-type { font-family: var(--font-h); font-size: 14px; font-weight: 700; }
.mn-rates-num { color: var(--pink-d); font-family: var(--font-h); font-size: 30px; font-weight: 700; line-height: 1.3; font-variant-numeric: tabular-nums; }
.mn-rates-num small { margin: 0 2px; font-size: 14px; }
.mn-rates-bank { color: var(--sub); font-size: 12px; line-height: 1.5; }
.mn-rates-go { margin-top: auto; padding-top: 8px; color: var(--sky-d); font-size: 12px; font-weight: 700; }
.mn-rates-go::after { content: " ›"; }
.mn-rates li:nth-child(1) a { border-top: 4px solid var(--sky); }
.mn-rates li:nth-child(2) a { border-top: 4px solid var(--green); }
.mn-rates li:nth-child(3) a { border-top: 4px solid var(--orange); }
.mn-rates li:nth-child(4) a { border-top: 4px solid var(--pink); }
.mn-rates li:nth-child(5) a { border-top: 4px solid #8a7fd6; }

/* カード */
.mn-cards { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.mn-card { position: relative; display: block; height: 100%; padding: 18px 44px 18px 18px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; color: var(--ink); text-decoration: none; box-shadow: var(--shadow); transition: transform .15s; }
.mn-card:hover { transform: translateY(-2px); color: var(--ink); }
.mn-card::after { content: "›"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--sub); font-size: 22px; }
.mn-card-t { display: block; font-family: var(--font-h); font-size: 17px; font-weight: 700; }
.mn-card-d { display: block; margin-top: 4px; color: var(--sub); font-size: 13px; line-height: 1.7; }
.mn-card-c1 { border-left: 6px solid var(--sky); }
.mn-card-c2 { border-left: 6px solid var(--green); }
.mn-card-c3 { border-left: 6px solid var(--orange); }
.mn-card-c4 { border-left: 6px solid var(--pink); }

/* チップ（銀行・都道府県・テーマ） */
.mn-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.mn-chips a, .mn-chips span { display: block; padding: 7px 14px; border: 1px solid #c9dbe5; border-radius: 999px; background: #fff; color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.5; text-decoration: none; }
.mn-chips a:hover { border-color: var(--sky); background: var(--sky-l); color: var(--sky-d); }
.mn-chips span[aria-current] { border-color: var(--sky-d); background: var(--sky-d); color: #fff; }
.mn-region-name { margin: 0 0 8px; color: var(--sub); font-size: 13px; font-weight: 700; }
.mn-themes { display: grid; gap: 8px; margin: 0 0 32px; padding: 0; list-style: none; }
.mn-themes a { display: block; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); text-decoration: none; }
.mn-themes a:hover { border-color: var(--sky); }
.mn-themes span { display: block; font-weight: 700; }
.mn-themes small { display: block; color: var(--sub); font-size: 12px; line-height: 1.6; }
.mn-links { margin: 0; padding: 0; list-style: none; }
.mn-links li { border-bottom: 1px solid var(--line); }
.mn-links a { position: relative; display: block; padding: 11px 22px 11px 2px; color: var(--ink); font-weight: 600; line-height: 1.6; text-decoration: none; }
.mn-links a::after { content: "›"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); color: var(--sky-d); font-size: 18px; }
.mn-links a:hover { color: var(--sky-d); }

/* 記事の行リスト（小さなサムネイル） */
.mn-rows { margin: 0; padding: 0; list-style: none; }
.mn-row { border-bottom: 1px solid var(--line); }
.mn-row a { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; color: var(--ink); text-decoration: none; }
.mn-row-img { flex: 0 0 96px; width: 96px; height: 64px; overflow: hidden; border-radius: 8px; background: var(--sky-l); }
.mn-row-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mn-row-body { flex: 1 1 auto; min-width: 0; }
.mn-row-title { display: block; font-weight: 700; line-height: 1.6; }
.mn-row a:hover .mn-row-title { color: var(--sky-d); text-decoration: underline; }
.mn-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 4px; color: var(--sub); font-size: 12px; line-height: 1.5; }
.mn-tag { padding: 1px 8px; border-radius: 999px; background: var(--sky-l); color: var(--sky-d); font-weight: 700; }

/* 相談窓口（PR） */
.mn-consult { padding: 20px 16px; border: 2px solid #f6c8d0; border-radius: var(--r); background: var(--pink-l); }
.mn-consult-label { margin: 0 0 12px; font-family: var(--font-h); font-size: 18px; font-weight: 700; }
.mn-consult-grid { display: grid; gap: 14px; }
.mn-consult-item { display: flex; flex-direction: column; padding: 16px; border-radius: 12px; background: #fff; }
.mn-consult-item p { margin: 0 0 12px; font-size: 14px; line-height: 1.8; }
.mn-consult-name { font-family: var(--font-h); font-size: 17px !important; font-weight: 700; }
.mn-consult-item .mn-btn { margin-top: auto; }
.mn-consult-more { margin: 10px 0 0 !important; text-align: center; }
.mn-consult-s { padding: 16px; }
.mn-consult-s .mn-consult-label { font-size: 15px; }
.mn-consult-s p { margin: 0 0 12px; font-size: 13px; line-height: 1.75; }
.mn-consult-s .mn-btn { display: block; padding: 12px 10px; font-size: 14px; }

/* サイド */
.mn-layout { display: grid; gap: 40px; padding-bottom: 48px; }
.mn-side { display: grid; gap: 20px; align-content: start; }
.mn-simcard { padding: 16px; border: 2px solid var(--sky); border-radius: var(--r); background: var(--sky-ll); }
.mn-simcard-t { margin: 0 0 6px; font-family: var(--font-h); font-size: 16px; font-weight: 700; }
.mn-simcard p { margin: 0 0 12px; font-size: 13px; line-height: 1.75; }
.mn-sidebox { padding: 16px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.mn-sidebox-t { margin: 0 0 4px; font-family: var(--font-h); font-weight: 700; }
.mn-sidebox .mn-row a { padding: 10px 0; }
.mn-sidebox .mn-row-title { font-size: 14px; font-weight: 600; }
.mn-sidebox .mn-row:last-child, .mn-sidebox .mn-links li:last-child { border-bottom: 0; }
.mn-sidebox .mn-more { margin-top: 8px; font-size: 14px; }

/* パンくず */
.mn-bc { padding: 12px 0 4px; font-size: 12px; line-height: 1.6; }
.mn-bc ol { display: flex; flex-wrap: wrap; gap: 2px 6px; margin: 0; padding: 0; list-style: none; color: var(--sub); }
.mn-bc li + li::before { content: "›"; margin-right: 6px; }
.mn-bc a { color: var(--sub); }

/* 記事 */
.mn-article { min-width: 0; }
.mn-article-head { margin: 12px 0 22px; }
.mn-article-tag { margin: 0 0 8px; }
.mn-article-tag a { display: inline-block; padding: 2px 12px; border-radius: 999px; background: var(--sky-l); color: var(--sky-d); font-size: 13px; font-weight: 700; text-decoration: none; }
.mn-article-head h1 { margin: 0 0 12px; font-size: clamp(22px, 5.8vw, 31px); line-height: 1.5; }
.mn-article-head h1 small { font-size: .6em; font-weight: 400; }
.mn-article-meta { display: flex; flex-wrap: wrap; gap: 2px 16px; margin: 0; color: var(--sub); font-size: 13px; }
.mn-article-meta a { color: var(--sub); }
.mn-lead { margin: 0; color: var(--sub); }

.mn-content { font-size: 16px; }
.mn-content > *:first-child { margin-top: 0; }
.mn-content p { margin: 0 0 1.3em; }
.mn-content h2 { position: relative; margin: 2.4em 0 1em; padding: 0 0 10px 16px; border-bottom: 2px solid var(--line); font-size: clamp(20px, 5vw, 24px); }
.mn-content h2::before { content: ""; position: absolute; left: 0; top: .25em; bottom: calc(10px + .25em); width: 6px; border-radius: 3px; background: linear-gradient(180deg, var(--pink), var(--orange)); }
.mn-content h3 { margin: 2em 0 .8em; padding: 8px 14px; border-radius: 10px; background: var(--sky-l); font-size: clamp(17px, 4.4vw, 19px); }
.mn-content h4 { margin: 1.8em 0 .7em; padding-left: 12px; border-left: 4px solid var(--sky); font-size: 16px; }
.mn-content h5, .mn-content h6 { margin: 1.6em 0 .6em; font-size: 15px; }
.mn-content ul, .mn-content ol { margin: 0 0 1.3em; }
.mn-content li { margin-bottom: .4em; }
.mn-content img { border-radius: 8px; }
.mn-content figure { margin: 0 0 1.4em; }
.mn-content figcaption { margin-top: 6px; color: var(--sub); font-size: 13px; text-align: center; }
.mn-content .eyecatch img, .mn-content figure.eyecatch img { display: block; width: 100%; border-radius: var(--r); }
.mn-content .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.mn-content .alignleft { float: left; margin: 0 16px 10px 0; }
.mn-content .alignright { float: right; margin: 0 0 10px 16px; }
.mn-content blockquote { margin: 0 0 1.3em; padding: 14px 16px; border-left: 4px solid var(--line); border-radius: 0 10px 10px 0; background: #f6f9fb; color: var(--sub); }
.mn-content iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--r); }
.mn-content strong { font-weight: 700; }
.mn-content .has-text-align-right { text-align: right; }
.mn-content .has-text-align-center { text-align: center; }
.mn-content::after { content: ""; display: block; clear: both; }
.mn-content :is(div, p, ul, ol, dl, figure, blockquote, pre) { max-width: 100%; }
.mn-content pre { overflow-x: auto; white-space: pre-wrap; }

/* 表 */
.mn-table { margin: 0 0 1.4em; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 10px; }
.mn-table table { margin: 0 !important; }
.mn-content table, .mn-ratebox table { width: 100%; border-collapse: collapse; background: #fff; font-size: 14px; line-height: 1.65; }
.mn-content th, .mn-content td, .mn-ratebox th, .mn-ratebox td { padding: 9px 10px; border: 1px solid #d5e2ea; vertical-align: middle; overflow-wrap: break-word; }
.mn-content th, .mn-ratebox th { background: var(--sky-l); font-weight: 700; text-align: left; }
.mn-content thead th, .mn-ratebox thead th { background: #d7eefa; text-align: center; white-space: nowrap; }
.mn-content table > tbody:first-child > tr:first-child > td { background: #d7eefa; font-weight: 700; }
.mn-content td p:last-child, .mn-content th p:last-child { margin-bottom: 0; }
.mn-content td img { border-radius: 4px; }
.mn-ratebox td { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mn-content .tablepress { min-width: 520px; }
.mn-content .loan-compare thead th { background: var(--sky-d); color: #fff; white-space: normal; }
.mn-content .loan-compare tbody tr:nth-child(even) td { background: var(--sky-ll); }
.mn-content .loan-compare tbody td:first-child { font-weight: 600; }

/* 目次 */
.mn-toc { margin: 0 0 2em; border: 1px solid var(--line); border-radius: var(--r); background: var(--sky-ll); }
.mn-toc summary { padding: 12px 16px; font-family: var(--font-h); font-weight: 700; cursor: pointer; }
.mn-toc ol { margin: 0; padding: 0 16px 14px 2.6em; font-size: 15px; }
.mn-toc li { margin: 0 0 6px; line-height: 1.6; }
.mn-toc ol ol { padding: 6px 0 0 1.4em; font-size: 14px; list-style: disc; }
.mn-toc a { color: var(--ink); text-decoration: none; }
.mn-toc a:hover { color: var(--sky-d); text-decoration: underline; }

/* 本文で使われている旧デザインのクラス（銀行詳細ページの冒頭・注目ポイント・ボタン） */
.mn-content ul:has(> li.logo), .mn-content ul:has(> li[class^="detailbtn-"]) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 16px; padding: 0; list-style: none; }
.mn-content li.logo { flex: 0 0 auto; max-width: 200px; margin: 0; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.mn-content li.logo figure { margin: 0; }
.mn-content li.logo img { display: block; max-width: 100%; max-height: 60px; width: auto; height: auto; border-radius: 0; }
.mn-content li.bankname { margin: 0; font-family: var(--font-h); font-size: 20px; font-weight: 700; }
.mn-content li[class^="detailbtn-"] { margin: 0; }
.mn-content li[class^="detailbtn-"] a { display: block; padding: 6px 16px; border: 1px solid #c9dbe5; border-radius: 999px; background: #fff; color: var(--sky-d); font-size: 14px; font-weight: 700; text-decoration: none; }
.mn-content li[class^="detailbtn-"] a::before { content: "↓ "; }
.mn-point-label { display: inline-block; margin: 8px 0 -1px !important; padding: 4px 16px; border-radius: 12px 12px 0 0; background: var(--orange); color: #fff; font-family: var(--font-h); font-size: 14px; font-weight: 700; }
.mn-content .pointbox { margin: 0 0 1.6em; padding: 18px 16px; border: 2px solid var(--orange); border-radius: 0 var(--r) var(--r) var(--r); background: var(--orange-l); }
.mn-content .pointbox :is(h2, h3, h4, h5) { margin: 0 0 12px; padding: 0; border: 0; background: none; font-size: 16px; }
.mn-content .pointbox :is(h2, h3, h4, h5)::before { content: none; }
.mn-content .pointbox ul { margin: 0 0 12px; padding: 0; list-style: none; }
.mn-content .pointbox li { position: relative; margin: 0 0 8px; padding-left: 28px; font-weight: 600; }
.mn-content .pointbox li::before { content: ""; position: absolute; left: 7px; top: .45em; width: 7px; height: 12px; border-right: 3px solid var(--orange); border-bottom: 3px solid var(--orange); transform: rotate(45deg); }
.mn-content .btn, .mn-content .btnWrap { text-align: center; }
.mn-content :is(.blueBtn-arrow02, .pinkBtn, .greenBtn, .orengeBtn) { margin: 0 auto 1em; }
.mn-content :is(.blueBtn-arrow02, .pinkBtn, .greenBtn, .orengeBtn) a { display: inline-block; min-width: min(100%, 260px); padding: 12px 24px; border-radius: 999px; background: var(--pink-d); color: #fff !important; font-weight: 700; line-height: 1.45; text-align: center; text-decoration: none !important; box-shadow: 0 3px 0 #b3223c; }
.mn-content .voice { margin: 0 0 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #f6f9fb; }
.mn-content .voice p { margin: 0; }
.mn-content .kinriwrap { font-size: 85%; }
.mn-content .redbold { color: #d9304d; font-weight: 700; }
.mn-content .mb15 { margin-bottom: 15px; }
@media (max-width: 600px) { .mn-content .spWrap-none { display: none; } }
@media (min-width: 601px) { .mn-content .spWrap { display: none; } }
/* Shortcodes Ultimate の枠を新デザインの角丸に合わせる（色は記事の指定のまま） */
.mn-content .su-box { border-radius: 12px !important; overflow: hidden; }
.mn-content .su-box-title { border-radius: 0 !important; font-family: var(--font-h); }
.mn-content .su-note, .mn-content .su-note-inner { border-radius: 12px !important; }
.mn-content .su-button { border-radius: 999px !important; max-width: 100%; }
.mn-content .su-button span { border-radius: 999px !important; white-space: normal; }
.mn-content .su-box-content img[style*="float"] { max-width: 34%; height: auto; }

/* 今月の金利（銀行詳細） */
.mn-ratebox { margin: 0 0 2em; padding: 18px 16px; border: 2px solid var(--sky); border-radius: var(--r); background: var(--sky-ll); }
.mn-content .mn-ratebox h2, .mn-ratebox h2 { margin: 0 0 12px; padding: 0; border: 0; font-size: 18px; }
.mn-content .mn-ratebox h2::before { content: none; }
.mn-ratebox .mn-table { margin-bottom: 0; }
.mn-ratebox .mn-note a { display: inline-block; margin-left: 4px; font-weight: 700; }

/* 口コミ・関連・編集方針 */
.mn-voices, .mn-related, .mn-bankgroup { margin: 40px 0 0; }
.mn-voices ul { margin: 0 0 12px; padding: 0; list-style: none; }
.mn-voices li { margin: 0 0 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #f6f9fb; font-size: 15px; }
.mn-editorial { margin: 40px 0 0; padding: 18px 16px; border-radius: var(--r); background: var(--green-l); font-size: 14px; }
.mn-editorial-t { margin: 0 0 6px; font-family: var(--font-h); font-weight: 700; }
.mn-editorial p { margin: 0 0 10px; line-height: 1.8; }
.mn-editorial-links { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0 !important; }
.mn-editorial-links a { font-weight: 700; }
.mn-about p { margin: 0 0 1em; }

/* 銀行一覧 */
.mn-banklist { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.mn-banklist a { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); text-decoration: none; }
.mn-banklist a:hover { border-color: var(--sky); background: var(--sky-ll); }
.mn-banklist-name { font-weight: 700; }
.mn-banklist-name .mn-pr { margin: 0 0 0 8px; }
.mn-banklist-rate { color: var(--pink-d); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.mn-filter { margin: 0 0 8px; }

/* よくある質問 */
.mn-faq { margin: 0; }
.mn-faq > div { margin: 0 0 12px; padding: 16px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.mn-faq dt { position: relative; padding-left: 34px; font-family: var(--font-h); font-weight: 700; line-height: 1.6; }
.mn-faq dt::before { content: "Q"; position: absolute; left: 0; top: -1px; width: 26px; height: 26px; border-radius: 50%; background: var(--sky-d); color: #fff; font-size: 14px; line-height: 26px; text-align: center; }
.mn-faq dd { margin: 10px 0 0; padding-left: 34px; font-size: 15px; }

/* 動画（押すまで YouTube を読み込まない） */
.mn-yt { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: var(--r); overflow: hidden; background: #000; cursor: pointer; aspect-ratio: 16 / 9; }
.mn-yt img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.mn-yt-play { position: absolute; left: 50%; top: 50%; width: 72px; height: 50px; margin: -25px 0 0 -36px; border-radius: 14px; background: #e02f2f; }
.mn-yt-play::after { content: ""; position: absolute; left: 29px; top: 14px; border: 11px solid transparent; border-left: 18px solid #fff; border-right: 0; }
.mn-yt-frame { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--r); }

/* ページ送り */
.mn-pager { margin: 28px 0 0; }
.mn-pager ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.mn-pager a, .mn-pager span { display: block; min-width: 44px; padding: 9px 12px; border: 1px solid #c9dbe5; border-radius: 10px; background: #fff; color: var(--ink); font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none; }
.mn-pager .current { border-color: var(--sky-d); background: var(--sky-d); color: #fff; }
.mn-pager .dots { border-color: transparent; }

.mn-notfound { padding-bottom: 48px; }
.mn-notfound .mn-cards { margin-bottom: 32px; }

/* フッター */
.mn-footer { margin-top: 24px; padding: 40px 0 28px; background: #f1f8fc; font-size: 14px; }
.mn-footer-in { display: grid; gap: 28px; max-width: 1136px; margin: 0 auto; padding: 0 16px; }
.mn-footer-logo { margin: 0 0 10px; }
.mn-footer-logo img { width: 200px; height: auto; }
.mn-footer-brand p { margin: 0 0 14px; color: var(--sub); line-height: 1.8; }
.mn-footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
.mn-footer-nav p { margin: 0 0 6px; font-family: var(--font-h); font-weight: 700; }
.mn-footer-nav ul { margin: 0; padding: 0; list-style: none; }
.mn-footer-nav a { display: block; padding: 6px 0; color: var(--ink); text-decoration: none; }
.mn-footer-nav a:hover { color: var(--sky-d); text-decoration: underline; }
.mn-footer-note { max-width: 1136px; margin: 28px auto 0; padding: 16px 16px 0; border-top: 1px solid #d5e5ee; color: var(--sub); font-size: 12px; line-height: 1.8; }
.mn-copy { margin: 10px 0 0; color: var(--sub); font-size: 12px; text-align: center; }
.mn-totop { position: fixed; right: 14px; bottom: 16px; z-index: 40; width: 46px; height: 46px; border-radius: 50%; background: var(--sky-d); color: #fff; font-size: 20px; font-weight: 700; line-height: 46px; text-align: center; text-decoration: none; box-shadow: var(--shadow); }
.mn-totop:hover { color: #fff; background: #0a72a1; }

/* タブレット以上 */
@media (min-width: 600px) {
	.mn-rates { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mn-cards-4, .mn-cards-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mn-consult { padding: 24px; }
	.mn-consult-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mn-banklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mn-themes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mn-quick-row { grid-template-columns: 1fr 1fr auto; align-items: end; }
	.mn-quick .mn-btn { grid-column: auto; width: auto; }
	.mn-row-img { flex-basis: 120px; width: 120px; height: 80px; }
	.mn-footer-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mn-sec { padding: 52px 0; }
	.mn-content .mn-ratebox, .mn-ratebox { padding: 22px 24px; }
}
/* PC */
@media (min-width: 900px) {
	body { font-size: 16px; }
	.mn-header-in { min-height: 72px; gap: 20px; }
	.mn-logo { flex: 0 0 250px; }
	.mn-logo img { max-width: 250px; }
	.mn-burger { display: none; }
	.mn-nav { display: block; margin-left: auto; }
	.mn-nav > ul { display: flex; gap: 2px; margin: 0; padding: 0; list-style: none; }
	.mn-nav > ul > li { position: relative; }
	.mn-nav > ul > li > a, .mn-nav button { display: block; padding: 10px 12px; border: 0; border-radius: 10px; background: none; color: var(--ink); font-size: 15px; font-weight: 700; line-height: 1.5; text-decoration: none; white-space: nowrap; cursor: pointer; }
	.mn-nav button::after { content: ""; display: inline-block; width: 7px; height: 7px; margin: 0 0 3px 7px; border-right: 2px solid var(--sub); border-bottom: 2px solid var(--sub); transform: rotate(45deg); }
	.mn-nav > ul > li > a:hover, .mn-nav button:hover, .mn-nav button[aria-expanded="true"] { background: var(--sky-l); color: var(--sky-d); }
	.mn-nav li ul { position: absolute; left: 0; top: 100%; display: none; min-width: 250px; margin: 0; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: #fff; list-style: none; box-shadow: 0 8px 24px rgba(22, 80, 110, .14); }
	.mn-nav li:hover > ul, .mn-nav li:focus-within > ul, .mn-nav button[aria-expanded="true"] + ul { display: block; }
	.mn-nav li ul a { display: block; padding: 9px 12px; border-radius: 8px; color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; }
	.mn-nav li ul a:hover { background: var(--sky-l); color: var(--sky-d); }
	.mn-header-sim { margin-left: 0; padding: 9px 18px; font-size: 14px; }
	.mn-hero-in { flex-direction: row; align-items: stretch; min-height: 440px; padding-right: 16px; }
	.mn-hero-text { flex: 0 0 46%; display: flex; flex-direction: column; justify-content: center; padding: 36px 28px 36px 16px; }
	.mn-hero-img { flex: 1 1 auto; position: relative; min-height: 440px; }
	.mn-hero-img img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0 0 24px 48px; }
	.mn-cards-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.mn-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mn-rates { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
	.mn-cols { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; }
	.mn-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; }
	.mn-footer-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 48px; }
	.mn-content { font-size: 16.5px; }
	.mn-content table, .mn-ratebox table { font-size: 15px; }
	.mn-banklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}
@media print {
	.mn-header, .mn-footer, .mn-side, .mn-drawer, .mn-totop, .mn-prnote { display: none !important; }
}
