/*
 * houjin-portal v9 — 全ページ共通スタイル
 *
 * 目次（上から順に読み込まれ、後に書いたルールほど優先されます）
 *   1. Tokens       デザイントークン（色・余白・角丸・文字サイズ）
 *   2. Base         リセット・本文の文字組み・字取り
 *   3. Layout       3-1 ヘッダー/ナビ  3-2 セクション枠・フッター
 *   4. Components   4-1 ボタン/CTA/リンク  4-2 見出し/リード  4-3 カード/グリッド/ブロック
 *                   4-4 アコーディオン  4-5 フォーム/表
 *   5. Hero         ページ冒頭のヒーロー（トップのKV版 .Hero--kv を含む）
 *   6. Pages        6-1 contents  6-2 course-price  6-3 download  6-4 thanks  6-5 case
 *
 * ブレークポイント
 *   SP ≤767px / TB 768–1023px / PC ≥1024px（PC 1024–1279px と ≥1280px で一部調整）
 *   ヘッダーのハンバーガーメニューは ≤1100px
 *
 * 編集後は全 HTML の styles.css?v= を更新してください（手順は assets/README.md）。
 */

/* ===== 1. Tokens ===== */
/* デザイントークン（色・余白・角丸・文字サイズ・アイコン寸法） */
:root{
  --color-primary:#DB2A34;--color-on-primary:#FFFFFF;--color-surface:#FFFFFF;--color-surface-alt:#F9F9F9;--color-surface-muted:#EFEFEF;--color-on-surface:#111111;--color-on-surface-variant:#111111;--color-outline:#E0E0E0;--color-outline-strong:#CCCCCC;--color-accent:#4878B0;
  --hero-bg-color:#F3F3F3;--hero-bg-gradient:linear-gradient(135deg,rgba(219,42,52,.09) 0%,rgba(219,42,52,.03) 15%,transparent 30%);--hero-bg-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  --state-layer-hover:rgba(17,17,17,.08);--state-layer-pressed:rgba(17,17,17,.18);
  --radius-sm:4px;--radius-md:8px;--radius-card:12px;--radius-pill:999px;--shadow-card:0 2px 6px rgba(0,0,0,.12);
  --bp-sm-max:767px;--bp-md-min:768px;--bp-lg-min:1024px;--page-inline:24px;--section-y:56px;--section-y-sm:40px;--content-max:1200px;
  --space-unit:4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;
  --space-nav-cta-before:var(--space-6);--space-nav-cta-between:var(--space-6);--space-nav-cta-after:var(--space-4);
  --header-height:70px;--anchor-scroll-gap:26px;
  --font-hero:clamp(28px,4.2vw + .75rem,36px);--font-h-lg:28px;--font-h-md:22px;--font-h-sm:18px;--font-body:16px;--font-body-sm:14px;--font-note:12px;--font-price:48px
}
@media(max-width:767px){
  :root{--font-h-lg:24px;--header-height:57px}
}
@media(min-width:768px) and (max-width:1023px){
  :root {
    --font-price: 40px;
  }
}
/* CTA chevron — promotion LP 共通（Games 等比・表示 80%） */
:root {
  --icon-cta-arrow-w: clamp(11.2px, calc(-0.554px + 2.99vw), 14.4px);
  --icon-cta-arrow-h: clamp(17.6px, calc(-0.03px + 4.49vw), 22.4px);
  --icon-cta-arrow-w-card: 9.6px;
  --icon-cta-arrow-h-card: 14.4px;
  --cta-chevron-inset: 16px;
  --cta-chevron-gap: 8px;
  --cta-chevron-reserve: calc(var(--icon-cta-arrow-w) + var(--cta-chevron-gap));
  --cta-chevron-reserve-card: calc(var(--icon-cta-arrow-w-card) + 6px);
}

/* ===== 2. Base ===== */
/* リセット・本文の文字組み・字取り（text-wrap / 約物詰め） */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-height) + var(--anchor-scroll-gap));
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%
}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Hiragino Kaku Gothic ProN","Noto Sans JP","Meiryo",sans-serif;color:var(--color-on-surface);background:var(--color-surface);line-height:1.75;font-feature-settings:"palt" 1;letter-spacing:.1em}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}
:focus:not(:focus-visible){outline:none}
img{max-width:100%;height:auto}
.Muted{color:var(--color-on-surface-variant)}
h1,h2,h3,h4,h5,h6,strong,b,th{font-weight:600}
.VisuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* 字取り：見出し・短いリード — balance / pretty なし（wrap のみ） */
h1,h2,h3,h4,.Section__heading,.Section__heading--center,.Hero p,.Section__lead,.Section__lead--center,.CtaLead,.CtaBlock>.Section__lead,.SolutionSubheading,.CaseDetailHero h1,.CaseDetailHero__summary,.CaseCard__title,.DocCard__title,.PlanCard__name,.PlanCard__tagline,.AccordionBtn,.RiskCard h3,.SolutionFlow__title,.SolutionFlow__stage,.Card h3,.Panel h3,.CaseArticle__lead,.CaseArticle__section h2,.CaseRelated h2,.DlFormTitle,.SecondaryLinkBtn{text-wrap:wrap}
@supports (word-break:auto-phrase){
  h1,h2,h3,.Section__heading,.Hero p,.Section__lead,.CtaLead,.AccordionBtn,.CaseCard__title{word-break:auto-phrase}
}
/* 全角（）前後の空きを詰める（見出し・リード等・ヒーロー h1 以外で指定） */
.Section__heading--tightParen,
.Section__lead--tightParen {
  font-feature-settings: "palt" 1;
  font-variant-east-asian: proportional-width;
}
@supports (text-spacing-trim:trim-all){
  .Section__heading--tightParen,
  .Section__lead--tightParen {
    text-spacing-trim: trim-all;
  }
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* ===== 3-1. Layout / Header・GlobalNav ===== */
/* ヘッダー、ロゴ、グローバルナビ、SPハンバーガー（≤1100px） */
.Contents{overflow-x:clip}
.SiteHeader{position:sticky;top:0;z-index:10;background:var(--color-surface);border-bottom:0;box-shadow:var(--shadow-card)}
.HeaderMain{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1200px;margin:auto;min-height:var(--header-height);padding:0 var(--page-inline);box-sizing:border-box}
.Brand,.Brand:hover{text-decoration:none}
.Brand{display:inline-flex;align-items:center;font-weight:600;line-height:1.3}
.Brand img{height:28px;width:auto;display:block}
.Brand span{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-size:var(--font-note);white-space:nowrap}
.Brand__logo{flex-shrink:0}
.GlobalNav,.FooterNav{display:flex;gap:12px;flex-wrap:wrap;font-size:var(--font-body-sm);font-weight:600;color:var(--color-on-surface-variant)}
.GlobalNav a{display:inline-flex;min-height:32px;align-items:center;padding:4px 8px;border-radius:var(--radius-md);white-space:nowrap}
.GlobalNav [aria-current=page]{color:var(--color-on-surface)}
.GlobalNav .NavCta{background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-on-surface);padding:4px 14px;border-radius:var(--radius-md)}
.GlobalNav .NavCta:hover{text-decoration:none;background:linear-gradient(var(--state-layer-hover),var(--state-layer-hover)),var(--color-surface)}
.GlobalNav .NavCta:active{background:linear-gradient(var(--state-layer-pressed),var(--state-layer-pressed)),var(--color-surface)}
.GlobalNav .NavBtnSecondary{background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-on-surface);padding:4px 14px;border-radius:var(--radius-md)}
.GlobalNav .NavBtnSecondary:hover{text-decoration:none;background:linear-gradient(var(--state-layer-hover),var(--state-layer-hover)),var(--color-surface)}
.GlobalNav .NavBtnSecondary:active{background:linear-gradient(var(--state-layer-pressed),var(--state-layer-pressed)),var(--color-surface)}
.GlobalNav .NavBtnSecondary[aria-disabled=true]{opacity:.38;pointer-events:none}
/* ── SP ハンバーガーメニュー（business＋同型） ── */
.HeaderMain{position:relative}
.HeaderMenuBtn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  flex-shrink:0;width:44px;height:44px;margin-left:auto;padding:0;border:0;
  border-radius:var(--radius-sm);background:transparent;cursor:pointer
}
.HeaderMenuBtn__bar{
  display:block;width:22px;height:2px;background:var(--color-on-surface);
  border-radius:var(--radius-pill);transition:transform .2s ease,opacity .2s ease
}
.HeaderMenuBtn.is-active .HeaderMenuBtn__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.HeaderMenuBtn.is-active .HeaderMenuBtn__bar:nth-child(2){opacity:0}
.HeaderMenuBtn.is-active .HeaderMenuBtn__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.HeaderMenuBtn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
@media(max-width:1100px){
  .SiteHeader{overflow:visible}
  .HeaderMain{flex-wrap:wrap;align-items:center;flex-direction:row}
  .HeaderMain:has(.GlobalNav.is-open){align-items:stretch;padding-bottom:var(--space-4)}
  .GlobalNav{
    display:none;flex-direction:column;align-items:stretch;gap:0;flex-basis:100%;width:100%;
    margin-top:8px;padding-top:8px;padding-bottom:var(--space-6);border-top:1px solid var(--color-outline);
    overflow:visible;flex-wrap:nowrap
  }
  .GlobalNav.is-open{display:flex}
  .GlobalNav a:not(.NavBtnSecondary):not(.NavCta){
    padding:16px 0;border-bottom:1px solid var(--color-outline);white-space:normal;width:100%;
    justify-content:flex-start
  }
  .GlobalNav a:not(.NavBtnSecondary):not(.NavCta):has(+ .NavBtnSecondary){border-bottom:none}
  .GlobalNav .NavBtnSecondary,
  .GlobalNav .NavCta{
    box-sizing:border-box;width:100%;min-height:52px;
    justify-content:center;align-items:center;text-align:center;line-height:1.4;
    border-radius:var(--radius-md);border:1px solid var(--color-on-surface);
    flex-shrink:0
  }
  .GlobalNav .NavBtnSecondary,
  .GlobalNav .NavCta{position:relative}
  .GlobalNav .NavBtnSecondary{padding:14px calc(16px + var(--cta-chevron-reserve))}
  .GlobalNav .NavCta{padding:14px calc(16px + var(--cta-chevron-reserve))}
  .GlobalNav .NavBtnSecondary:hover,
  .GlobalNav .NavCta:hover{text-decoration:none}
  /* ハンバーガー内: 上＝無料で試してみる（NavCta）、下＝資料DL。DOM順は維持し order で表示のみ入替 */
  .GlobalNav .NavCta{
    order:1;
    margin-top:var(--space-nav-cta-before);margin-bottom:0;
    border-color:var(--color-primary)
  }
  .GlobalNav .NavBtnSecondary{
    order:2;
    margin-top:var(--space-nav-cta-between);margin-bottom:0
  }
  .GlobalNav.is-open{display:flex;flex-direction:column;align-items:stretch}
}
body.is-nav-open{overflow:hidden}
@media(min-width:1101px){
  .HeaderMenuBtn{display:none}
  .GlobalNav{flex-wrap:nowrap}
}
@media(prefers-reduced-motion:reduce){
  .HeaderMenuBtn__bar{transition:none}
}
/* Header logo link — no underline on any state (v8-d all pages) */
a.Brand,
a.Brand:hover,
a.Brand:focus,
a.Brand:active,
a.Brand:visited,
a.Brand span,
a.Brand img {
  text-decoration: none;
}
.Brand span {
  margin-left: 12px;
}
/* Header logo — 秋トクLP（/pr/cp/2026/aut/）と同じ可変幅（393→1000px で 100→151px） */
@media(max-width:1023px){
  .Brand img.Brand__logo {
    width: clamp(100px, calc(100px + 51 * ((100vw - 393px) / 607)), 151px);
    height: auto;
    max-height: calc(var(--header-height) - 12px);
  }
}
.GlobalNav .NavCta::after,
.GlobalNav .NavBtnSecondary::after {
  position: absolute;
  top: 50%;
  right: var(--cta-chevron-inset);
  width: var(--icon-cta-arrow-w);
  height: var(--icon-cta-arrow-h);
  content: "";
  background: center / contain no-repeat;
  transform: translateY(-50%);
  pointer-events: none;
}
.GlobalNav .NavCta::after {
  background-image: url("icon_CtaArrow.svg");
}
.GlobalNav .NavBtnSecondary::after {
  background-image: url("icon_CtaArrowDark.svg");
}
/* v9 グロナビ CTA */
.GlobalNav .NavBtnSecondary,
.GlobalNav .NavCta {
  position: relative;
  padding-right: calc(14px + var(--cta-chevron-reserve));
  padding-left: calc(14px + var(--cta-chevron-reserve));
}
.GlobalNav .NavCta {
  background: var(--color-primary);
  color: var(--color-on-primary);
  border: 1px solid var(--color-primary);
}
@media(min-width:1101px){
  .GlobalNav .NavBtnSecondary,
  .GlobalNav .NavCta{padding:4px 14px}
  .GlobalNav .NavCta::after,
  .GlobalNav .NavBtnSecondary::after{content:none;display:none}
}
.GlobalNav .NavCta:hover {
  text-decoration: none;
  background: linear-gradient(var(--state-layer-hover), var(--state-layer-hover)), var(--color-primary);
}
.GlobalNav .NavCta:active {
  background: linear-gradient(var(--state-layer-pressed), var(--state-layer-pressed)), var(--color-primary);
}

