/*
 * 業界ハブ（/hr/ /ad/ /fc/）用。page-hub.php 専用。
 * 組み方は bichiku.info（写真が主役・見出しは明朝・濃い色1色＋金）に合わせている。
 * 濃い色は業界ごと（HR＝深い青緑、AD＝深い臙脂、FC＝深い緑）。金と黄は共通。
 * body に .hub が付くので、子要素のクラスは必ず hub- で始める。
 */
.hub{
  --bg:#fbfaf7; --ink:#20302e; --deep:#134656; --deep2:#0d3542; --gold:#8a6a2e; --mark:#f2dd9b;
  --muted:#5e6a68; --line:#dcd9cf; --soft:#eef0ec;
  --min:'Shippori Mincho','YuMincho','Hiragino Mincho ProN',serif;
  --sans:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;
  margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.85;
}
.hub--ad{ --deep:#5c1d24; --deep2:#46141a; --soft:#f3eeec; }
.hub--fc{ --deep:#1f4a40; --deep2:#163a32; --soft:#eef0e9; }
.hub--top{ --deep:#16294a; --deep2:#0f1e38; --soft:#eef0f3; }
.hub *, .hub *::before, .hub *::after{ box-sizing:border-box; }
.hub a{ color:inherit; text-decoration:none; }
.hub img{ max-width:100%; height:auto; display:block; }
.hub :focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }
.hub h1, .hub h2, .hub h3{ font-family:var(--min); font-weight:500; margin:0; line-height:1.45; word-break:auto-phrase; }
.hub p{ margin:0; }

.hub-wrap{ max-width:1180px; width:calc(100% - 64px); margin-inline:auto; }
.hub-eb{ font-size:13px; font-weight:700; letter-spacing:.14em; color:var(--gold); margin-bottom:14px; }
.hub-eb--l{ color:var(--mark); }

/* ヘッダー */
.hub-hd__in{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 0; }
.hub-hd__logo img{ height:34px; width:auto; }
.hub-hd__n{ display:flex; align-items:center; gap:clamp(14px,2vw,28px); font-size:14px; font-weight:700; }
.hub-hd__n a:not(.hub-hd__cta):hover{ color:var(--gold); }
.hub .hub-hd__cta{ background:var(--deep); color:#fff; padding:10px 20px; border-radius:999px; white-space:nowrap; }
.hub .hub-hd__cta:hover{ background:var(--deep2); }

/* ヒーロー */
.hub-hero{ position:relative; min-height:640px; color:#fff; overflow:hidden; background:var(--deep2); }
.hub .hub-hero__ph{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hub-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,20,22,.72) 0%,rgba(10,20,22,.42) 48%,rgba(10,20,22,.16) 100%); }
.hub-hero__in{ position:relative; z-index:1; min-height:640px; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding:80px 0 150px; }
.hub-hero__t{ max-width:640px; min-width:0; }
.hub-hero__k{ font-size:13px; font-weight:700; letter-spacing:.14em; color:var(--mark); margin-bottom:22px; }
.hub-hero h1{ font-size:clamp(34px,4.6vw,58px); line-height:1.45; letter-spacing:.06em; text-shadow:0 2px 24px rgba(0,0,0,.25); }
.hub-hero__lead{ margin-top:22px; max-width:32em; font-size:15px; color:rgba(255,255,255,.9); }
.hub-hero__tate{ writing-mode:vertical-rl; font-family:var(--min); font-size:clamp(48px,6.4vw,92px); line-height:1.15; letter-spacing:.14em; align-self:flex-start; text-shadow:0 2px 30px rgba(0,0,0,.3); }

/* 写真にかかる3列 */
.hub-doors{ position:relative; z-index:2; margin-top:-96px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:#fff; border-top:3px solid var(--mark); box-shadow:0 28px 60px -30px rgba(10,30,30,.45); }
.hub-door{ display:flex; flex-direction:column; gap:8px; padding:30px 32px 32px; min-width:0; }
.hub-door + .hub-door{ border-left:1px solid var(--line); }
.hub-door__k{ font-size:12px; font-weight:700; letter-spacing:.1em; color:var(--gold); }
.hub-door__t{ font-family:var(--min); font-size:22px; line-height:1.5; }
.hub-door__d{ font-size:14px; color:var(--muted); line-height:1.75; }
.hub-door__go{ margin-top:auto; padding-top:14px; align-self:flex-start; font-weight:700; font-size:14px; color:var(--deep); border-bottom:1px solid currentColor; }
a.hub-door{ transition:background .2s; }
a.hub-door:hover{ background:var(--soft); }
.hub-door--calc{ background:var(--soft); }
.hub-door--calc .hub-door__t s{ color:var(--muted); text-decoration-thickness:1px; }
.hub-door--calc .hub-door__t b{ font-size:1.9em; font-weight:700; color:var(--deep); line-height:1; margin:0 2px; }
.hub-door--calc .hub-door__d{ font-size:12px; }

/* セクション */
.hub-sec{ padding-block:120px 110px; }
.hub-sec h2{ font-size:clamp(28px,3.4vw,42px); letter-spacing:.04em; }
.hub-sec__lead{ margin-top:16px; color:var(--muted); }

/* しくみ */
.hub-how .hub-wrap{ position:relative; }
.hub-how__big{ position:absolute; right:0; top:-40px; font-family:var(--min); font-size:280px; line-height:1; color:var(--soft); pointer-events:none; }
.hub-how h2, .hub-how .hub-eb, .hub-how .hub-sec__lead{ position:relative; }
.hub-track{ position:relative; margin:56px 0 40px; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.hub-track::before{ content:""; position:absolute; left:16.66%; right:16.66%; top:22px; height:2px; background:var(--line); }
.hub-track li{ position:relative; display:flex; flex-direction:column; align-items:center; gap:10px; margin:0; }
.hub-track i{ width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:#fff; border:2px solid var(--line); font-family:var(--min); font-style:normal; font-size:20px; color:var(--muted); }
.hub-track .is-on i{ background:var(--deep); border-color:var(--deep); color:#fff; box-shadow:0 0 0 6px var(--soft); }
.hub-track b{ font-family:var(--min); font-weight:500; font-size:18px; }
.hub-panel{ display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr); background:#fff; border:1px solid var(--line); }
.hub-panel__l{ background:var(--deep); color:#fff; padding:36px 32px; display:flex; flex-direction:column; gap:16px; }
.hub-panel__k{ font-size:12px; font-weight:700; letter-spacing:.14em; color:var(--mark); }
.hub-panel__t{ font-family:var(--min); font-size:28px; line-height:1.5; }
.hub-panel__d{ font-size:14px; color:rgba(255,255,255,.85); }
.hub-panel__r{ margin:0; padding:8px 32px; list-style:none; }
.hub-panel__r li{ display:grid; grid-template-columns:34px 48px minmax(0,1fr); gap:16px; align-items:start; padding:24px 0; margin:0; }
.hub-panel__r li + li{ border-top:1px solid var(--line); }
.hub-panel__n{ width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--soft); font-size:14px; font-weight:700; color:var(--muted); margin-top:6px; }
.hub-panel__ic{ width:48px; height:48px; display:grid; place-items:center; background:#f6f1e3; color:var(--gold); }
.hub-panel__r h3{ font-family:var(--sans); font-weight:700; font-size:18px; line-height:1.5; }
.hub-panel__r p{ font-size:14px; color:var(--muted); margin-top:2px; }
.hub-pills{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px !important; }
.hub-pills a{ display:inline-flex; gap:6px; align-items:center; padding:8px 14px; font-size:13px; font-weight:700; color:var(--ink); background:var(--soft); }
.hub-pills a.is-main{ background:var(--mark); }
.hub-pills a:hover{ background:var(--deep); color:#fff; }

/* 波で切った写真の帯 */
.hub-band{ position:relative; overflow:hidden; color:#fff; background:var(--deep2); }
.hub .hub-band__ph{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.5; }
.hub-wave{ position:absolute; left:0; width:100%; height:60px; z-index:2; fill:var(--bg); }
.hub-wave--t{ top:-1px; } .hub-wave--b{ bottom:-1px; }
.hub-band__in{ position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; flex-wrap:wrap; padding:150px 0 140px; }
.hub-band__t{ font-family:var(--min); font-size:clamp(28px,3.8vw,48px); line-height:1.5; letter-spacing:.04em; }
.hub-band__d{ margin-top:14px; font-size:14px; color:rgba(255,255,255,.85); }
.hub .hub-band__cta{ display:inline-flex; gap:10px; align-items:center; padding:18px 34px; background:var(--mark); color:var(--ink); font-weight:700; transition:background .2s; }
.hub .hub-band__cta:hover{ background:#fff; }

/* 記事 */
.hub-read{ margin-top:40px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:40px; align-items:start; }
.hub-feat{ display:block; background:#fff; border:1px solid var(--line); }
.hub-feat__ph{ overflow:hidden; }
.hub .hub-feat img{ width:100%; aspect-ratio:1200/630; object-fit:cover; transition:transform .6s; }
.hub-feat:hover img{ transform:scale(1.03); }
.hub-feat__in{ padding:26px 30px 30px; display:flex; flex-direction:column; gap:6px; border-top:3px solid var(--mark); }
.hub-feat__k{ font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--gold); }
.hub-feat__t{ font-family:var(--min); font-size:clamp(22px,2.4vw,30px); line-height:1.5; }
.hub-feat:hover .hub-feat__t{ color:var(--deep); }
.hub-feat__d{ font-size:14px; color:var(--muted); }
.hub-list{ margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.hub-list li{ margin:0; border-bottom:1px solid var(--line); }
.hub-list a{ display:grid; grid-template-columns:120px minmax(0,1fr) 20px; gap:18px; align-items:center; padding:20px 0; }
.hub .hub-list img{ width:120px; height:auto; aspect-ratio:1200/630; object-fit:cover; }
.hub-list b{ display:block; font-family:var(--min); font-weight:500; font-size:19px; line-height:1.5; }
.hub-list small{ display:block; margin-top:4px; font-size:13px; line-height:1.7; color:var(--muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hub-list i{ font-style:normal; color:var(--gold); transition:transform .2s; }
.hub-list a:hover b{ color:var(--deep); } .hub-list a:hover i{ transform:translateX(4px); }
.hub-more{ margin:36px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; }
.hub-more li{ margin:0; border-top:1px solid var(--line); }
.hub-more a{ display:block; padding:16px 0; font-weight:700; font-size:15px; }
.hub-more a:hover{ color:var(--deep); }
.hub-all{ margin-top:32px; }
.hub-all a{ font-weight:700; color:var(--deep); border-bottom:1px solid currentColor; }

/* 流れる一文 */
.hub-loop{ overflow:hidden; padding-block:10px 40px; }
.hub-loop__in{ display:flex; width:max-content; animation:hub-loop 46s linear infinite; }
.hub-loop span{ padding-right:1.2em; font-family:var(--min); font-size:clamp(64px,9vw,130px); line-height:1.2; white-space:nowrap; color:transparent; -webkit-text-stroke:1px #bdb6a5; }
@keyframes hub-loop{ to{ transform:translateX(-50%); } }

/* 相談 */
.hub-cta{ background:var(--deep); color:#fff; }
.hub-cta__in{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; flex-wrap:wrap; padding:110px 0; }
.hub-cta h2{ font-size:clamp(28px,3.4vw,42px); line-height:1.5; letter-spacing:.04em; color:#fff; }
.hub-cta p:not(.hub-eb){ margin-top:14px; color:rgba(255,255,255,.85); font-size:15px; }
.hub .hub-cta__b{ display:inline-flex; gap:10px; align-items:center; padding:20px 40px; background:var(--mark); color:var(--ink); font-weight:700; transition:background .2s; }
.hub .hub-cta__b:hover{ background:#fff; }

/* フッター */
.hub-ft{ padding-block:32px; font-size:13px; color:var(--muted); }
.hub-ft__n{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-bottom:10px; font-weight:700; }
.hub-ft__n a:hover{ color:var(--gold); }

@media (max-width:900px){
  .hub-doors{ grid-template-columns:minmax(0,1fr); }
  .hub-door + .hub-door{ border-left:0; border-top:1px solid var(--line); }
  .hub-panel{ grid-template-columns:minmax(0,1fr); }
  .hub-read{ grid-template-columns:minmax(0,1fr); }
  .hub-more{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:640px){
  .hub-wrap{ width:calc(100% - 40px); }
  .hub-hd__n a:not(.hub-hd__cta){ display:none; }
  .hub-hero, .hub-hero__in{ min-height:560px; }
  .hub-hero__in{ padding:56px 0 130px; }
  .hub-hero__tate{ position:absolute; right:0; top:36px; font-size:44px; opacity:.85; }
  .hub-hero__t{ padding-right:48px; }
  .hub-hero h1{ font-size:27px; letter-spacing:.03em; }
  .hub-hero__tate{ font-size:38px; }
  .hub-door{ padding:24px; }
  .hub-sec{ padding-block:80px; }
  .hub-how__big{ font-size:180px; top:-20px; }
  .hub-track b{ font-size:15px; }
  .hub-panel__r{ padding:0 20px; }
  .hub-panel__r li{ grid-template-columns:34px minmax(0,1fr); }
  .hub-panel__ic{ display:none; }
  .hub-band__in{ padding:110px 0 100px; }
  .hub-list a{ grid-template-columns:92px minmax(0,1fr) 16px; gap:14px; }
  .hub .hub-list img{ width:92px; }
  .hub-list b{ font-size:16px; }
  .hub-cta__in{ padding:80px 0; }
}
/* ===== トップ（front-page.php）だけの部品 ===== */
.hub .top-note{ margin:18px auto 0; font-size:13px; color:var(--muted); }
.top-faq h2{ font-size:clamp(26px,2.8vw,34px); }
.hub-track--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.hub-track--4::before{ left:12.5%; right:12.5%; }
.top-two-sec{ padding-top:0; }
.top-two{ margin-top:40px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.top-two article{ padding:44px 40px; min-width:0; }
.top-two__a{ background:var(--deep); color:#fff; }
.top-two__b{ background:var(--soft); }
.top-two__k{ font-size:12px; font-weight:700; letter-spacing:.14em; color:var(--gold); margin-bottom:12px; }
.top-two__a .top-two__k{ color:var(--mark); }
.top-two h3{ font-size:clamp(22px,2.4vw,28px); line-height:1.55; margin-bottom:26px; }
.top-two ul{ margin:0; padding:0; list-style:none; display:grid; gap:18px; }
.top-two li{ margin:0; padding-left:28px; position:relative; font-size:14px; line-height:1.8; }
.top-two li::before{ content:""; position:absolute; left:2px; top:.55em; width:12px; height:7px; border-left:2px solid var(--gold); border-bottom:2px solid var(--gold); transform:rotate(-45deg); }
.top-two__a li::before{ border-color:var(--mark); }
.top-two li b{ display:block; font-size:16px; margin-bottom:2px; }
.top-two__a li{ color:rgba(255,255,255,.85); } .top-two__a li b{ color:#fff; }
.top-two__b li{ color:var(--muted); } .top-two__b li b{ color:var(--ink); }
.top-find{ display:flex; flex-direction:column; gap:12px; }
.hub .top-find__2{ background:#fff; }
.top-all{ display:flex; flex-wrap:wrap; gap:14px 28px; }
.top-faq-sec{ background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.top-faq{ display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr); gap:56px; }
.top-faq__l details{ border-top:1px solid var(--line); }
.top-faq__l details:last-child{ border-bottom:1px solid var(--line); }
.top-faq__l summary{ list-style:none; cursor:pointer; position:relative; padding:22px 44px 22px 0; font-family:var(--min); font-size:18px; line-height:1.55; }
.top-faq__l summary::-webkit-details-marker{ display:none; }
.top-faq__l summary::after{ content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%); font-family:var(--sans); font-size:22px; color:var(--gold); }
.top-faq__l details[open] summary::after{ content:"−"; }
.top-faq__l p{ padding:0 0 22px; font-size:15px; color:var(--muted); }
@media (max-width:900px){
  .top-two, .top-faq{ grid-template-columns:minmax(0,1fr); }
  .top-faq{ gap:24px; }
}
@media (max-width:640px){
  .hub-track--4 b{ font-size:13px; text-align:center; }
  .top-two article{ padding:32px 24px; }
}

/* トップのヒーロー：文字を縦の中央に、写真の夕焼けを見せる */
.hub-hero--top, .hub-hero--top .hub-hero__in{ min-height:720px; }
.hub-hero--top .hub-hero__in{ align-items:center; padding:90px 0 170px; }
.hub-hero--top::after{ background:linear-gradient(90deg,rgba(8,14,26,.74) 0%,rgba(8,14,26,.38) 52%,rgba(8,14,26,.12) 100%),linear-gradient(0deg,rgba(8,14,26,.55) 0%,transparent 40%); }
.hub-hero--top .hub-hero__ph{ object-position:center 62%; }
.hub-hero--top .hub-hero__tate{ align-self:center; }

/* 売る側・買う側のイラスト */
.top-two article{ position:relative; }
.top-two__ill{ position:absolute; right:32px; top:28px; width:auto; height:118px; }
.top-two__a .top-two__ill{ background:#fff; border-radius:50%; padding:10px; height:132px; width:132px; object-fit:contain; }
.top-two__b .top-two__ill{ background:#fff; border-radius:50%; padding:12px; height:132px; width:132px; object-fit:contain; }
.top-two h3{ padding-right:150px; }

/* 業界別 */
.top-line-sec{ padding-top:110px; }
.top-line{ margin-top:44px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.top-line__i{ --c:#00A9CE; display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid var(--line); border-top:4px solid var(--c); }
.top-line__i--ad{ --c:#CB1A1D; } .top-line__i--fc{ --c:#0E8A5F; }
.top-line__ph{ height:180px; display:grid; place-items:center; background:var(--soft); border-bottom:1px solid var(--line); }
.hub .top-line__ph img{ max-height:132px; width:auto; mix-blend-mode:multiply; }
.hub .top-line__i--hr .top-line__ph img{ max-height:104px; }
.top-line__b{ padding:26px 28px 30px; display:flex; flex-direction:column; gap:8px; flex:1; }
.hub .top-line__logo img{ height:30px; width:auto; }
.top-line__k{ margin-top:6px !important; font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--c); }
.top-line h3{ font-size:22px; line-height:1.5; }
.top-line__d{ font-size:14px; color:var(--muted); }
.top-line__b2{ margin:auto 0 0; padding:14px 0 0; list-style:none; display:grid; gap:0; border-top:1px solid var(--line); }
.top-line__b2 li{ margin:0; }
.top-line__b2 a{ display:flex; justify-content:space-between; gap:12px; padding:11px 0; font-size:14px; font-weight:700; border-bottom:1px dashed var(--line); }
.top-line__b2 li:last-child a{ border-bottom:0; }
.top-line__b2 a span{ color:var(--c); }
.top-line__b2 a:hover{ color:var(--c); }
@media (max-width:900px){ .top-line{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:640px){
  .hub-hero--top, .hub-hero--top .hub-hero__in{ min-height:600px; }
  .hub-hero--top .hub-hero__in{ padding:60px 0 140px; }
  .top-two__ill, .top-two__a .top-two__ill, .top-two__b .top-two__ill{ position:static; width:96px; height:96px; margin-bottom:14px; }
  .top-two h3{ padding-right:0; }
}

/* トップのヒーロー（写真なし）：大きな明朝＋「一括→12回」の図 */
.top-hero{ position:relative; overflow:hidden; background:var(--bg); border-bottom:1px solid var(--line); }
.top-hero::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:64px 64px; opacity:.35; -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%,#000 100%); mask-image:linear-gradient(90deg,transparent 0%,#000 55%,#000 100%); }
.top-hero__big{ position:absolute; right:-40px; top:-120px; font-family:var(--min); font-size:640px; line-height:1; color:transparent; -webkit-text-stroke:1px #d9d2c0; pointer-events:none; }
.top-hero__in{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,440px) auto; gap:48px; align-items:center; padding:96px 0 176px; }
.top-hero__t{ min-width:0; }
.top-hero__k{ font-size:13px; font-weight:700; letter-spacing:.14em; color:var(--gold); margin-bottom:24px !important; }
.top-hero h1{ font-size:clamp(34px,3.9vw,52px); line-height:1.5; letter-spacing:.05em; color:var(--deep); white-space:nowrap; }
.top-br{ display:none; }
.top-hero__lead{ margin-top:26px !important; max-width:30em; font-size:15px; color:var(--muted); }
.top-hero__acts{ margin-top:34px !important; display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; }
.hub .top-hero__b1{ display:inline-flex; gap:10px; align-items:center; padding:16px 32px; background:var(--deep); color:#fff; font-weight:700; transition:background .2s; }
.hub .top-hero__b1:hover{ background:var(--deep2); }
.hub .top-hero__b2{ font-weight:700; color:var(--deep); border-bottom:1px solid currentColor; padding-bottom:2px; }
.top-hero__tate{ writing-mode:vertical-rl; font-family:var(--min); font-size:34px; letter-spacing:.3em; color:var(--gold); align-self:start; }

.top-fig{ position:relative; margin:0; min-width:0; color:#fff; border-radius:16px; padding:30px 30px 24px; overflow:visible;
  background:radial-gradient(120% 90% at 100% 0%,#22396a 0%,transparent 60%),var(--deep);
  box-shadow:0 40px 80px -36px rgba(15,30,56,.65),0 0 0 1px rgba(255,255,255,.04) inset; }
.top-fig::before{ content:""; position:absolute; inset:0; border-radius:16px; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:28px 28px; }
.top-fig > *{ position:relative; }
.top-fig__badge{ position:absolute !important; left:-26px; top:-20px; z-index:2; display:inline-flex; align-items:center; gap:8px; padding:10px 16px; background:#fff; color:var(--deep); border-radius:999px; font-size:12px; font-weight:700; box-shadow:0 14px 30px -12px rgba(15,30,56,.45); }
.top-fig__badge svg{ color:var(--gold); }
.top-fig__head{ display:flex; justify-content:space-between; align-items:center; }
.top-fig__lab{ font-family:Inter,var(--sans); font-size:10px; font-weight:700; letter-spacing:.32em; color:var(--mark); }
.top-fig__pill{ font-size:11px; font-weight:700; padding:4px 12px; border:1px solid rgba(242,221,155,.5); border-radius:999px; color:var(--mark); }
.top-fig__nums{ margin-top:18px; display:flex; justify-content:space-between; align-items:flex-end; gap:12px; }
.top-fig__nums p{ display:flex; flex-direction:column; gap:2px; }
.top-fig__nums small{ font-size:11px; color:rgba(255,255,255,.6); letter-spacing:.06em; }
.top-fig__nums s{ font-family:var(--min); font-size:20px; color:rgba(255,255,255,.55); text-decoration-thickness:1px; }
.top-fig__to{ text-align:right; align-items:flex-end; }
.top-fig__to b{ font-family:var(--min); font-size:38px; font-weight:500; line-height:1.1; color:#fff; letter-spacing:.02em; }
.top-fig__to em{ font-style:normal; font-size:14px; color:var(--mark); margin-left:4px; }
.top-fig__chart{ position:relative; margin-top:18px; height:200px; display:flex; align-items:flex-end; gap:14px; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.18); }
.top-fig__one{ position:relative; width:52px; height:calc(100% - 0px); flex:none; }
.top-fig__one i{ position:absolute; inset:0 0 0 0; border:1.5px solid var(--mark); border-radius:3px 3px 0 0; background:repeating-linear-gradient(-45deg,transparent 0 5px,rgba(242,221,155,.16) 5px 6px); }
.top-fig__curve{ position:absolute; left:58px; right:6px; top:0; height:calc(100% - 30px); width:auto; color:var(--mark); opacity:.75; }
.top-fig__bars{ flex:1; height:100%; display:flex; align-items:flex-end; gap:4px; }
.top-fig__bars span{ position:relative; flex:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; }
.top-fig__bars i{ display:block; height:calc((100% - 0px) / 12); border-radius:2px 2px 0 0; background:#fff; box-shadow:0 0 14px rgba(255,255,255,.25); transform-origin:bottom; animation:top-rise .6s cubic-bezier(.2,.8,.2,1) var(--d) both; }
.top-fig__bars em{ position:absolute; left:0; right:0; bottom:-17px; text-align:center; font-style:normal; font-family:Inter,var(--sans); font-size:9px; color:rgba(255,255,255,.45); }
@keyframes top-rise{ from{ transform:scaleY(0); opacity:0; } to{ transform:scaleY(1); opacity:1; } }
.top-fig__flow{ position:relative; margin:22px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.top-fig__flow::before{ content:""; position:absolute; left:16.66%; right:16.66%; top:21px; border-top:1px dashed rgba(242,221,155,.55); }
.top-fig__flow li{ position:relative; margin:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; }
.top-fig__ic{ width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#22355c; border:1px solid rgba(255,255,255,.18); color:#fff; }
.top-fig__flow .is-pd .top-fig__ic{ background:var(--mark); border-color:var(--mark); color:var(--deep); box-shadow:0 0 0 6px rgba(242,221,155,.15); }
.top-fig__flow b{ margin-top:4px; font-family:var(--min); font-weight:500; font-size:15px; }
.top-fig__flow small{ font-size:11px; line-height:1.5; color:rgba(255,255,255,.65); }
.top-fig__n{ margin-top:18px; font-size:10.5px; line-height:1.6; color:rgba(255,255,255,.5); }
@media (max-width:1100px){
  .top-hero__in{ grid-template-columns:minmax(0,1fr) minmax(0,420px); }
  .top-hero__tate{ display:none; }
}
@media (max-width:860px){
  .top-hero__in{ grid-template-columns:minmax(0,1fr); gap:40px; padding:56px 0 150px; }
  .top-hero__big{ font-size:360px; top:-40px; right:-30px; }
  .top-br{ display:inline; }
  .top-hero h1{ white-space:normal; }
}
@media (max-width:640px){
  .top-hero h1{ font-size:31px; letter-spacing:.04em; }
  .top-fig{ padding:28px 18px 20px; }
  .top-fig__badge{ left:12px; top:-18px; }
  .top-fig__to b{ font-size:30px; }
  .top-fig__chart{ height:160px; gap:10px; }
  .top-fig__one{ width:38px; }
  .top-fig__curve{ left:44px; }
  .top-fig__flow b{ font-size:13px; }
}
@media (prefers-reduced-motion:reduce){ .top-fig__bars i{ animation:none; } }

/* トップ：記事の下の3カテゴリ */
.top-cats{ margin-top:48px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.top-cat{ --c:#00A9CE; position:relative; display:flex; flex-direction:column; min-width:0; padding:26px 26px 22px; background:#fff; border:1px solid var(--line); overflow:hidden; transition:border-color .2s,box-shadow .2s; }
.top-cat--ad{ --c:#CB1A1D; } .top-cat--fc{ --c:#0E8A5F; }
.top-cat::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--c); }
.top-cat:hover{ border-color:var(--c); box-shadow:0 18px 40px -26px rgba(15,30,56,.4); }
.top-cat__k{ font-family:Inter,var(--sans); font-size:11px; font-weight:700; letter-spacing:.2em; color:var(--c); }
.top-cat__t{ margin-top:6px !important; display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-family:var(--min); font-size:21px; }
.top-cat__t span{ font-family:var(--min); font-size:34px; line-height:1; color:var(--c); }
.top-cat__t small{ font-size:13px; margin-left:2px; color:var(--muted); }
.top-cat ul{ margin:16px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.top-cat li{ margin:0; border-bottom:1px solid var(--line); }
.top-cat li a{ display:block; padding:11px 0 11px 16px; position:relative; font-size:14px; font-weight:700; line-height:1.5; }
.top-cat li a::before{ content:""; position:absolute; left:2px; top:1.2em; width:6px; height:6px; border-top:1.5px solid var(--c); border-right:1.5px solid var(--c); transform:rotate(45deg); }
.top-cat li a:hover{ color:var(--c); }
.top-cat__go{ margin-top:16px; align-self:flex-end; font-size:13px; font-weight:700; color:var(--c); }

/* 共通フッター（inc/hub-footer.php） */
.hub-fx{ position:relative; overflow:hidden; background:#0b1426; color:rgba(255,255,255,.78); border-top:1px solid rgba(242,221,155,.35); }
.hub--ad .hub-fx{ background:#2b0d11; } .hub--fc .hub-fx{ background:#0f241f; } .hub--hr .hub-fx{ background:#0a2530; }
.hub-fx a{ color:inherit; }
.hub-fx__top{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; padding:84px 0 56px; border-bottom:1px solid rgba(255,255,255,.12); }
.hub .hub-fx__brand img{ height:44px; width:auto; }
.hub-fx__tag{ margin-top:26px !important; font-family:var(--min); font-size:clamp(24px,2.8vw,34px); line-height:1.5; letter-spacing:.05em; color:#fff; }
.hub-fx__d{ margin-top:14px !important; font-size:13px; line-height:1.9; color:rgba(255,255,255,.6); }
.hub-fx__ask{ display:flex; flex-direction:column; align-items:flex-end; gap:14px; text-align:right; }
.hub-fx__ask p{ font-size:13px; line-height:1.8; color:rgba(255,255,255,.6); }
.hub .hub-fx__ask a{ display:inline-flex; gap:10px; align-items:center; padding:16px 34px; background:var(--mark); color:#0b1426; font-weight:700; border-radius:999px; transition:background .2s,transform .2s; }
.hub .hub-fx__ask a:hover{ background:#fff; transform:translateY(-2px); }
.hub-fx__cols{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; padding:48px 0; }
.hub-fx__col{ --c:#5fcbe3; min-width:0; }
.hub-fx__col--ad{ --c:#f07a7c; } .hub-fx__col--fc{ --c:#5cc29a; } .hub-fx__col--pd{ --c:var(--mark); }
.hub-fx__h{ margin-bottom:14px !important; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.14); font-family:Inter,var(--sans); font-size:13px; font-weight:700; letter-spacing:.12em; }
.hub-fx__h a{ display:flex; align-items:center; gap:10px; color:#fff; }
.hub-fx__h a::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--c); }
.hub-fx__col ul{ margin:0; padding:0; list-style:none; display:grid; gap:4px; }
.hub-fx__col li{ margin:0; }
.hub-fx__col li a{ display:inline-block; padding:4px 0; font-size:13.5px; transition:color .2s,transform .2s; }
.hub-fx__col li a:hover{ color:var(--c); transform:translateX(3px); }
.hub-fx__bot{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:22px 0 28px; border-top:1px solid rgba(255,255,255,.12); font-size:12px; color:rgba(255,255,255,.5); }
.hub-fx__bot a{ border-bottom:1px solid rgba(255,255,255,.3); }
.hub-fx__bot a:hover{ color:#fff; }
.hub-fx__big{ margin:0 0 -0.22em !important; padding:0 2vw; font-family:var(--min); font-size:clamp(48px,10.6vw,168px); line-height:1; letter-spacing:.01em; white-space:nowrap; text-align:center; color:transparent; -webkit-text-stroke:1px rgba(242,221,155,.28); user-select:none; }
@media (max-width:900px){
  .top-cats{ grid-template-columns:minmax(0,1fr); }
  .hub-fx__cols{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hub-fx__ask{ align-items:flex-start; text-align:left; }
}
@media (max-width:520px){ .hub-fx__cols{ grid-template-columns:minmax(0,1fr); gap:24px; } .hub-fx__top{ padding-top:64px; } }

/* ===== お問い合わせ（page-contact.php） ===== */
.hub .pd-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.ct-hero{ position:relative; overflow:hidden; padding:56px 0 64px; border-bottom:1px solid var(--line); }
.ct-hero__big{ position:absolute; right:-20px; bottom:-60px; font-family:var(--min); font-size:clamp(120px,20vw,280px); line-height:1; color:transparent; -webkit-text-stroke:1px #d9d2c0; pointer-events:none; }
.ct-hero .hub-wrap{ position:relative; }
.ct-crumb{ display:flex; gap:10px; margin-bottom:34px; font-size:12px; color:var(--muted); }
.hub .ct-crumb a{ color:var(--muted); }
.ct-hero h1{ font-size:clamp(32px,4.2vw,52px); line-height:1.45; letter-spacing:.05em; color:var(--deep); }
.ct-hero__lead{ margin-top:20px !important; max-width:40em; color:var(--muted); font-size:15px; }
.ct-steps{ margin:40px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:820px; }
.ct-steps li{ position:relative; margin:0; display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:14px; align-items:center; padding-right:24px; }
.ct-steps li + li::before{ content:""; position:absolute; left:-18px; top:22px; width:10px; height:10px; border-top:1.5px solid var(--gold); border-right:1.5px solid var(--gold); transform:translateY(-50%) rotate(45deg); }
.ct-steps i{ grid-row:span 2; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#fff; border:2px solid var(--line); font-family:var(--min); font-style:normal; font-size:18px; color:var(--deep); }
.ct-steps li:first-child i{ background:var(--deep); border-color:var(--deep); color:#fff; }
.ct-steps b{ font-size:15px; }
.ct-steps span{ font-size:12px; color:var(--muted); }
.ct-body{ padding:64px 0 110px; }
.ct-grid{ display:grid; grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:40px; align-items:start; }
.ct-side{ position:relative; padding:32px 28px 150px; background:var(--deep); color:rgba(255,255,255,.85); overflow:hidden; }
.ct-side__k{ font-size:12px; font-weight:700; letter-spacing:.14em; color:var(--mark); margin-bottom:18px !important; }
.ct-side__g + .ct-side__g{ margin-top:22px; }
.ct-side__h{ font-family:var(--min); font-size:18px; color:#fff; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.18); }
.ct-side ul{ margin:10px 0 0; padding:0; list-style:none; display:grid; gap:8px; }
.ct-side li{ margin:0; position:relative; padding-left:22px; font-size:14px; line-height:1.7; }
.ct-side li::before{ content:""; position:absolute; left:2px; top:.55em; width:10px; height:6px; border-left:2px solid var(--mark); border-bottom:2px solid var(--mark); transform:rotate(-45deg); }
.ct-side__n{ margin-top:22px !important; font-size:12px; color:rgba(255,255,255,.6); }
.hub .ct-side__ill{ position:absolute; right:18px; bottom:18px; width:120px; height:auto; background:#fff; border-radius:50%; padding:14px; }
.ct-main{ min-width:0; }
.ct-form{ background:#fff; border:1px solid var(--line); border-top:3px solid var(--mark); padding:40px 44px 44px; box-shadow:0 30px 60px -40px rgba(15,30,56,.35); }
.ct-set{ margin:0; padding:0; border:0; min-width:0; }
.ct-set + .ct-set{ margin-top:36px; padding-top:30px; border-top:1px solid var(--line); }
.ct-legend{ float:none; width:100%; display:flex; align-items:center; gap:10px; padding:0; margin-bottom:18px; font-family:var(--min); font-size:22px; color:var(--ink); }
.ct-num{ font-family:Inter,var(--sans); font-size:12px; font-weight:700; letter-spacing:.14em; color:var(--gold); }
.ct-req, .ct-opt{ display:inline-block; padding:1px 8px; border-radius:3px; font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:0; vertical-align:2px; }
.ct-req{ background:#fbe6df; color:#8a2f1d; } .ct-opt{ background:var(--soft); color:var(--muted); }
.ct-roles{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ct-role{ position:relative; display:block; cursor:pointer; }
.ct-role input{ position:absolute; opacity:0; inset:0; margin:0; }
.ct-role__box{ display:flex; flex-direction:column; gap:6px; height:100%; padding:20px 20px 18px 20px; border:1.5px solid var(--line); background:var(--bg); transition:border-color .2s,background .2s,box-shadow .2s; }
.hub .ct-role__box img{ height:60px; width:84px; object-fit:contain; object-position:left center; mix-blend-mode:multiply; margin-bottom:6px; }
.ct-role__l{ font-size:16px; font-weight:700; color:var(--ink); }
.ct-role__d{ font-size:13px; line-height:1.6; color:var(--muted); }
.ct-role:hover .ct-role__box{ border-color:var(--deep); }
.ct-role input:checked + .ct-role__box{ border-color:var(--deep); background:#fff; box-shadow:0 0 0 3px rgba(22,41,74,.12); }
.ct-role input:checked + .ct-role__box .ct-role__l::after{ content:"選択中"; margin-left:8px; padding:1px 8px; font-size:11px; background:var(--deep); color:#fff; border-radius:999px; vertical-align:2px; }
.ct-role input:focus-visible + .ct-role__box{ outline:3px solid var(--gold); outline-offset:2px; }
.ct-fields{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; }
.ct-row{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.ct-label{ font-size:14px; font-weight:700; color:var(--ink); }
.ct-input{ width:100%; padding:14px 16px; border:1.5px solid var(--line); border-radius:4px; background:var(--bg); font:inherit; font-size:16px; color:var(--ink); transition:border-color .2s,background .2s; }
.ct-input::placeholder{ color:#a7a49a; }
.ct-input:focus{ outline:0; border-color:var(--deep); background:#fff; box-shadow:0 0 0 3px rgba(22,41,74,.1); }
.ct-textarea{ min-height:180px; resize:vertical; line-height:1.8; }
.ct-agree{ margin-top:30px !important; padding:16px 18px; background:var(--soft); font-size:13px; line-height:1.7; }
.ct-agree label{ display:flex; gap:12px; align-items:flex-start; cursor:pointer; }
.ct-agree input{ flex:none; width:20px; height:20px; margin-top:2px; accent-color:var(--deep); }
.ct-acts{ margin-top:28px; display:flex; justify-content:center; }
.ct-submit{ display:inline-flex; align-items:center; gap:12px; padding:20px 56px; border:0; border-radius:999px; background:var(--deep); color:#fff; font:inherit; font-size:16px; font-weight:700; cursor:pointer; transition:background .2s,transform .2s; box-shadow:0 18px 36px -20px rgba(15,30,56,.7); }
.ct-submit:hover{ background:var(--deep2); transform:translateY(-2px); }
.ct-submit:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }
.ct-note{ padding:32px 34px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--deep); margin-bottom:24px; }
.ct-note--err{ border-left-color:#b23a26; }
.ct-note__t{ font-family:var(--min); font-size:22px; color:var(--ink); }
.ct-note__d{ margin-top:8px !important; font-size:14px; color:var(--muted); }
.hub .ct-note__b{ display:inline-flex; gap:8px; margin-top:20px; padding:12px 26px; border:1px solid var(--deep); color:var(--deep); font-weight:700; border-radius:999px; }
@media (max-width:900px){
  .ct-grid{ grid-template-columns:minmax(0,1fr); }
  .ct-side{ order:2; }
}
@media (max-width:640px){
  .ct-steps{ grid-template-columns:minmax(0,1fr); gap:14px; }
  .ct-steps li + li::before{ display:none; }
  .ct-form{ padding:28px 20px 32px; }
  .ct-roles, .ct-fields{ grid-template-columns:minmax(0,1fr); }
  .ct-submit{ width:100%; justify-content:center; padding:18px 24px; }
}

@media (prefers-reduced-motion:reduce){
  .hub-loop__in{ animation:none; }
  .hub-feat img, .hub-list i, a.hub-door{ transition:none; }
}

.hub .top-how__more{ margin-left:12px; font-weight:700; color:var(--deep); border-bottom:1px solid currentColor; white-space:nowrap; }

/* M&A を足して4業界に（2026-11-08）。トップだけ4列、業界ハブの .hub-doors は3列のまま */
.hub--top .hub-doors{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.hub--top .top-line{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.top-line__i--ma{ --c:#3B5BDB; }
.top-line__txtlogo{ display:inline-flex; align-items:center; gap:6px; line-height:1; color:#111; }
.hub .top-line__txtlogo img{ height:30px; width:auto; }
.top-line__txtlogo i{ font-style:normal; font-family:Inter,var(--sans); font-size:10px; font-weight:700; }
.top-line__txtlogo b{ font-family:Inter,var(--sans); font-size:26px; font-weight:800; letter-spacing:-.02em; color:#3B5BDB; }
@media (max-width:1100px){ .hub--top .hub-doors, .hub--top .top-line{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px){ .hub--top .hub-doors, .hub--top .top-line{ grid-template-columns:minmax(0,1fr); } }
/* M&A の業界ハブ（/ma/）。濃い色は藍 */
.hub--ma{ --deep:#24378F; --deep2:#1A2A70; --soft:#EEF1FA; }
/* スマホでは業界ハブのヒーローの縦書きが見出しに重なるので出さない（2026-11-08、/ma/ で気づいた。全ハブ共通） */
@media (max-width:640px){ .hub-hero__tate{ display:none; } }

/* ===== 業界ハブのヒーローに本田氏（2026-11-08 本人指示）=====
 * 背景の写真は業界の濃い色で染めて地紋に下げ、人物を右に立てる。人物の下は「写真にかかる3列」が手前に重なる。
 * 写真は透過PNG（hero-honda-cut.png）。縦書きは人物とぶつかるので出さない（$pd_hubs の tate は未使用のまま残す）。 */
.hub--honda .hub-hero{ background:var(--deep); }
.hub--honda .hub-hero__ph{ filter:grayscale(1) contrast(1.05); mix-blend-mode:multiply; opacity:.5; }
.hub--honda .hub-hero::after{ background:radial-gradient(60% 80% at 78% 45%,rgba(255,255,255,.14) 0%,transparent 60%),linear-gradient(90deg,rgba(6,12,24,.55) 0%,rgba(6,12,24,.2) 55%,transparent 100%); }
.hub--honda .hub-hero__in{ min-height:680px; }
.hub--honda .hub-hero__t{ position:relative; z-index:2; max-width:min(640px,54%); }
.hub-honda{ position:absolute; z-index:1; right:0; bottom:0; margin:0; height:clamp(420px,48vw,640px); aspect-ratio:590 / 728; }
.hub .hub-honda img{ display:block; width:100%; height:100%; object-fit:contain; object-position:bottom; filter:drop-shadow(0 30px 40px rgba(0,0,0,.35)); }
.hub-honda figcaption{ position:absolute; left:-12px; top:34%; transform:translateX(-100%); display:flex; flex-direction:column; gap:2px; padding-left:14px; border-left:2px solid var(--mark); font-family:var(--min); font-size:20px; letter-spacing:.1em; white-space:nowrap; color:#fff; text-shadow:0 2px 16px rgba(0,0,0,.35); }
.hub-honda figcaption small{ font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.14em; color:var(--mark); }
.hub--honda .hub-hero__tate{ display:none; }
@media (max-width:900px){
  .hub--honda .hub-hero__in{ flex-direction:column; align-items:stretch; padding-bottom:0; min-height:0; }
  .hub--honda .hub-hero__t{ max-width:none; padding-right:0; }
  .hub-honda{ position:relative; align-self:flex-end; height:min(420px,96vw); margin-top:12px; }
  .hub-honda figcaption{ left:-8px; top:22%; font-size:16px; }
}
/* 人物の下端を「3列」の上端（ヒーロー下端から96px）にそろえ、手元が隠れないようにする */
.hub-honda{ bottom:96px; height:clamp(400px,44vw,560px); }
.hub--honda .hub-hero__in{ min-height:720px; }
@media (max-width:900px){ .hub-honda{ bottom:auto; margin-bottom:96px; height:min(380px,90vw); } }
/* 写真の最下段の白い1pxを切る／スマホでは名前を写真の左下に重ねる（はみ出して切れるため） */
.hub .hub-honda img{ clip-path:inset(0 0 4px 0); }
@media (max-width:900px){
  .hub-honda figcaption{ left:-4px; top:auto; bottom:28px; transform:none; padding:6px 12px 6px 12px; background:rgba(6,12,24,.45); backdrop-filter:blur(4px); font-size:15px; }
}
/* 2026-11-08 調整：名前は人物の左下に重ねる（横に浮かせると誰の名前か分かりにくい）／上の余白を詰める */
.hub-honda figcaption{ left:6%; right:auto; top:auto; bottom:22px; transform:none; padding:8px 14px; background:rgba(6,12,24,.5); backdrop-filter:blur(4px); font-size:17px; }
.hub--honda .hub-hero__in{ min-height:640px; padding-top:48px; }
.hub-honda{ height:clamp(380px,40vw,500px); }
@media (max-width:900px){ .hub-honda figcaption{ left:4%; bottom:24px; font-size:15px; } }
/* 2026-11-08 再調整：名前は顔の横（写真の左上は透明で空いている）。手元に重ねない。
   スマホは上の「min-height:640px」が効いて文章と人物のあいだが空いていたので、ここで打ち消す */
.hub-honda figcaption{ left:0; top:18%; bottom:auto; }
@media (max-width:900px){
  .hub--honda .hub-hero__in{ min-height:0; justify-content:flex-start; padding-top:40px; }
  .hub--honda .hub-hero{ min-height:0; }
  .hub-honda{ height:min(430px,108vw); margin-top:4px; }
  .hub-honda figcaption{ left:0; top:14%; bottom:auto; font-size:14px; padding:6px 10px; }
}
/* 2026-11-08 再々調整：名前は箱をやめ、写真の右に縦書きのクレジット（顔にも手元にも重ねない） */
.hub-honda figcaption{ left:auto; right:-34px; top:12%; bottom:auto; transform:none; writing-mode:vertical-rl; flex-direction:row; gap:10px; padding:12px 0 0; border-left:0; border-top:2px solid var(--mark); background:none; backdrop-filter:none; font-size:16px; letter-spacing:.24em; text-shadow:0 2px 12px rgba(0,0,0,.4); }
.hub-honda figcaption small{ font-size:10px; letter-spacing:.2em; }
@media (max-width:900px){
  .hub-honda{ margin-top:-36px; height:min(440px,112vw); align-self:center; }
  .hub-honda figcaption{ right:-8px; top:20%; left:auto; padding:10px 0 0; background:none; font-size:13px; }
  .hub-honda figcaption small{ font-size:9px; }
}
/* トップの「コラム」を4業界に（2026-11-08 M&A を追加） */
.top-cats{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.top-cat--ma{ --c:#3B5BDB; }
@media (max-width:1100px){ .top-cats{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px){ .top-cats{ grid-template-columns:minmax(0,1fr); } }
.top-cats .top-cat__t{ font-size:18px; gap:8px; } .top-cats .top-cat__t span{ white-space:nowrap; font-size:30px; }

/* トップのコラム欄：分割払いの基礎（/column/）は横いっぱいの紺のカード（2026-11-11） */
.top-cat--col{ --c:#17307A; grid-column:1/-1; background:linear-gradient(120deg,#fff 0%,#fff 55%,#EEF2FA 100%); }
.top-cat--col::before{ width:5px; }
.top-cat__d{ margin-top:8px !important; font-size:14px; line-height:1.8; color:var(--muted); }
@media (min-width:901px){
  .top-cat--col ul{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:24px; }
}
