/* 記事・連載ページ（COLUMN）だけで使う見た目。共通の見た目は site.css（トップの写し） */
.crumb a{text-decoration:none}
.crumb a:hover{text-decoration:underline}

/* 記事本文：読みやすい幅にしぼる */
.art{max-width:760px;min-width:0;padding:20px 0 80px}
.art-ser{font-size:.82rem;font-weight:700;letter-spacing:.06em;color:var(--hot);margin:0 0 10px}
.art-ser a{text-decoration:none}
.art h1{font-size:clamp(1.45rem,3.6vw,2.1rem);line-height:1.5;margin:0 0 26px}
.art h1 small{display:block;font-size:.55em;font-weight:700;color:var(--sub);margin-bottom:6px;letter-spacing:.04em}
.art-hero{margin:0 0 32px}
.art p{margin:0 0 1.15em;line-height:2}
.art h2{font-size:1.32rem;line-height:1.55;margin:2.6em 0 1em;padding-left:14px;border-left:4px solid var(--hot)}
.art h3{font-size:1.1rem;line-height:1.6;margin:2em 0 .8em}
.art ul,.art ol{margin:0 0 1.3em;padding-left:1.4em;line-height:1.95}
.art li{margin:.25em 0}
.art strong{background:linear-gradient(transparent 62%,var(--marker,#f8eee2) 62%);font-weight:700}
.art figure{margin:1.6em 0 1.8em}
.art figure img{width:100%;height:auto;border-radius:6px;box-shadow:0 1px 0 var(--line)}
.art-chart{background:#fff;padding:18px 16px 12px}
.art figcaption{font-size:.8rem;color:var(--sub);margin-top:8px;line-height:1.6}
.art table{width:100%;border-collapse:collapse;margin:0 0 1.6em;font-size:.92rem;background:#fff}
.art th,.art td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top;line-height:1.6}
.art th{background:var(--soft)}
.art hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.art a{color:var(--ink);text-underline-offset:3px}
.art-src{margin-top:3em;padding-top:1.2em;border-top:1px solid var(--line);font-size:.86rem;color:var(--sub)}
.art-src h2{font-size:1rem;border:0;padding:0;margin:0 0 .8em}
.art-src p,.art-src li{line-height:1.8}

/* 対になる記事 */
.art-pair{margin:3em 0 0;padding:22px;background:var(--soft)}
.art-pair .k{font-size:.86rem;font-weight:700;margin:0 0 12px}

/* 問い合わせ */
.art-cta{margin:2.4em 0 0;padding:32px 28px;background:#1b2a4a;color:#fff}
.art-cta .k{font-family:var(--f-en);letter-spacing:.14em;font-size:.8rem;opacity:.75;margin:0 0 6px}
.art-cta h2{border:0;padding:0;margin:0 0 .7em;font-size:1.25rem;color:#fff}
.art-cta p{color:#e4e8ef;font-size:.95rem}
.art-cta .bigbtn{display:inline-block;background:#fff;color:#1b2a4a;text-decoration:none;font-weight:700;padding:14px 28px;margin-top:6px}
.art-cta .bigbtn:hover{background:var(--hot);color:#fff}

/* 前後の回 */
.art-pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:2.6em}
.art-pn a{display:block;padding:16px 18px;background:var(--soft);text-decoration:none;font-size:.9rem;line-height:1.6;font-weight:700}
.art-pn a small{display:block;font-weight:400;color:var(--sub);font-size:.78rem;margin-bottom:4px}
.art-pn .nx{text-align:left}
@media (max-width:640px){.art-pn{grid-template-columns:1fr}.art-pn .nx{text-align:left}}

/* 文節で改行（日本語の見出しが単語の途中で折れないように） */
.bx{word-break:keep-all;overflow-wrap:anywhere}
.art h1,.art h2,.art h3,.acard .atl,.mcard .atl,.art-pn a,.fcard b,.lab-hero h1,.col-head h1{text-wrap:pretty}

/* ===== ものづくり人事ラボ ===== */
.lab-band{background:var(--ink);color:#fff}
.lab-band .wrap{display:flex;align-items:center;gap:28px;height:auto;padding-top:12px;padding-bottom:12px;flex-wrap:nowrap}
.lab-band a{color:#fff;text-decoration:none}
.lab-band > .wrap > a{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.lab-band > .wrap > a b{font-size:1rem;letter-spacing:.06em}
.lab-band > .wrap > a span{font-family:var(--f-en);font-size:.7rem;letter-spacing:.12em;opacity:.7}
.lab-band nav{display:flex;gap:20px;overflow-x:auto;scrollbar-width:none;font-size:.84rem;-webkit-overflow-scrolling:touch}
.lab-band nav::-webkit-scrollbar{display:none}
.lab-band nav a{white-space:nowrap;opacity:.85}
.lab-band nav a:hover{opacity:1;text-decoration:underline}
@media (max-width:760px){.lab-band .wrap{flex-direction:column;align-items:flex-start;gap:8px}.lab-band nav{width:100%;gap:16px;padding-bottom:2px}}

.lab-hero{padding-top:26px;padding-bottom:6px}
.lab-hero .k,.col-head .k{font-family:var(--f-en);letter-spacing:.14em;font-size:.78rem;color:var(--hot);margin:0}
.lab-hero h1{font-size:clamp(1.7rem,4.4vw,2.6rem);margin:6px 0 12px;letter-spacing:.04em}
.lab-hero p:last-child{color:var(--sub);max-width:44em;line-height:1.9}

.lab{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
@media (max-width:980px){.lab{grid-template-columns:minmax(0,1fr);gap:24px}}
.lab-main{min-width:0;padding-bottom:40px}
.col-head{padding:20px 0 8px}
.col-head h1{font-size:clamp(1.5rem,4vw,2.2rem);margin:6px 0 12px}
.col-head p{color:var(--sub);line-height:1.9}
.col-head .n{font-size:.82rem;margin-top:6px}

.lab-sec{padding-top:38px}
.lab-sec-h{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--ink);padding:0 0 10px;margin-bottom:10px;border-bottom:2px solid var(--ink)}
.lab-sec-h h2{font-size:1.4rem;font-weight:700;display:flex;align-items:baseline;gap:10px;margin:0;color:var(--ink)}
.lab-sec-h h2 span{font-family:var(--f-en);font-size:.7rem;letter-spacing:.14em;color:#b7792f}
.lab-sec-h h2 i{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--c);}
.lab-sec-h a{color:var(--ink);font-size:.84rem;text-decoration:none;white-space:nowrap}
.lab-sec-lead{color:#5a6475;font-size:.9rem;line-height:1.85;margin:10px 0 16px}

/* サムネ（文字と図形で自動生成） */
.th{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--soft);border-radius:6px;container-type:inline-size}
.th img{width:100%;height:100%;object-fit:cover;display:block}
.gth{position:absolute;inset:0;background:var(--c);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:7cqw 7cqw 8cqw;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:5cqw 5cqw}
.gs{font-family:var(--f-en);font-weight:600;font-size:max(9px,4.2cqw);letter-spacing:.1em;opacity:.78;line-height:1.3}
.gk{font-weight:700;font-size:8.2cqw;line-height:1.4;max-width:78%;position:relative;z-index:1}
.gth svg{position:absolute;right:6cqw;bottom:7cqw;width:30cqw;height:30cqw;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.26}

/* カード */
.acard{min-width:0}
.acard .atl{display:block;text-decoration:none;font-weight:700;line-height:1.6;color:#0b1428}
.acard .atl small{display:block;font-weight:400;font-size:.74rem;color:var(--sub);margin-bottom:2px}
.acard .atl:hover{text-decoration:underline;text-underline-offset:3px}
.acard .th{transition:opacity .15s}
.acard .th:hover{opacity:.88}
.cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.acat{font-size:.72rem;font-weight:700;text-decoration:none;color:var(--c);border:1px solid currentColor;border-radius:999px;padding:1px 9px;line-height:1.6}
.acat:hover{background:var(--c);color:#fff}
.atags{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px}
.atags a{font-size:.76rem;color:var(--sub);text-decoration:none}
.atags a:hover{text-decoration:underline}

.agrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:14px}
@media (max-width:760px){.agrid{grid-template-columns:minmax(0,1fr)}}
.acard.grid .tx{padding-top:12px}
.acard.grid .atl{font-size:.95rem}


.alist{display:flex;flex-direction:column}
.acard.row{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.acard.row .atl{font-size:1.02rem}
@media (max-width:640px){.acard.row{grid-template-columns:minmax(0,1fr);gap:0;padding:14px 0 14px 12px;border-left:3px solid var(--c);margin:6px 0}.acard.row .th{display:none}.acard.row .atl{font-size:.93rem}.acard .atags{display:none}}

/* 特集 */
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:640px){.fgrid{grid-template-columns:1fr}}
.fcard{display:block;text-decoration:none;color:var(--ink);background:#fff;border-radius:8px;overflow:hidden;transition:transform .15s}
.fcard:hover{transform:translateY(-2px)}
.fcard .th{border-radius:0}
.fcard .gk{font-size:7.4cqw;max-width:80%}
.fcard .tx{display:block;padding:14px 16px 18px}
.fcard small{display:block;font-size:.74rem;color:var(--hot);font-weight:700}
.fcard b{display:block;font-size:1.02rem;line-height:1.55;margin:2px 0 6px}
.fcard .tx em{display:block;font-style:normal;font-size:.84rem;line-height:1.75;color:var(--sub)}

/* サイドバー */
.lab-side{padding:20px 0 60px;display:flex;flex-direction:column;gap:30px;min-width:0}
@media (max-width:980px){.lab-side{border-top:1px solid var(--line);padding-top:30px}}
.lab-side h2{font-size:.95rem;margin:0 0 10px;padding:0 0 8px;color:var(--ink);border-bottom:1px solid var(--ink)}
.lab-side h2 span{display:block;font-family:var(--f-en);font-size:.64rem;letter-spacing:.14em;color:#b7792f;font-weight:600}
.lab-side ul,.lab-side ol{list-style:none;margin:0;padding:0}
.side-cat a,.side-ser a{display:flex;align-items:center;gap:10px;text-decoration:none;padding:9px 2px;border-bottom:1px solid var(--line);font-size:.9rem;line-height:1.5}
.side-cat i{width:9px;height:9px;border-radius:2px;background:var(--c);flex:none}
.side-cat span,.side-ser a > span{margin-left:auto;font-size:.76rem;color:var(--sub);white-space:nowrap}
.side-cat a:hover,.side-ser a:hover,.lab-side [aria-current]{background:var(--soft)}
.side-pick{counter-reset:p}
.mcard{padding:12px 0;border-bottom:1px solid var(--line)}
.mcard .atl small{display:block;font-weight:400;font-size:.72rem;color:var(--sub);margin-bottom:2px}
.mcard .gk,.mcard .gs{display:none}
.mcard .gth svg{width:56cqw;height:56cqw;right:22cqw;bottom:6cqw;opacity:.35}
.mcard .th{border-radius:4px}
.mcard .atl{display:block;font-size:.84rem;line-height:1.6;font-weight:700;text-decoration:none}
.mcard .atl:hover{text-decoration:underline}
.side-tags{display:flex;flex-wrap:wrap;gap:8px}
.side-tags a{font-size:.8rem;text-decoration:none;background:transparent;border:1px solid #c9c4b8;border-radius:999px;padding:4px 11px}
.side-tags a:hover{border-color:var(--ink)}

/* 記事ページの追加 */
.art-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.art-meta .aser{font-size:.78rem;color:var(--sub);text-decoration:none;margin-left:4px}
.art-meta .aser:hover{text-decoration:underline}
.art-tags{margin-top:2.6em;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.art-tags p{font-size:.8rem;font-weight:700;margin:0}
.art-tags .atags a{font-size:.86rem}
.art-rel{margin-top:3em}
.art-rel h2{border:0;padding:0;margin:0 0 4px;font-size:1.1rem}
.art-pair .acard.row{border:0;padding:0}
main{min-height:60vh}

/* スマホ調整 */
@container (max-width:170px){.gs{display:none}.gk{font-size:9.6cqw;max-width:92%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.gth{justify-content:center}.gth svg{opacity:.16}}
.art h1 small a{text-decoration:none;color:inherit}
.art h1 small a:hover{text-decoration:underline}
.zoom{display:block}
.zc{display:none}
@media (max-width:640px){
  .art{font-size:16px}
  .art p{line-height:1.95}
  .art figure{margin-left:-12px;margin-right:-12px}
  .art figure img{border-radius:4px}
  .zc{display:block;text-align:right;font-size:.72rem;color:var(--sub);margin-top:4px;padding-right:12px}
  .art h2{font-size:1.2rem}
  .art-meta{margin-bottom:8px}
}

/* サムネ：白地に文字で組む。ジャンルの色は上の帯と下のラベルだけ */
.th{background:#f0f2f4}
.tth{position:absolute;inset:0;background:var(--bg,#f0f2f4);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);border-radius:6px;color:var(--ink);display:flex;flex-direction:column;padding:6.5cqw 7cqw 5.5cqw 8.2cqw;border-left:1.3cqw solid var(--c)}
.tl{font-size:max(8px,3.1cqw);font-weight:700;letter-spacing:.06em;color:#14203a}
.ts{font-size:max(8px,2.9cqw);color:#2a3550;font-weight:700;margin-top:1.2cqw;padding-bottom:2.4cqw;border-bottom:1px solid var(--line);letter-spacing:.04em}
.tt{flex:1;display:flex;flex-direction:column;justify-content:center;font-weight:700;color:#0f1a33;font-size:max(10px,5.2cqw);line-height:1.55;letter-spacing:.02em}
.tt em{font-style:normal;color:#a5631c}
.tc{font-size:max(8px,3cqw);font-weight:700;color:var(--c);letter-spacing:.06em}
.tc::before{content:"";display:inline-block;width:2.4cqw;height:2.4cqw;background:var(--c);margin-right:1.6cqw;border-radius:1px;vertical-align:.05em}
@container (max-width:170px){.tl,.ts,.tc,.tt{display:none}.tth{padding:0;border-left-width:3cqw}.ti{width:40cqw!important;height:40cqw!important;top:50%!important;bottom:auto!important;right:auto!important;left:50%;transform:translate(-50%,-50%);opacity:.9;stroke-width:1.8}}
.fcard .tt{font-size:5.9cqw}
.art-cta + .art-pair{margin-top:1.6em}
.art .art-close{margin-top:2.4em;padding-top:1.4em;border-top:1px solid var(--line);font-size:.92rem;color:var(--sub)}
.ti{position:absolute;right:6cqw;bottom:5.5cqw;width:12cqw;height:12cqw;fill:none;stroke:var(--c);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.ts{margin-right:0}
@container (max-width:300px){.tl,.tc{display:none}.ts{font-size:max(9px,4cqw);padding-bottom:2.6cqw;margin-bottom:1cqw}.tth{padding:6cqw 7cqw 6cqw 9cqw}.tt{font-size:5.9cqw;line-height:1.5}.ti{bottom:5cqw;width:12cqw;height:12cqw}}

/* ===== 読みやすさの調整（文字の大きさ・濃さ・字間） ===== */
.lab,.lab-hero,.art,.lab-band{letter-spacing:.02em;color:#1d2433;-webkit-font-smoothing:antialiased}
.lab-hero p:last-child,.col-head p{color:#3d4656}
.lab-sec-lead{color:#3d4656!important;font-size:.95rem!important;line-height:1.85}
.acard .atl{font-size:1.02rem;letter-spacing:.01em}
.acard.grid .atl{font-size:.98rem}
.acard .atl small{font-size:.8rem;color:#4a5262;letter-spacing:.02em;margin-bottom:4px}
.acat{font-size:.76rem;padding:2px 10px}
.atags{gap:4px 12px;margin-top:10px}
.atags a{font-size:.82rem;color:#4a5262}
.lab-side{gap:34px}
.side-cat a{font-size:.95rem;padding:11px 2px;color:#1d2433}
.side-cat span{font-size:.82rem;color:#4a5262}
.side-ser a{display:block;padding:12px 2px;color:#1d2433}
.side-ser b{display:block;font-weight:500;font-size:.95rem;line-height:1.55}
.side-ser a > span{display:block;margin:2px 0 0;font-size:.78rem;color:#6b7280}
.side-ser b .bx{display:inline;margin:0;font-size:inherit;color:inherit}
.mcard .atl{font-size:.92rem;line-height:1.65;color:#1d2433}
.mcard .atl small{font-size:.78rem;color:#4a5262}
.side-tags a{font-size:.84rem;color:#1d2433}
.fcard .tx em{font-size:.9rem;color:#3d4656}
.art p,.art li{color:#1d2433}
.lab-hero p:last-child,.col-head p,.lab-sec-lead{color:#1d2433!important}
.sortbar{display:flex;gap:8px;justify-content:flex-end;margin:6px 0 4px}
.sortbar button{font:inherit;font-size:.85rem;padding:6px 14px;border:1px solid var(--line);background:#fff;color:#1d2433;border-radius:999px;cursor:pointer}
.sortbar button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.tagbar{display:flex;gap:10px 14px;align-items:flex-start;margin:14px 0 6px;padding:4px 0}
.tagbar .tb-k{flex:none;font-size:.82rem;font-weight:700;color:#1d2433;padding-top:4px}
.tagbar div{display:flex;flex-wrap:wrap;gap:8px}
.tagbar a{font-size:.84rem;text-decoration:none;color:#1d2433;border:1px solid #c9c4b8;border-radius:999px;padding:3px 11px;background:transparent}
.tagbar a:hover,.tagbar a[aria-current]{border-color:var(--ink);background:var(--ink);color:#fff}
@media (max-width:640px){.tagbar{flex-direction:column;gap:8px}.tagbar div{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.tagbar a{white-space:nowrap}}
.lab-side{gap:28px}
.side-pick .mcard:last-child,.side-ser li:last-child a{border-bottom:0}
.mcard{padding:11px 0}
.side-ser a{padding:10px 2px}
/* 一覧の1件ごとの高さを詰める */
.acard.row{grid-template-columns:200px minmax(0,1fr);gap:18px;padding:12px 0;align-items:center}
.acard.row .cats{margin-bottom:4px}
.acard.row .atl{font-size:.98rem;line-height:1.55}
.acard.row .atl small{margin-bottom:2px}
@media (max-width:640px){.acard.row{grid-template-columns:minmax(0,1fr);padding:10px 0 10px 12px}}
/* 特集：一覧と同じ横並びの大きさにそろえる */
.fgrid{grid-template-columns:minmax(0,1fr);gap:0}
.fcard{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:center;background:none;border-radius:0;padding:12px 0;border-bottom:1px solid var(--line)}
.fcard:hover{transform:none}
.fcard .th{border-radius:6px}
.fcard .tx{padding:0}
.fcard b{font-size:.98rem;margin:2px 0 4px}
.fcard .tx em{font-size:.86rem;line-height:1.7}
.fcard .tl,.fcard .tc{display:none}
@media (max-width:640px){.fcard{grid-template-columns:minmax(0,1fr)}.fcard .th{display:none}}
.art .art-cta p{color:#e4e8ef}
.art .art-cta .k{color:#cfd6e2}
.art-meta .atags{margin:0 0 0 6px;gap:4px 10px}
.art-meta .atags a{font-size:.82rem}
.art-toptags{margin:-14px 0 24px}
.art-toptags .atags{margin:0}
.art-toptags .atags a{font-size:.86rem;color:#4a5262}
.art h1{margin-bottom:22px}
.acard .aser,.mcard .aser{display:block;font-size:.8rem;color:#4a5262;text-decoration:none;margin-bottom:3px;line-height:1.5}
.acard .aser:hover,.mcard .aser:hover{text-decoration:underline;text-underline-offset:3px}
/* サムネを少し大きく、文字をはっきり */
.acard.row,.fcard{grid-template-columns:236px minmax(0,1fr)}
@container (max-width:300px){.tt{font-size:6.1cqw!important;line-height:1.42;letter-spacing:0}.ts{font-size:max(10px,4cqw)!important;color:#1d2433;padding-bottom:2cqw!important}.tth{padding:5.5cqw 6.5cqw 5.5cqw 8.5cqw!important}}
.tt{color:#0a1226}
.tth{box-shadow:0 1px 2px rgba(20,30,50,.06)}
@media (max-width:640px){.acard.row,.fcard{grid-template-columns:minmax(0,1fr)}}
/* サムネ文字のくっきり対策：小さい文字でも潰れにくい書体に、太さと字間を調整 */
.tth{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.tl{font-weight:700;letter-spacing:.02em}
.ts{font-weight:500!important;letter-spacing:.02em!important;color:#1d2433!important}
.tt{font-weight:700;letter-spacing:.01em!important;padding-right:13cqw}
@container (max-width:300px){.ts{font-size:max(11.5px,4.6cqw)!important}.tt{padding-right:12cqw}}
/* ラボの名前を大きく */
.lab-hero h1{font-size:clamp(2.2rem,5.4vw,3.4rem);letter-spacing:.05em;margin:8px 0 16px;line-height:1.25}
.lab-band > .wrap > a b{font-size:1.12rem}
.tagbar{min-width:0;max-width:100%}
.tagbar div{min-width:0;max-width:100%}
@media (max-width:640px){.tagbar{align-items:stretch}.tagbar div{width:100%}}
@media (max-width:640px){.lab-hero h1{font-size:1.95rem;letter-spacing:.03em}}
/* ===== スマホ：ラボの帯を固定、記事は横に並べる ===== */
.lab-stick{position:sticky;top:0;z-index:30}
.lab-stick .hd{position:relative!important;top:auto!important}
.lab-band{position:relative}
@media (max-width:640px){
  .hd .wrap{padding-top:6px!important;padding-bottom:6px!important}
  .logo svg.kmark{width:46px!important;height:25px!important}
  .logo b{font-size:1.1rem!important}
  .logo small{font-size:.56rem!important;margin-top:2px}
  .menu-btn{width:44px!important;height:44px!important}
  .lab-band .wrap{flex-direction:row!important;align-items:center!important;gap:14px!important;padding-top:9px!important;padding-bottom:9px!important}
  .lab-band > .wrap > a span{display:none}
  .lab-band > .wrap > a b{font-size:.95rem!important}
  .lab-band nav{width:auto!important;font-size:.8rem;gap:14px!important;padding-bottom:0!important;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  /* カテゴリーごとの記事：横にスワイプ */
  .agrid{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:64%;gap:14px!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:10px;margin-right:calc(-1 * max(20px,env(safe-area-inset-right,0px)));padding-right:max(20px,env(safe-area-inset-right,0px));scrollbar-width:none}
  .agrid::-webkit-scrollbar{display:none}
  .agrid .acard{scroll-snap-align:start}
  .agrid .acard .th{display:block!important}
  .acard.grid .atl{font-size:.9rem}
  .acard.grid .aser{font-size:.74rem}
  .lab-sec{padding-top:28px}
  .lab-sec-lead{font-size:.88rem!important;margin:8px 0 12px}
}
/* 特集：押せるボタンに見えるカード */
.fgrid{gap:12px!important}
.fcard{background:#fff!important;border:1px solid #d6d2c8!important;border-radius:8px!important;padding:12px!important;box-shadow:0 1px 2px rgba(20,30,50,.05);transition:border-color .15s,box-shadow .15s,transform .15s}
.fcard:hover{border-color:var(--ink)!important;box-shadow:0 4px 14px rgba(20,30,50,.10);transform:translateY(-1px)!important}
.fcard .fgo{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:.84rem;font-weight:700;color:#fff;background:var(--ink);padding:6px 14px;border-radius:999px}
.fcard .fgo i{font-style:normal;transition:transform .15s}
.fcard:hover .fgo i{transform:translateX(3px)}
/* スマホ：全体が見渡せるよう、文字と余白をひと回り小さく */
@media (max-width:640px){
  .lab-hero h1{font-size:1.7rem!important}
  .lab-hero p:last-child,.col-head p{font-size:.88rem;line-height:1.8}
  .lab-sec-h h2{font-size:1.15rem!important}
  .lab-sec-h h2 span{font-size:.62rem}
  .lab-sec{padding-top:24px!important}
  .lab-sec-lead{font-size:.84rem!important;line-height:1.75}
  .acard.row .atl{font-size:.88rem!important}
  .acard.grid .atl{font-size:.86rem!important}
  .agrid{grid-auto-columns:56%!important}
  .fcard{padding:12px 14px!important}
  .fcard b{font-size:.95rem!important}
  .fcard .tx em{display:block!important;font-size:.8rem!important;line-height:1.65}
  .fcard .fgo{font-size:.78rem;padding:5px 12px}
}
.only-sp{display:none!important}
@media (max-width:640px){
  .only-pc{display:none!important}
  .only-sp{display:grid!important}
  .lab-stick{transition:transform .25s ease}
  .lab-stick.tuck{transform:translateY(calc(-1 * var(--hdh,57px)))}
  .crumb{padding-top:14px!important}
}
