/* v2-money.css — /rakuten-mobile-campaign/ と /softbank-mnp-campaign/ 専用(2026-09-24 table-v3)。
   includes/v2-money-pages.php の stn_v2_money_enqueue_assets() が収益2ページの表示時だけ読み込む。
   条件一覧(.stnv2-board)と CTA 本体の見た目は v2.css / 広告スロット側の担当なので、ここでは触らない。
   基準: 本文16px・注記14px以上、行間1.6、見出しは1行の名詞句、320px で横スクロールなし。 */

.stnv2m{font-size:16px;line-height:1.6;color:var(--stnv2-ink,#102033)}
.stnv2m p,.stnv2m li{font-size:16px;line-height:1.6}
.stnv2m-anchor{display:block;height:0;overflow:hidden;scroll-margin-top:80px}

/* 見出し */
/* サイト共通CSSの .wp-site-blocks h1{font-size:clamp(26px,…)!important} を上書きする */
.stnv2m .stnv2m-h1{margin:0 0 8px;font-size:24px!important;font-weight:700;line-height:1.35!important;letter-spacing:0!important;color:var(--stnv2-navy,#0b2545);overflow-wrap:anywhere}
.stnv2m-phrase{display:inline-block;max-width:100%}
.stnv2m .stnv2m-h2{margin:24px 0 8px;font-size:20px;font-weight:700;line-height:1.4;color:var(--stnv2-navy,#0b2545)}
.stnv2m-cautions-section .stnv2m-h2,.stnv2m-more .stnv2m-h2{margin-top:0}

/* 冒頭: PR表記(→ 3行まとめは下の .stnv2m-summary) */
.stnv2m .affiliate-disclosure{margin:0 0 8px}
/* サイト共通のインラインCSSが .affiliate-disclosure 系を font-size:13px!important にしているため、注記14pxの基準に合わせて上書きする */
.stnv2m .affiliate-disclosure,.stnv2m .affiliate-disclosure span,.stnv2m .affiliate-disclosure a{font-size:14px!important;line-height:1.6;text-align:left}

/* Primary CTA とその下の注記 */
.stnv2m-apply{margin:16px 0 0;scroll-margin-top:80px}
.stnv2m-apply .stnv2-cta{margin-bottom:0}
.stnv2m-apply .affiliate-text-slot-wrap,.stnv2m-closing .affiliate-text-slot-wrap{margin-top:0;margin-bottom:0}
/* 直上に PR チップがあるときは、広告スロット側の「PR」ラベルを重ねて出さない */
.stnv2m .stnv2-cta__pr+.stnv2-cta .affiliate-text-slot__label{display:none}
.stnv2m .stnv2-cta__pr,.stnv2m .stnv2-cta__pr span,.stnv2m .stnv2-cta__pr a{font-size:14px;line-height:1.6}
.stnv2m .stnv2-cta__pr .stnv2-chip{padding:0 6px;line-height:1.5}
.stnv2m .stn-cta-assurance,.stnv2m .stn-cta-assurance span{font-size:14px;line-height:1.6}
.stnv2m .stnv2m-note{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--stnv2-muted-strong,#526579)}
.stnv2m .stnv2m-note a{color:var(--stnv2-blue-press,#085aa9)}
.stnv2m-cta-links{display:flex;flex-wrap:wrap;gap:0 16px;margin:4px 0 0}
.stnv2m-cta-links a{display:inline-flex;align-items:center;min-height:48px;font-size:15px;font-weight:700;line-height:1.4;color:var(--stnv2-blue-press,#085aa9);text-decoration:none}
.stnv2m-cta-links a::after{content:"→";margin-left:4px}
.stnv2m-cta-links a:hover{text-decoration:underline}

/* 申し込む前の注意(3つ) */
.stnv2m-cautions{margin:0;padding:0 0 0 1.25em}
.stnv2m-cautions li{margin:0 0 8px}
.stnv2m-cautions li:last-child{margin-bottom:0}
.stnv2m-cautions li::marker{color:var(--stnv2-amber,#b45309)}

/* 詳しい条件(折りたたみ) */
.stnv2m-details{border-top:1px solid var(--stnv2-line,#dbe7f3);scroll-margin-top:80px}
.stnv2m-details:last-child{border-bottom:1px solid var(--stnv2-line,#dbe7f3)}
.stnv2m-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 0;cursor:pointer;list-style:none;font-size:16px;font-weight:700;line-height:1.5;color:var(--stnv2-navy,#0b2545)}
.stnv2m-details>summary::-webkit-details-marker{display:none}
.stnv2m-details>summary::after{content:"+";flex:none;width:20px;font-size:20px;font-weight:400;line-height:1;text-align:center;color:var(--stnv2-blue-press,#085aa9)}
.stnv2m-details[open]>summary::after{content:"−"}
.stnv2m-details__body{padding:0 0 16px}
.stnv2m-details__body>:first-child{margin-top:0}
.stnv2m-details__body p{margin:8px 0 0}
.stnv2m-details h3{margin:16px 0 4px;font-size:17px;font-weight:700;line-height:1.5;color:var(--stnv2-navy,#0b2545)}
.stnv2m-list{margin:8px 0 0;padding:0 0 0 1.25em}
.stnv2m-list>li{margin:0 0 8px}
.stnv2m-list>li>p{margin:4px 0 0}
.stnv2m-steps{margin:8px 0 0;padding:0 0 0 1.5em}
.stnv2m-steps>li{margin:0 0 12px}
.stnv2m-steps>li>p{margin:4px 0 0}

/* 表(総額・内訳・買い方)。はみ出さないよう固定レイアウトで幅100%に収める */
.stnv2m-table{width:100%;margin:8px 0 0;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.6}
.stnv2m-table th,.stnv2m-table td{padding:8px 6px;border-bottom:1px solid var(--stnv2-line,#dbe7f3);text-align:left;vertical-align:top;font-size:14px;overflow-wrap:anywhere}
.stnv2m-table th:first-child,.stnv2m-table td:first-child{padding-left:0}
.stnv2m-table thead th{font-weight:700;color:var(--stnv2-muted-strong,#526579);border-bottom:2px solid var(--stnv2-line,#dbe7f3)}
.stnv2m-table tbody th{font-weight:400}
.stnv2m-table .is-num{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:normal;word-break:keep-all}
.stnv2m-table--total thead th:first-child{width:46%}
.stnv2m-table .is-total th,.stnv2m-table .is-total td{font-weight:700;color:var(--stnv2-navy,#0b2545);border-bottom:0}
.stnv2m-table--stack tbody th{font-weight:700}

/* 狭い画面: 3列以上の表は1行=1ブロックに積み、各セルにラベルを埋め込む */
@media (max-width:599px){
.stnv2m-table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.stnv2m-table--stack,.stnv2m-table--stack tbody,.stnv2m-table--stack tr,.stnv2m-table--stack th,.stnv2m-table--stack td{display:block;width:auto}
.stnv2m-table--stack tr{padding:8px 0;border-bottom:1px solid var(--stnv2-line,#dbe7f3)}
.stnv2m-table--stack th,.stnv2m-table--stack td{padding:2px 0;border:0}
.stnv2m-table--stack td::before{content:attr(data-label) "：";font-weight:700;color:var(--stnv2-muted-strong,#526579)}
}
@media (max-width:419px){
.stnv2m .stnv2m-h1{font-size:22px!important}
}
@media (max-width:359px){
.stnv2m .stnv2m-h2{font-size:19px}
.stnv2m-table--total thead th:first-child{width:40%}
.stnv2m-table th,.stnv2m-table td{padding-left:4px;padding-right:4px}
}

/* 内部リンク(各折りたたみの末尾) */
.stnv2m-links{margin:8px 0 0;padding:0;list-style:none}
.stnv2m-links>li{margin:0;border-top:1px solid var(--stnv2-line,#dbe7f3)}
.stnv2m-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:4px 0;font-size:15px;font-weight:700;line-height:1.4;color:var(--stnv2-blue-press,#085aa9);text-decoration:none}
.stnv2m-links a::after{content:"→";flex:none}
.stnv2m-links a:hover{text-decoration:underline}

/* 出典・公式確認日(末尾1行) */
.stnv2m .stnv2m-sources{margin:0;font-size:14px;line-height:1.6;color:var(--stnv2-muted-strong,#526579)}
.stnv2m-sources a{color:inherit;text-decoration:underline}
.stnv2m-sources a[href="/corrections/"]{white-space:nowrap}

@media (min-width:782px){
.stnv2m .stnv2m-h1{font-size:30px!important}
.stnv2m .stnv2m-h2{font-size:22px}
.stnv2m-hero,.stnv2m-cautions-section,.stnv2m-more,.stnv2m-sources-section{max-width:960px;margin-left:auto;margin-right:auto}
}

/* 左右の余白は v2.css「100 左端の統一」(body.stn-edge20、1023px 以下で画面端から20px、
   320〜359px は16px)。2026-09-25 v3c で、ここにあった root padding を負の margin で打ち消す
   方式(781px 以下、section の padding 16px)をやめた。section の幅は本文幅いっぱい。 */
@media (max-width:1023px){
/* 各 section は本文(.is-layout-constrained)の直下にあり、WP の max-width を外すため !important */
.stnv2m.stnv2-section{width:auto;max-width:none!important}
}

/* 3行まとめ(2026-09-25 v3c、H1 直下。stn_v2_money_summary())。
   1行 = アイコン+ラベル(実質/いつまで/誰が)+値(各20字以内)。 */
.stnv2m-summary{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:var(--stnv2-sky,#eaf5ff)}
.stnv2m-summary__row{display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 0}
.stnv2m-summary__row+.stnv2m-summary__row{border-top:1px solid rgba(11,37,69,.08)}
.stnv2m-summary dt{display:flex;align-items:center;gap:6px;flex:0 0 88px;margin:0;font-size:14px;font-weight:700;line-height:1.4;color:var(--stnv2-muted-strong,#526579)}
.stnv2m-summary dt::before{content:"";flex:none;width:20px;height:20px;background:var(--stnv2-blue-press,#085aa9);-webkit-mask:var(--stnv2m-icon) center/20px 20px no-repeat;mask:var(--stnv2m-icon) center/20px 20px no-repeat}
.stnv2m-summary__row--amount{--stnv2m-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='8.2'/%3E%3Cpath d='M6.8 5.6 10 9.6l3.2-4M10 9.6v5.2M7.2 10.6h5.6M7.2 12.8h5.6'/%3E%3C/svg%3E")}
.stnv2m-summary__row--deadline{--stnv2m-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='2.8' y='4' width='14.4' height='13' rx='2'/%3E%3Cpath d='M2.8 8.2h14.4M6.6 2.4v3.2M13.4 2.4v3.2'/%3E%3C/svg%3E")}
.stnv2m-summary__row--who{--stnv2m-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10' cy='6.6' r='3.4'/%3E%3Cpath d='M3.4 17.4c.7-3.6 3.3-5.6 6.6-5.6s5.9 2 6.6 5.6'/%3E%3C/svg%3E")}
.stnv2m .stnv2m-summary dd{flex:1 1 0;min-width:0;margin:0;font-size:16px;font-weight:700;line-height:1.45;color:var(--stnv2-navy,#0b2545)}
.stnv2m-summary dd strong{font-size:18px}
@media (max-width:359px){.stnv2m-summary{padding:8px 12px}.stnv2m-summary dt{flex-basis:82px}.stnv2m .stnv2m-summary dd{font-size:15px}.stnv2m-summary dd strong{font-size:16px}}

/* 2026-09-24 r4(実機で「見づらい」指摘、頭脳決定): スマホ(≤1023px)は本文17px・行間1.6、H1 26px、
   H2 20px(上に32px)、折りたたみの見出し17px、CTA の上下20px。320〜359px の H1 は23px(2行に収める)。 */
@media (max-width:1023px){
.stnv2m,.stnv2m p,.stnv2m li{font-size:17px;line-height:1.6}
.stnv2m .stnv2m-h1{font-size:26px!important}
.stnv2m .stnv2m-h2{margin-top:32px;font-size:20px}
.stnv2m-cautions-section .stnv2m-h2,.stnv2m-more .stnv2m-h2,.stnv2m-closing .stnv2m-h2{margin-top:12px}
.stnv2m-details>summary{font-size:17px}
.stnv2m-apply{margin-top:20px;margin-bottom:20px}
}
@media (max-width:359px){
.stnv2m .stnv2m-h1{font-size:23px!important}
}
