/* ================================================================
   sub-v2.css — 下層ページを新デザイン（トップの top-v2.css）のトーンに合わせる上書き（2026-10-09）
   style.css のあとに読む。style.css は変えていない（このファイルを外せば元の見た目に戻る）。
   ナビ・相談の帯・フッターの見た目は top-v2.css と同じ値。デザインが固まったら1つにまとめる。
   ================================================================ */

:root {
  --dark: #141D39;
  --light: #fff;
  --mid: #F3F6FB;
  --text-dark: #141D39;
  --text-sub: #3B4566;
  --text-light: #56607F;
  --accent: #F04B20;
  --font-head: "Zen Old Mincho", "Yu Mincho", serif;
  --font-body: "Zen Old Mincho", "Yu Mincho", serif;
  --font-en: "Zen Old Mincho", "Yu Mincho", serif;
  --navy: #141D39;
  --ink: #141D39;
  --ink-sub: #3B4566;
  --cobalt: #0B3AA8;
  --surface: #F3F6FB;
  --line: #D5DDEB;
  --gutter: 48px;
  --inner: 1184px;
}

/* ========== 和紙のテクスチャをやめる ========== */

body,
.section--mid,
.section--dark,
.case-section-overlay,
.story-section-overlay,
.after-submit,
.tel-box,
.placeholder-box,
.blog-card { background-image: none; }

body { background-color: var(--white); color: var(--ink); -webkit-font-smoothing: antialiased; font-weight: 500; }
h1, h2, h3, h4, p, th, td, li { word-break: auto-phrase; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

.page-transition-curtain { background-color: var(--white); }
.scroll-progress { background: var(--accent); }

/* ========== Navigation（top-v2.css と同じ見た目） ========== */

.nav {
  padding: 14px var(--gutter);
  background-color: transparent;
  background-image: none;
  color: var(--ink);
  border-bottom: 1px solid transparent;
  transition: transform .3s var(--ease), border-color .3s, background-color .3s;
}
.nav.is-scrolled { background-color: rgba(255, 255, 255, .96); border-bottom-color: var(--line); }
.nav a, .nav-toggle { color: var(--ink); }
.nav-logo-img { margin: 0; }
.nav-links a,
.nav-dropdown-trigger { color: var(--ink); transition: color .2s; }
.nav-links a:hover,
.nav-dropdown-trigger:hover { opacity: 1; color: var(--accent); }
.nav-links a.is-active,
.nav-dropdown-trigger.is-active { border-bottom: 2px solid var(--accent); }
.nav .nav-cta {
  padding: 10px 24px;
  border: 0;
  border-radius: 999px;
  background: var(--accent);
  color: var(--white);
  font-size: 14px;
  letter-spacing: .06em;
}
.nav .nav-cta:hover { background: #D63E15; color: var(--white); }
.nav-dropdown-menu {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(20, 29, 57, .12);
}
.nav-dropdown-menu a { color: var(--ink) !important; }
.nav-dropdown-menu a:hover { color: var(--accent) !important; }

@media (max-width: 1024px) {
  .nav { padding: 10px 20px; }
  .nav-links { background: var(--white); height: 100dvh; gap: 28px; }
  .nav-links a { color: var(--ink) !important; }
  .nav-links.is-open ~ .nav-cta { bottom: 10%; font-size: 16px; color: var(--white) !important; }
}

/* ========== 下層ページの見出し部（旧：紺の帯＋薄い線画 → 白地＋波形＋立体の絵） ========== */

.fv {
  min-height: 0;
  align-items: flex-start;
  text-align: left;
  padding: 168px max(var(--gutter), calc((100vw - var(--inner)) / 2)) 96px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0) calc(100% - 100px), #fff 100%),
    url('images/v2/flow-wave-sub.webp') right top / auto 135% no-repeat,
    var(--white);
  color: var(--ink);
  overflow: hidden !important;
}
.fv--sub { min-height: 0; padding-top: 168px; padding-bottom: 96px; }
.fv > *:not(.fv-bg) { position: relative; z-index: 1; max-width: 640px; }
.fv .heading-l,
.fv--sub .heading-l {
  color: var(--ink);
  font-weight: 900;
  font-size: clamp(30px, 3.8vw, 50px);
  line-height: 1.4;
  letter-spacing: .02em;
  text-align: left;
}
.fv .text,
.fv--sub .text { color: var(--ink-sub); text-align: left; }
.fv-catch { text-align: left; font-weight: 900; letter-spacing: .02em; text-indent: 0; }
.fv-company { color: var(--accent); font-weight: 700; text-indent: 0; margin-bottom: 20px; }
.fv-sub { text-indent: 0; }
@keyframes fv-fade { from { opacity: 0; } to { opacity: 1; } }

/* 立体の絵は右側に置く。地が白の画像なので multiply で波形になじませる */
.fv-bg {
  top: 84px;
  bottom: 16px;
  left: auto;
  right: max(24px, calc((100vw - var(--inner)) / 2));
  width: min(38%, 440px);
  opacity: 1;
  justify-content: flex-end;
}
.fv-bg img,
.fv--sub .fv-bg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
  mix-blend-mode: multiply;
}