/* ===== 3-2. Layout / Section frame・Footer ===== */
/* ページ・セクションの枠（最大幅1200px・内側余白）、パンくず、フッター。SPの共通余白はフッター指定より後ろに置く必要があるため同じ章にまとめています */
.Hero__inner,.Section__inner,.Footer__inner{max-width:1200px;margin:auto;padding:56px 24px}
.Hero__inner{padding-top:32px}
.Breadcrumb{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;color:var(--color-on-surface-variant);font-size:var(--font-note)}
.Section{background:var(--color-surface)}
.Section--subtle{background:var(--color-surface-alt)}
.Section--cta{background:var(--color-surface-alt);color:var(--color-on-surface)}
.Section--cta .Section__lead{color:var(--color-on-surface-variant)}
/* トップのみ：下部追従バナー（group-course .FloatCta 同仕様の帯幅・出現タイミング） */
.PageTop{
  --float-cta-h:85px;
}
.PageTop .Footer{
  margin-bottom:var(--float-cta-h);
}
.PageTop .FixedBanner{
  position:fixed;
  right:0;
  bottom:0;
  left:0;
  z-index:200;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-height:var(--float-cta-h);
  padding:var(--space-3) var(--page-inline);
  background:var(--color-surface);
  border-top:1px solid var(--color-outline);
  transition:transform .3s ease,opacity .3s ease,visibility .3s;
}
.PageTop .FixedBanner.is-hidden{
  transform:translateY(100%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.PageTop .FixedBanner__inner{
  width:100%;
  max-width:var(--content-max);
  margin:0 auto;
  text-align:center;
}
.PageTop .FixedBanner a{
  display:block;
  color:inherit;
  text-decoration:none;
}
.PageTop .FixedBanner a:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:2px;
}
.PageTop .FixedBanner img{
  display:block;
  width:auto;
  max-width:min(970px,100%);
  max-height:calc(var(--float-cta-h) - 2 * var(--space-3));
  margin-inline:auto;
  height:auto;
  object-fit:contain;
  vertical-align:top;
}
@media(prefers-reduced-motion:reduce){
  .PageTop .FixedBanner{transition:none}
}
.Footer{border-top:1px solid var(--color-outline);background:var(--color-surface)}
.Footer__inner{padding-top:24px;padding-bottom:24px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}
.Footer p{font-weight:600;margin-bottom:0}
.Footer .FooterGuide{margin:0 0 0 auto;font-weight:600;font-size:var(--font-body-sm);line-height:1.75;display:inline-flex;align-items:center}
.FooterGuide a{color:var(--color-on-surface);text-decoration:underline}
.FooterCopy{flex-basis:100%;margin-top:6px;font-size:var(--font-note);color:var(--color-on-surface-variant);line-height:1.6}
@media(max-width:767px){
  .Hero__inner,.Section__inner,.Footer__inner{padding:40px 24px}
  .Hero__inner{padding-top:24px}
}
/* Footer — ナビ行：左ナビ + 右プライバシー、下段：1行コピーライト左揃え */
.FooterNav{
  flex:1 1 auto;
  min-width:0;
}
.FooterNav a,
.Footer a.FooterGuide--legal{
  color:var(--color-on-surface-variant);
  text-decoration:none;
}
.FooterNav a:hover,
.FooterNav a:active,
.Footer a.FooterGuide--legal:hover,
.Footer a.FooterGuide--legal:active{
  color:var(--color-on-surface-variant);
  text-decoration:underline;
}
.FooterNav a:focus-visible,
.Footer a.FooterGuide--legal:focus-visible{
  color:var(--color-on-surface-variant);
  text-decoration:underline;
}
.FooterLegal{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px 20px;
  margin-left:auto;
  flex-shrink:0;
}
.FooterLegal .FooterGuide--legal{
  margin-left:0;
}
.Footer a.FooterGuide--legal{
  margin-left:auto;
  flex-shrink:0;
  font-size:var(--font-body-sm);
  font-weight:400;
  line-height:1.75;
}
.FooterCopy{
  flex-basis:100%;
  margin-top:6px;
  text-align:left;
  font-size:var(--font-note);
  color:var(--color-on-surface-variant);
  line-height:1.6;
}
/* Footer — tablet / SP: stack legal links under nav */
@media(max-width:1023px){
  .Footer__inner{flex-direction:column;align-items:flex-start;gap:16px}
  .FooterNav{flex:0 0 auto;width:100%;gap:10px 16px}
  .Footer a.FooterGuide--legal{margin-left:0}
  .FooterLegal{width:100%;justify-content:flex-start;margin-left:0}
}

/* ===== 4-1. Components / Buttons・CTA・Links ===== */
/* CtaBtn・SubBtn、CTAブロック、矢印（chevron）、テキストリンク */
.HeroActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.CtaBtn,.SubBtn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:var(--radius-md);font-weight:600}
.CtaBtn{background:var(--color-primary);color:var(--color-on-primary)}
.CtaBtn:hover{text-decoration:none;background:linear-gradient(var(--state-layer-hover),var(--state-layer-hover)),var(--color-primary)}
.CtaBtn:active{background:linear-gradient(var(--state-layer-pressed),var(--state-layer-pressed)),var(--color-primary)}
.CtaBtn[aria-disabled=true]{opacity:.38;pointer-events:none}
.SubBtn{background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-on-surface)}
.SubBtn:hover{text-decoration:none;background:linear-gradient(var(--state-layer-hover),var(--state-layer-hover)),var(--color-surface)}
.SubBtn:active{background:linear-gradient(var(--state-layer-pressed),var(--state-layer-pressed)),var(--color-surface)}
.SubBtn[aria-disabled=true]{opacity:.38;pointer-events:none}
.CtaBlock .HeroActions{justify-content:center}
.Section .HeroActions,.CtaBlock .HeroActions{align-items:center}
.Section .HeroActions{justify-content:center}
.CtaBlock .CtaLead,.CtaBlock > .Section__lead{font-size:var(--font-h-sm);font-weight:600;line-height:1.4;color:var(--color-on-surface)}
.CtaBlock .HeroActions .CtaBtn,.CtaBlock .HeroActions .SubBtn{min-height:54px;margin-top:0}
@media(min-width:1024px){
  .CtaBlock .HeroActions .CtaBtn,.CtaBlock .HeroActions .SubBtn{width:280px}
}
.TextLink{display:inline-block;margin-top:14px;color:var(--color-accent);font-weight:600}
.SecondaryLinkBtn{display:flex;align-items:center;justify-content:center;width:360px;max-width:100%;height:52px;margin:28px auto 0;padding:12px 18px;border:1px solid var(--color-on-surface);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-on-surface);font-weight:600;line-height:1.4}
.SecondaryLinkBtn:hover{text-decoration:none;background:linear-gradient(var(--state-layer-hover),var(--state-layer-hover)),var(--color-surface)}
.SecondaryLinkBtn:active{background:linear-gradient(var(--state-layer-pressed),var(--state-layer-pressed)),var(--color-surface)}
.SecondaryLinkBtn--external .MaterialSymbol{display:inline-block;margin-left:8px;font-family:"Material Symbols Outlined";font-weight:400;font-style:normal;font-size:var(--font-h-sm);line-height:1;letter-spacing:0;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}
.CtaBlock{text-align:center}
@media(max-width:743px){
  .HeroActions{flex-direction:column}
  .Section .HeroActions,.CtaBlock .HeroActions{align-items:center;width:100%}
  .CtaBtn,.SubBtn{width:100%}
}
.InlineLinks{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px}
.InlineLinks .TextLink{margin-top:0}
.TextLink::after{content:"chevron_right";display:inline-block;margin-left:.35em;font-family:"Material Symbols Outlined";font-weight:400;font-style:normal;font-size:1em;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;vertical-align:-0.12em;font-variation-settings:"FILL" 0,"wght" var(--textlink-icon-wght,700),"GRAD" 0,"opsz" var(--textlink-icon-opsz,24);font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}
.TextLink{--textlink-icon-wght:700;--textlink-icon-opsz:24}
.TextLink:hover::after{text-decoration:none}
.CtaBlock>.Section__heading--center{margin-bottom:0}
.CtaBlock .Section__lead{
  font-size:var(--font-body);
  font-weight:400;
  line-height:1.75;
  color:var(--color-on-surface-variant);
}
.Section .HeroActions,.CtaBlock .HeroActions{justify-content:center;align-items:center}
.CtaBlock .HeroActions{margin-top:24px}
.CtaBlock__back{margin-top:16px;text-align:center}
.CtaBlock__back .TextLink{display:inline-block;font-weight:600;margin-top:0}
.CtaBlock__back .TextLink+.TextLink{margin-left:0}
@media(max-width:743px){
  .Section .HeroActions,.CtaBlock .HeroActions,.HeroCta .HeroActions{
    flex-direction:column;
    align-items:center;
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto
  }
  .Section .HeroActions .CtaBtn,
  .Section .HeroActions .SubBtn,
  .CtaBlock .HeroActions .CtaBtn,
  .CtaBlock .HeroActions .SubBtn,
  .HeroCta .HeroActions .CtaBtn,
  .HeroCta .HeroActions .SubBtn{
    width:100%;
    max-width:100%;
    margin-top:0
  }
  .Section .HeroActions .CtaBtn+.SubBtn,
  .Section .HeroActions .SubBtn+.CtaBtn,
  .Section .HeroActions .SubBtn+.SubBtn,
  .CtaBlock .HeroActions .CtaBtn+.SubBtn,
  .CtaBlock .HeroActions .SubBtn+.CtaBtn,
  .CtaBlock .HeroActions .SubBtn+.SubBtn,
  .HeroCta .HeroActions .CtaBtn+.SubBtn,
  .HeroCta .HeroActions .SubBtn+.CtaBtn{margin-top:12px}
}
/* iPad mini〜タブレット（744–1023px）：CTA 2本を横並び・等分 */
@media(min-width:744px) and (max-width:1023px){
  .Section .HeroActions,
  .CtaBlock .HeroActions,
  .HeroCta .HeroActions,
  .Hero .HeroCta .HeroActions,
  .Hero__inner>.HeroActions{
    flex-direction:row;
    flex-wrap:nowrap;
    justify-content:center;
    align-items:stretch;
    width:100%;
    max-width:min(572px,100%);
    margin-left:auto;
    margin-right:auto
  }
  .Section .HeroActions .CtaBtn,
  .Section .HeroActions .SubBtn,
  .CtaBlock .HeroActions .CtaBtn,
  .CtaBlock .HeroActions .SubBtn,
  .HeroCta .HeroActions .CtaBtn,
  .HeroCta .HeroActions .SubBtn,
  .Hero .HeroCta .HeroActions .CtaBtn,
  .Hero .HeroCta .HeroActions .SubBtn,
  .Hero__inner>.HeroActions .CtaBtn,
  .Hero__inner>.HeroActions .SubBtn{
    flex:1 1 0;
    min-width:0;
    width:auto;
    max-width:calc((100% - 12px) / 2);
    margin-top:0
  }
  .Section .HeroActions .CtaBtn+.SubBtn,
  .Section .HeroActions .SubBtn+.CtaBtn,
  .CtaBlock .HeroActions .CtaBtn+.SubBtn,
  .CtaBlock .HeroActions .SubBtn+.CtaBtn,
  .HeroCta .HeroActions .CtaBtn+.SubBtn,
  .HeroCta .HeroActions .SubBtn+.CtaBtn{margin-top:0}
}
.Section__inner > .SubBtn.Panel__cta {
  display: flex;
  margin-top: 20px;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
  justify-content: center;
}
.CtaBtn,
.SubBtn,
.CaseCard__btn,
.DocCard__btn {
  position: relative;
  text-align: center;
}
.CtaBtn,
.SubBtn {
  justify-content: center;
  padding-left: calc(18px + var(--cta-chevron-reserve));
  padding-right: calc(18px + var(--cta-chevron-reserve));
}
.CtaBtn::after,
.SubBtn::after,
.CaseCard__btn::after,
.DocCard__btn::after {
  position: absolute;
  top: 50%;
  right: var(--cta-chevron-inset);
  width: var(--icon-cta-arrow-w);
  height: var(--icon-cta-arrow-h);
  content: "";
  background: center / contain no-repeat;
  transform: translateY(-50%);
  pointer-events: none;
}
.CtaBtn::after {
  background-image: url("icon_CtaArrow.svg");
}
.SubBtn::after,
.CaseCard__btn::after,
.DocCard__btn::after {
  background-image: url("icon_CtaArrowDark.svg");
}
.Section__textLinkRow {
  margin-top: 24px;
  text-align: center;
}

