/* p3-consulting.css — consulting.html だけの調整。biz3.css の後に読み込む。色はトークンのみ、線は書かない。 */

/* ヒーロー：文字列と円図の間隔（961px→96px、1280px→107px、1440px→120px）。見出しは列幅に収める */
@media (min-width: 961px) {
  .b3 .b3-mission-in { gap: clamp(6rem, 8.4vw, 7.5rem); }
  .b3 .b3-mission-copy h1 { font-size: clamp(2.4rem, 3.85vw, 3.9rem); }
}

/* ヒーロー：左右の余白をヘッダーと同じにしたうえで、1280px幅との中間まで内側に戻す（1585px幅で本文の左端がロゴより約50px内側、円図の右端がContactより約50px内側） */
.b3 .b3-mission { padding-inline: clamp(1.4rem, 4vw, 3.2rem); }
@media (min-width: 961px) {
  .b3 .b3-mission-in, .b3 .b3-mission .b3-crumb { width: min(100%, calc((100% + 1280px) / 2)); }
}

/* ヒーロー：ユニット円は不透明にし、格子の点と接続線の端が中に透けないようにする */
.b3 .b3-unit { background: var(--b3-dark-2); }
.b3 .b3-unit:hover { background: var(--b3-dark-3); }

/* 961〜1180px：列が狭く円が約127pxになり、10字の項目が縁に触れるため円を広げる */
@media (min-width: 961px) and (max-width: 1180px) {
  .b3 .b3-unit { width: 33%; padding: .8rem .4rem; }
  .b3 .b3-unit-items { font-feature-settings: "palt"; }
}

/* パンくずの区切りは線ではなく点 */
.b3 .b3-crumb i { width: 3px; height: 3px; border-radius: 50%; }

/* OUR CLIENTS：白地に灰色の帯を置かない。ホバーは停止のみ（ロゴを灰色にしない） */
.b3 .b3-mq-wrap { background: transparent; border-radius: 0; padding: 0; }
.b3 .b3-mq-wrap:hover .b3-mq-track img { opacity: 1; filter: none; }

/* OUR SERVICES：番号の濃さ。和名は文節で折り返す */
.b3 .b3-row-ja { word-break: auto-phrase; }

/* CASE STUDIES：ラベルの可読性。カードは同じ高さ */
.b3 .b3-cases { grid-auto-rows: 1fr; }
.b3 .b3-case-meta dt { color: rgba(255,255,255,.62); font-size: .72rem; }

/* FAQ：質問文を文節で折り返す */
.b3 .b3-faq summary { word-break: auto-phrase; }

/* 問い合わせ帯：見出しが約1000px以上で1行に収まる幅 */
.b3 .b3-cta-in { width: min(100%, 56rem); }

/* ≤1100px：biz3.css 末尾の .b3-case が @media 内の規則を上書きするため、ここで2列に戻す */
@media (max-width: 1100px) {
  .b3 .b3-case { grid-template-columns: minmax(0, 1fr) auto; }
  .b3 .b3-case-more { justify-self: end; }
  .b3 .b3-case-meta { max-width: 46rem; }
}

@media (max-width: 600px) {
  /* OUR SERVICES：本文列を約219pxにして語の途中で折れないようにする */
  .b3 .b3-row { grid-template-columns: minmax(0, 1fr) 2.6rem; column-gap: .7rem; padding: 1.2rem 1rem; }
  /* CASE STUDIES：見出しを全幅に、VIEW MORE は右端 */
  .b3 .b3-case { grid-template-columns: minmax(0, 1fr); row-gap: .9rem; }
  .b3 .b3-case-h { grid-column: 1; grid-row: 1; }
  .b3 .b3-case-meta { grid-column: 1; grid-row: 2; max-width: none; }
  .b3 .b3-case-more { grid-column: 1; grid-row: 3; justify-self: end; }
}

/* ヒーロー（960px以下）：デスクトップと同じ「中央の円のまわりに6つの円」。幅に比例して縮め、縦長に伸ばして円どうしが重ならないようにする */
@media (max-width: 960px) {
  .b3 .b3-units { display: block; position: relative; width: min(100%, 520px); aspect-ratio: 35 / 62; margin-inline: auto; overflow: visible; }
  .b3 .b3-unit, .b3 .b3-unit-core { position: absolute; display: grid; place-content: center; margin: 0; aspect-ratio: 1; border-radius: 50%; text-align: center; grid-column: auto; }
  .b3 .b3-unit-core { inset: 50% auto auto 50%; width: 36%; transform: translate(-50%, -50%) !important; opacity: 1; }
  .b3 .b3-core-t { font-size: clamp(11px, 2.8vw, 16px); }  /* 9字の行が円の幅の8割以内に収まる大きさ */
  .b3 .b3-unit { inset: var(--y) auto auto var(--x); width: 40%; padding: 0; opacity: 0; transform: translate(-50%, -50%) scale(.6) !important; }
  .b3 .b3-mission.in .b3-unit { opacity: 1; transform: translate(-50%, -50%) scale(1) !important; }
  .b3 .b3-unit:nth-of-type(1) { --x: 50%; --y: 12.4%; }
  .b3 .b3-unit:nth-of-type(2) { --x: 78%; --y: 32%; }
  .b3 .b3-unit:nth-of-type(3) { --x: 78%; --y: 68%; }
  .b3 .b3-unit:nth-of-type(4) { --x: 50%; --y: 87.6%; }
  .b3 .b3-unit:nth-of-type(5) { --x: 22%; --y: 68%; }
  .b3 .b3-unit:nth-of-type(6) { --x: 22%; --y: 32%; }
  .b3 .b3-unit-en { margin-bottom: .45em; font-size: clamp(10.5px, 3.2vw, 16.5px); line-height: 1.25; }
  .b3 .b3-unit-items { gap: .2em; font-size: clamp(8.6px, 2.65vw, 14px); line-height: 1.4; color: rgba(255,255,255,.86); font-feature-settings: "palt"; }
  .b3 .b3-unit-items li { white-space: nowrap; }
  .b3 .b3-links-sm { display: block; position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
  .b3 .b3-links-sm line { stroke: rgba(255,122,36,.7); stroke-width: 1.5; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1s var(--b3-ease); }
  .b3 .b3-mission.in .b3-links-sm line { stroke-dashoffset: 0; }
  .b3 .b3-mission.in .b3-links-sm line:nth-child(2) { transition-delay: .08s; } .b3 .b3-mission.in .b3-links-sm line:nth-child(3) { transition-delay: .16s; }
  .b3 .b3-mission.in .b3-links-sm line:nth-child(4) { transition-delay: .24s; } .b3 .b3-mission.in .b3-links-sm line:nth-child(5) { transition-delay: .32s; }
  .b3 .b3-mission.in .b3-links-sm line:nth-child(6) { transition-delay: .4s; }
}
@media (min-width: 961px) { .b3 .b3-links-sm { display: none; } }