/* ========== 節・文字 ========== */

.section--mid { background-color: var(--surface); }
.section--dark { background-color: var(--cobalt); }
.heading-l { font-weight: 900; letter-spacing: .02em; }
.heading-m, .heading-s { font-weight: 700; letter-spacing: .02em; }
.section-label { color: var(--accent); font-weight: 700; }
.link-more { border-bottom: 1.5px solid var(--accent); padding-bottom: 2px; text-decoration: none; font-weight: 700; }
.link-more:hover { color: var(--accent); opacity: 1; }
.text-accent { color: var(--accent); }

/* ========== 箱：角丸の箱をやめ、細い線と角の立った面にする ========== */

.service-card,
.overview-card,
.case-card,
.culture-card,
.member-card,
.feature-card,
.wall-card,
.process-step,
.approach-item,
.values-row,
.blog-card,
.after-submit,
.tel-box,
.ceo-message-pullquote,
.company-map,
.section-img {
  border-radius: 0;
  box-shadow: none;
}
.overview-card,
.case-card,
.culture-card,
.feature-card,
.wall-card,
.blog-card {
  background-color: var(--white);
  border: 0;
  border-top: 1px solid var(--navy);
}
.overview-card:hover,
.blog-card:hover { box-shadow: none; transform: none; }
.service-badge { border-radius: 999px; }
.news-tag { border-radius: 999px; }

/* ========== 事例の帯（service.html・custom-ai/）：暗い帯＋薄い線画 → 淡い青の面＋白いカード ========== */

.case-section { background: var(--surface); color: var(--ink); }
.case-section-bg,
.case-section-overlay { display: none; }
.case-section .heading-l,
.case-section .heading-m,
.case-section .text { color: var(--ink); }
.case-card-dark {
  background: var(--white);
  border: 0;
  border-top: 1px solid var(--navy);
  border-radius: 0;
  color: var(--ink);
  box-shadow: none;
}
.case-card-dark:hover { transform: none; box-shadow: none; }
/* 絵は class 付きと style 直書きの2通りある。両方を同じ見え方にする */
.case-card-dark > img[style] { position: static !important; opacity: 1 !important; width: 100% !important; mix-blend-mode: multiply; }
.case-card-dark .case-card-illust,
.case-card-dark > img[style] { opacity: 1; mix-blend-mode: multiply; }
.case-hero-label { color: var(--ink-sub); }
.case-hero-title { color: var(--ink); font-weight: 700; }
.case-hero-flow { color: var(--ink-sub); }
.case-section .link-more { color: var(--ink); }

/* ========== フォーム・ボタン ========== */

