/* 流用元: affiliate/manabi/assets/site.css + components.css (2026-10-30)。色と媒体固有部品のみ変更。 */
:root{--brand:#b41f24;--brand-d:#86171b;--accent:#e8a33d;--ink:#222;--sub:#5f6368;--line:#e6e6e6;--bg:#fff;--soft:#faf5f5}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.9;font-size:16px;-webkit-text-size-adjust:100%}
a{color:var(--brand)}img{max-width:100%;height:auto}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.site-head{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}
.logo{font-weight:800;font-size:20px;color:var(--brand);text-decoration:none;letter-spacing:.02em}
.logo small{display:none}
.gnav{display:flex;gap:4px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
.gnav a{font-size:13px;color:#444;text-decoration:none;padding:6px 10px;border-radius:6px}.gnav a:hover{background:var(--soft);color:var(--brand)}
.gnav a[aria-current]{color:var(--brand);background:var(--soft);font-weight:700}
.hero{background:linear-gradient(135deg,#f9eded,#fcf7f4);padding:44px 0 36px}
.hero h1{margin:0 0 10px;font-size:30px;line-height:1.35}.hero p{margin:0;color:#444}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:24px 0}
.card{border:1px solid var(--line);border-radius:12px;padding:18px 20px;background:#fff;text-decoration:none;color:var(--ink);display:block;transition:.15s}
.card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px)}
.card .cat{display:inline-block;font-size:12px;color:var(--brand-d);border:1px solid var(--cat-color,var(--brand));background:#fff;background:color-mix(in srgb,var(--cat-color,var(--brand)) 12%,#fff);border-radius:999px;padding:1px 10px;margin-bottom:8px}   /* 淡色は文字に使わない。文字は濃色・カテゴリ色は枠と面だけ */
.card h3{margin:0 0 6px;font-size:17px;line-height:1.5}.card p{margin:0;font-size:13px;color:var(--sub)}
.sec-title{font-size:22px;margin:36px 0 6px;padding-left:12px;border-left:5px solid var(--brand)}
.article{max-width:760px;margin:0 auto;padding:28px 0 0}
.crumb{font-size:12px;color:var(--sub);margin-bottom:12px}.crumb a{color:var(--sub);text-decoration:none}
.article h1{font-size:28px;line-height:1.4;margin:0 0 12px}
.meta{font-size:13px;color:var(--sub);display:flex;column-gap:14px;row-gap:4px;flex-wrap:wrap;margin-bottom:16px}
.pr-note{font-size:12px;color:var(--sub);background:#f7f7f7;border-radius:6px;padding:6px 12px;margin:0 0 20px}
.entry-content{font-size:16px}
.lead,.entry-content,.quick{line-break:strict}
.entry-content p{margin:0 0 1.2em}
.entry-content .lead{font-size:17px;font-weight:500;background:var(--soft);border-radius:10px;padding:16px 20px}
.entry-content h2{width:100%;background-size:100% 100%;font-size:23px;line-height:1.45;margin:2.2em 0 .9em;padding:10px 14px;border-left:6px solid var(--brand);background:var(--soft)}
.entry-content h3{font-size:19px;margin:1.8em 0 .7em;position:relative;padding-left:calc(14px + .5em);line-height:1.45}
.entry-content h3::before{content:"";position:absolute;left:0;top:calc((1.45em - 14px)/2);width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,var(--brand),var(--brand-d))}
.entry-content ul{list-style:none;padding-left:.2em}.entry-content ul>li{position:relative;padding-left:1.45em;margin:.42em 0}
.entry-content ul>li::before{content:"";position:absolute;left:.1em;top:.72em;width:8px;height:8px;border-radius:2px;background:var(--brand);transform:rotate(45deg)}
.entry-content ul.list-check{padding-left:0}.entry-content ul.list-check>li{padding-left:2em;margin:.55em 0}
.entry-content ul.list-check>li::before{content:"\2713";width:1.4em;height:1.4em;left:0;top:.2em;border-radius:50%;background:var(--brand);color:#fff;font-size:.85em;line-height:1.4em;text-align:center;transform:none}
.entry-content ul.list-chevron{padding-left:0}.entry-content ul.list-chevron>li{padding-left:1.6em;margin:.5em 0}
.entry-content ul.list-chevron>li::before{content:"\203A";width:auto;height:auto;background:none;left:.2em;top:-.05em;color:var(--brand);font-weight:800;font-size:1.3em;transform:none}
.entry-content ol{list-style:none;padding-left:0;counter-reset:li}.entry-content ol>li{position:relative;padding-left:2.3em;margin:.55em 0;counter-increment:li}
.entry-content ol>li::before{content:counter(li);position:absolute;left:0;top:.25em;width:1.6em;height:1.6em;line-height:1.6em;text-align:center;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:.85em}
.entry-content .mk{background:linear-gradient(transparent 60%,#ffe7a3 60%);font-weight:700}
.entry-content .mk-r{background:linear-gradient(transparent 60%,#ffd2cc 60%);font-weight:700}
.entry-content .box-point,.entry-content .box-memo,.entry-content .box-warn{position:relative;border-radius:12px;padding:30px 22px 16px;margin:30px 0;border:1px solid}
.entry-content .box-point{background:var(--soft);border-color:#e8c9ca}.entry-content .box-memo{background:#faf4f4;border-color:#e8cdce}.entry-content .box-warn{background:#fff5f3;border-color:#ebceca}
.entry-content .box-point::before,.entry-content .box-memo::before,.entry-content .box-warn::before{position:absolute;top:-13px;left:16px;padding:3px 14px;border-radius:999px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.05em}
.entry-content .box-point::before{content:"POINT";background:var(--brand)}.entry-content .box-memo::before{content:"MEMO";background:var(--brand-d)}.entry-content .box-warn::before{content:"注意";background:#8b292d}
.entry-content .box-point>:first-child,.entry-content .box-memo>:first-child,.entry-content .box-warn>:first-child{margin-top:0}
.entry-content .box-point>:last-child,.entry-content .box-memo>:last-child,.entry-content .box-warn>:last-child{margin-bottom:0}
.entry-content .tbl{overflow-x:auto;margin:20px 0}
.entry-content table{border-collapse:separate;border-spacing:0;width:100%;min-width:520px;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:14.5px}
.entry-content th,.entry-content td{padding:10px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;text-align:left}
.entry-content td.num{text-align:right;font-variant-numeric:tabular-nums}
.entry-content th{background:var(--brand);color:#fff;font-weight:700}
.entry-content tr th:last-child,.entry-content tr td:last-child{border-right:none}.entry-content tbody tr:last-child td{border-bottom:none}.entry-content tbody tr:nth-child(even){background:var(--soft)}
.entry-content .src{font-size:12px;color:var(--sub);margin:-10px 0 20px}
.entry-content .svc{border:2px solid var(--brand);border-radius:14px;padding:20px 22px;margin:26px 0;background:#fff}
.entry-content .svc-name{font-size:clamp(16px,4.6vw,19px);font-weight:800;margin:0 0 8px;color:var(--brand-d)}
.entry-content .svc-fit{font-size:14.5px;background:var(--soft);border-radius:8px;padding:8px 12px}
.entry-content .svc-cta{text-align:center;margin:14px 0 0}
.entry-content a.btn{display:inline-block;background:var(--accent);color:#2b1d05;padding:14px 34px;border-radius:999px;font-weight:700;text-decoration:none;box-shadow:0 4px 12px rgba(232,163,61,.35);text-align:center}
.entry-content a.btn:hover{filter:brightness(1.05)}
.entry-content .cta-soft{background:var(--soft);border-radius:10px;padding:14px 18px;font-size:15px}
.entry-content .cta-soft a.btn{display:table;margin:12px auto 0;width:auto}
.toc{border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:20px 0;background:#fafafa;font-size:14px}
.toc p{margin:0 0 6px;font-weight:700}.toc ol{margin:0;padding-left:1.4em}.toc li{margin:.2em 0}.toc a{text-decoration:none}
.related{margin:40px 0 0}.related h2{font-size:18px;border-left:5px solid var(--brand);padding-left:10px}
.site-foot{border-top:1px solid var(--line);margin-top:64px;padding:28px 0 40px;font-size:13px;color:var(--sub)}
.site-foot a{color:var(--sub);margin-right:14px}
@media(max-width:600px){.hero h1{font-size:23px}.article h1{font-size:23px}.entry-content h2{font-size:20px}.entry-content{font-size:15.5px}.entry-content table{font-size:13.5px}.site-head .wrap{height:auto;padding:8px 14px;flex-wrap:wrap}.gnav{width:100%}}
.entry-content{overflow-wrap:break-word}   /* 長いURL・英数字の連続でスマホの横幅が伸びるのを防ぐ */
.entry-content ul,.entry-content ol,.entry-content li{overflow-wrap:break-word}
.entry-content .src{overflow-wrap:break-word}.entry-content .src a{word-break:break-all}.entry-content td,.entry-content th{overflow-wrap:break-word}
.entry-content h2,.entry-content h3{scroll-margin-top:92px}   /* 追従ヘッダーの下に見出しが隠れないように(目次リンク・アンカー) */
.entry-content .own{border:1px solid var(--line);border-left:5px solid var(--brand-d);border-radius:12px;padding:20px 22px;margin:34px 0 8px;background:var(--soft)}
.entry-content .own-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;color:#fff;background:var(--brand-d);border-radius:999px;padding:2px 12px;margin:0 0 8px}
.entry-content .own-name{font-size:18px;font-weight:800;margin:0 0 6px;color:var(--brand-d)}
.entry-content .own p{font-size:15px}
.entry-content .own-cta{text-align:center;margin:14px 0 0}
.entry-content a.btn-own{color:#fff;background:var(--brand-d);box-shadow:0 4px 12px rgba(130,24,28,.3)}
.tbl-hint{display:block;font-size:12px;color:var(--sub);margin:16px 0 4px}
.tbl-hint[hidden]{display:none}
@media(max-width:600px){
.wrap{padding:0 14px}
.logo{font-size:17px}.logo small{display:none}
.site-head .wrap{padding:6px 14px;gap:4px}
.gnav a{padding:5px 8px}
.hero{padding:30px 0 26px}
.article{padding:20px 0 0}
.entry-content a.btn{display:block;width:100%;padding:14px 12px;font-size:15px;line-height:1.5}
.entry-content .svc{padding:16px 14px}
.entry-content .box-point,.entry-content .box-memo,.entry-content .box-warn{padding:28px 14px 14px}
.entry-content table{min-width:calc(var(--cols,4)*6.2em)}
.entry-content th,.entry-content td{padding:8px 10px}
}
/* 一覧と記事画像 */
.card-thumb{display:block;width:calc(100% + 40px);max-width:calc(100% + 40px);height:auto;aspect-ratio:1200/630;object-fit:cover;margin:-18px -20px 14px;border-radius:12px 12px 0 0}
.eyecatch{display:block;width:100%;height:auto;border-radius:12px;margin:0 0 18px}
/* 目的、特集、新着 */
.purpose-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.purpose-card{min-width:0;border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--soft)}
.purpose-card h3{font-size:17px;line-height:1.4;margin:10px 0 4px}.purpose-card p{margin:0 0 8px;color:var(--sub);font-size:13px}
.purpose-card a{display:inline-block;margin:0 10px 4px 0;font-size:13px}.purpose-icon{display:block;width:42px;height:42px;border-radius:12px;background:var(--brand)}
.purpose-card:nth-child(2) .purpose-icon{background:#947c7d}.purpose-card:nth-child(3) .purpose-icon{background:#9c7778}.purpose-card:nth-child(4) .purpose-icon{background:#997b7c}
.feature-card{border-color:#e5cccd}.feature-card h3{font-size:19px}
/* 早見表、次に読む、更新履歴 */
.quick{scroll-margin-top:100px;margin:26px 0}.quick h2{font-size:21px!important;margin:0 0 12px!important}
.quick-return{position:fixed;right:12px;bottom:12px;z-index:9;background:var(--brand);color:#fff;text-decoration:none;border-radius:999px;padding:6px 16px;height:44px;line-height:32px;font-size:13px;box-shadow:0 3px 12px #0003}
.quick-return[hidden]{display:none}.next-read{margin:40px 0 0}.next-read h2,.changelog h2{font-size:19px;border-left:5px solid var(--brand);padding-left:10px}
.stage{display:inline-block;font-size:12px;color:var(--brand);font-weight:700}.changelog{border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:32px 0;background:var(--soft)}
.changelog h2{margin:0 0 8px}.changelog ul{margin:0;padding-left:20px}.changelog li{font-size:14px}
/* 総額シミュレーター */
.sim,.sim-static{border:1px solid #e5cccd;background:var(--soft);border-radius:12px;padding:18px;margin:24px 0;min-width:0}
.sim h3,.sim-static h3{margin:0 0 12px;line-height:1.45}.sim label{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sim input[type=range]{flex:1 1 160px;min-width:0;accent-color:var(--brand)}
.sim output{font-weight:700;min-width:4em}.sim-bar{display:block;height:14px;min-width:2px;background:var(--brand);border-radius:4px}.sim-note{font-size:13px;color:var(--sub);margin:8px 0 0!important}
@media(max-width:750px){.purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.purpose-grid{gap:10px}.purpose-card{padding:12px}.purpose-card h3{font-size:15px}.quick-return{right:8px;bottom:8px}.sim{padding:12px}}

/* 束A2: 旧 word-break:auto-phrase は WebKit で効かないため、文節区切りと keep-all に変更。 */
.logo{white-space:nowrap;flex:none}
.gnav{min-width:0;max-width:100%;mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent)}
.gnav a{flex:none}
.article h1,.card h3,.sec-title,.hero h1,.hero h2,.purpose-card h3,.purpose-links a span,.quick .q-name,.entry-content h2,.entry-content h3,.sim h3,.sim-static h3,.sim-name,.entry-content .svc-name,.entry-content .own-name{word-break:keep-all;overflow-wrap:break-word;line-break:strict;text-wrap:balance}
.article h1 .sub,.card h3 .sub{display:block;font-size:.78em;color:var(--sub);font-weight:600}.card h3 .sub{font-size:13px}.row-card h3 .sub{font-size:12px}
.art-pic{display:block}.art-band{display:block;width:100%;height:auto;aspect-ratio:1520/320;object-fit:cover;border-radius:12px;margin:0 0 20px}
.meta span:first-child{color:var(--brand-d);font-weight:700}.meta span:first-child::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--cat-color,var(--brand));margin-right:6px}
.hero .hero-stats{margin-top:14px;font-size:14px;font-weight:700;color:var(--brand-d)}
.card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 28px}
main.wrap>.card-list{margin-bottom:0}
main.wrap>section:last-child{margin-bottom:0}
main.wrap>section:last-child>p:last-child{margin-bottom:0}
.row-card{display:flex;align-items:center;gap:14px;padding:10px;min-width:0}
.row-card .card-thumb{width:120px;max-width:120px;height:78px;aspect-ratio:800/450;object-fit:cover;flex:none;margin:0;border-radius:8px}
.row-card .card-copy{min-width:0}.row-card h3{font-size:15px;line-height:1.5;margin:2px 0}.row-card p{display:none}
.feature-layout{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:repeat(2,1fr);gap:14px;margin:20px 0 30px}
.feature-layout>.feature-card:first-child{grid-row:1/3}
.feature-layout>.feature-card:first-child .card-thumb{aspect-ratio:800/450}
.feature-layout>.feature-card.row-card .card-thumb{width:38%;max-width:38%;height:110px}
.feature-layout>.feature-card.row-card{align-items:center}
.card-thumb{aspect-ratio:800/450}
.purpose-icon{width:44px;height:44px;color:var(--brand);background:none;border-radius:0}
.purpose-card:nth-child(2) .purpose-icon,.purpose-card:nth-child(3) .purpose-icon,.purpose-card:nth-child(4) .purpose-icon{background:none}
.purpose-links{display:flex;flex-wrap:wrap;gap:6px}.purpose-card .purpose-links a{display:inline-block;white-space:nowrap;min-height:40px;margin:0;padding:6px 10px;border:1px solid #e5cccd;border-radius:12px;background:#fff;text-decoration:none;line-height:1.35}
.purpose-links small{display:inline;font-size:12px;color:var(--sub);white-space:nowrap}
.toc summary{cursor:pointer;font-weight:700}.toc ol{margin-top:8px}
.sim-list{list-style:none!important;padding:0!important;margin:18px 0 4px!important;counter-reset:none!important}.sim-list>.sim-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 0!important;margin:0!important;border-bottom:1px solid #e5cccd;counter-increment:none!important}
.sim-list>.sim-row::before{display:none!important}.sim-name{font-weight:700;min-width:0;overflow-wrap:break-word}.sim-total{white-space:nowrap;font-weight:800;color:var(--brand-d)}.sim-bar{grid-column:1/3;height:10px;max-width:100%}.sim-note-row{grid-column:1/3;font-size:12px;color:var(--sub);overflow-wrap:break-word}
.sim-note{overflow-wrap:break-word}
.sim h3 .nw,.sim-static h3 .nw{display:inline;white-space:nowrap;overflow-wrap:normal;word-break:normal}
a,.card,.quick-return,.purpose-card a,.entry-content a.btn{transition:color .15s,background-color .15s,box-shadow .15s,transform .15s,filter .15s}
@media(max-width:767px){.art-pic,.art-band{display:none}.feature-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:12px}.feature-layout>.feature-card:first-child{grid-column:auto;grid-row:auto}.feature-layout>.feature-card.row-card{gap:14px;padding:10px}.feature-layout>.feature-card.row-card .card-thumb{width:120px;max-width:120px;height:78px}.feature-layout>.feature-card.row-card h3{font-size:15px}.card-list{grid-template-columns:1fr}.purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purpose-card{padding:12px}.purpose-card .purpose-links a{font-size:12px}.site-head .wrap{flex-wrap:wrap;height:auto}.gnav{width:100%}}
@media(max-width:420px){.row-card .card-thumb,.feature-layout>.feature-card.row-card .card-thumb{width:96px;max-width:96px;height:64px}.row-card h3,.feature-layout>.feature-card.row-card h3{font-size:14px}.feature-layout>.feature-card.row-card{padding:10px}.card{padding:10px}.feature-layout>.feature-card:first-child .card-thumb{width:calc(100% + 20px);max-width:calc(100% + 20px);margin:-10px -10px 10px}.quick h2{font-size:17px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,.card,.quick-return,.purpose-card a,.entry-content a.btn{transition:none!important;transform:none!important}}

/* 束A4(再検品の指摘反映) */
.nw{display:inline;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.tail-bond{display:inline-block;white-space:nowrap}
.entry-content .nw,.hero .nw,.card .nw,.site-foot .nw{display:inline}
a .nw{display:inline!important}
.entry-content th,.entry-content td{word-break:keep-all;overflow-wrap:break-word;line-break:strict}
@media(min-width:601px){.entry-content th,.entry-content td{min-width:4em}.entry-content tr>:first-child{min-width:6em}}
@media(min-width:860px){.entry-content .tbl,.entry-content .tbl+.src{margin-inline:calc((760px - min(1040px,100vw - 80px))/2)}}
.entry-content a.btn,.entry-content a.btn-own{word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}
.hero p,.site-foot p,.entry-content .svc-fit,.quick .q-fit,.quick .q-name,.entry-content .lead{word-break:keep-all;overflow-wrap:break-word;line-break:strict}
.card p{word-break:keep-all;overflow-wrap:break-word;line-break:strict;text-wrap:pretty}
.entry-content p,.entry-content li{overflow-wrap:break-word}
.entry-content .box-point li{word-break:keep-all;line-break:strict}
.entry-content .row-head,.entry-content .box-point li,.card h3{text-spacing-trim:trim-start}
.entry-content .svc-name{min-width:0}
/* 早見表: PCは枠と角丸の表・600px以下は1社ずつの行カード */
.quick{scroll-margin-top:100px;margin:22px 0}.quick .tbl{overflow:visible;margin:0}
.quick table{table-layout:fixed;width:100%;min-width:0;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:14px}
.quick th{background:var(--brand);color:#fff;font-weight:700;text-align:left;padding:9px 12px}
.quick td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:middle;overflow-wrap:break-word}
.quick th:nth-child(1){width:31%}.quick th:nth-child(2){width:43%}.quick th:nth-child(3){width:26%}
.quick .q-name{font-weight:700}.quick .q-name a{text-decoration:none}.quick .q-name a:hover{text-decoration:underline}
.quick-site{display:inline-block;white-space:nowrap;border-radius:999px;padding:6px 14px;background:var(--accent);color:#2b1d05;text-decoration:none;font-size:13px;font-weight:700}
.quick-jump{display:inline-block;white-space:nowrap;border-radius:999px;padding:6px 14px;background:var(--soft);color:var(--brand);text-decoration:none;font-size:13px;font-weight:700}
@media(max-width:767px){.quick table{font-size:13px}.quick th,.quick td{padding:8px}}
@media(max-width:600px){
.quick .tbl{overflow-x:auto}
.quick table,.quick tbody,.quick tr,.quick td{display:block}
.quick table{border:0;border-radius:0;overflow:visible}
.quick thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.quick tr{border:1px solid var(--line);border-radius:10px;padding:12px;margin:0 0 8px;background:#fff}
.quick td{border:0;padding:0;font-size:14px}
.quick .q-name{font-size:16px;margin-bottom:4px}
.quick .q-fit{color:#444;margin-bottom:10px}
.quick .q-site.q-none{display:none}
.quick-site{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;width:100%}
.quick-jump{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;width:100%}
}
/* ヘッダー: 1100px以上は全項目を1行で出す(マスク・スクロールなし) */
@media(min-width:1100px){.gnav{overflow:visible;mask-image:none;-webkit-mask-image:none}}
/* 目的から探す */
.purpose-grid{align-items:stretch}
.purpose-card{display:flex;flex-direction:column}
.purpose-links{margin-top:12px}
@media(max-width:600px){.purpose-links{margin-top:4px}}
@media(max-width:480px){.purpose-grid{grid-template-columns:minmax(0,1fr)}.purpose-card{padding:12px 14px}}
/* カテゴリ別一覧: サムネイルなし・タイトルだけの行 */
.plain-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;min-height:52px}
.plain-card::after{content:"\203A";color:var(--brand);font-size:22px;font-weight:700;line-height:1;flex:none}
.plain-card h3{font-size:15px;margin:0;line-height:1.5}
.plain-card .card-copy{min-width:0}
.next-read .grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));margin-bottom:0}
.plain-card .cat{margin:0 8px 3px 0}.plain-card .stage{margin-bottom:3px}

.feature-layout .row-card{border-color:var(--line)}
@media(max-width:599px){.purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.purpose-icon{width:32px;height:32px}.purpose-count{display:none}.purpose-card .purpose-links a{max-width:100%;white-space:normal}}
@media(max-width:359px){.purpose-grid{grid-template-columns:minmax(0,1fr)}}
/* 特集(PC): 大カードは横長の画像・上揃え・右の小カードは要約2行 */
.feature-layout>.feature-card:first-child p{font-size:14px}
@media(min-width:768px){
.feature-layout{align-items:start;grid-template-rows:auto}
.feature-layout>.feature-card:first-child .card-thumb{aspect-ratio:16/6;height:auto}
.feature-layout>.feature-card.row-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.6;margin-top:2px}
}
@media(min-width:768px){.feature-layout>.feature-card.row-card{align-self:stretch}}
@media(max-width:600px){
.entry-content .stack-wrap.is-stacked{overflow-x:visible}
.entry-content table.stack,.entry-content table.stack thead,.entry-content table.stack tbody,.entry-content table.stack tr,.entry-content table.stack td,.entry-content table.stack th{display:block}
.entry-content table.stack{position:relative;min-width:0;border:0;border-radius:0;overflow:visible;font-size:14px}
.entry-content table.stack thead,.entry-content table.stack tr.stack-head{position:absolute;width:100%;height:auto;padding:0;margin:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.entry-content table.stack tr:not(.stack-head){border:1px solid var(--line);border-radius:10px;padding:12px;margin:0 0 10px;background:#fff}
.entry-content table.stack td,.entry-content table.stack th{min-width:0;border:0;padding:0;text-align:left;background:none;color:var(--ink)}
.entry-content table.stack td+td,.entry-content table.stack th+td{margin-top:12px}
.entry-content table.stack .row-head{font-size:15px;font-weight:700;margin-bottom:4px}
.entry-content table.stack .row-head[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:var(--sub);font-weight:700;line-height:1.4;margin-bottom:2px}
.entry-content table.stack td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:var(--sub);font-weight:700;line-height:1.4;margin-bottom:2px}
.entry-content table.stack td.num{text-align:left}
}
/* スマホで4列以上の表(案内付きの横スクロール)は、セルを広めにして1〜2字だけの行を防ぐ */
@media(max-width:600px){.entry-content table:not(.stack) :is(th,td){min-width:7.5em}}

/* まなび components.css の写し */
/* T1〜T5。既存の共通CSSに足し、部品の区画だけを装飾する。 */
.entry-content .memo{margin:24px 0;padding:18px 20px;border-left:4px solid var(--brand-d);background:var(--soft);border-radius:6px;overflow-wrap:break-word}
.entry-content .memo[data-kind="注意"]{border-color:var(--brand-d);background:#fff5f3}
.entry-content .memo-label{font-weight:700;color:var(--brand-d);margin:0 0 8px}
.entry-content .memo[data-kind="注意"] .memo-label{color:var(--brand-d)}
.entry-content .terms{display:grid;grid-template-columns:minmax(7em,1fr) minmax(0,3fr);gap:0;margin:20px 0;overflow-wrap:break-word}
.entry-content .terms dt,.entry-content .terms dd{margin:0;padding:14px;border-bottom:1px solid #e8d6d6;min-width:0}
.entry-content .terms dt{font-weight:700;color:var(--brand-d);background:var(--soft)}
.entry-content .fig{margin:28px 0;padding:12px;border:1px solid #e8d6d6;border-radius:12px;background:#fcf7f7;min-width:0;max-width:100%;box-sizing:border-box}
.entry-content .fig svg{display:block;width:100%;height:auto;font-family:sans-serif;overflow:visible}
.entry-content .fig .fig-single{max-width:480px;margin:auto}
.entry-content .fig .fig-wide{display:block}
.entry-content .fig .fig-narrow{display:none}
.entry-content .fig text{fill:#491b1d}
.entry-content .fig text[fill="white"]{fill:white}
.entry-content .fig figcaption{font-size:13px;color:var(--sub);overflow-wrap:break-word;padding:8px 4px}
.entry-content .diagnosis{padding:20px;margin:28px 0;border:2px solid var(--brand-d);border-radius:12px;min-width:0;overflow-wrap:break-word}
.entry-content .diagnosis fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}
.entry-content .diagnosis legend{font-weight:700;padding:0;margin-bottom:8px}
.entry-content .diagnosis select,.entry-content .diagnosis textarea{font:inherit;max-width:100%;width:100%;box-sizing:border-box;padding:10px;border:1px solid #cba6a8;border-radius:6px;background:white;color:#491b1d;min-width:0}
.entry-content .diagnosis textarea{display:block;margin:16px 0;line-height:1.7}
.entry-content .diagnosis button{font:inherit;padding:12px 18px;border:0;border-radius:6px;background:var(--brand-d);color:white;cursor:pointer;max-width:100%;white-space:normal}
.entry-content .diagnosis button:disabled{opacity:.65;cursor:wait}
.entry-content .diagnosis :is(button,select,textarea,a):focus-visible{outline:3px solid #b77b2f;outline-offset:3px}
.entry-content .diagnosis [hidden]{display:none}
.entry-content .diagnosis-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}
@media(max-width:767px){
 .entry-content .terms{display:block}
 .entry-content .terms dt{padding-bottom:6px;border-bottom:0}
 .entry-content .terms dd{padding-top:8px}
 .entry-content .fig .fig-wide{display:none}
 .entry-content .fig .fig-narrow{display:block}
 .entry-content .diagnosis{padding:16px}
}
@media(max-width:600px){
 .entry-content table[data-card-title].stack{width:100%;max-width:100%;min-width:0}
 .entry-content table[data-card-title].stack tr:not(.stack-head){display:flex;flex-direction:column}
 .entry-content table[data-card-title].stack :is(td,th){width:auto;min-width:0;max-width:100%;overflow-wrap:break-word;margin:8px 0 0}
 .entry-content table[data-card-title].stack .row-head{order:-1;margin:0 0 4px;font-weight:700}
 .entry-content table[data-card-title].stack .nw{display:inline;white-space:nowrap;overflow-wrap:normal}
}

/* 補助金媒体の固有部品。共通の型紙に合わせた追加。 */
:root{--paper:#fff;--schedule-window:#f6dedf}
.wrap,.article,.entry-content{min-width:0}
body{overflow-wrap:break-word}
.logo{white-space:normal;flex:0 1 auto;line-height:1.4}
.gnav{flex-shrink:0;mask-image:none;-webkit-mask-image:none}
@media(max-width:359px){.gnav a{padding:5px 6px}}
.preview{margin:0;padding:6px 20px;background:var(--soft);color:var(--sub);font-size:13px}
button,.button{display:inline-block;font:inherit;font-weight:700;background:var(--brand);color:#fff;border:0;border-radius:999px;padding:12px 28px;text-decoration:none;text-align:center;cursor:pointer;max-width:100%}
button:hover,.button:hover{background:var(--brand-d)}
button:disabled{opacity:.5;cursor:default}
button.secondary{background:var(--sub)}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--brand-d);outline-offset:3px}
.hero .hero-cta{margin-top:24px}
.supervisor,.article-cta{border:1px solid var(--line);border-left:5px solid var(--brand-d);border-radius:12px;padding:16px 20px;background:var(--soft);margin:20px 0}
.supervisor{font-size:13px;color:var(--sub)}
.supervisor p,.article-cta p{margin:0}
.article-cta{margin:32px 0 0}
.article-cta .button{margin-top:14px}
.table-scroll{max-width:100%;overflow-x:auto;margin:20px 0;border-radius:10px}
.entry-content .program-table,.entry-content .hayami-table{min-width:0;width:auto;max-width:none;font-size:13.5px;table-layout:auto}
.entry-content .program-table :is(th,td),.entry-content .hayami-table :is(th,td){min-width:9em;max-width:none}
.entry-content .program-table th[scope=row],.entry-content .hayami-table tr>:first-child{min-width:13em;position:sticky;left:0;z-index:1;background:#fff}
.program-table thead th:first-child,.hayami-table thead th:first-child{background:var(--brand)}
.program-table tbody th[scope=row]{background:var(--soft);color:var(--ink)}
.entry-content .program-table td:nth-child(10),.entry-content .program-table td:nth-child(11){min-width:20em}
.entry-content .program-table td.today-status{width:9em}
.entry-content .program-table td:nth-child(5){min-width:14em}
.entry-content .hayami-table td:nth-child(9),.entry-content .hayami-table td:nth-child(10){min-width:24em}
.entry-content caption{text-align:left;font-weight:700;padding:8px 0;color:var(--brand-d)}
.entry-content tbody tr:last-child th{border-bottom:0}
.entry-content .box-title{font-weight:700;color:var(--brand-d);margin:0 0 10px}
.entry-content .box-point::before,.entry-content .box-memo::before,.entry-content .box-warn::before{content:none}
.entry-content .box-point,.entry-content .box-memo,.entry-content .box-warn{padding:20px 22px}
.entry-content .box-memo{border-left:4px solid var(--brand);background:var(--soft)}
.entry-content .deadline,.entry-content .amount,.entry-content .cap{font-weight:800;color:var(--brand-d);background:var(--soft);border-radius:4px;padding:1px 4px}
.entry-content ol.steps{counter-reset:st;list-style:none;padding-left:0}
.entry-content ol.steps>li{counter-increment:st;position:relative;padding:0 0 1em 2.6em;border-left:2px solid #e3c4c5;margin-left:1em}
.entry-content ol.steps>li:last-child{border-left-color:transparent}
.entry-content ol.steps>li::before{content:counter(st);position:absolute;left:-1em;top:0;width:2em;height:2em;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;text-align:center;line-height:2em}
.entry-content ol.steps>li>strong{display:block}
.entry-content figure.zu{margin:1.5em 0;padding:0}
.entry-content figure.zu svg{display:block;width:100%;height:auto;max-width:720px;margin:0 auto}
.entry-content figure.zu.narrow svg{max-width:420px}
.entry-content figure.zu svg text{overflow-wrap:normal}
.entry-content .flow{margin:24px 0;padding:20px;border:1px solid var(--brand);border-radius:12px}
.entry-content .flow-title,.entry-content .cards .card-title{font-weight:700;color:var(--brand-d);margin:0 0 12px}
.entry-content .flow ol{list-style:none;padding-left:0;margin:0;counter-reset:none}
.entry-content .flow ol>li{margin:0 0 12px;padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:8px;counter-increment:none}
.entry-content .flow ol>li::before{content:none}
.entry-content .flow .q{font-weight:700;margin:0 0 6px}
.entry-content .flow .a{margin:4px 0;padding-left:1.2em;position:relative}
.entry-content .flow .a::before{content:"";position:absolute;left:.1em;top:.55em;border:.35em solid transparent;border-left-color:var(--brand)}
.entry-content .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;margin:20px 0}
.entry-content .cards>div{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}
.entry-content .cards>div>:last-child{margin-bottom:0}
.shindan{background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(16px,3vw,32px);margin:24px 0;min-width:0}
.choices{display:grid;gap:10px}
.choices label{padding:12px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:start;gap:10px}
.choices input{margin-top:8px;flex-shrink:0}
.progress{font-size:13px;color:var(--sub)}
.actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.result-card{padding:16px;border-top:1px solid var(--line)}
.result-card h3{line-height:1.6}
.error{padding:16px;background:var(--soft);color:var(--brand-d)}
@media(min-width:768px) and (max-width:1099px){.site-head .wrap{height:auto;min-height:60px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;gap:4px}.gnav{width:100%}}
@media(max-width:600px){.logo{font-size:16px}.entry-content .box-point,.entry-content .box-memo,.entry-content .box-warn{padding:18px 14px}.supervisor,.article-cta{padding:14px}.article-cta .button{width:100%}.site-foot nav{display:flex;flex-wrap:wrap;gap:8px 14px}.site-foot nav a{margin:0}}
@media print{.site-head,.site-foot,.preview,.shindan,.actions{display:none}body{background:#fff;font-size:9pt}main.wrap{padding:0;max-width:none}.article{max-width:none;padding:0}.table-scroll{overflow:visible}.entry-content .program-table,.entry-content .hayami-table{min-width:0;font-size:7pt;table-layout:fixed}.entry-content .program-table :is(th,td),.entry-content .hayami-table :is(th,td){min-width:0;max-width:none;padding:4px}thead{display:table-header-group}tr{break-inside:avoid}@page{size:A4 landscape;margin:10mm}}

/* 検品1周目: 共通の表・一覧・図の接続。 */
.tbl{position:relative}
.entry-content .table-probe{position:absolute;visibility:hidden;left:-9999px;top:0;width:100%;margin:0}
.table-scroll{background:linear-gradient(to right,#fff 30%,transparent) left/40px 100% no-repeat local,linear-gradient(to left,#fff 30%,transparent) right/40px 100% no-repeat local,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.18),transparent) right/12px 100% no-repeat scroll}
.entry-content table{overflow:visible}
.entry-content td{font-variant-numeric:tabular-nums}
.entry-content :is(.amount,.cap){color:inherit;font-weight:inherit;background:none;padding:0;border-radius:0}
.entry-content .amount-number{font-weight:800;color:var(--brand-d)}
.entry-content .src{line-height:1.7;word-break:normal;overflow-wrap:break-word}
.entry-content .src a{word-break:normal}
.entry-content figure.schedule-figure{max-width:420px;margin-inline:auto}
.entry-content figure.schedule-figure svg{max-width:420px}
.supervisor .sv-label{font-size:12px;font-weight:700;color:var(--brand-d);margin:0 0 2px}
.supervisor .sv-name{font-size:15px;font-weight:700;color:var(--ink)}
.gnav .gnav-key{border:1px solid var(--brand);color:var(--brand-d);font-weight:700}
.card-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.row-card h3{font-size:17px;text-wrap:balance}
.row-card .card-thumb{object-fit:contain;background:var(--soft)}
.upcoming .row-card p{display:block;margin-top:8px;color:var(--brand-d)}
.hero .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}
.hero-copy{flex:1;min-width:0}
.hero-table{width:360px;max-width:42%;height:auto;flex:none;overflow:visible}
.hero-table-frame{transform:none;transform-origin:center}
@media(min-width:768px) and (max-width:1023px){.hero-table{max-width:360px;width:100%}}
.hero-icon{width:200px;max-width:28%;height:auto;flex:none}
.hero .hero-count{font-size:14px;margin-top:12px;color:var(--brand-d)}
.hayami-card{margin:32px 0 20px}
.category-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0}
.footer-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:24px;margin:28px 0}
.footer-columns h2{font-size:14px;margin:0 0 12px;color:var(--brand-d)}
.footer-columns ul{list-style:none;margin:0;padding:0}
.footer-columns li{margin:0 0 12px;line-height:1.7}
.footer-columns a{margin:0;text-decoration:none}
.footer-columns h2 a{color:var(--brand-d)}
.site-foot p{word-break:normal}
@media(min-width:860px){.entry-content .tbl.table-scroll{max-width:none}.page-hayami .article{max-width:1040px}.page-hayami .entry-content .tbl{margin-inline:0}}
@media(max-width:767px){.card-list{grid-template-columns:minmax(0,1fr)}.hero .wrap{flex-direction:column;align-items:stretch;gap:24px}.hero-copy{flex:none;width:100%}.hero-table{width:100%;max-width:360px;margin:0 auto;transform:none}.hero-table-frame{transform:none}.hero-icon{width:140px;max-width:100%;margin:0 auto}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.row-card h3{font-size:17px}.footer-columns{grid-template-columns:minmax(0,1fr)}}

/* style属性の列数指定をデータ属性で表す。 */
.entry-content table[data-cols="1"]{--cols:1}
.entry-content table[data-cols="2"]{--cols:2}
.entry-content table[data-cols="3"]{--cols:3}
.entry-content table[data-cols="4"]{--cols:4}
.entry-content table[data-cols="5"]{--cols:5}
.entry-content table[data-cols="6"]{--cols:6}
.entry-content table[data-cols="7"]{--cols:7}
.entry-content table[data-cols="8"]{--cols:8}
.entry-content table[data-cols="9"]{--cols:9}
.entry-content table[data-cols="10"]{--cols:10}
.entry-content table[data-cols="11"]{--cols:11}
.entry-content table[data-cols="12"]{--cols:12}

/* 検品3周目: 画面幅・文節・カードの共通の型。 */
.hero .button,button,.button{white-space:nowrap}
.hero .button{line-height:1.5}
h1,h2,h3,h4{ text-wrap:balance }
p,li,dd{ text-wrap:pretty;line-break:strict }
.supervisor p,.article-cta p{word-break:keep-all;overflow-wrap:break-word}
.entry-content :is(p,li,dd){word-break:keep-all;overflow-wrap:break-word}
.entry-content tbody th[scope=row]{background:var(--soft);color:var(--ink)}
.hayami-table tbody tr:nth-child(even)>:first-child{background:var(--soft)}
.entry-content .hayami-table thead tr>:first-child{background:var(--brand);color:#fff;z-index:2}
.card-list>.card:last-child:nth-child(odd){grid-column:1/-1}
.upcoming .card-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.upcoming .row-card{flex-direction:column;align-items:flex-start}
.upcoming .card-list>.card:last-child:nth-child(odd){grid-column:auto}
.upcoming .row-card .deadline-date{font-size:20px;font-weight:800;line-height:1.5;margin:0 0 12px;color:var(--brand-d)}
.card-copy{min-width:0;width:100%}
main.wrap>section{margin-bottom:56px}
.card-list:has(+.all-articles){margin-bottom:0}
.all-articles{margin-top:12px}
.site-foot .footer-hayami{display:inline-block;font-size:14px;font-weight:700;margin:0 0 24px;text-decoration:underline;color:var(--brand-d)}
@media(max-width:767px){
.wrap{padding-inline:10px}
.site-head .wrap{flex-direction:column;align-items:stretch;height:auto;gap:8px}
.gnav a{min-height:44px;display:inline-flex;align-items:center}
.upcoming .card-list{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:374px){
.entry-content figure.zu svg :is(text[font-size="13"],text[font-size="14"],g[font-size="13"]>text:not([font-size])){font-size:15px}
.entry-content figure.zu svg[aria-labelledby="lzu2t"] g>text:not([font-size]){letter-spacing:-.11em}
}

.entry-content caption .tbl-hint{margin:4px 0 0;font-weight:400}
@media print{.entry-content .program-table td:nth-child(10),.entry-content .program-table td:nth-child(11),.entry-content .hayami-table td:nth-child(9),.entry-content .hayami-table td:nth-child(10){min-width:0}}
/* Chrome 156 は、出典の小さい文字と nowrap の文節が並ぶ段落に text-wrap:pretty を当てると、320px幅でページごと落ちる(2026-10-31 実測)。出典だけ普通の折り返しに戻す */
.entry-content .src{text-wrap:wrap}
/* 2026-11-01 生徒集めのカテゴリでメニューが5つになり、767px以下で切れた。767px以下は項目の余白を詰めて1段に収め(ヘッダの高さ96px以下を守る)、それでも入らない358px以下だけ端をぼかして続きを示す */
@media(max-width:767px){.gnav a{padding:5px 4px}}
@media(max-width:358px){.gnav{mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent)}}