/* ===== 4-2. Components / Headings・Leads ===== */
/* セクション見出し・リード・ラベル */
.Hero__eyebrow,.SectionLabel,.Card__label{font-size:var(--font-note);letter-spacing:.12em;text-transform:uppercase;color:var(--color-on-surface-variant);font-weight:600}
.Section__heading{margin-top:8px;font-size:var(--font-h-lg);line-height:1.5}
.Section__heading--spaced{margin-top:48px}
/* リードは pretty を使わない（Safari と Chromium で改行が乖離する）。wrap + auto-phrase で揃える */
.Section__lead{
  max-width:720px;
  margin-top:12px;
  color:var(--color-on-surface-variant);
  text-wrap:wrap;
  line-break:strict;
  overflow-wrap:break-word
}
.CtaLead{
  text-wrap:wrap;
  line-break:strict;
  overflow-wrap:break-word
}
.Section__heading--center{text-align:center;max-width:1000px;margin-left:auto;margin-right:auto}
.Section__heading--spaced{margin-top:48px}
/* Hero以外のセクション見出し：1行・中央 */
.Section__heading,h3.Section__heading,.SolutionSubheading,.DlMain .Section__heading,.DlFormTitle{text-align:center;max-width:1000px;margin-left:auto;margin-right:auto}
.Section__heading br,h3.Section__heading br,.SolutionSubheading br,.CaseArticle__section h2 br{display:none}
.Section__heading--multiline br{display:inline}
.Section__heading--multiline br.br-sp{display:none}
.br-sp{display:none}
.br-tb{display:none}
.br-pc{display:none}
@media(min-width:1024px){
  .br-pc{display:inline}
  .Section__heading br.br-pc,
  h3.Section__heading br.br-pc{display:inline}
  .Section__lead br.br-pc{display:inline}
}
@media(max-width:767px){
  .br-sp{display:inline}
  .Section__heading br.br-sp{display:inline}
  .Section__heading--multiline br.br-sp{display:inline}
  .SolutionSubheading br.br-sp{display:inline}
  .QuoteHeading br.br-sp{display:inline}
}
/* iPad mini・タブレット（600–1023px）：指定ブロックの改行・1行表示 */
@media(min-width:600px) and (max-width:1023px){
  .br-tb{display:inline}
  .Section__lead br.br-tb{display:inline}
  #org-risk .QuoteHeading__inner{white-space:nowrap}
  .Hero--kv .Hero__lead br.br-sp{display:none}
}
.Section__lead,.Section__lead--single,.SolutionSubheading+.CategoryTags,.Section__lead+.CategoryTags{text-align:center;margin-left:auto;margin-right:auto}
.Section__lead--center{text-align:center;max-width:960px;margin-left:auto;margin-right:auto}
.SolutionSubheading{max-width:1000px;margin:48px auto 0;text-align:center;font-size:var(--font-h-md);font-weight:600;line-height:1.4}
.Section__lead--single{max-width:none;text-wrap:wrap}
.SubheadingBlock{margin-top:44px}
.SubheadingBlock:first-child{margin-top:0}
.SubheadingBlock .SolutionSubheading{margin-top:0}
.CategoryTags{margin-top:14px;max-width:1000px;font-size:var(--font-body-sm);font-weight:600;color:var(--color-on-surface-variant);line-height:2}
.Section__lead--spaced{margin-top:28px}
.Section__lead.Section__lead--relaxed{
  max-width:960px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  line-height:2.1;
}
/* タブレット（744–1023px）：セクションリードは中央（SplitIntro / ValueBlock--media は各所で上書き） */
@media(min-width:744px) and (max-width:1023px){
  .Section__lead:not(.Section__lead--center),
  .Section__lead--single,
  .Section__lead.Section__lead--relaxed,
  .ContentsSupplement__lead.Section__lead{
    text-align:center;
    margin-left:auto;
    margin-right:auto
  }
  .Section__lead:not(.Section__lead--single):not(.Section__lead--relaxed){max-width:720px}
  .Section__lead.Section__lead--relaxed{max-width:960px}
  /* トップ末尾ティーザー（導入事例・料金・FAQ・トライアル） */
  .PageTop #case-studies + .Section__lead,
  .PageTop #pricing + .Section__lead,
  .PageTop #faq + .Section__lead,
  .PageTop #trial + .Section__lead{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    max-width:720px
  }
  /* about / contents / plan：タブレット帯は指定リードを左揃え（SP と同様） */
  .PageAbout .Section__inner > .Section__lead:not(.Section__lead--center),
  .PageCoursePrice .Section__inner > .Section__lead:not(.Section__lead--center){
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  .PageContents .Section__inner > .Section__lead:not(.Section__lead--center),
  .PageContents .ContentsSupplement__lead.Section__lead{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  .PageTop #problem-intro + .Section__lead,
  .PageTop #contents-teaser + .Section__lead,
  .PageTop #usecase-dept + .Section__lead{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
}
/* SP（767px以下）：セクションリードは全ページ共通で中央揃え */
@media(max-width:767px){
  .Section__lead,
  .Section__lead--single,
  .Section__lead--center,
  .Section__lead.Section__lead--relaxed,
  .CtaBlock > .Section__lead,
  .ContentsSupplement__lead.Section__lead{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .Section__lead.Section__lead--relaxed,
  .Section__lead--center{
    max-width:960px;
  }
}
/* about / contents：SP は指定リードを左揃え（他ページは共通の中央のまま） */
@media(max-width:767px){
  .PageAbout .Section__lead:not(.Section__lead--center),
  .PageAbout .SplitIntro__body .Section__lead{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  .PageContents .Section__inner > .Section__lead:not(.Section__lead--center),
  .PageContents .ValueBlock__intro .Section__lead{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  .PageCoursePrice .Section__inner > .Section__lead:not(.Section__lead--center){
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  .PageTop #problem-intro + .Section__lead,
  .PageTop #contents-teaser + .Section__lead,
  .PageTop .SplitIntro__body .Section__lead{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  /* ティーザー4ブロックは SP も中央（トップ下部導線） */
  .PageTop #case-studies + .Section__lead,
  .PageTop #pricing + .Section__lead,
  .PageTop #faq + .Section__lead,
  .PageTop #trial + .Section__lead{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    max-width:720px
  }
}
.QuoteHeading{
  text-align:center;
  padding-inline:0;
  text-wrap:wrap;
  word-break:normal;
}
@supports (word-break:auto-phrase){
  .QuoteHeading{word-break:normal}
}
.QuoteHeading__q{
  font-family:Georgia,"Times New Roman",serif;
  font-size:64px;
  font-weight:400;
  line-height:0;
  letter-spacing:0;
  vertical-align:-.28em;
  color:var(--color-outline-strong);
}
.QuoteHeading__inner .QuoteHeading__q:first-child{margin-right:.06em}
.QuoteHeading__inner .QuoteHeading__q:last-child{margin-left:.06em}
.QuoteHeading__inner{
  display:inline;
  font:inherit;
  color:inherit;
  text-align:center;
}
@media(max-width:767px){
  .QuoteHeading__q{font-size:48px;vertical-align:-.26em}
}
.HeadingTag + .Section__heading{margin-top:16px}

/* ===== 4-3. Components / Cards・Grids・Blocks ===== */
/* カード、グリッド、カルーセルのドット、各種ブロック */
.CardGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:28px}
.Card,.Panel{background:var(--color-surface);border:1px solid var(--color-outline);border-radius:var(--radius-md);padding:20px}
.Card h3,.Panel h3{font-size:var(--font-h-sm);line-height:1.4;font-weight:600}
.Card p,.Panel p{margin-top:10px;color:var(--color-on-surface-variant)}
.DocCard{display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-surface);border:0;border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card)}
.DocCard__link{display:flex;flex-direction:column;height:100%;color:inherit}
.DocCard__link:hover{text-decoration:none}
.DocCard__image{width:100%;aspect-ratio:3/2;background:var(--color-surface-alt);overflow:hidden}
.DocCard__image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1);transition:transform .24s ease}
.DocCard:hover .DocCard__image img,.DocCard:focus-within .DocCard__image img{transform:scale(1.1)}
.DocCard__body{flex:1;display:flex;flex-direction:column;padding:20px;text-align:left}
.DocCard__label{font-size:var(--font-note);letter-spacing:.12em;text-transform:uppercase;color:var(--color-on-surface-variant);font-weight:600;margin-bottom:8px}
.DocCard__title{font-size:var(--font-h-sm);font-weight:600;line-height:1.4;color:var(--color-on-surface)}
.DocCard__desc{margin-top:10px;font-size:var(--font-body-sm);color:var(--color-on-surface-variant);line-height:1.6;flex:1;text-wrap:wrap;text-align:start}
.DocCard__btn{display:flex;align-items:center;justify-content:center;align-self:center;width:256px;max-width:100%;margin-top:20px;min-height:40px;padding:8px 16px;background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-on-surface);border-radius:var(--radius-pill);font-size:var(--font-body-sm);font-weight:600;line-height:1.4}
.DocCard__btn:hover,.DocCard:hover .DocCard__btn,.DocCard:focus-within .DocCard__btn{text-decoration:none;background:linear-gradient(var(--state-layer-hover),var(--state-layer-hover)),var(--color-surface)}
.DocCard__btn:active,.DocCard__link:active .DocCard__btn{background:linear-gradient(var(--state-layer-pressed),var(--state-layer-pressed)),var(--color-surface)}
.CardGrid--cases{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px}
.CaseCard{display:flex;flex-direction:column;width:100%;height:477px;background:var(--color-surface);border:0;border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}
.CaseCard__link{display:flex;flex-direction:column;height:100%;min-height:0;color:inherit}
.CaseCard__link:hover{text-decoration:none}
.CaseCard__image{width:100%;aspect-ratio:3/2;flex:0 0 auto;background:var(--color-surface-alt);overflow:hidden}
.CaseCard__image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1);transition:transform .24s ease}
.CaseCard:hover .CaseCard__image img,.CaseCard:focus-within .CaseCard__image img{transform:scale(1.1)}
.CaseCard__company{padding:16px 22px 0;font-size:var(--font-body-sm);font-weight:600;color:var(--color-on-surface-variant);line-height:1.5}
.CaseCard__title{margin:10px 22px 0;font-size:var(--font-h-sm);font-weight:600;line-height:1.45;color:var(--color-on-surface)}
.CaseCard__meta{display:grid;gap:5px;margin:12px 22px 0}
.CaseCard__meta div{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:start}
.CaseCard__meta dt{font-size:var(--font-note);font-weight:600;color:var(--color-on-surface-variant)}
.CaseCard__meta dd{font-size:var(--font-body-sm);color:var(--color-on-surface);line-height:1.55}
.CaseCard__btn{display:flex;align-items:center;justify-content:center;align-self:center;width:256px;max-width:calc(100% - 44px);margin:auto auto 16px;padding:8px 16px;min-height:40px;border:1px solid var(--color-on-surface);border-radius:var(--radius-pill);font-size:var(--font-body-sm);font-weight:600;line-height:1.4;background:var(--color-surface);color:var(--color-on-surface)}
.CaseCard__meta + .CaseCard__btn{margin-top:auto}
.CaseCard:hover .CaseCard__btn,.CaseCard:focus-within .CaseCard__btn{background:linear-gradient(var(--state-layer-hover),var(--state-layer-hover)),var(--color-surface)}
.CaseCard__link:active .CaseCard__btn{background:linear-gradient(var(--state-layer-pressed),var(--state-layer-pressed)),var(--color-surface)}
.Split,.TwoColumn,.NavSupport{display:grid;gap:20px}
.Split,.TwoColumn{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.NavSupport{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:24px}
.LinkList,.CheckList{display:grid;gap:8px;margin-top:12px;padding-left:1.2em}
.StoryBlock{width:100%;max-width:1200px;margin:28px auto 0}
.StoryPoints{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:16px;grid-template-columns:1fr}
.StoryPoint{padding:18px 20px;border:1px solid var(--color-outline);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-on-surface-variant);font-size:var(--font-body);line-height:1.75}
.Section--subtle .StoryPoint{background:var(--color-surface)}
.RiskGrid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:28px}
.RiskCard{padding:24px;border:0;border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}
.RiskCard__label{font-size:var(--font-note);font-weight:600;color:var(--color-primary);letter-spacing:.04em}
.RiskCard h3{margin-top:8px;font-size:var(--font-h-sm);font-weight:600;line-height:1.45}
.RiskCard__sub{display:block;margin-top:4px;font-size:var(--font-body-sm);font-weight:600;color:var(--color-on-surface-variant)}
.RiskCard p{margin-top:12px;color:var(--color-on-surface-variant);font-size:var(--font-body-sm);line-height:1.75}
.RiskCard p+p{margin-top:8px}
.PillarGrid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:28px}
.PillarCard{padding:24px;border:0;border-radius:var(--radius-card);background:var(--color-surface-alt);box-shadow:var(--shadow-card);height:100%}
/* グレー帯上の Pillar カードは白地 */
.Section--subtle .PillarCard{background:var(--color-surface)}
.PillarCard__label{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-note);font-weight:600;line-height:1}
.PillarCard h3{margin-top:14px;font-size:var(--font-h-sm);font-weight:600;line-height:1.45}
.PillarCard p{margin-top:12px;color:var(--color-on-surface-variant);font-size:var(--font-body-sm);line-height:1.75}
.StoryBlock .Section__lead{max-width:960px}
.SolutionFlow{width:100%;max-width:1200px;margin:24px auto 0;padding:0;list-style:none;border:1px solid var(--color-outline);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}
.SolutionFlow li{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-top:1px solid var(--color-outline);align-items:start}
.SolutionFlow li:first-child{border-top:0}
.SolutionFlow__stage{font-size:var(--font-h-sm);font-weight:600;color:var(--color-on-surface);line-height:1.45}
.SolutionFlow__body{display:grid;gap:4px}
.SolutionFlow__title{font-size:var(--font-body);font-weight:600;color:var(--color-on-surface);line-height:1.5}
.SolutionFlow__desc{font-size:var(--font-body-sm);color:var(--color-on-surface-variant);line-height:1.6}
@media(min-width:768px) and (max-width:1023px){
  .SolutionFlow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .SolutionFlow--quad{grid-template-columns:repeat(2,minmax(0,1fr))}
  .SolutionFlow li{gap:8px;padding:18px 14px;border-top:0;border-left:1px solid var(--color-outline);align-items:stretch}
  .SolutionFlow li:nth-child(odd){border-left:0}
  .SolutionFlow li:nth-child(-n+2){border-top:0}
  .SolutionFlow li:nth-child(n+3){border-top:1px solid var(--color-outline)}
}
@media(min-width:1024px){
  .SolutionFlow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
  .SolutionFlow--quad{grid-template-columns:repeat(4,minmax(0,1fr))}
  .SolutionFlow li{gap:8px;padding:20px 16px;border-top:0;border-left:1px solid var(--color-outline);align-items:stretch}
  .SolutionFlow li:first-child{border-left:0}
}
@media(max-width:767px){
  .SolutionFlow li{gap:6px}
}
@media(min-width:744px) and (max-width:1023px){
  .StoryPoints,.RiskGrid,.PillarGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1024px){
  .StoryPoints,.RiskGrid,.PillarGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.Card__summary{margin-top:6px;font-size:var(--font-body-sm);color:var(--color-on-surface-variant);line-height:1.7}
.CardBullets{margin-top:12px;padding-left:1.2em;display:grid;gap:6px;color:var(--color-on-surface-variant);font-size:var(--font-body-sm);line-height:1.7}
.CardBullets li{list-style:disc}
.MediaPlaceholder{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;margin-top:28px;background:var(--color-surface-muted);border:1px solid var(--color-outline);border-radius:var(--radius-card);color:var(--color-on-surface-variant);font-size:var(--font-body-sm);font-weight:600}
.ValueBlock{
  padding:28px 20px 32px;
  border:none;
  border-radius:var(--radius-card);
  background:var(--color-surface);
  scroll-margin-top:88px;
}
@media(min-width:768px){
  .ValueBlock{padding:36px 32px 40px}
}
.ValueBlock__intro{max-width:720px;margin:0 auto}
.ValueBlock__body{
  margin-top:28px;
  padding-top:28px;
  border-top:none;
}
.ValueBlock__head{
  padding-bottom:0;
  text-align:center;
}
.ValueBlock__title,
.ValueBlock .SolutionSubheading.ValueBlock__title{
  margin:0;
  max-width:none;
  text-align:center;
}
.ValueBlock__intro .Section__lead{
  margin-top:20px;
  max-width:none;
  text-align:center;
  color:var(--color-on-surface-variant);
}
.ValueBlock__subtitle{
  margin-top:28px;
  font-size:var(--font-h-sm);
  font-weight:600;
  line-height:1.4;
  color:var(--color-on-surface);
  text-align:center;
}
.ValueBlock__num{
  margin-right:12px;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  font-size:32px;
  font-weight:600;
  line-height:1;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
  color:var(--color-outline-strong);
}
.ValueBlock__intro--media{display:grid;gap:24px;max-width:none;align-items:center}
@media(min-width:768px){
  .ValueBlock__intro--media{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
}
.ValueBlock__intro--media .ValueBlock__head,
.ValueBlock .ValueBlock__intro--media .SolutionSubheading.ValueBlock__title,
.ValueBlock__intro--media .ValueBlock__subtitle,
.ValueBlock__intro--media .Section__lead{text-align:left}
.ValueBlock__intro--media .ValueBlock__subtitle{margin-top:20px}
.ValueBlock__intro--media .Section__lead{margin-top:16px}
.ValueBlock__introMedia{
  display:block;width:100%;height:auto;margin:0;aspect-ratio:16/10;object-fit:cover;border:0;border-radius:0;
  filter:brightness(1.06)
}
@media(min-width:1024px){
  .ValueBlock__introMedia{height:328px;aspect-ratio:auto}
}
.ValueBlock__closing{margin-top:24px}
.ValueFlow{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:value-flow;
}
@media(min-width:768px){
  .ValueFlow{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
}
@media(min-width:1024px){
  .ValueFlow{grid-template-columns:repeat(5,minmax(0,1fr))}
  .ValueFlow.ValueFlow--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.Section__heading + .ValueFlow{margin-top:28px}
.ValueFlow__item{
  display:flex;
  flex-direction:column;
  gap:8px;
  height:100%;
  padding:18px 16px;
  border:none;
  border-radius:var(--radius-md);
  background:var(--color-surface-alt);
}
.ValueFlow__step{
  font-size:var(--font-note);
  font-weight:600;
  letter-spacing:.06em;
  color:var(--color-on-surface);
}
.ValueFlow__title{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:8px;
  align-items:start;
  min-width:0;
  font-size:var(--font-h-sm);
  font-weight:600;
  line-height:1.4;
  color:var(--color-on-surface);
  text-wrap:wrap;
  overflow-wrap:anywhere;
}
.ValueFlow__icon{
  flex:0 0 auto;
  width:24px;
  overflow:hidden;
  font-family:"Material Symbols Outlined";
  font-weight:400;
  font-style:normal;
  font-size:24px;
  line-height:1;
  letter-spacing:normal;
  text-transform:none;
  white-space:nowrap;
  color:var(--color-on-surface);
  font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;
  font-feature-settings:"liga";
  -webkit-font-feature-settings:"liga";
  -webkit-font-smoothing:antialiased;
}
.ValueFlow__item p{
  font-size:var(--font-body);
  line-height:1.75;
  color:var(--color-on-surface-variant);
}
.CardGrid--features{
  margin-top:0;
  gap:16px;
  grid-template-columns:1fr;
}
@media(min-width:744px) and (max-width:1023px){
  .CardGrid--features{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1024px){
  .CardGrid--features{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.CardGrid--3{grid-template-columns:1fr}
@media(min-width:744px) and (max-width:1023px){
  .CardGrid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1024px){
  .CardGrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:744px) and (max-width:1023px){
  .CardGrid:not(.CardGrid--features):not(.CardGrid--docs):not(.CardGrid--cases):not(.CardGrid--media){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .CardGrid--cases,.CardGrid--docs{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* 資料1枚のみ：2列の1マス相当幅で中央配置 */
  .CardGrid--docs:has(> .DocCard:only-child){
    justify-items:center
  }
  .CardGrid--docs:has(> .DocCard:only-child) > .DocCard{
    grid-column:1 / -1;
    width:min(100%,calc((100% - 32px) / 2));
    max-width:calc((100% - 32px) / 2)
  }
}
.ValueBlock__body .Panel{
  padding:20px;
  border:none;
  border-radius:var(--radius-md);
  background:var(--color-surface-alt);
}
.ValueBlock__body .CardGrid--features .Card{
  padding:20px;
  background:var(--color-surface);
  border:1px solid var(--color-outline);
  border-radius:var(--radius-md);
}
.ValueBlock__body .Card h3{margin-top:0}
.Card h3 .CardTitle__note{
  display:inline;
  margin-left:.25em;
  font-size:var(--font-note);
  font-weight:400;
  line-height:inherit;
  color:var(--color-on-surface-variant);
}
.ValueBlock__body .Card p{margin-top:10px}
.ValueBlock > .CategoryTags{
  margin-top:16px;
  max-width:none;
  text-align:left;
  padding:16px 18px;
  border-radius:var(--radius-md);
  border:1px dashed var(--color-outline);
  background:var(--color-surface);
  line-height:1.85;
}
.ValueBlock__body .TwoColumn{margin-top:0}
.ValueBlock__body .Panel h3{margin-top:0}
.ValueBlock__body .Panel .CheckList{
  color:var(--color-on-surface-variant);
  line-height:1.75;
}
.EditorialBlock h3{font-size:var(--font-h-sm);font-weight:600;line-height:1.45}
.StepHighlight{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:8px 18px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-body-sm);font-weight:600}
.StepList{display:grid;gap:16px;margin-top:28px;grid-template-columns:1fr}
.StepList .Card__label{color:var(--color-primary)}
@media(min-width:768px){
  .StepList--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .StepList--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.MediaPlaceholder--flush{margin-top:0}
.Card__media{margin-bottom:16px;border-radius:var(--radius-md)}
.Card__media.MediaPlaceholder{
  border:1px solid var(--color-outline);
  border-bottom-width:0;
}
.Card__media + h3{margin-top:0}
.Card__img{display:block;width:100%;max-width:none;height:auto;margin:0;aspect-ratio:3/2;object-fit:cover;border-radius:0;background:var(--color-surface-muted)}
.CardGrid--media{--card-bleed:24px;max-width:1000px;margin-left:auto;margin-right:auto}
.ValueBlock .CardGrid--media{--card-bleed:20px}
.CardGrid.CardGrid--media > .Card{display:flex;flex-direction:column;padding:0;border:0;border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);overflow:hidden}
.CardGrid--media .Card__media{width:100%;margin:0;aspect-ratio:3/2;border:0;border-radius:0}
.Card__body{padding:20px}
.CardGrid--media .Card__body p{margin-top:8px}
.ValueBlock:has(.CardGrid--media){min-width:0}
.ValueBlock__body:has(> .CardGrid--media){margin-top:24px;padding-top:0}
@media(max-width:743px){
  .CardGrid--media{display:flex;gap:12px;margin:0 calc(var(--card-bleed) * -1) -8px;padding:4px var(--card-bleed) 8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--card-bleed);scrollbar-width:none}
  .CardGrid.CardGrid--media{margin-top:24px}
  .ValueBlock__body > .CardGrid--media{margin-top:-4px}
  .CardGrid--media::-webkit-scrollbar{display:none}
  .CardGrid--media > .Card{flex:0 0 calc((100% - 12px) / 1.2);scroll-snap-align:start}
}
@media(min-width:744px) and (max-width:1023px){
  .CardGrid.CardGrid--media{
    display:grid;
    margin-left:auto;
    margin-right:auto;
    overflow:visible;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  .CardGrid--media > .Card{flex:none;scroll-snap-align:none}
}
@media(min-width:1024px){
  .CardGrid.CardGrid--media{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.CardGrid--row .Card h4{margin:0;font-size:var(--font-h-sm);font-weight:600;line-height:1.4;color:var(--color-on-surface)}
@media(min-width:768px){
  .CardGrid.CardGrid--row{grid-template-columns:minmax(0,1fr)}
  .CardGrid.CardGrid--row > .Card{flex-direction:row}
  .CardGrid--row .Card__media{flex:0 0 240px;width:240px;aspect-ratio:3/2;align-self:stretch;object-fit:cover}
  .CardGrid--row .Card__body{flex:1 1 auto;min-width:0;align-self:center}
}
.FeatureRow{display:grid;gap:24px;max-width:1000px;margin:40px auto 0;align-items:center}
@media(min-width:768px){
  .FeatureRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
}
.FeatureRow__title{margin:0;font-size:var(--font-h-sm);font-weight:600;line-height:1.4;color:var(--color-on-surface)}
.FeatureRow__body p{margin-top:12px;color:var(--color-on-surface-variant)}
.FeatureRow__body .CheckList{color:var(--color-on-surface-variant)}
.FeatureRow__media{display:block;width:100%;height:auto;margin:0;aspect-ratio:16/9;object-fit:contain;border:0;border-radius:0}
.CarouselDots{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px}
.CarouselDots__dot{width:6px;height:6px;padding:0;border:0;border-radius:var(--radius-pill);background:var(--color-outline-strong);cursor:pointer;transition:width .25s,background-color .25s}
.CarouselDots__dot.is-active{width:16px;background:var(--color-primary)}
.CarouselDots__dot:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
/* カルーセルは ≤743px のみ。iPad mini・タブレット（744px〜）はグリッドのためドット非表示 */
@media(min-width:744px){
  .CarouselDots{display:none}
}
@media(prefers-reduced-motion:reduce){
  .CarouselDots__dot{transition:none}
}
.Card__label--tight{margin-top:12px}
.CaseCard--compact{height:auto;min-height:420px}
.CaseCard--compact .CaseCard__link{min-height:420px}
.CaseCard--compact .CaseCard__title{flex:0 0 auto;margin-bottom:0}
.CaseCard--compact .CaseCard__btn{margin-top:auto}
/* Section panels — padding and gap after lead (法人契約のメリット等) */
.Section__lead + .Panel {
  margin-top: 28px;
}
.Section__inner > .Panel {
  padding: 24px 28px;
}
.Section__inner > .Panel > .CheckList:first-child {
  margin-top: 0;
}
.CaseCard__btn,
.DocCard__btn {
  justify-content: center;
  padding-left: calc(16px + var(--cta-chevron-reserve-card));
  padding-right: calc(16px + var(--cta-chevron-reserve-card));
}
.CaseCard__btn::after,
.DocCard__btn::after {
  width: var(--icon-cta-arrow-w-card);
  height: var(--icon-cta-arrow-h-card);
  right: 14px;
}
.Section__lead--relaxed + .CardGrid{margin-top:48px}
.SplitIntro{display:grid;gap:24px;max-width:1088px;margin:0 auto;align-items:center}
@media(min-width:768px){
  .SplitIntro{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
}
.SplitIntro__body > *{max-width:none;margin-left:0;margin-right:0;text-align:left}
.SplitIntro__body > .HeadingTag{
  display:inline-block;margin:0;padding:4px 12px;border-radius:var(--radius-sm);
  background:var(--color-surface-muted);font-size:var(--font-h-sm);font-weight:600;
  line-height:1.5;color:var(--color-on-surface)
}
.SplitIntro__body .Section__lead{margin-top:16px}
.SplitIntro__body .FormNote{margin-top:16px}
/* 見出し直下リード（about 導入・関連サービス等）：タブレット帯は中央。SplitIntro 内リードは左のまま */
@media(min-width:744px) and (max-width:1279px){
  .Section__inner > .Section__lead:not(.Section__lead--center){
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    max-width:720px
  }
  .SplitIntro__body .Section__lead,
  .SplitIntro__body .FormNote{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  .PageAbout .Section__inner > .Section__lead:not(.Section__lead--center),
  .PageCoursePrice .Section__inner > .Section__lead:not(.Section__lead--center){
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  .PageContents .Section__inner > .Section__lead:not(.Section__lead--center),
  .PageContents .ContentsSupplement__lead.Section__lead{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  .PageTop #problem-intro + .Section__lead,
  .PageTop #contents-teaser + .Section__lead,
  .PageTop #usecase-dept + .Section__lead{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
}
@media(max-width:767px){
  .SplitIntro__body{text-align:center}
  .SplitIntro__body > *:not(.Section__lead):not(.FormNote){text-align:center}
  .SplitIntro__body .Section__heading{text-align:center}
  .SplitIntro__body .Section__lead{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    max-width:720px
  }
  .SplitIntro__body .FormNote{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  .PageAbout .SplitIntro__body .Section__lead,
  .PageTop .SplitIntro__body .Section__lead{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
}
.SplitIntro__media{
  display:block;width:100%;height:auto;margin:0;aspect-ratio:16/10;object-fit:cover;border:0;border-radius:0
}
@media(min-width:1024px){
  .SplitIntro__media{height:328px;aspect-ratio:auto}
}
.SplitIntro + .CardGrid{margin-top:40px}
.SplitIntro__media--bordered{box-sizing:border-box;border:1px solid var(--color-outline)}
.IconTileGrid{
  display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:1000px;
  margin:28px auto 0;padding:0;list-style:none
}
@media(min-width:768px){
  .IconTileGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
.IconTileGrid > li{margin:0;padding:0;min-width:0}
.IconTile{
  display:flex;align-items:center;gap:16px;margin:0;padding:16px;border-radius:var(--radius-card);
  background:var(--color-surface);box-shadow:var(--shadow-card)
}
a.IconTile{
  position:relative;width:100%;box-sizing:border-box;padding-right:calc(16px + var(--cta-chevron-reserve-card));
  text-decoration:none;color:inherit;transition:background-color .2s var(--ease-standard, ease)
}
a.IconTile:hover{
  text-decoration:none;
  background:linear-gradient(var(--state-layer-hover),var(--state-layer-hover)),var(--color-surface)
}
a.IconTile:active{
  background:linear-gradient(var(--state-layer-pressed),var(--state-layer-pressed)),var(--color-surface)
}
a.IconTile:focus-visible{
  outline:2px solid var(--color-focus,#b90000);outline-offset:2px
}
a.IconTile::after{
  position:absolute;top:50%;right:var(--cta-chevron-inset);width:var(--icon-cta-arrow-w-card);height:var(--icon-cta-arrow-h-card);
  content:"";background:center/contain no-repeat url("icon_CtaArrowDark.svg");transform:translateY(-50%);pointer-events:none
}
.IconTile__icon{
  flex:0 0 56px;display:flex;align-items:center;justify-content:center;width:56px;height:56px;
  overflow:hidden;border-radius:8px;background:var(--color-surface-alt);
  font-family:"Material Symbols Outlined";font-weight:400;font-style:normal;font-size:28px;line-height:1;
  letter-spacing:normal;text-transform:none;white-space:nowrap;color:var(--color-on-surface);
  font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;
  font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased
}
.IconTile__text{min-width:0;font-size:var(--font-body);font-weight:600;line-height:1.6;color:var(--color-on-surface)}
.IconTileGrid + .Section__lead{margin-top:28px}
.CardGrid.CardGrid--plain > .Card{border-radius:0;background:none;box-shadow:none;overflow:visible}
.CardGrid--plain .Card__body{padding:16px 0 0}
.CardGrid.CardGrid--media.CardGrid--plain > .Card{
  border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;padding:0
}
.CardGrid--media.CardGrid--plain .Card__media{border-radius:0}
.CardGrid--media.CardGrid--plain .Card__body{padding:16px 0 0}
.ValueBlock__orgFeatures .Card__body h3{margin-top:0;font-size:var(--font-h-sm);font-weight:600;line-height:1.4}
@media(max-width:743px){
  .CardGrid.ValueBlock__orgFeatures.CardGrid--media > .Card{
    flex:0 0 calc((100% - 12px) / 1.2);
    scroll-snap-align:start;
  }
  .CardGrid.ValueBlock__orgFeatures.CardGrid--plain .Card__body{padding:16px 0 0}
  .ValueBlock__orgFeatures .Card__media{width:100%;max-width:none}
}
@media(min-width:744px){
  .CardGrid.ValueBlock__orgFeatures.CardGrid--media{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:32px 24px;
  }
  .ValueBlock__orgFeatures.CardGrid--plain > .Card{
    flex-direction:row;
    align-items:center;
    gap:12px;
  }
  .CardGrid.ValueBlock__orgFeatures.CardGrid--plain .Card__body{
    padding:0;
    flex:1 1 auto;
    min-width:0;
    align-self:center;
  }
  .ValueBlock__orgFeatures .Card__media{
    flex:0 0 46%;
    width:46%;
    max-width:200px;
    aspect-ratio:3/2;
    align-self:center;
    object-fit:cover;
  }
}
.PillarCard h4{margin-top:14px;font-size:var(--font-h-sm);font-weight:600;line-height:1.45}
.PillarCard h4{text-wrap:wrap}
.PillarCard > :first-child{margin-top:0}
@supports (word-break:auto-phrase){
  .PillarCard h4{word-break:auto-phrase}
}
.PillarCard h4:has(.ValueBlock__num){display:flex;align-items:center}
.PillarCard h4 .ValueBlock__num{flex:0 0 auto}
.PillarGrid .PillarCard{background:var(--color-surface)}
.PillarGrid + .SolutionFlow{margin-top:48px}
.SolutionFlow.SolutionFlow--quad{
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.SolutionFlow{display:grid;gap:28px;width:100%;max-width:1200px;margin:24px auto 0;padding:0;list-style:none}
.SolutionFlow li{display:flex;flex-direction:column;gap:12px;padding:0;border:0;align-items:start}
.SolutionFlow--quad > li{border:0!important}
.SolutionFlow__stage{font-size:var(--font-h-sm);font-weight:600;color:var(--color-on-surface);line-height:1.45}
.SolutionFlow__stage:has(.Card__titleIcon){display:flex;align-items:center;gap:12px}
.SolutionFlow__stage .Card__titleIcon{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;
  border-radius:8px;background:var(--color-surface-alt)
}
.SolutionFlow__body{display:grid;gap:4px}
.SolutionFlow__title{font-size:var(--font-body);font-weight:600;color:var(--color-on-surface);line-height:1.5}
.SolutionFlow__desc{font-size:var(--font-body-sm);color:var(--color-on-surface-variant);line-height:1.6}
@media(min-width:768px){
  .SolutionFlow--quad{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px}
  .SolutionFlow:not(.SolutionFlow--quad){grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
  .SolutionFlow li,
  .SolutionFlow--quad > li{border:0!important;padding:0}
}
@media(min-width:1024px){
  .SolutionFlow{grid-template-columns:repeat(5,minmax(0,1fr))}
  .SolutionFlow--quad{grid-template-columns:repeat(4,minmax(0,1fr))}
  .SolutionFlow li,
  .SolutionFlow--quad > li{border:0!important;padding:0}
}
.SolutionSubheading + .SolutionFlow{margin-top:28px}
.Card__titleIcon{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;
  border-radius:8px;background:var(--color-surface-alt);
  font-family:"Material Symbols Outlined";font-weight:400;font-style:normal;font-size:24px;line-height:1;
  color:var(--color-on-surface);font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24
}
.Card h3:has(.Card__titleIcon),
.Card h4:has(.Card__titleIcon){display:flex;align-items:center;gap:12px}
.SplitIntro__body .Section__heading{
  text-align:left;
  margin-left:0;
  margin-right:0;
  max-width:none;
}
@media(max-width:767px){
  .SplitIntro__body .Section__heading{text-align:center}
}
.CardGrid--media.CardGrid--plain .Card__media{margin-bottom:0}

/* ===== 4-4. Components / Accordion ===== */
/* FAQなどの開閉リスト */
.AccordionCont{padding:0;width:100%;margin-top:8px}
.AccordionCont__list{margin:0;padding:0;list-style:none;border-top:1px solid var(--color-outline)}
.AccordionList{text-align:left;background:var(--color-surface);border-bottom:1px solid var(--color-outline)}
.AccordionBtn{position:relative;display:inline-flex;align-items:flex-start;width:100%;padding:24px 36px 20px 0;font-size:var(--font-body);font-weight:600;font-family:inherit;line-height:1.5;color:var(--color-on-surface);text-align:left;background:none;border:none;cursor:pointer}
.AccordionBtn::after{position:absolute;top:50%;right:0;display:block;width:20px;height:20px;content:"";background:url("icon_CtaArrowDown.svg") center/contain no-repeat;transform:translateY(-50%) rotate(0deg);transition:transform .3s ease;pointer-events:none}
.AccordionBtn.is-active::after{transform:translateY(-50%) rotate(180deg)}
.QuestionTxt{display:inline-block;flex-shrink:0;margin-right:8px;font-size:var(--font-h-sm);font-weight:600;line-height:1;color:var(--color-primary)}
.AccordionDesc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;font-size:var(--font-body);color:var(--color-on-surface)}
.AccordionDescInner{overflow:hidden}
.AccordionDesc[aria-hidden="true"] .AccordionDescInner{visibility:hidden}
.AccordionDescBody{padding:0 36px 20px calc(var(--font-h-sm) + 8px);line-height:1.7;color:var(--color-on-surface-variant)}
.AccordionDescBody ul,.AccordionDescBody ol{margin-top:8px;padding-left:1.2em}
.AccordionDescBody li+li{margin-top:6px}
.AccordionDescBody p+p,.AccordionDescBody div+div,.AccordionDescBody p+div,.AccordionDescBody div+p{margin-top:10px}
.AccordionDescBody a{color:var(--color-on-surface);text-decoration:underline;font-weight:inherit}
.AccordionDescBody a:hover{color:var(--color-on-surface);text-decoration:underline}
.AccordionBtn.is-active+.AccordionDesc{grid-template-rows:1fr}

/* ===== 4-5. Components / Form・Table ===== */
/* フォーム部品、データ表 */
.Form{display:grid;gap:16px;margin-top:24px;max-width:560px}
.Field{display:grid;gap:6px}
.Field label{font-size:var(--font-body-sm);font-weight:600}
.Field input,.Field select,.Field textarea{font:inherit;width:100%;padding:10px 12px;border:1px solid var(--color-outline);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-on-surface)}
.FieldCheck{display:flex;gap:8px;align-items:flex-start;font-size:var(--font-body-sm);color:var(--color-on-surface-variant)}
.FieldCheck input{margin-top:3px;width:auto}
.Req{color:var(--color-primary);font-size:var(--font-note);margin-left:4px}
.FormNote{font-size:var(--font-note);color:var(--color-on-surface-variant)}
button.CtaBtn{border:none;cursor:pointer;font:inherit;width:100%;max-width:280px}
.DataTable{width:100%;border-collapse:collapse;margin-top:28px;border:1px solid var(--color-outline);border-radius:var(--radius-md);overflow:hidden;font-size:var(--font-body-sm)}
.DataTable th,.DataTable td{text-align:left;padding:14px 16px;border-top:1px solid var(--color-outline);line-height:1.7;vertical-align:top}
.DataTable tr:first-child th,.DataTable tr:first-child td{border-top:0}
.DataTable th{width:160px;background:var(--color-surface-alt);color:var(--color-on-surface);font-weight:600;white-space:nowrap}
.DataTable td{color:var(--color-on-surface-variant)}
@media(max-width:600px){
  .DataTable th{width:120px}
}
@media(max-width:767px){
  .DataTable{font-size:var(--font-note)}
  .DataTable th{white-space:normal;width:38%;vertical-align:top}
  .DataTable td{word-break:break-word}
}

/* ===== 5. Hero ===== */
/* 各ページ冒頭のヒーロー。5-1 は全ページ共通、5-2 はトップのKV版（.Hero--kv） */

/* --- 5-1. 共通ヒーロー --- */
.Hero{background-color:var(--hero-bg-color);background-image:var(--hero-bg-noise),var(--hero-bg-gradient);background-repeat:repeat,no-repeat}
.Hero h1{margin-top:8px;font-size:var(--font-hero);line-height:1.45}
.Hero p{max-width:720px;margin-top:18px;color:var(--color-on-surface-variant);font-size:var(--font-body);line-height:1.75}
.Hero .HeroActions{justify-content:flex-start;align-items:flex-start}
@media(min-width:744px){
  .Hero__inner>.HeroActions .SubBtn,.Hero__inner>.HeroActions .CtaBtn,.Hero__inner>.HeroCta .HeroActions .SubBtn,.Hero__inner>.HeroCta .HeroActions .CtaBtn{max-width:100%}
}
@media(min-width:1024px){
  .Hero__inner>.HeroActions .SubBtn,.Hero__inner>.HeroActions .CtaBtn,.Hero__inner>.HeroCta .HeroActions .SubBtn,.Hero__inner>.HeroCta .HeroActions .CtaBtn{width:280px}
}
.Hero__lead{max-width:720px;margin-top:18px;color:var(--color-on-surface-variant);font-size:var(--font-body);line-height:1.75}
.HeroBadges{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:10px;margin-top:24px;padding:0;list-style:none}
.HeroBadge{display:inline-flex;align-items:center;padding:8px 16px;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-outline);font-size:var(--font-body-sm);font-weight:600;line-height:1.4;color:var(--color-on-surface)}
/* ヒーローCTA：572px内でボタン・リンクを中央（見出し・バッジは左のまま） */
.Hero .HeroCta{margin-top:28px;width:100%;max-width:572px}
.Hero .HeroCta .HeroActions{margin-top:0;justify-content:center;align-items:center}
.Hero .HeroCta .CtaBlock__back{margin-top:16px;text-align:center}
.Hero .HeroBadges {
  justify-content: flex-start;
  align-self: flex-start;
  width: 100%;
  max-width: 720px;
}
/* ヒーロー h1 のみ：「」括弧前後など和文の空きを詰める */
.Hero h1 {
  font-feature-settings: "palt" 1;
  font-variant-east-asian: proportional-width;
}
@supports (text-spacing-trim:trim-all){
  .Hero h1 {
    text-spacing-trim: trim-all;
  }
}

/* --- 5-2. トップのKV版（.Hero--kv）--- */
/* 並び：SP・TB は h1 → リード＋バッジ → KV画像 → CTA（全幅・縦積み）。PC は左にテキストとCTA（横並び）、右にKV画像 */

/* 全幅共通 */
.Hero--kv{position:relative;overflow-x:clip}
.Hero--kv h1{
  width:100%;max-width:100%;box-sizing:border-box;
  overflow-wrap:anywhere;word-break:normal
}
.Hero--kv h1 br{display:none}
.HeroLeadRow{display:flex;align-items:center;gap:16px;margin-top:18px}
.Hero .HeroLeadRow .Hero__lead{flex:1 1 100%;min-width:0;max-width:100%;margin-top:0;white-space:normal;overflow-wrap:anywhere}
.Hero .HeroLeadRow .HeroBadges{
  flex:0 0 auto;flex-wrap:nowrap;align-self:center;width:auto;max-width:none;gap:8px;margin:0
}
.HeroLeadRow .HeroBadge{
  justify-content:center;width:64px;height:64px;padding:0;border:0;border-radius:50%;
  background:var(--color-accent);color:var(--color-on-primary);font-weight:600;
  text-align:center;font-size:var(--font-note);line-height:1.3;letter-spacing:.04em
}
.HeroKv{position:relative;padding:0 var(--page-inline) 56px}
.HeroKv__photo{
  display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:42% 0;
  border-radius:var(--radius-card)
}
.HeroKv__devices{
  position:absolute;left:50%;bottom:0;width:78%;
  transform:translateX(-50%) scale(1.1);transform-origin:center bottom
}
.HeroKv__device{display:block;width:100%;height:auto;filter:drop-shadow(0 0 14px rgba(0,0,0,.2))}
.Hero.Hero--kv .HeroCta{align-items:stretch;width:100%;max-width:100%}
.Hero.Hero--kv .HeroCta .HeroActions{align-items:stretch;justify-content:flex-start;width:100%;max-width:100%}

/* 600px以上：h1 を「から」の後で2行に改行（iPad mini・TB含む。極小SPは自然折り返し） */
@media(min-width:600px){
  .Hero--kv h1 br.Hero__titleBreak{display:block}
}

/* SP・TB（1023px以下）：1カラム。.Hero__inner を display:contents にして、子要素を order で並べ替える */
@media(max-width:1023px){
  .Hero--kv{display:flex;flex-direction:column}
  .Hero--kv .Hero__inner{display:contents}
  .Hero--kv .Hero__inner>h1{
    order:0;margin-left:0;margin-right:0;
    padding:24px var(--page-inline) 0
  }
  .Hero--kv .HeroLeadRow{
    order:1;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;
    gap:12px;width:100%;max-width:100%;margin:16px 0 24px;
    padding:0 var(--page-inline);box-sizing:border-box
  }
  .Hero--kv .HeroKv{order:2;margin-bottom:16px}
  .Hero--kv .HeroCta{
    order:3;display:flex;flex-direction:column;
    margin:20px 0 0;padding:0 var(--page-inline) 40px;box-sizing:border-box
  }
  .Hero--kv .HeroCta .CtaBlock__back{
    align-self:stretch;width:100%;margin-top:16px;
    display:flex;justify-content:center;align-items:center;flex-wrap:wrap;
    text-align:center
  }
}
/* SP（743px以下）：KVヒーロー CTA は縦積み・全幅 */
@media(max-width:743px){
  .Hero--kv .HeroCta .HeroActions{flex-direction:column;margin-left:0;margin-right:0}
  .Hero.Hero--kv .HeroCta .HeroActions .CtaBtn,
  .Hero.Hero--kv .HeroCta .HeroActions .SubBtn{
    width:100%;max-width:100%;flex:none;align-self:stretch
  }
  .Hero--kv .HeroCta .HeroActions .CtaBtn+.SubBtn,
  .Hero--kv .HeroCta .HeroActions .SubBtn+.CtaBtn{margin-top:12px}
}
/* iPad mini〜タブレット（744–1023px）：KVヒーロー CTA 2列 */
@media(min-width:744px) and (max-width:1023px){
  .Hero--kv .HeroCta .HeroActions{
    flex-direction:row;flex-wrap:nowrap;margin-left:0;margin-right:0
  }
  .Hero.Hero--kv .HeroCta .HeroActions .CtaBtn,
  .Hero.Hero--kv .HeroCta .HeroActions .SubBtn{
    flex:1 1 0;min-width:0;width:auto;max-width:calc((100% - 12px) / 2)
  }
  .Hero--kv .HeroCta .HeroActions .CtaBtn+.SubBtn,
  .Hero--kv .HeroCta .HeroActions .SubBtn+.CtaBtn{margin-top:0}
}
/* SP（743px以下）：h1 は自然に折り返し */
@media(max-width:743px){
  .Hero--kv .Hero__inner>h1{text-wrap:wrap}
}

/* PC（1024px以上）：2カラム（左 テキスト・CTA／右 KV画像 46%）。CTA は横並びで、2つのボタンを等幅に */
@media(min-width:1024px){
  .Hero--kv{
    display:grid;grid-template-columns:minmax(0,1fr) 46%;align-items:stretch;min-height:420px
  }
  .Hero--kv .Hero__inner{
    display:grid;grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto;align-content:center;justify-items:start;
    box-sizing:border-box;width:100%;max-width:min(720px,100%);
    margin-left:max(var(--page-inline),calc((100vw - 1200px)/2 + var(--page-inline)));
    margin-right:0;padding-left:0;padding-right:max(var(--page-inline),40px)
  }
  .Hero--kv .Hero__inner>h1{
    grid-column:1;grid-row:1;width:max-content;max-width:100%;margin-top:0
  }
  .Hero--kv .Hero__inner>.HeroLeadRow{grid-column:1/-1;grid-row:2;width:100%;max-width:100%}
  .Hero.Hero--kv .HeroCta{align-items:flex-start}
  .Hero--kv .Hero__inner>.HeroCta{
    grid-column:1;grid-row:3;width:100%;min-width:0;max-width:100%;margin-top:28px
  }
  .Hero--kv .Hero__inner>.HeroCta .HeroActions{flex-direction:row;flex-wrap:nowrap}
  .Hero--kv .Hero__inner>.HeroCta .HeroActions .CtaBtn,
  .Hero--kv .Hero__inner>.HeroCta .HeroActions .SubBtn{
    flex:1 1 0;min-width:0;width:auto;max-width:calc((100% - 12px) / 2)
  }
  .HeroKv{height:100%;min-height:420px;padding:0}
  .HeroKv__photo{
    position:absolute;top:0;left:-32px;width:calc(100% + 32px);max-width:none;height:calc(100% - 56px);
    aspect-ratio:auto;border-radius:0 0 0 var(--radius-card)
  }
  .HeroKv__devices{left:calc(50% - 64px);max-width:560px}
}
/* PC 1024–1279px：KV画像と重ならないよう、右余白を広げてボタンを最大220pxに */
@media(min-width:1024px) and (max-width:1279px){
  .Hero--kv .Hero__inner{padding-right:56px}
  .Hero--kv .Hero__inner>.HeroCta .HeroActions .CtaBtn,
  .Hero--kv .Hero__inner>.HeroCta .HeroActions .SubBtn{
    max-width:min(220px,calc((100% - 12px) / 2))
  }
}
/* PC 1280px以上：CTA は最大572px、ボタンは最大280px。バッジを拡大 */
@media(min-width:1280px){
  .Hero--kv{min-height:455px}
  .HeroLeadRow .HeroBadge{width:76px;height:76px;font-size:var(--font-body-sm)}
  .Hero--kv .Hero__inner>.HeroCta{max-width:min(572px,100%)}
  .Hero--kv .Hero__inner>.HeroCta .HeroActions .CtaBtn,
  .Hero--kv .Hero__inner>.HeroCta .HeroActions .SubBtn{max-width:280px}
}

/* ===== 6-1. Page / contents（コンテンツ・機能） ===== */
.PlatformPanel__subtitle{margin-top:6px!important;font-size:var(--font-body-sm);font-weight:600;color:var(--color-on-surface)}
.FiveValues__blocks{display:grid;gap:32px;margin-top:32px}
@media(min-width:768px){
  .FiveValues__blocks{gap:40px;margin-top:40px}
}
@media(min-width:1024px){
  .PlatformIntro{max-width:1000px;margin-left:auto;margin-right:auto}
}
.PlatformIntro{grid-template-columns:minmax(0,1fr);gap:32px}
.ContentsSupplement .PlatformIntro .Card__media{margin-bottom:0;aspect-ratio:16/9;border:0;border-radius:0}
/* コンテンツ・機能 — 4つの価値の補足（利用環境） */
.FiveValues .ContentsSupplement{
  margin-top:8px;
  padding-top:32px;
}
@media(min-width:768px){
  .FiveValues .ContentsSupplement{padding-top:40px}
}
.ContentsSupplement__eyebrow{
  margin:0;
  text-align:center;
  font-size:var(--font-note);
  font-weight:600;
  line-height:1.5;
  color:var(--color-on-surface-variant);
}
.ContentsSupplement__eyebrow--section{margin-bottom:8px}
.ContentsSupplement__title{
  margin-top:0;
  margin-bottom:0;
  margin-left:auto;
  margin-right:auto;
  width:100%;
}
.ContentsSupplement__lead{
  margin-top:16px;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.ContentsSupplement .SubheadingBlock .SolutionSubheading{
  font-size:var(--font-body);
  font-weight:600;
  line-height:1.45;
}
.ContentsSupplement .PlatformIntro{
  margin-top:20px;
}
.ContentsSupplement .PlatformIntro .Panel{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  align-items:start;
  align-content:start;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
}
@media(min-width:768px){
  .ContentsSupplement .PlatformIntro{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.ContentsSupplement .PlatformIntro .Panel h3{
  margin:0;
  font-size:var(--font-h-sm);
  font-weight:600;
  line-height:1.45;
}
.ContentsSupplement .PlatformIntro .Panel p{
  margin-top:10px;
  font-size:var(--font-body);
  line-height:1.75;
  color:var(--color-on-surface-variant);
}
.ContentsSupplement .PlatformIntro .Panel p.PlatformPanel__subtitle{
  margin-top:6px;
  font-size:var(--font-body-sm);
  font-weight:600;
  color:var(--color-on-surface);
}
.ContentsSupplement__scenes{margin-top:20px}
.ContentsSupplement__scenes .Card h3{margin-top:0}
.ContentsSupplement__scenes .Card p{font-size:var(--font-body);line-height:1.75;color:var(--color-on-surface-variant)}
.PaperViewer{display:grid;gap:24px;max-width:1000px;margin:0 auto;align-items:center}
@media(min-width:744px){
  .PaperViewer{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
}
.PageContents .Section--paperViewer .PaperViewer__body > *{max-width:none;margin-left:0;margin-right:0;text-align:left}
.PageContents .Section--paperViewer .ValueBlock__title{margin-top:0}
.PaperViewer__body .Section__lead{margin-top:16px}
.PaperViewer__body .FormNote{margin-top:16px}
.PaperViewer__img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;align-self:end}
.Section--paperViewer .Section__inner{padding-top:40px;padding-bottom:0}
@media(min-width:768px){
  .Section--paperViewer .Section__inner{padding-top:24px}
  .PaperViewer__body{padding-bottom:24px}
}
@media(max-width:767px){
  .ContentsSupplement__scenes.CardGrid--media{margin-top:16px}
}

/* ===== 6-2. Page / course-price（料金・コース） ===== */
.PlanGrid{display:grid;grid-template-columns:1fr;gap:32px;margin:28px auto 0;max-width:1000px}
.PlanCard{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border:0;border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:32px 28px}
.PlanCard--featured{border:2px solid var(--color-primary)}
.PlanCard__badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-note);font-weight:600;padding:5px 16px;border-radius:var(--radius-pill);white-space:nowrap}
.PlanCard__name{font-size:var(--font-h-md);font-weight:600;line-height:1.4}
.PlanCard--featured .PlanCard__name{color:var(--color-primary)}
.PlanCard__tagline{margin-top:6px;font-size:var(--font-body-sm);color:var(--color-on-surface-variant);line-height:1.6}
.PlanCard__price{margin-top:20px;display:flex;align-items:baseline;gap:3px;flex-wrap:wrap;color:var(--color-on-surface)}
.PlanCard__currency{font-size:var(--font-h-sm);font-weight:600}
.PlanCard__amount{font-size:var(--font-price);font-weight:600;line-height:1.05;letter-spacing:-.01em}
.PlanCard__unit{font-size:var(--font-body-sm);font-weight:400;color:var(--color-on-surface-variant)}
.PlanCard__note{margin-top:8px;font-size:var(--font-body-sm);color:var(--color-on-surface-variant);line-height:1.6}
.PlanFeatures{list-style:none;margin:22px 0 0;padding:22px 0 0;border-top:1px solid var(--color-outline);display:grid;gap:14px;flex:1 1 auto;align-content:start}
.PlanFeatures li{position:relative;padding-left:28px;font-size:var(--font-body-sm);line-height:1.6;color:var(--color-on-surface)}
.PlanFeatures li::before{content:"";position:absolute;left:0;top:.2em;width:18px;height:18px;background:no-repeat center/contain;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23DB2A34'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpolyline%20points='20%206%209%2017%204%2012'/%3E%3C/svg%3E")}
.PlanCard__cta{margin-top:28px;width:100%}
.PlanCard__sublink{margin-top:14px;align-self:center;text-align:center}
@media(min-width:744px){
  .PlanGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.PlanActions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:48px}
.PlanActions .SecondaryLinkBtn{margin:0}
#notes,#payment,#flow{margin-bottom:8px}
.Section .Section__heading+#faq-corp,.Section .Section__heading+#faq-edu{margin-bottom:8px}
.FaqAction .Section__inner{padding-top:32px;padding-bottom:32px}
.FaqAction .PlanActions{margin-top:0}
/* 料金・プラン — セクション見出し直下余白を 28px で統一 */
.PageCoursePrice .Section__inner > .Section__heading {
  margin-top: 0;
  margin-bottom: 0;
}
.PageCoursePrice #notes,
.PageCoursePrice #payment,
.PageCoursePrice #flow,
.PageCoursePrice #course-price-faq {
  margin-bottom: 0;
}
.PageCoursePrice .Section__inner > .Section__heading + * {
  margin-top: 28px;
}
.PageCoursePrice .Section__lead + .Panel,
.PageCoursePrice .Section__lead + .PlanGrid,
.PageCoursePrice .Section__lead + .PlanPlans {
  margin-top: 28px;
}
.PlanPlans {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.PlanPlans > .PlanGrid--plans {
  margin-top: 0;
}
.PageCoursePrice .PlanPlans__bridgeWrap {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 1000px;
  margin: 28px auto 0;
}
.PageCoursePrice .PlanPlans__bridgeWrap .PlanPlans__bridge {
  display: inline-flex;
  width: 100%;
  max-width: 360px;
  box-sizing: border-box;
  justify-content: center;
}
.PlanCard__tagline {
  text-wrap: wrap;
  word-break: normal;
}
/* Plan card — コース名横の注記（キャプション・本文色） */
.PlanCard__name--withNote {
  text-wrap: wrap;
}
.PlanCard__nameCaption {
  display: inline;
  white-space: nowrap;
  margin-left: 0.2em;
  font-size: var(--font-note);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-on-surface-variant);
}
.PlanCard--featured .PlanCard__nameCaption {
  color: var(--color-on-surface-variant);
}
.PlanCard .SubBtn.PlanCard__sublink {
  width: 100%;
  box-sizing: border-box;
}
/*
 * 料金プラン（PlanGrid--plans）
 * 余白は v8-d グローバル .PlanCard と同型（Clear 4px グリッド: 8/20/22/28/14px 等）。
 * 罫線揃えのみ: 右の .PlanCard__note 行（8px + body-sm×1.6 + 22px）を左の .PlanFeatures margin-top に反映。
 */
.PlanGrid--plans .PlanFeatures {
  flex: 1 1 auto;
}
.PlanGrid--plans > .PlanCard > .CtaBtn.PlanCard__cta,
.PlanGrid--plans > .PlanCard > .SubBtn.PlanCard__sublink {
  margin-top: 28px;
  align-self: stretch;
  width: 100%;
  max-width: none;
  min-height: 52px;
  padding-top: 10px;
  padding-bottom: 10px;
  flex-shrink: 0;
}
.PlanGrid--plans > .PlanCard > .SubBtn.PlanCard__sublink {
  white-space: nowrap;
  letter-spacing: 0.04em;
  font-size: var(--font-body-sm);
  padding-left: 14px;
  padding-right: calc(14px + var(--cta-chevron-reserve));
}
@media(min-width:768px){
  .PlanGrid--plans {
    align-items: stretch;
  }
  .PlanGrid--plans > .PlanCard {
    height: 100%;
  }
  .PlanGrid--plans > .PlanCard:first-child > .PlanFeatures {
    margin-top: calc(8px + 1.6 * var(--font-body-sm) + 22px);
  }
}
@media(min-width:768px) and (max-width:1023px){
  .PlanGrid--plans {
    grid-template-columns: 1fr;
    max-width: 520px;
  }
  .PlanCard__unit {
    flex-basis: 100%;
  }
}

/* ===== 6-3. Page / download（資料ダウンロード） ===== */
.CardGrid--docs{gap:32px;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
.DlLayout{display:grid;grid-template-columns:1fr;gap:32px;margin-top:8px}
.DlCover{aspect-ratio:3/2;background:var(--color-surface-alt);border:1px solid var(--color-outline);border-radius:var(--radius-card);overflow:hidden;margin-bottom:28px}
.DlCover img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.1)}
.DlBack{margin-top:24px;display:inline-block}
.DlFormBox{border:1px solid var(--color-outline);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);padding:24px}
.DlFormTitle{font-size:var(--font-h-sm);font-weight:600;line-height:1.4}
.DlMain .Section__heading{
  font-size:var(--font-h-md);
  line-height:1.4;
  margin-top:0;
  padding-bottom:0
}
.DlMain__body{display:grid;gap:8px}
.DlMain__body > .Section__heading + .Panel{margin-top:0}
.DlMain__body .Panel + .Section__heading{margin-top:0}
.DlMain__body .DlBack{margin-top:0}
.DlFormBox .Form{margin-top:16px;max-width:none}
.DlFormBox button.CtaBtn{max-width:none}
/* タブレット（744–1023px）：上＝表紙｜本文2カラム、下＝フォーム全幅 */
@media(min-width:744px) and (max-width:1023px){
  .DlLayout{grid-template-columns:minmax(0,1fr);gap:40px;align-items:stretch}
  .DlSide{width:100%;min-width:0}
  .DlMain{
    display:grid;
    grid-template-columns:minmax(0,5fr) minmax(0,7fr);
    column-gap:32px;
    align-items:start
  }
  .DlMain .DlCover{
    grid-column:1;
    margin-bottom:0;
    align-self:start
  }
  .DlMain__body{
    grid-column:2;
    min-width:0;
    gap:8px
  }
  .DlMain__body > .Section__heading{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
  .DlMain__body > .Section__heading:first-child{margin-top:0}
}
/* PC（1024px〜）：左6 本文＋表紙縦積み／右4 フォーム（sticky） */
@media(min-width:1024px){
  .DlLayout{
    grid-template-columns:minmax(0,6fr) minmax(0,4fr);
    gap:48px;
    align-items:start
  }
  .DlFormBox{position:sticky;top:80px}
  .DlMain{display:block}
  .DlMain .DlCover{margin-bottom:28px}
  .DlMain__body > .Section__heading{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none
  }
}
@media(min-width:1024px){
  /* 資料一覧 — PC：1〜2枚は3列相当のカード幅で中央寄せ */
  .CardGrid--docs:has(> .DocCard:only-child),
  .CardGrid--docs:has(> .DocCard:nth-child(2):last-child) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px;
  }
  .CardGrid--docs:has(> .DocCard:only-child) > .DocCard,
  .CardGrid--docs:has(> .DocCard:nth-child(2):last-child) > .DocCard {
    flex: 0 0 calc((100% - 64px) / 3);
    max-width: calc((100% - 64px) / 3);
    width: calc((100% - 64px) / 3);
  }
}
/* 資料カード — 見出しは左カード2行分の高さに揃える */
.CardGrid--docs .DocCard__title {
  min-height: calc(2 * 1.4 * var(--font-h-sm));
  box-sizing: border-box;
}
/* 資料ダウンロード詳細 — Panel 余白を詰めて CheckList を1行寄せ */
.DlMain .Panel {
  padding: 16px 12px;
}
.DlMain .Panel .CheckList {
  padding-left: 1em;
  margin-top: 8px;
  gap: 6px;
}
.DlMain .Panel .CheckList li {
  text-wrap: nowrap;
}
@media(max-width:1023px){
  .DlMain .Panel .CheckList li {
    text-wrap: wrap;
  }
}
/* 資料ダウンロード — HubSpot（Business Plus セミナー申込と同型・v8-d トークン） */
.DlHubspotEmbed__slot {
  margin-top: 16px;
  text-align: left;
}
.DlHubspotEmbed__slot:has(.hs-form) .DlHubspotEmbed__note {
  display: none;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl fieldset {
  max-width: none;
  border: none;
  margin: 0;
  padding: 0;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .hs-form-field {
  margin-bottom: 16px;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .hs-form-field > label {
  display: block;
  margin-bottom: 4px;
  font-size: var(--font-body-sm);
  font-weight: 600;
  color: var(--color-on-surface);
  line-height: 1.5;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .hs-form-field > label .hs-form-required {
  color: var(--color-primary);
}
.DlHubspotEmbed__slot .hs-form--houjin-dl input[type="text"],
.DlHubspotEmbed__slot .hs-form--houjin-dl input[type="email"],
.DlHubspotEmbed__slot .hs-form--houjin-dl input[type="tel"],
.DlHubspotEmbed__slot .hs-form--houjin-dl select,
.DlHubspotEmbed__slot .hs-form--houjin-dl textarea {
  width: 100%;
  padding: 8px 16px;
  font-size: var(--font-body);
  line-height: 1.5;
  color: var(--color-on-surface);
  background: var(--color-surface);
  border: 1px solid var(--color-outline);
  border-radius: var(--radius-sm);
  box-sizing: border-box;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl input:focus-visible,
.DlHubspotEmbed__slot .hs-form--houjin-dl select:focus-visible,
.DlHubspotEmbed__slot .hs-form--houjin-dl textarea:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .inputs-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .inputs-list label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: var(--font-body-sm);
  font-weight: 400;
  color: var(--color-on-surface-variant);
  line-height: 1.6;
  cursor: pointer;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .legal-consent-container,
.DlHubspotEmbed__slot .hs-form--houjin-dl .hs-richtext {
  font-size: var(--font-note);
  color: var(--color-on-surface-variant);
  line-height: 1.6;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .hs-error-msgs label {
  font-size: var(--font-note);
  color: var(--color-primary);
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .hs-submit {
  margin-top: 20px;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .hs-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 12px 18px;
  font-size: var(--font-body);
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-on-primary);
  background: var(--color-primary);
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .hs-button:hover {
  background: linear-gradient(var(--state-layer-hover), var(--state-layer-hover)), var(--color-primary);
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .hs-button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.DlHubspotEmbed__slot .hs-form--houjin-dl .hs-button:active {
  background: linear-gradient(var(--state-layer-pressed), var(--state-layer-pressed)), var(--color-primary);
}

/* ===== 6-4. Page / download/thanks（送信完了） ===== */
/* Download thanks — Business Plus 同型（v9 トークン） */
.ThanksPage .Contents{display:flex;flex-direction:column;min-height:100dvh}
.ThanksPage main{flex:1;display:flex;flex-direction:column;min-height:0}
.Thanks{
  flex:1;display:flex;align-items:center;justify-content:center;
  padding:var(--section-y) var(--page-inline);text-align:center;background:var(--color-surface)
}
.Thanks__inner{width:100%;max-width:min(100%,52rem);margin-inline:auto}
.Thanks__body,.Thanks__redirect,.Thanks__action{white-space:nowrap}
.Thanks__title{
  font-size:var(--font-h-md);font-weight:600;line-height:1.5;letter-spacing:.02em;
  margin-bottom:var(--space-6);color:var(--color-on-surface)
}
.Thanks__body{
  font-size:var(--font-body);font-weight:400;line-height:1.8;color:var(--color-on-surface);
  margin-bottom:var(--space-6)
}
.Thanks__body a{color:var(--color-accent);text-decoration:underline}
.Thanks__body a:hover{text-decoration:underline;opacity:.85}
.Thanks__redirect{
  margin-bottom:var(--space-4);font-size:var(--font-body-sm);
  color:var(--color-on-surface-variant);line-height:1.7
}
.Thanks__action{margin:0}
.Thanks__link{
  font-size:var(--font-body-sm);font-weight:600;color:var(--color-accent);text-decoration:underline
}
.Thanks__link:hover{text-decoration:underline;opacity:.85}
@media(max-width:767px){
  .Thanks{padding:var(--section-y-sm) var(--page-inline)}
  .Thanks__body,.Thanks__redirect,.Thanks__action{white-space:normal}
}

/* ===== 6-5. Page / case（導入事例の詳細） ===== */
.CaseDetailPage{background:var(--color-surface)}
.CaseDetailHero{background-color:var(--hero-bg-color);background-image:var(--hero-bg-noise),var(--hero-bg-gradient);background-repeat:repeat,no-repeat}
.CaseDetailHero__inner{max-width:1200px;margin:auto;padding:32px 24px 56px}
.CaseDetailHero .Breadcrumb{margin-bottom:36px}
.CaseDetailHero__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(min(100%,320px),520px);gap:56px;align-items:start}
.CaseDetailHero__label{font-size:var(--font-h-md);font-weight:600;color:var(--color-on-surface);line-height:1.45}
.CaseDetailHero h1{margin-top:10px;font-size:var(--font-h-lg);line-height:1.4}
.CaseDetailHero__summary{max-width:620px;margin-top:18px;color:var(--color-on-surface-variant);font-size:var(--font-body);line-height:1.8}
.CaseDetailHero__profiles{margin-top:28px;padding-top:20px;border-top:1px solid var(--color-outline);display:grid;gap:24px}
.CaseDetailHero__profile .CaseDetailHero__role{margin-top:0;padding-top:0;border-top:0}
.CaseDetailHero__role{margin-top:28px;padding-top:20px;border-top:1px solid var(--color-outline);font-size:var(--font-body-sm);font-weight:600;color:var(--color-on-surface-variant);line-height:1.5}
.CaseDetailHero__name{margin-top:8px;font-size:var(--font-body);font-weight:400;color:var(--color-on-surface);line-height:1.5}
.CaseDetailMeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:32px;border-top:1px solid var(--color-outline);border-bottom:1px solid var(--color-outline)}
.CaseDetailMeta div{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--color-outline)}
.CaseDetailMeta div:nth-child(-n+2){border-top:0}
.CaseDetailMeta dt{font-size:var(--font-note);font-weight:600;color:var(--color-on-surface-variant)}
.CaseDetailMeta dd{font-size:var(--font-body-sm);font-weight:600;color:var(--color-on-surface);line-height:1.6}
.CaseDetailHero__image{aspect-ratio:3/2;border-radius:0;overflow:hidden;background:var(--color-surface);box-shadow:none}
.CaseDetailHero__image img{width:100%;height:100%;object-fit:cover;display:block}
.CaseArticleWrap{margin-top:0;padding:0 24px 56px;background:var(--color-surface-alt)}
.CaseArticle{max-width:760px;margin:0 auto;padding:72px;background:var(--color-surface);box-shadow:none}
@media(max-width:1023px){
  .CaseArticle{padding:40px 32px}
}
.CaseArticle__org{font-size:var(--font-note);font-weight:600;color:var(--color-on-surface-variant);line-height:1.5}
.CaseArticle__lead{margin-top:12px;font-size:var(--font-body);font-weight:400;line-height:2;color:var(--color-on-surface-variant)}
.CaseArticle__section{margin-top:44px}
.CaseArticle__section:first-child{margin-top:0}
.CaseArticle__section h2{font-size:var(--font-h-md);line-height:1.45;text-align:left;max-width:none;margin-left:0;margin-right:0}
.CaseArticle__section p{margin-top:18px;color:var(--color-on-surface-variant);font-size:var(--font-body);line-height:2}
.InterviewBlock{margin-top:18px}
.InterviewBlock__question{margin-top:28px!important;color:var(--color-on-surface)!important;font-weight:600}
.InterviewBlock__question::before{content:"――"}
.InterviewBlock__question:first-child{margin-top:0!important}
.CaseArticle__figure{margin-top:28px;aspect-ratio:3/2;overflow:hidden;background:var(--color-surface-alt)}
.CaseArticle__figure img{width:100%;height:100%;object-fit:cover;display:block}
.CaseArticle__section--result{padding-top:32px;border-top:1px solid var(--color-outline)}
.CaseArticle__section--result ul{display:grid;gap:10px;margin-top:18px;padding-left:1.2em;color:var(--color-on-surface-variant);font-size:var(--font-body);line-height:1.8}
.CaseArticle__section--company{padding-top:32px;border-top:1px solid var(--color-outline)}
.CaseArticle__companyName{font-size:var(--font-h-sm);font-weight:600;line-height:1.45;color:var(--color-on-surface);text-align:left;max-width:none;margin:0}
.CaseArticle__pr{margin-top:16px;color:var(--color-on-surface-variant);font-size:var(--font-body);line-height:2}
.CaseArticle__url{margin-top:16px;font-size:var(--font-body-sm);line-height:1.75;word-break:break-all}
.CaseArticle__url a{color:var(--color-accent);font-weight:600}
.CaseRelated{background:var(--color-surface);padding:56px 24px 64px}
.CaseRelated__inner{max-width:1200px;margin:auto}
.CaseRelated h2{font-size:var(--font-h-md);line-height:1.4;text-align:center}
.CaseRelatedGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.RelatedCaseCard{background:var(--color-surface);border:0;border-radius:var(--radius-sm);box-shadow:var(--shadow-card)}
.RelatedCaseCard a{display:flex;min-height:176px;height:100%;flex-direction:column;padding:20px;color:inherit}
.RelatedCaseCard a:hover{text-decoration:none;background:linear-gradient(var(--state-layer-hover),var(--state-layer-hover)),var(--color-surface)}
.RelatedCaseCard p{font-size:var(--font-note);font-weight:600;color:var(--color-on-surface-variant);line-height:1.5}
.RelatedCaseCard h3{margin-top:10px;font-size:var(--font-body);font-weight:600;line-height:1.55;color:var(--color-on-surface)}
.RelatedCaseCard span{margin-top:auto;color:var(--color-accent);font-size:var(--font-body-sm);font-weight:600}
@media(max-width:1023px){
  .CaseDetailHero__layout{grid-template-columns:1fr;gap:28px}
  .CaseDetailHero__image{order:-1}
  .CaseDetailMeta{grid-template-columns:1fr}
  .CaseDetailMeta div:nth-child(-n+2){border-top:1px solid var(--color-outline)}
  .CaseDetailMeta div:first-child{border-top:0}
  .CaseRelatedGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .CaseRelatedGrid{grid-template-columns:1fr}
  .CaseDetailHero__inner{padding:24px 24px 40px}
  .CaseDetailHero .Breadcrumb{margin-bottom:24px}
  .CaseArticleWrap{margin-top:0;padding:0 16px 40px}
  .CaseArticle{padding:24px}
  .CaseArticle__lead{font-size:var(--font-body);line-height:1.8}
  .CaseArticle__section{margin-top:34px}
  .CaseArticle__section:first-child{margin-top:0}
  .RelatedCaseCard a{min-height:144px}
  .CaseRelated{padding:40px 24px 48px}
}
