:root {
  --partner-navy: #3b4636;
  --partner-deep: #3b4636;
  --partner-teal: #6e6248;
  --partner-sky: #d9dccb;
  --partner-beige: #f6f2ec;
  --partner-paper: #fbfaf8;
  --partner-white: #fff;
  --partner-line: rgba(59, 70, 54, .16);
  --partner-en: "Cormorant Garamond", serif;
  --partner-ja: "Shippori Mincho", serif;
  --partner-sans: "Zen Kaku Gothic New", sans-serif;
  --partner-pad: clamp(22px, 5vw, 76px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; background: var(--partner-beige); color: var(--ink, #2b2d28); font: 400 16px/2 var(--partner-sans); letter-spacing: .025em; overflow-x: clip; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { text-wrap: balance; word-break: auto-phrase; }
.partner-lab-header { position: sticky; top: 0; z-index: 50; min-height: 78px; padding: 0 clamp(20px, 4vw, 58px); display: flex; align-items: center; gap: 28px; background: #3b4636; color: var(--partner-beige); border-bottom: 1px solid rgba(246, 242, 236,.14); }
.partner-lab-logo { position: relative; z-index: 52; flex: 0 0 auto; font: 400 clamp(15px, 1.8vw, 22px)/1.2 var(--partner-en); letter-spacing: .12em; }
.partner-lab-nav { display: flex; align-items: center; gap: clamp(13px, 1.5vw, 25px); margin-left: auto; }
.partner-lab-nav a { font-size: 12px; letter-spacing: .08em; white-space: nowrap; }
.partner-nav-cta, .partner-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 24px; background: var(--partner-teal); color: var(--partner-white); border: 1px solid var(--partner-teal); font-size: 12px; letter-spacing: .08em; }
.partner-button.outline { background: transparent; color: var(--ink, #2b2d28); border-color: rgba(59, 70, 54,.42); }
.partner-menu-toggle { display: none; position: relative; z-index: 52; width: 46px; height: 46px; margin-left: auto; border: 0; background: transparent; color: var(--partner-beige); padding: 10px; }
.partner-menu-toggle span { display: block; width: 24px; height: 1px; margin: 6px auto; background: currentColor; }
.partner-hero { min-height: calc(100svh - 78px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: clamp(42px, 8vw, 120px); align-items: center; padding: clamp(72px, 9vw, 132px) var(--partner-pad); background: var(--partner-deep); color: var(--partner-beige); }
.partner-hero h1 { max-width: 11.2em; margin: 0; font: 400 clamp(34px, 4.7vw, 58px)/1.42 var(--partner-ja); letter-spacing: .05em; }
.partner-hero h1 .no-break { white-space: nowrap; }
.partner-hero .partner-kicker { color: var(--partner-beige); font-size: 14px; }
.partner-hero p:not(.partner-kicker) { max-width: 42em; margin: 26px 0 0; color: var(--partner-sky); font-size: 16px; line-height: 2; }
.partner-hero .partner-button { margin-top: 34px; }
.partner-hero figure { margin: 0; overflow: hidden; }
.partner-hero img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.partner-section { padding: clamp(86px, 10vw, 142px) var(--partner-pad); background: var(--partner-beige); }
.partner-section.alt { background: var(--partner-paper); }
.partner-section.contact { background: var(--partner-deep); color: var(--partner-beige); text-align: center; }
.partner-wrap { width: min(1180px, 100%); margin: auto; }
.partner-wrap.narrow { width: min(850px, 100%); }
.partner-kicker { margin: 0 0 16px; color: var(--teal-text, #6e6248); font: 400 13px/1.3 var(--partner-en); letter-spacing: .16em; text-transform: uppercase; }
.contact .partner-kicker { color: var(--partner-sky); }
.partner-section h2 { margin: 0 0 28px; font: 400 clamp(28px, 4vw, 48px)/1.55 var(--partner-ja); letter-spacing: .06em; }
.partner-section h3 { margin: 0 0 16px; font: 400 clamp(20px, 2.3vw, 28px)/1.55 var(--partner-ja); letter-spacing: .05em; }
.partner-copy p, .partner-lead, .contact p { margin: 0 0 1.3em; color: rgba(43, 45, 40,.76); }
.contact p { color: var(--partner-sky); }
.reason-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--partner-line); border: 1px solid var(--partner-line); }
.reason-grid article { min-height: 250px; padding: clamp(24px, 3vw, 38px); background: var(--partner-paper); }
.reason-grid p { margin: 0 0 1em; color: rgba(43, 45, 40,.74); font-size: 14px; line-height: 2; }
.partner-table { width: 100%; border-collapse: collapse; background: var(--partner-paper); }
.partner-table th, .partner-table td { padding: 18px 20px; border: 1px solid var(--partner-line); text-align: left; vertical-align: top; }
.partner-table th { width: 32%; color: var(--teal-text, #6e6248); font-weight: 500; }
.instructor { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 8vw, 110px); align-items: center; }
.instructor figure { margin: 0; }
.instructor img { width: 100%; max-height: 620px; object-fit: cover; object-position: center 28%; }
.partner-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin: 38px 0 0; padding: 1px; list-style: none; background: var(--partner-line); }
.partner-steps li { min-height: 190px; padding: 24px; background: var(--partner-paper); }
.partner-steps span { color: var(--teal-text, #6e6248); font: 400 26px/1 var(--partner-en); }
.partner-steps b { display: block; margin-top: 18px; font: 500 17px/1.5 var(--partner-ja); }
.partner-steps p { margin: 8px 0 0; color: rgba(43, 45, 40,.68); font-size: 13px; line-height: 1.8; }
.partner-lab-footer { padding: 28px var(--partner-pad); background: #2a3127; color: var(--partner-beige); text-align: center; font-size: 12px; letter-spacing: .06em; }
@media (max-width: 1120px) {
  .partner-menu-toggle { display: block; }
  .partner-lab-nav { position: fixed; inset: 78px 0 0; flex-direction: column; align-items: stretch; gap: 0; padding: 28px var(--partner-pad) 100px; background: var(--partner-deep); transform: translateX(100%); visibility: hidden; overflow: auto; transition: transform .3s, visibility .3s; }
  .partner-lab-nav.is-open { transform: none; visibility: visible; }
  .partner-lab-nav a { padding: 16px 4px; border-bottom: 1px solid rgba(246, 242, 236,.16); font-size: 15px; }
  .partner-nav-cta { margin-top: 18px; }
}
@media (max-width: 860px) {
  body { padding-bottom: 0; }
  .partner-hero, .instructor { grid-template-columns: 1fr; }
  .partner-hero { min-height: auto; }
  .reason-grid, .partner-steps { grid-template-columns: 1fr; }
  .partner-table th, .partner-table td { display: block; width: 100%; }
  .partner-table tr + tr th { border-top-width: 2px; }
}

/* 2026-10-06: 390px幅でヒーローが右にはみ出す問題（nowrap見出しが列幅を押し広げていた） */
@media (max-width: 860px) {
  .partner-hero { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .partner-hero h1 { font-size: min(34px, 7.2vw); letter-spacing: .03em; }
}

/* 2026-10-16: 真鍮の文字色を背景で使い分け（生成り上=濃い真鍮、濃いモス上=明るい真鍮） */
:root { --teal-text: #6e6248; }
.sec--teal,.sec--navy,.home-hero,.achievement-section,.access-panel,.contact-panel,.page-head,.site-footer,.partner-hero,.partner-section.contact,.partner-lab-footer,.reading-line-cta,.line-cta,.on-dark { --teal-text: #cfc2a2; }
.site-footer p, .site-footer .copyright, .site-footer .footer-copyright, .site-footer small { color: #d9dccb; }

:root { --ink: #2b2d28; }

@media (max-width: 860px) {
  .instructor img { aspect-ratio: 4 / 5; max-height: none; object-position: center 22%; }
}

/* =========================================================
   2026-10-16 案B インクネイビー: 本体（緑・真鍮・明朝）と別ブランドの軽い端正な調子
   ========================================================= */
:root {
  --pl-bg: #e6e8ec; --pl-face: #f7f8fa; --pl-white: #fff;
  --pl-accent: #1f3a5f; --pl-accent-hover: #16304f;
  --pl-text: #222831; --pl-sub: #6b7280; --pl-line: rgba(31, 58, 95, .18);
  --pl-dark: rgba(20, 28, 40, .72);
  --pl-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  --pl-num: "Roboto", "Helvetica Neue", Arial, sans-serif;
  --partner-ja: var(--pl-sans); --partner-en: var(--pl-num); --partner-sans: var(--pl-sans);
  --partner-deep: var(--pl-accent); --partner-navy: var(--pl-accent); --partner-teal: var(--pl-accent);
  --partner-beige: var(--pl-face); --partner-paper: var(--pl-white); --partner-sky: #c9d4e3;
  --partner-line: var(--pl-line); --ink: var(--pl-text); --teal-text: var(--pl-accent);
}
body.partner-lab-page { background: var(--pl-bg); color: var(--pl-text); font: 300 15px/1.9 var(--pl-sans); letter-spacing: .06em; }
body.partner-lab-page h1, body.partner-lab-page h2, body.partner-lab-page h3, body.partner-lab-page b { font-family: var(--pl-sans); }

/* ヘッダー・フッター: 白い帯にネイビー */
body.partner-lab-page .partner-lab-header { background: var(--pl-white); color: var(--pl-accent); border-bottom: 1px solid var(--pl-line); min-height: 72px; }
body.partner-lab-page .partner-lab-logo { font: 400 clamp(13px, 1.4vw, 17px)/1.2 var(--pl-num); letter-spacing: .2em; color: var(--pl-accent); }
body.partner-lab-page .partner-lab-nav a { color: var(--pl-accent); font-weight: 400; letter-spacing: .1em; }
body.partner-lab-page .partner-menu-toggle { color: var(--pl-accent); }
body.partner-lab-page .partner-lab-footer { background: var(--pl-white); color: var(--pl-accent); border-top: 1px solid var(--pl-line); letter-spacing: .12em; }

/* ボタン: 主＝ネイビー塗り、副＝線。四隅に短いL字 */
body.partner-lab-page .partner-nav-cta, body.partner-lab-page .partner-button { position: relative; background: var(--pl-accent); color: #fff; border: 1px solid var(--pl-accent); font-family: var(--pl-sans); font-weight: 400; letter-spacing: .12em; }
body.partner-lab-page .partner-nav-cta:hover, body.partner-lab-page .partner-button:hover { background: var(--pl-accent-hover); }
body.partner-lab-page .partner-button.outline { background: transparent; color: var(--pl-accent); border-color: var(--pl-line); }
body.partner-lab-page .partner-button::before, body.partner-lab-page .partner-button::after,
body.partner-lab-page .reason-grid article::before, body.partner-lab-page .reason-grid article::after { content: ""; position: absolute; width: 8px; height: 8px; pointer-events: none; }
body.partner-lab-page .partner-button::before, body.partner-lab-page .reason-grid article::before { left: -5px; top: -5px; border-left: 1px solid var(--pl-accent); border-top: 1px solid var(--pl-accent); }
body.partner-lab-page .partner-button::after, body.partner-lab-page .reason-grid article::after { right: -5px; bottom: -5px; border-right: 1px solid var(--pl-accent); border-bottom: 1px solid var(--pl-accent); }

/* ヒーロー: 写真なし、中央寄せのキャッチと特徴4つ */
body.partner-lab-page .partner-hero { display: block; min-height: 0; padding: clamp(96px, 12vw, 168px) var(--partner-pad) clamp(64px, 8vw, 104px); background: var(--pl-face); color: var(--pl-text); text-align: center; margin: 0 clamp(0px, 1.4vw, 20px); }
body.partner-lab-page .partner-hero > div { width: min(860px, 100%); margin: 0 auto; }
body.partner-lab-page .partner-hero .partner-kicker { color: var(--pl-accent); font: 300 13px/1.3 var(--pl-num); letter-spacing: .32em; }
body.partner-lab-page .partner-hero h1 { max-width: none; margin: 0 auto; font: 300 clamp(30px, 4.4vw, 54px)/1.6 var(--pl-sans); letter-spacing: .12em; color: var(--pl-text); }
body.partner-lab-page .partner-hero p:not(.partner-kicker) { margin: 26px auto 0; color: var(--pl-sub); font-size: 15px; }
body.partner-lab-page .partner-hero .partner-button { margin-top: 38px; }
.partner-features { list-style: none; margin: clamp(56px, 7vw, 88px) auto 0; padding: 0; width: min(1080px, 100%); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--pl-line); border: 1px solid var(--pl-line); }
.partner-features li { padding: 26px 14px; background: var(--pl-white); display: grid; gap: 8px; align-content: center; }
.partner-features span { font: 300 12px/1.4 var(--pl-sans); letter-spacing: .14em; color: var(--pl-sub); }
.partner-features b { font: 400 16px/1.6 var(--pl-sans); letter-spacing: .08em; color: var(--pl-accent); }

/* セクション: 白寄りの面を灰の地に置く。#番号＋見出し＋罫線 */
body.partner-lab-page .partner-section { background: var(--pl-face); margin: 20px clamp(0px, 1.4vw, 20px) 0; padding: clamp(76px, 9vw, 124px) var(--partner-pad); }
body.partner-lab-page .partner-section.alt { background: var(--pl-white); }
body.partner-lab-page .partner-kicker { display: flex; align-items: baseline; gap: 14px; color: var(--pl-accent); font: 300 12px/1.3 var(--pl-num); letter-spacing: .24em; }
.partner-no { font: 100 clamp(38px, 4.4vw, 52px)/1 var(--pl-num); letter-spacing: .04em; color: var(--pl-accent); }
body.partner-lab-page .partner-section h2 { padding-bottom: 18px; border-bottom: 1px solid var(--pl-accent); font: 400 clamp(22px, 2.6vw, 30px)/1.6 var(--pl-sans); letter-spacing: .12em; color: var(--pl-text); }
body.partner-lab-page .partner-section h3 { font: 500 clamp(17px, 1.7vw, 20px)/1.7 var(--pl-sans); letter-spacing: .08em; color: var(--pl-accent); }
body.partner-lab-page .partner-copy p, body.partner-lab-page .partner-lead { color: var(--pl-text); font-size: 15px; line-height: 2; }

/* 選ばれる理由: 写真と暗い文字面の市松 */
body.partner-lab-page .reason-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: none; border: 0; }
.reason-photo { margin: 0; overflow: hidden; min-height: 280px; }
.reason-photo img { width: 100%; height: 100%; object-fit: cover; }
body.partner-lab-page .reason-grid article { position: relative; min-height: 280px; padding: clamp(24px, 2.6vw, 34px); background: #18222f; color: #fff; }
body.partner-lab-page .reason-grid article h3 { color: #fff; font-size: 17px; }
body.partner-lab-page .reason-grid article p { color: #d3dae4; font-size: 13px; line-height: 1.95; }
body.partner-lab-page .reason-grid article::before, body.partner-lab-page .reason-grid article::after { border-color: rgba(255, 255, 255, .7); }
body.partner-lab-page .reason-grid article::before { left: 12px; top: 12px; }
body.partner-lab-page .reason-grid article::after { right: 12px; bottom: 12px; }

/* 表: 白い面と罫線 */
body.partner-lab-page .partner-table { background: var(--pl-white); }
body.partner-lab-page .partner-table th, body.partner-lab-page .partner-table td { border: 0; border-bottom: 1px solid var(--pl-line); padding: 20px 18px; font-size: 14px; }
body.partner-lab-page .partner-table tr:first-child th, body.partner-lab-page .partner-table tr:first-child td { border-top: 1px solid var(--pl-accent); }
body.partner-lab-page .partner-table th { color: var(--pl-accent); font-weight: 400; letter-spacing: .1em; }

/* 参入ステップ: 左の縦線と番号 */
body.partner-lab-page .partner-steps { gap: 14px; padding: 0; background: none; }
body.partner-lab-page .partner-steps li { position: relative; min-height: 170px; padding: 26px 22px 24px 26px; background: var(--pl-white); border-left: 2px solid var(--pl-accent); }
body.partner-lab-page .partner-steps span { font: 100 34px/1 var(--pl-num); color: var(--pl-accent); }
body.partner-lab-page .partner-steps b { font: 500 16px/1.5 var(--pl-sans); letter-spacing: .08em; color: var(--pl-text); }
body.partner-lab-page .partner-steps p { color: var(--pl-sub); }

/* 講師 */
body.partner-lab-page .instructor figure { padding: 10px; background: var(--pl-white); border: 1px solid var(--pl-line); }

/* 相談の帯: ネイビーの面に白、ボタンは白地にネイビー */
body.partner-lab-page .partner-section.contact { background: var(--pl-accent); color: #fff; }
body.partner-lab-page .partner-section.contact .partner-kicker { justify-content: center; color: #c9d4e3; }
body.partner-lab-page .partner-section.contact h2 { color: #fff; border-bottom-color: rgba(255, 255, 255, .35); display: inline-block; }
body.partner-lab-page .partner-section.contact p { color: #dbe3ee; }
body.partner-lab-page .partner-section.contact .partner-button { background: #fff; color: var(--pl-accent); border-color: #fff; }
body.partner-lab-page .partner-section.contact .partner-button::before, body.partner-lab-page .partner-section.contact .partner-button::after { border-color: #fff; }

/* コラム一覧・記事（Astro側）の見出し帯と相談帯 */
body.partner-lab-page .channel-hero { background: var(--pl-face); color: var(--pl-text); margin: 0 clamp(0px, 1.4vw, 20px); }
body.partner-lab-page .channel-hero p, body.partner-lab-page .channel-hero span { color: var(--pl-sub); }
body.partner-lab-page .channel-hero h1 { color: var(--pl-text); font-family: var(--pl-sans); font-weight: 300; letter-spacing: .12em; }
body.partner-lab-page .channel-hero p:first-child { color: var(--pl-accent); font-family: var(--pl-num); letter-spacing: .28em; }
body.partner-lab-page .partner-reading-cta, body.partner-lab-page .partner-article-cta { max-width: none; margin: 20px clamp(0px, 1.4vw, 20px) 0; background: var(--pl-accent); color: #fff; }
body.partner-lab-page .partner-reading-cta p, body.partner-lab-page .partner-article-cta p { color: #c9d4e3; font-family: var(--pl-num); }
body.partner-lab-page .partner-reading-cta h2, body.partner-lab-page .partner-article-cta h2 { font-family: var(--pl-sans); font-weight: 300; letter-spacing: .1em; }
body.partner-lab-page .partner-reading-cta span, body.partner-lab-page .partner-article-cta span { color: #dbe3ee; }
body.partner-lab-page .partner-reading-cta .partner-button, body.partner-lab-page .partner-article-cta .partner-button { background: #fff; color: var(--pl-accent); border-color: #fff; }
body.partner-lab-page .article-opening, body.partner-lab-page .channel-article--partner .article-opening { background: var(--pl-face); color: var(--pl-text); }
body.partner-lab-page .article-opening h1 { color: var(--pl-text); font-family: var(--pl-sans); font-weight: 400; letter-spacing: .08em; }
body.partner-lab-page .article-opening p, body.partner-lab-page .article-opening a, body.partner-lab-page .article-opening time { color: var(--pl-sub); }
body.partner-lab-page main a:not(.partner-button):not(.partner-nav-cta) { color: var(--pl-accent); }

@media (max-width: 1120px) {
  body.partner-lab-page .partner-lab-nav { background: var(--pl-white); inset: 72px 0 0; }
  body.partner-lab-page .partner-lab-nav a { border-bottom-color: var(--pl-line); }
}
@media (max-width: 860px) {
  .partner-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.partner-lab-page .reason-grid { grid-template-columns: 1fr; }
  .reason-photo { display: none; }
  body.partner-lab-page .reason-grid article { min-height: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  body.partner-lab-page .partner-section, body.partner-lab-page .partner-hero { margin-left: 0; margin-right: 0; }
}
@media (max-width: 560px) {
  body.partner-lab-page .partner-hero h1 { font-size: min(30px, 7vw); letter-spacing: .06em; }
  .partner-no { font-size: 34px; }
}

/* 2026-10-16 案B 画面確認の修正 */
body.partner-lab-page .partner-lab-nav a.partner-nav-cta { color: #fff; }
body.partner-lab-page .partner-hero .partner-kicker { justify-content: center; }
body.partner-lab-page #reason .partner-wrap { width: min(1180px, 100%); }
body.partner-lab-page .channel-hero h1, body.partner-lab-page .article-opening h1 { font-family: var(--pl-sans) !important; font-weight: 300 !important; letter-spacing: .1em !important; color: var(--pl-text) !important; }
body.partner-lab-page .channel-hero span, body.partner-lab-page .channel-hero > div > span,
body.partner-lab-page .article-opening .excerpt, body.partner-lab-page .article-opening span { color: var(--pl-sub) !important; }
body.partner-lab-page .channel-hero p, body.partner-lab-page .article-opening p { color: var(--pl-accent) !important; font-family: var(--pl-num) !important; letter-spacing: .28em !important; }
body.partner-lab-page .article-opening .back-link, body.partner-lab-page .article-opening a { color: var(--pl-accent) !important; border-color: var(--pl-line) !important; background: transparent !important; }
body.partner-lab-page .review-notice { border-color: var(--pl-accent) !important; color: var(--pl-accent) !important; }
@media (max-width: 860px) {
  body.partner-lab-page .partner-table th { padding-bottom: 4px; border-bottom: 0; }
  body.partner-lab-page .partner-table td { padding-top: 4px; }
}

/* 2026-10-16 コラム欄: 最新3本のカード（案Bの白い面・紺の文字） */
body.partner-lab-page #column .partner-wrap { width: min(1180px, 100%); }
.partner-column-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 8px 0 40px; }
.partner-column-grid:empty { display: none; }
.partner-column-grid .latest-card { display: block; background: var(--pl-face); border: 1px solid var(--pl-line); color: var(--pl-text) !important; transition: border-color .2s; }
.partner-column-grid .latest-card:hover { border-color: var(--pl-accent); }
.partner-column-grid .latest-card figure { margin: 0; aspect-ratio: 3 / 2; overflow: hidden; background: #d9dee6; }
.partner-column-grid .latest-card img { width: 100%; height: 100%; object-fit: cover; }
.partner-column-grid .latest-card > div { padding: 18px 20px 22px; }
.partner-column-grid .latest-card h3 { margin: 0 0 10px; font: 400 15px/1.75 var(--pl-sans) !important; letter-spacing: .06em; color: var(--pl-text) !important; }
.partner-column-grid .latest-card .journal-channel-description { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; line-height: 1.85; color: var(--pl-sub); }
.partner-column-grid .latest-card b { display: inline-block; margin-top: 12px; font: 400 12px/1 var(--pl-num); letter-spacing: .2em; color: var(--pl-accent); }
@media (max-width: 860px) { .partner-column-grid { grid-template-columns: 1fr; } }
.partner-column-grid:has(> :only-child) { grid-template-columns: minmax(0, 400px); justify-content: center; }
.partner-column-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 400px)); justify-content: center; }
/* 2026-10-29: コラムが2本・1本のときもスマホでは縦1列にする */
@media (max-width: 860px) { .partner-column-grid:has(> :only-child), .partner-column-grid:has(> :nth-child(2):last-child) { grid-template-columns: 1fr; } }

/* 2026-10-30: 行頭に小さい字が来ないように／文末の1文字だけが次の行に落ちるのを防ぐ */
html { line-break: strict; }
body.partner-lab-page p, body.partner-lab-page li, body.partner-lab-page dd, body.partner-lab-page td { text-wrap: pretty; }
.partner-steps b, .partner-steps p, .partner-features b { word-break: auto-phrase; text-wrap: balance; }
/* 2026-10-30: スマホの特徴4項目は文字を少し小さくして、語の途中で折れないように */
@media (max-width: 560px) {
  .partner-features li { padding: 22px 12px; }
  .partner-features b { font-size: 14px; letter-spacing: .04em; }
}
/* 2026-10-30: 初期費用の表はスマホでも「項目｜金額」の2列のまま見せる */
@media (max-width: 860px) {
  body.partner-lab-page #cost .partner-table th, body.partner-lab-page #cost .partner-table td { display: table-cell; width: auto; padding: 16px 12px; border-bottom: 1px solid var(--pl-line); }
  body.partner-lab-page #cost .partner-table th, body.partner-lab-page #cost .partner-table td { word-break: auto-phrase; }
  body.partner-lab-page #cost .partner-table th:last-child, body.partner-lab-page #cost .partner-table td:last-child { width: 53%; }
}