.form-input, .form-textarea, select.form-input {
  border: 1px solid var(--line);
  border-radius: 4px;
  background-color: var(--white);
}
.form-input:focus, .form-textarea:focus { border-color: var(--cobalt); outline: none; }
.form-submit,
.thanks-btn,
.btn {
  border-radius: 999px;
  background: var(--accent);
  border-color: var(--accent);
  color: var(--white);
}
.form-submit:hover,
.thanks-btn:hover { background: #D63E15; border-color: #D63E15; color: var(--white); }
/* .btn は style.css では下線だけの文字リンク（余白なし）。丸いボタンにしたので、ボタンとしての大きさを与える */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 12px 48px;
  border: 0;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: .08em;
  transition: background .25s ease;
}
.btn:hover { opacity: 1; background: #D63E15; color: var(--white); }
.thanks-btn--outline { background: transparent; border: 1.5px solid var(--navy); color: var(--ink); }
.thanks-btn--outline:hover { background: var(--navy); border-color: var(--navy); color: var(--white); }
.ceo-message-invite { background: var(--cobalt); border-radius: 0; }
.process-step::before { background: var(--accent); }

/* ========== 相談の帯（top-v2.css と同じ見た目） ========== */

.cta-footer-wrap { min-height: 0; }
.cta-section {
  flex: none;
  padding: 96px var(--gutter);
  background: var(--cobalt) url('images/v2/ribbon-band.webp') left center / cover no-repeat;
  color: var(--white);
}
.cta-bg { display: none; }
.cta-heading {
  font-weight: 900;
  font-size: clamp(24px, 3.2vw, 40px);
  line-height: 1.5;
  letter-spacing: 0;
  text-shadow: 0 2px 16px rgba(2, 30, 110, .45);
}
.cta-text { font-size: 16px; color: var(--white); margin-bottom: 32px; }
.cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 12px 48px;
  border: 0;
  border-radius: 999px;
  background: var(--accent);
  color: var(--white);
  font-size: 16px;
  letter-spacing: .08em;
}
.cta-button:hover { background: #D63E15; color: var(--white); }
.cta-section--soft { background: var(--surface); }

/* ========== Footer（top-v2.css と同じ見た目） ========== */

.footer {
  /* 波形はフッター全体の背景に敷き、薄い白をかぶせて、その上に文字を載せる。
     （以前は文字の下に空きを作って波形だけを見せていたが、別の帯が付いているように見えた） */
  background:
    linear-gradient(180deg, #fff 0, rgba(255, 255, 255, .8) 96px, rgba(255, 255, 255, .64) 100%),
    url('images/v2/flow-wave-bottom.webp') center bottom / cover no-repeat,
    var(--white);
  color: var(--ink);
  padding: 64px var(--gutter) 32px;
}
.footer-top { max-width: var(--inner); margin: 0 auto; gap: 48px; }
.footer-info { gap: 0; }
.footer-company { color: var(--ink); letter-spacing: .08em; margin-bottom: 16px; font-size: 16px; }
.footer-logo-img { width: auto; height: 40px; border-radius: 0; }
.footer-address, .footer-tel, .footer-hours { font-size: 14px; line-height: 1.9; color: var(--ink-sub); font-family: var(--font-body); letter-spacing: 0; }
.footer-sns { gap: 8px; margin: 16px 0 0 -12px; }
.footer-sns a { width: auto; min-width: 44px; height: 44px; padding: 0 12px; color: var(--ink); }
.footer-sns a:hover { color: var(--accent); }
.footer-sns svg { width: 20px; height: 20px; }
.footer-sns a.footer-sns-note { padding: 0 12px; background: none; border-radius: 0; }
.footer-sns a.footer-sns-note img { width: 56px; height: auto; filter: brightness(0); }
.footer-links { display: grid; grid-template-columns: repeat(2, auto); gap: 14px 56px; align-content: start; justify-content: end; }
.footer-links a,
.footer-group-trigger { font-size: 14px; font-weight: 500; letter-spacing: .06em; color: var(--ink); }
.footer-links a:hover,
.footer-group-trigger:hover { color: var(--accent); }
.footer-links-group::after { content: none; }
.footer-sub-links {
  position: static;
  transform: none;
  margin: 10px 0 0;
  padding: 0 0 0 12px;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  white-space: normal;
}
.footer-sub-links li + li { margin-top: 8px; }
.footer-links-group:hover .footer-sub-links { display: none; }
.footer-links-group.is-open .footer-sub-links { display: block; }
.footer-bottom {
  max-width: var(--inner);
  margin: 48px auto 0;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.footer-copy, .footer-legal a { font-size: 13px; color: var(--ink-sub); }
.footer-legal { gap: 8px 24px; flex-wrap: wrap; }
.footer-legal a:hover { color: var(--accent); }

/* ========== style.css の multiply（和紙用）を切る。切らないと白の重ねや帯の色が濁る ========== */

body, .nav, .fv, .section--mid, .section--dark, .cta-section, .footer { background-blend-mode: normal; }

/* ========== 図A（local-ai.html）：top-v2.css と同じ立体の絵＋流れる矢印 ========== */

.flow-figure { max-width: none; }
.flow-lead { margin-top: 16px; }
.flow-figure {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}
.flow-panel {
  padding: 24px 32px 36px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  text-align: center;
}
/* 立体の絵の上に、データの向きを示す矢印（点線が流れる）を重ねる */
.flow-art { position: relative; max-width: 380px; margin: 0 auto; }
/* 絵の地はわずかに灰色がかった白。multiply でカードの白になじませる */
.flow-art img { width: 100%; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }
.flow-art svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: none;
  stroke-linecap: round;
  overflow: visible;
}
.flow-art svg marker path { fill: var(--accent); stroke: none; }
/* 矢印は、ファーストビューの絵にある朱色の光の輪と同じ見え方にする：
   細い光の線（track）の上を、明るい粒（accent）が流れる。全体にぼかした光を付ける */
.flow-art svg { filter: drop-shadow(0 0 2.5px rgba(255, 112, 64, .7)) drop-shadow(0 0 7px rgba(255, 140, 90, .35)); }
.flow-art svg .flow-track { stroke: #FF9A73; stroke-width: .55; opacity: .7; }
.flow-art svg marker path { fill: #FF6B3D; }
.flow-art svg .flow-accent {
  stroke: #FF6B3D;
  stroke-width: 1;
  stroke-dasharray: 1.4 3.4;
  animation: flow-dash 1.4s linear infinite;
}
@keyframes flow-dash { to { stroke-dashoffset: -9.6; } }
.flow-name {
  margin-top: 8px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 22px;
}
.flow-caption { font-size: 15px; color: var(--ink-sub); }

/* style.css の旧い図A用の指定を打ち消す */
.flow-art svg { max-width: none; margin: 0; stroke: none; }
.flow-panel + .flow-panel { border-left: 1px solid var(--line); }

/* ========== 使い分けの目安（local-ai.html）：top-v2.css にあった表と同じ見た目 ========== */

.fit-table {
  margin-top: 40px;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  table-layout: fixed;
}
.fit-table th {
  padding: 18px 24px;
  background: var(--surface);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 18px;
  text-align: left;
}
.fit-table { background: var(--white); }
.fit-table td {
  padding: 18px 24px;
  border-top: 1px solid var(--line);
  font-size: 16px;
  color: var(--ink-sub);
  vertical-align: top;
}
.fit-table th + th,
.fit-table td + td { border-left: 1px solid var(--line); }
.fit-note { margin-top: 28px; }
.fit-bridge {
  margin-top: 12px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.7;
}

/* ========== 個別の部品 ========== */

/* 事例のカード（service.html・custom-ai/）：絵は文字の上に置く（重ねない） */
.case-card-dark { padding: 0 0 28px; backdrop-filter: none; }
.case-card-dark > *:not(img):not(.case-card-link) { padding-left: 28px; padding-right: 28px; }
/* 絵は class 付きと style 直書きの2通りある。両方を同じ見え方にする */
.case-card-dark > img[style] { position: static !important; opacity: 1 !important; width: 100% !important; mix-blend-mode: multiply; }
.case-card-dark .case-card-illust,
.case-card-dark > img[style] {
  position: static;
  display: block;
  width: 100%;
  max-width: none;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  margin: 0 0 20px;
  border-bottom: 1px solid var(--line);
}

/* 導入事例（case.html）：絵は右上にはっきり見せ、文字と重ねない */
.case-card { padding-right: 330px; }
.case-card > img[style] {
  top: 28px !important;
  bottom: auto !important;
  right: 28px !important;
  width: 270px !important;
  opacity: 1 !important;
  mix-blend-mode: multiply;
}

/* 私たちについて：3つの価値観の円 */
.tri-node-inner { background: rgba(255, 255, 255, .92); border: 1px solid var(--line); }
/* 会社概要：代表メッセージの引用 */
/* 左の朱色の縦線は付けない（2026-10-11 宮川の指示） */
.ceo-message-pullquote { background: var(--surface); backdrop-filter: none; -webkit-backdrop-filter: none; border-left: 0; }

/* ========== 狭い画面 ========== */

@media (max-width: 1024px) {
  :root { --gutter: 32px; }
  .footer-links { justify-content: start; }
}

@media (max-width: 768px) {
  :root { --gutter: 20px; }
  /* 見出し部：文字の後ろは白のまま。絵は文字の下に置く */
  .fv,
  .fv--sub {
    padding: 112px var(--gutter) 40px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0) calc(100% - 80px), #fff 100%),
      linear-gradient(180deg, #fff 0, #fff 55%, rgba(255, 255, 255, 0) 80%),
      url('images/v2/flow-wave-sub.webp') right bottom / auto 70% no-repeat,
      var(--white);
  }
  .fv-bg { position: relative; order: 9; top: auto; bottom: auto; right: auto; width: 78%; max-width: 320px; height: auto; margin: 16px auto 0; }
  .fv-bg img, .fv--sub .fv-bg img { height: auto; }
  .cta-section { padding: 72px var(--gutter); background-position: 62% center; }
  .footer { padding: 64px var(--gutter) 32px; background-position: center, left bottom, center; }
  .footer-top { flex-direction: column; }
  .flow-figure { grid-template-columns: 1fr; gap: 20px; }
  .flow-panel { padding: 16px 20px 28px; }
  .flow-art { max-width: 280px; }
  .case-card { padding-right: 32px; }
  .case-card > img[style] { position: static !important; display: block; width: 100% !important; max-width: 280px; margin: 0 auto 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .flow-art svg .flow-accent { animation: none; }
}

/* ========== ナビ9項目への対応（2026-10-09 項目を3つ足したため） ==========
   PC幅では社名が折れて項目に重なった。社名は折らず、項目の間隔と字を少し詰める。
   1025〜1200px は社名の文字を隠してロゴだけにする。スマホのメニューは縦に収まらない高さでは中でスクロールさせる */
.nav-logo { white-space: nowrap; }
/* 2026-10-10 ナビを5項目にまとめた（トップを外す／会社まわりを「会社情報」に）。間隔と字を元に戻す */
.nav-links { gap: 28px; }
.nav-links a, .nav-dropdown-trigger { font-size: 14px; letter-spacing: .06em; }
@media (min-width: 1025px) and (max-width: 1120px) {
  .nav-logo { font-size: 0; }
  .nav-links { gap: 22px; }
}
@media (max-width: 1024px) {
  .nav-links { gap: 22px; justify-content: flex-start; padding: 88px 0 140px; overflow-y: auto; }
  .nav-links a { font-size: 17px; }
  /* お問い合わせは画面の下に固定。白い縁を付けて、下を流れる項目と重なって見えないようにする */
  .nav-links.is-open ~ .nav-cta { bottom: 20px !important; box-shadow: 0 0 0 18px #fff, 0 -28px 24px 18px #fff; }
}

/* ボタン・入力欄はブラウザ既定の書体になるので、ページの書体（明朝）を引き継がせる */
button, input, select, textarea, .nav-toggle, .nav-toggle span { font-family: inherit; }

/* 「トップ」はスマホのメニューにだけ出す（PC幅ではロゴが兼ねる） */
@media (min-width: 1025px) { .nav-sp-only { display: none; } }

/* ========== 2026-10-11 見出し部の絵を大きくする ==========
   絵が小さく、文字とのあいだが空いて寂しく見えた。絵のあるページは見出し部を高くし、
   絵を幅の半分近くまで広げる。文字は残りの幅に収め、縦は中央に置く。スマホ幅は変えない */
@media (min-width: 769px) {
  .fv:has(.fv-bg) {
    min-height: 540px !important;
    padding-top: 132px;
    padding-bottom: 104px;
    justify-content: center;
  }
  .fv:has(.fv-bg) > *:not(.fv-bg) { max-width: 44%; }
  .fv-bg {
    top: 72px;
    bottom: 8px;
    right: max(64px, calc((100vw - var(--inner)) / 2 + 24px));
    width: min(48%, 640px);
  }
  /* 絵の後ろだけ波形を白く弱める（青い絵が青い波形に埋もれないように。トップと同じ考え方） */
  .fv:has(.fv-bg) {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0) calc(100% - 100px), #fff 100%),
      radial-gradient(ellipse 30% 50% at 70% 54%, rgba(255, 255, 255, .9) 0, rgba(255, 255, 255, .66) 55%, rgba(255, 255, 255, 0) 100%),
      url('images/v2/flow-wave-sub.webp') right top / auto 135% no-repeat,
      var(--white);
  }
}
/* 見出しの下の一文は、HTML 側に中央寄せの指定が残っていて2行目がずれていた。左にそろえる */
.fv > .text, .fv > .heading-m, .fv > .heading-l { text-align: left !important; }

/* ========== 2026-10-10 簡易業務診断（check.html）・よくある質問（local-ai.html） ========== */

/* 箱にしない。質問を細い線で区切った行で並べ、右に答えを置く */
.check-lead { margin-top: 16px; max-width: 640px; }
.check { margin-top: 0; }
.check-list { list-style: none; border-top: 1px solid var(--navy); }
.check-item { border-bottom: 1px solid var(--line); }
.check-item fieldset {
  border: 0;
  min-width: 0;
  padding: 24px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
}
/* legend は grid の子にならないので、float で枠の外の扱いを外してから並べる */
.check-item legend {
  float: left;
  width: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  column-gap: 0;
}
.check-number {
  grid-row: 1 / 3;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--accent);
  line-height: 1.75;
}
.check-q { font-family: var(--font-head); font-weight: 700; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.6; }
.check-note { grid-column: 2; margin-top: 4px; font-size: 14px; color: var(--ink-sub); line-height: 1.7; }
.check-choices { display: flex; flex-wrap: wrap; gap: 8px 32px; }
.check-choices label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}
.check-choices input { width: 18px; height: 18px; accent-color: var(--accent); cursor: pointer; }
.check-result { padding: 40px 0 0 56px; }
.check-result[hidden] { display: none; }
.check-result-label { font-size: 13px; font-weight: 700; letter-spacing: .16em; color: var(--accent); }
.check-result-title {
  margin: 8px 0 12px;
  font-family: var(--font-head);
  font-weight: 900;
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.5;
}
.check-result-points { margin-top: 12px; list-style: none; }
.check-result-points li { position: relative; padding-left: 20px; font-weight: 700; }
.check-result-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .85em;
  width: 8px;
  height: 1.5px;
  background: var(--accent);
}
.check-result-foot { margin-top: 16px; }
.check-result .link-more { margin-top: 20px; }

/* ========== よくある質問 ========== */

.faq { border-top: 1px solid var(--navy); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 22px 48px 22px 8px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.6;
  transition: color .2s;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: var(--cobalt); }
/* 開閉の印：横線＋縦線。開いたら縦線を消す */
.faq-item summary::before,
.faq-item summary::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 14px;
  height: 1.5px;
  background: var(--accent);
  transition: transform .3s ease;
}
.faq-item summary::after { transform: rotate(90deg); }
.faq-item[open] summary::after { transform: rotate(0); }
.faq-item .text { padding: 0 48px 24px 8px; }

.faq { margin-top: 40px; background: transparent; }
.faq-item .text { margin: 0; }
@media (max-width: 768px) {
  .check-item fieldset { grid-template-columns: 1fr; gap: 14px; }
  .check-item legend { grid-template-columns: 36px minmax(0, 1fr); }
  .check-choices { padding-left: 36px; gap: 8px 28px; }
  .check-result { padding: 28px 0 0; }
  .faq-item summary { padding: 18px 36px 18px 0; }
}

/* ========== 2026-10-12 残っていた角丸の箱をやめる（図の枠・使い分けの表・ナビを開いたメニュー） ========== */
.nav-dropdown-menu { border-radius: 0; box-shadow: 0 8px 24px rgba(20, 29, 57, .08); }
.flow-panel { border: 0; border-top: 1px solid var(--navy); border-radius: 0; }
.flow-panel + .flow-panel { border-left: 0; }
.fit-table { border: 0; border-top: 1px solid var(--navy); border-bottom: 1px solid var(--line); border-radius: 0; }

/* ========== 2026-10-13 お問い合わせフォーム：簡易業務診断の回答の控え ========== */
/* 箱にしない。上に濃紺の線、下に細い線。問いと答えを2列で並べる */
.check-carry { padding: 20px 0 16px; border-top: 1px solid var(--navy); border-bottom: 1px solid var(--line); }
.check-carry[hidden] { display: none; }
.check-carry-list { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 0; margin: 8px 0 16px; font-size: 14px; line-height: 1.7; }
.check-carry-list dt { color: var(--ink-sub); }
.check-carry-list dd { margin: 0; padding-left: 24px; font-weight: 700; text-align: right; }
.check-carry-list dt:last-of-type, .check-carry-list dd:last-of-type { padding-top: 8px; border-top: 1px solid var(--line); }
.check-carry-send { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; cursor: pointer; }
.check-carry-send input { width: 18px; height: 18px; accent-color: var(--accent); }
@media (max-width: 768px) {
  .check-carry-list { grid-template-columns: 1fr; gap: 2px 0; }
  .check-carry-list dd { text-align: left; margin-bottom: 8px; padding-left: 0; }
  .check-carry-list dd:last-of-type { padding-top: 0; border-top: 0; }
}
