@charset "UTF-8";
/* ============================================================
   T-4OO LP  /  style.css
   1. Base      … リセット・カラートークン・タイポグラフィ
   2. Links     … リンク／ボタンの通常・ホバー・フォーカス
   3. Component … 各セクションのレイアウト（セクション別）
   4. Responsive… PC 1025px以上 / タブレット 〜1024px / スマホ 〜768px
   ------------------------------------------------------------
   ※ box-sizing は既存デザインの寸法計算（content-box）を保つため
     意図的に一括変更していません。変更するとレイアウトが崩れます。
   ============================================================ */

/* ---------- 1. Base ---------- */
:root {
  --ac: #1E6FB0;        /* アクセントカラー（ここ1か所で全体を変更できます） */
  --ac-dark: #175488;   /* アクセントカラー：ホバー時 */
  --ink: #17211E;       /* 基本の文字色 */
  --bg: #FCFCFA;        /* 背景色 */
}

html, body {
  height: auto;
  min-height: 100%;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: 'Zen Kaku Gothic New', YakuHanJP, 'Noto Sans JP',
               'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

h1, h2 {
  font-family: inherit;
  font-weight: 900;
  letter-spacing: .02em;
}

img {
  max-width: 100%;
}

[hidden] {
  display: none !important;
}

::selection {
  background: rgba(30, 111, 176, .18);
}

@keyframes heroIn {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* スクロール連動フェードイン（script.js が rv-pre / rv-in を付与） */
[data-rv] { will-change: opacity, transform; }
[data-rv].rv-pre { opacity: 0; transform: translateY(22px); }
[data-rv].rv-in {
  opacity: 1;
  transform: none;
  transition: opacity .85s ease, transform .85s cubic-bezier(.22, 1, .36, 1);
}

/* アンカーリンクでスクロールした際、固定ヘッダーに隠れないように */
[id] { scroll-margin-top: 96px; }

/* ---------- 2. Links / Buttons ---------- */
a {
  color: var(--ac);
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease,
              box-shadow .2s ease, opacity .2s ease, transform .2s ease,
              filter .2s ease;
}
a:hover { color: var(--ac-dark); }

/* キーボード操作時のフォーカス表示 */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--ac);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ヘッダーロゴ */
.logo-link:hover { opacity: .7; }

/* グローバルナビのテキストリンク */
.nav-link { position: relative; }
.nav-link:hover { color: var(--ac); }
.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: var(--ac);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s cubic-bezier(.22, 1, .36, 1);
}
.nav-link:hover::after { transform: scaleX(1); }

/* ボタン共通 */
.btn { cursor: pointer; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }

/* 塗りボタン（資料請求） */
.btn-primary:hover {
  background: var(--ac-dark);
  color: #fff;
  box-shadow: 0 18px 34px -14px rgba(23, 84, 136, .7);
}

/* 線ボタン（無料トライアル） */
.btn-outline:hover {
  background: #EAF2FB;
  border-color: var(--ac-dark);
  color: var(--ac-dark);
}

/* ピル型ボタン（CTAセクション） */
.btn-pill-primary:hover {
  color: #fff;
  filter: brightness(1.08);
  box-shadow: 0 22px 46px -12px rgba(62, 155, 255, .75);
}
.btn-pill-white:hover {
  background: #EAF2FB;
  color: #1A55AC;
  box-shadow: 0 22px 46px -16px rgba(0, 0, 0, .6);
}

/* 本文中のテキストリンク */
.text-link:hover {
  color: var(--ac-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* フッターのリンク */
.foot-link:hover {
  color: var(--ac);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* FAQアコーディオンの開閉ボタン */
.faq-q { transition: background-color .2s ease; }
.faq-q:hover { background: #F5F9FD; }
.faq-icon {
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #EAF3FC;
  color: #1467B0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.faq-q:hover .faq-icon { background: #D8EAFA; }
.faq-q[aria-expanded="true"] .faq-icon {
  background: #1467B0;
  color: #fff;
  transform: rotate(45deg);
}

/* 動きを減らす設定の環境では、アニメーションを無効化 */
@media (prefers-reduced-motion: reduce) {
  [data-rv] {
    opacity: 1 !important;
    transform: none !important;
  }
  a, .btn, .faq-icon, .nav-link::after { transition: none !important; }
  .btn:hover { transform: none; }
}


/* ============================================================
   3. Components（セクション別レイアウト / PC基準）
   ============================================================ */

/* ---------- Header / 共通ユーティリティ ---------- */
.hd-1 {
  position:sticky;
  top:0;
  z-index:50;
  box-sizing:border-box;
  width:100%;
  max-width:1536px;
  margin:0 auto;
  padding:18px 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(23,33,30,.07);
}
.hd-2 {
  display:flex;
  align-items:center;
  gap:16px;
}
.hd-3 {
  display:block;
  line-height:0;
}
.hd-4 {
  height:34px;
  width:auto;
  display:block;
}
.hd-5 {
  font-size:13px;
  letter-spacing:.1em;
  color:rgba(23,33,30,.55);
  padding-left:16px;
  border-left:1px solid rgba(23,33,30,.15);
}
.hd-6 {
  display:flex;
  align-items:center;
  gap:clamp(16px,2vw,34px);
  font-size:15px;
  font-weight:700;
  letter-spacing:.05em;
}
.u-color-17211E {
  color:#17211E;
}
.hd-7 {
  display:inline-flex;
  align-items:center;
  height:48px;
  padding:0 30px;
  background:var(--ac);
  color:#fff;
  border-radius:8px;
  font-weight:700;
  box-shadow:0 12px 24px -12px rgba(30,95,191,.6);
}

/* ---------- 01 ファーストビュー ---------- */
.fv-1 {
  position:relative;
  width:100%;
  max-width:1536px;
  margin:0 auto;
  background:linear-gradient(160deg,#FFFFFF 0%,#EFF5FD 62%,#E4EFFB 100%);
  overflow:hidden;
}
.fv-2 {
  position:absolute;
  top:0;
  right:0;
  width:78%;
  height:auto;
  z-index:1;
  animation:heroIn 1s .15s cubic-bezier(.22,1,.36,1) both;
}
.fv-3 {
  position:relative;
  z-index:3;
  padding:44px 48px 0;
  width:50%;
  animation:heroIn .9s cubic-bezier(.22,1,.36,1) both;
}
.fv-4 {
  height:88px;
  width:auto;
  display:block;
}
.fv-5 {
  margin:26px 0 0;
  font-weight:900;
  font-size:clamp(34px,3.5vw,52px);
  line-height:1.5;
  letter-spacing:.03em;
  text-wrap:pretty;
}
.fv-6 {
  color:var(--ac);
}
.fv-7 {
  font-size:0.5em;
  vertical-align:super;
}
.fv-8 {
  margin:30px 0 0;
  font-size:15.5px;
  line-height:2.05;
  letter-spacing:.04em;
  color:rgba(23,33,30,.75);
  max-width:520px;
}
.fv-9 {
  font-weight:900;
  color:var(--ac);
}
.fv-10 {
  display:flex;
  gap:16px;
  margin-top:36px;
  flex-wrap:nowrap;
}
.fv-11 {
  display:inline-flex;
  align-items:center;
  gap:12px;
  height:56px;
  padding:0 34px;
  background:var(--ac);
  color:#fff;
  border-radius:8px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.1em;
  white-space:nowrap;
  box-shadow:0 16px 30px -16px rgba(30,95,191,.65);
}
.fv-12 {
  display:inline-flex;
  align-items:center;
  gap:12px;
  height:56px;
  padding:0 30px;
  background:rgba(255,255,255,.9);
  border:1.5px solid var(--ac);
  color:var(--ac);
  border-radius:8px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.08em;
  white-space:nowrap;
}
.fv-13 {
  position:relative;
  z-index:3;
  margin-top:44px;
  padding:0 40px 40px;
}
.fv-14 {
  background:#fff;
  border:1px solid rgba(23,33,30,.07);
  border-radius:20px;
  box-shadow:0 30px 60px -40px rgba(38,74,140,.4);
  padding:26px 40px;
  display:flex;
  flex-direction:column;
  gap:16px;
  align-items:center;
}
.fv-15 {
  margin:0;
  font-size:15px;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--ac);
}
.fv-16 {
  display:block;
  width:100%;
  height:auto;
}
.fv-17 {
  margin-top:14px;
  padding:0 6px;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:11px;
  line-height:1.8;
  letter-spacing:.01em;
  color:rgba(23,33,30,.5);
}
.u-margin-0 {
  margin:0;
}

/* ---------- 02 AI翻訳の落とし穴 ---------- */
.why-1 {
  position:relative;
  overflow:hidden;
  background:linear-gradient(165deg,#EAF2FB 0%,#C6DBF2 52%,#9DC0E8 100%);
  color:#1C2B45;
  border-bottom:1px solid rgba(23,33,30,.08);
}
.why-2 {
  position:absolute;
  top:-160px;
  right:-140px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(179,208,244,.55),rgba(179,208,244,0) 70%);
  pointer-events:none;
}
.why-3 {
  position:absolute;
  top:60px;
  right:40px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(206,224,247,.6),rgba(206,224,247,0) 68%);
  pointer-events:none;
}
.why-4 {
  position:absolute;
  top:120px;
  left:56px;
  width:44px;
  height:110px;
  background-image:radial-gradient(rgba(140,175,225,.55) 2px,transparent 2.4px);
  background-size:15px 15px;
  pointer-events:none;
}
.why-5 {
  position:relative;
  max-width:1160px;
  margin:0 auto;
  padding:120px 32px 130px;
}
.why-6 {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-bottom:72px;
}
.why-7 {
  display:inline-flex;
  align-items:center;
  height:38px;
  padding:0 26px;
  border:1.5px solid #C6DAF3;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
  color:#2A6CDB;
  background:rgba(255,255,255,.6);
}
.why-8 {
  margin:34px 0 0;
  font-weight:700;
  font-size:clamp(32px,4.4vw,54px);
  line-height:1.32;
  letter-spacing:.01em;
  color:#1C2B45;
  text-wrap:balance;
}
.u-color-2A6CDB {
  color:#2A6CDB;
}
.why-9 {
  font-size:1.28em;
  line-height:1.2;
  display:inline-block;
  margin-top:.18em;
}
.why-10 {
  color:#2A6CDB;
  border-bottom:5px solid #9EC1EE;
  padding-bottom:2px;
}
.why-11 {
  margin:40px 0 0;
  max-width:660px;
  font-size:15.5px;
  line-height:2.1;
  letter-spacing:.02em;
  color:#5A6A83;
  font-weight:500;
  text-wrap:pretty;
}
.why-12 {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:28px;
}
.why-13 {
  background:#fff;
  border-radius:16px;
  box-shadow:0 24px 48px -30px rgba(38,74,140,.35);
  padding:38px 28px 30px;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.why-14 {
  font-size:22px;
  font-weight:700;
  color:#B8C6DD;
  letter-spacing:.04em;
  display:flex;
  align-items:center;
  gap:12px;
}
.why-15 {
  width:26px;
  height:2px;
  background:#B8C6DD;
}
.why-16 {
  display:flex;
  align-items:center;
  gap:14px;
}
.why-17 {
  flex:none;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#2A6CDB;
  display:flex;
  align-items:center;
  justify-content:center;
}
.why-18 {
  margin:0;
  font-size:18px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0;
  color:#2A6CDB;
}
.why-19 {
  margin:0;
  font-size:13.5px;
  line-height:2;
  letter-spacing:.01em;
  color:#63718A;
  font-weight:500;
}
.u-margin-top-auto-padding-top-14px {
  margin-top:auto;
  padding-top:14px;
}
.u-display-block {
  display:block;
}
.why-20 {
  display:flex;
  justify-content:center;
  margin-top:78px;
}
.why-21 {
  margin:0;
  font-size:clamp(22px,2.4vw,30px);
  font-weight:700;
  letter-spacing:.03em;
  line-height:1.6;
  color:#1C2B45;
}
.why-22 {
  position:relative;
  color:#1EA085;
  white-space:nowrap;
}
.why-23 {
  position:absolute;
  left:-2px;
  right:-2px;
  bottom:-2px;
  height:7px;
  background:#7FD9C4;
  border-radius:4px;
  z-index:-1;
  opacity:.85;
}

/* ---------- 02B コアテクノロジー ---------- */
.tech-1 {
  position:relative;
  overflow:hidden;
  background:#fff;
}
.tech-2 {
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:720px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 48px),0 100%);
  background:radial-gradient(circle at 18% 26%,rgba(120,170,235,.28),transparent 38%),radial-gradient(circle at 80% 20%,rgba(150,190,245,.24),transparent 40%),radial-gradient(circle at 62% 66%,rgba(90,140,215,.22),transparent 44%),linear-gradient(180deg,#0A1F44 0%,#0E2653 52%,#122F60 100%);
}
.tech-3 {
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:88px 32px 100px;
  text-align:center;
}
.tech-4 {
  margin-bottom:8px;
}
.tech-5 {
  display:inline-block;
  background:#fff;
  border-radius:5px;
  padding:6px 16px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.16em;
  color:#2A6CDB;
}
.tech-6 {
  margin-top:22px;
}
.tech-7 {
  display:inline-block;
  background:#fff;
  border-radius:8px;
  padding:10px 26px;
}
.tech-8 {
  font-weight:800;
  font-size:clamp(28px,4.4vw,52px);
  letter-spacing:.01em;
  color:#16203a;
}
.tech-9 {
  margin:26px 0 0;
  font-size:16px;
  font-weight:600;
  letter-spacing:.02em;
  color:#d8e5f7;
}
.tech-10 {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:28px;
  margin-top:60px;
  text-align:left;
}
.tech-11 {
  position:relative;
  background:#fff;
  border-radius:16px;
  box-shadow:0 32px 64px -36px rgba(10,25,60,.55);
  padding-bottom:36px;
  overflow:visible;
}
.tech-12 {
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#3A6BD0;
  border:3px solid #fff;
  box-shadow:0 4px 10px rgba(10,25,60,.25);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
  font-size:17px;
  font-family:Arial,sans-serif;
}
.tech-13 {
  margin:38px 22px 0;
  height:100px;
  border-radius:12px;
  background:linear-gradient(135deg,#3E70D2,#2E5CC4);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  font-weight:800;
  font-size:19px;
  letter-spacing:.02em;
}
.tech-14 {
  height:196px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tech-15 {
  margin:0 30px;
  font-size:14px;
  line-height:1.95;
  color:#4A5568;
}
.tech-16 {
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#264BA6;
  border:3px solid #fff;
  box-shadow:0 4px 10px rgba(10,25,60,.25);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
  font-size:17px;
  font-family:Arial,sans-serif;
}
.tech-17 {
  margin:38px 22px 0;
  height:100px;
  border-radius:12px;
  background:linear-gradient(135deg,#2A50B0,#213F94);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  font-weight:800;
  font-size:19px;
  letter-spacing:.02em;
  line-height:1.4;
}
.tech-18 {
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#1B2C5E;
  border:3px solid #fff;
  box-shadow:0 4px 10px rgba(10,25,60,.25);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
  font-size:17px;
  font-family:Arial,sans-serif;
}
.tech-19 {
  margin:38px 22px 0;
  height:100px;
  border-radius:12px;
  background:linear-gradient(135deg,#1D2F63,#132147);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  font-weight:800;
  font-size:19px;
  letter-spacing:.02em;
}
.tech-20 {
  margin-top:60px;
}
.tech-21 {
  margin:0;
  font-size:clamp(20px,2.4vw,28px);
  font-weight:700;
  letter-spacing:.02em;
  color:#1C2B45;
  line-height:1.7;
}
.tech-22 {
  margin:12px 0 0;
  font-size:clamp(20px,2.4vw,28px);
  font-weight:700;
  letter-spacing:.02em;
  color:#1C2B45;
  line-height:1.7;
}
.tech-23 {
  display:inline-block;
  background:#2A6CDB;
  color:#fff;
  padding:2px 12px;
  border-radius:5px;
}

/* ---------- 03 T-4OOが選ばれる理由 ---------- */
.value-1 {
  background:#F5F8FC;
  border-bottom:1px solid rgba(23,33,30,.08);
}
.value-2 {
  max-width:1200px;
  margin:0 auto;
  padding:120px 32px 130px;
}
.value-3 {
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.16em;
  color:#2A6CDB;
}
.value-4 {
  width:30px;
  height:2px;
  background:#2A6CDB;
}
.value-5 {
  margin:32px 0 0;
  font-weight:800;
  font-size:clamp(30px,4vw,48px);
  line-height:1.42;
  letter-spacing:.01em;
  color:#1C2B45;
  text-wrap:balance;
}
.value-6 {
  position:relative;
  color:#2A6CDB;
  white-space:nowrap;
}
.value-7 {
  position:absolute;
  left:-2px;
  right:-2px;
  bottom:6px;
  height:15px;
  background:#FCE24E;
  border-radius:2px;
  z-index:-1;
}
.value-8 {
  display:grid;
  grid-template-columns:1fr 72px 1fr;
  align-items:center;
  gap:0;
}
.value-9 {
  background:#fff;
  border:1px solid #E6EAF1;
  border-radius:22px;
  padding:34px 32px 28px;
  display:flex;
  flex-direction:column;
}
.value-10 {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:26px;
}
.value-11 {
  display:inline-flex;
  align-items:center;
  height:36px;
  padding:0 20px;
  background:#EDEFF3;
  color:#6B7488;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
}
.value-12 {
  font-size:14px;
  color:#9AA3B4;
}
.value-13 {
  margin:0 0 26px;
  font-size:clamp(20px,2.1vw,26px);
  font-weight:800;
  letter-spacing:.02em;
  color:#1C2B45;
}
.value-14 {
  border:1px solid #EBEEF4;
  border-radius:12px;
  padding:26px 24px;
  display:flex;
  flex-direction:column;
  gap:11px;
  background:#fff;
}
.value-15 {
  height:9px;
  width:72%;
  border-radius:3px;
  background:#B7BFCC;
}
.value-16 {
  height:9px;
  width:46%;
  border-radius:3px;
  background:#B7BFCC;
}
.value-17 {
  height:6px;
}
.u-display-flex-gap-9px {
  display:flex;
  gap:9px;
}
.value-18 {
  height:9px;
  width:44px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-19 {
  height:9px;
  width:82px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-20 {
  height:9px;
  width:60px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-21 {
  height:9px;
  width:70px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-22 {
  height:9px;
  width:64px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-23 {
  height:9px;
  width:50px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-24 {
  height:9px;
  width:90px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-25 {
  height:9px;
  width:38px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-26 {
  height:9px;
  width:76px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-27 {
  height:9px;
  width:56px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-28 {
  height:9px;
  width:48px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-29 {
  height:9px;
  width:80px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-30 {
  height:9px;
  width:52px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-31 {
  height:9px;
  width:88px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-32 {
  height:9px;
  width:78px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-33 {
  height:9px;
  width:46px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-34 {
  height:9px;
  width:58px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-35 {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:26px;
}
.u-flex-none {
  flex:none;
}
.value-36 {
  font-size:14.5px;
  line-height:1.7;
  color:#5A6479;
}
.value-37 {
  display:flex;
  justify-content:center;
  align-items:center;
}
.value-38 {
  width:56px;
  height:56px;
  border-radius:50%;
  background:#2A6CDB;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 26px -12px rgba(42,108,219,.7);
}
.value-39 {
  background:#fff;
  border:1.5px solid #CFE0F5;
  border-radius:22px;
  padding:34px 32px 28px;
  display:flex;
  flex-direction:column;
  box-shadow:0 30px 60px -34px rgba(42,108,219,.4);
}
.value-40 {
  display:inline-flex;
  align-items:center;
  height:36px;
  padding:0 20px;
  background:#2A6CDB;
  color:#fff;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
}
.value-41 {
  font-size:14px;
  font-weight:800;
  color:#2A6CDB;
}
.value-42 {
  margin:0 0 26px;
  font-size:clamp(20px,2.1vw,26px);
  font-weight:800;
  letter-spacing:.02em;
  color:#1C2B45;
  line-height:1.5;
}
.value-43 {
  position:relative;
  white-space:nowrap;
}
.value-44 {
  position:absolute;
  left:-1px;
  right:-1px;
  bottom:3px;
  height:12px;
  background:#FCE24E;
  border-radius:2px;
  z-index:-1;
}
.value-45 {
  border:1px solid #EBEEF4;
  border-radius:12px;
  padding:22px 24px 26px;
  display:flex;
  flex-direction:column;
  gap:11px;
  background:#fff;
}
.value-46 {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:6px;
}
.value-47 {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  font-weight:800;
  color:#17A06B;
}
.value-48 {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#22B378;
}
.value-49 {
  font-size:12.5px;
  font-weight:800;
  color:#2A6CDB;
}
.value-50 {
  height:9px;
  width:94%;
  border-radius:3px;
  background:#3B4658;
}
.value-51 {
  height:9px;
  width:66%;
  border-radius:3px;
  background:#3B4658;
}
.value-52 {
  height:5px;
}
.value-53 {
  height:9px;
  width:58px;
  border-radius:3px;
  background:#FCE24E;
}
.value-54 {
  height:9px;
  width:86px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-55 {
  height:9px;
  width:56px;
  border-radius:3px;
  background:#FCE24E;
}
.value-56 {
  height:9px;
  width:62px;
  border-radius:3px;
  background:#FCE24E;
}
.value-57 {
  height:9px;
  width:36px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-58 {
  height:9px;
  width:48px;
  border-radius:3px;
  background:#FCE24E;
}
.value-59 {
  height:9px;
  width:66px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-60 {
  height:9px;
  width:72px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-61 {
  height:9px;
  width:60px;
  border-radius:3px;
  background:#FCE24E;
}
.value-62 {
  height:9px;
  width:66px;
  border-radius:3px;
  background:#FCE24E;
}
.value-63 {
  height:9px;
  width:88px;
  border-radius:3px;
  background:#FCE24E;
}
.value-64 {
  height:9px;
  width:40px;
  border-radius:3px;
  background:#CDD4DF;
}
.value-65 {
  height:9px;
  width:54px;
  border-radius:3px;
  background:#FCE24E;
}
.value-66 {
  height:9px;
  width:64px;
  border-radius:3px;
  background:#FCE24E;
}
.value-67 {
  height:9px;
  width:50px;
  border-radius:3px;
  background:#FCE24E;
}
.value-68 {
  font-size:14.5px;
  line-height:1.7;
  color:#3B4658;
}
.value-69 {
  font-weight:800;
  color:#2A6CDB;
}

/* ---------- 03A 多言語対応 ---------- */
.ml-1 {
  position:relative;
  overflow:hidden;
  background:linear-gradient(170deg,#FFFFFF 0%,#F3F8FE 40%,#E7F0FB 100%);
  border-bottom:1px solid rgba(23,33,30,.08);
}
.ml-2 {
  position:absolute;
  top:-200px;
  right:-180px;
  width:600px;
  height:600px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(107,163,224,.2),rgba(107,163,224,0) 70%);
  pointer-events:none;
}
.ml-3 {
  position:relative;
  z-index:2;
  max-width:1120px;
  margin:0 auto;
  padding:110px 32px 120px;
}
.ml-4 {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
  text-align:center;
}
.ml-5 {
  display:inline-flex;
  align-items:center;
  height:38px;
  padding:0 22px;
  border-radius:999px;
  background:#2A6CDB;
  color:#fff;
  font-size:14px;
  font-weight:800;
  letter-spacing:.14em;
}
.ml-6 {
  margin:0;
  font-weight:800;
  font-size:clamp(28px,3.6vw,44px);
  line-height:1.5;
  letter-spacing:.02em;
  color:#1C2B45;
  text-wrap:pretty;
}
.ml-7 {
  margin:0;
  font-size:16px;
  font-weight:600;
  line-height:2;
  letter-spacing:.02em;
  color:#5A6479;
}
.ml-8 {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:44px;
  align-items:stretch;
  margin-top:52px;
}
.ml-9 {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:32px;
}
.ml-10 {
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ml-11 {
  display:flex;
  align-items:baseline;
  gap:10px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(42,108,219,.16);
}
.ml-12 {
  margin:0;
  font-size:19px;
  font-weight:800;
  letter-spacing:.08em;
  color:#2A6CDB;
}
.ml-13 {
  font-size:13.5px;
  font-weight:800;
  letter-spacing:.08em;
  color:#9AAABD;
}
.ml-14 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 20px;
}
.ml-15 {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:17px;
  font-weight:600;
  line-height:1.6;
  color:#3B475C;
}
.ml-16 {
  flex:none;
  width:7px;
  height:7px;
  margin-top:9px;
  border-radius:50%;
  background:#2A6CDB;
}
.ml-17 {
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.u-white-space-nowrap {
  white-space:nowrap;
}
.ml-18 {
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.ml-19 {
  display:inline-flex;
  align-items:center;
  height:22px;
  padding:0 9px;
  border-radius:5px;
  background:#fff;
  border:1px solid rgba(42,108,219,.16);
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  color:#5A7592;
  white-space:nowrap;
}
.ml-20 {
  position:relative;
  padding:34px 30px;
  border-radius:22px;
  background:linear-gradient(140deg,#E9F4FD 0%,#D7EDFC 52%,#CDE8FB 100%);
  box-shadow:0 30px 62px -40px rgba(23,60,105,.5);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;
  overflow:hidden;
}
.ml-21 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  justify-items:center;
  width:100%;
  max-width:290px;
}
.ml-22 {
  display:block;
  width:min(84px,100%);
  height:auto;
  aspect-ratio:1/1;
  border-radius:50%;
  box-shadow:0 10px 20px -10px rgba(23,60,105,.45);
}
.ml-23 {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
}
.ml-24 {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:13px;
  flex:none;
}
.ml-25 {
  display:block;
  width:46px;
  height:9px;
  background-image:radial-gradient(circle at 4.5px 4.5px,#FFFFFF 3.6px,transparent 4px);
  background-size:15px 9px;
  background-repeat:repeat-x;
  transform:rotate(16deg);
  opacity:.9;
}
.ml-26 {
  display:block;
  width:58px;
  height:9px;
  background-image:radial-gradient(circle at 4.5px 4.5px,#FFFFFF 3.6px,transparent 4px);
  background-size:15px 9px;
  background-repeat:repeat-x;
  transform:rotate(7deg);
  opacity:.9;
}
.ml-27 {
  display:block;
  width:58px;
  height:9px;
  background-image:radial-gradient(circle at 4.5px 4.5px,#FFFFFF 3.6px,transparent 4px);
  background-size:15px 9px;
  background-repeat:repeat-x;
  transform:rotate(-6deg);
  opacity:.9;
}
.ml-28 {
  display:block;
  width:46px;
  height:9px;
  background-image:radial-gradient(circle at 4.5px 4.5px,#FFFFFF 3.6px,transparent 4px);
  background-size:15px 9px;
  background-repeat:repeat-x;
  transform:rotate(-16deg);
  opacity:.9;
}
.ml-29 {
  display:block;
  width:100%;
  max-width:200px;
  height:auto;
  filter:drop-shadow(0 16px 24px rgba(23,60,105,.18));
}
.ml-30 {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
  flex:none;
  transform:scaleX(-1);
}
.ml-31 {
  margin:18px 4px 0;
  font-size:12px;
  line-height:1.9;
  color:rgba(23,33,30,.45);
}

/* ---------- 03B 機能一覧 ---------- */
.feat-1 {
  background:linear-gradient(180deg,#FFFFFF 0%,#F1F6FC 100%);
  border-bottom:1px solid rgba(23,33,30,.08);
}
.feat-2 {
  max-width:1120px;
  margin:0 auto;
  padding:110px 32px 120px;
}
.feat-3 {
  text-align:center;
  margin-bottom:60px;
}
.feat-4 {
  margin:0;
  font-size:14px;
  font-weight:800;
  letter-spacing:.22em;
  color:#8AA0BF;
}
.feat-5 {
  margin:14px 0 0;
  font-weight:800;
  font-size:clamp(30px,4vw,44px);
  letter-spacing:.02em;
  color:#1C2B45;
}
.feat-6 {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:24px;
  margin-bottom:36px;
}
.feat-7 {
  background:#fff;
  border:1px solid #E9EEF6;
  border-radius:18px;
  padding:34px 30px 32px;
  display:flex;
  flex-direction:column;
  box-shadow:0 22px 44px -32px rgba(38,74,140,.35);
}
.feat-8 {
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:24px;
}
.feat-9 {
  font-size:46px;
  font-weight:800;
  color:#D5E0F1;
  line-height:.9;
}
.feat-10 {
  margin:0;
  font-size:20px;
  font-weight:800;
  color:#1C2B45;
  letter-spacing:.02em;
}
.feat-11 {
  display:flex;
  justify-content:center;
  margin-bottom:26px;
}
.feat-12 {
  width:104px;
  height:104px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 45%,#E7F0FC,#DCE9FA);
  display:flex;
  align-items:center;
  justify-content:center;
}
.feat-13 {
  margin:0;
  font-size:13.5px;
  line-height:1.95;
  color:#5A6479;
}
.feat-14 {
  margin:0;
  font-size:20px;
  font-weight:800;
  color:#1C2B45;
  letter-spacing:.02em;
  line-height:1.4;
}
.feat-15 {
  background:#fff;
  border:1px solid #E9EEF6;
  border-radius:18px;
  padding:40px 44px;
  box-shadow:0 22px 44px -32px rgba(38,74,140,.35);
}
.feat-16 {
  display:flex;
  align-items:center;
  gap:36px;
  flex-wrap:wrap;
  justify-content:center;
}
.feat-17 {
  flex:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  width:150px;
  height:78px;
  border-radius:12px;
  background:linear-gradient(135deg,#1FB6A6,#2E8BD8);
  color:#fff;
}
.feat-18 {
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
}
.feat-19 {
  font-size:15px;
  font-weight:800;
}
.feat-20 {
  font-size:26px;
}
.feat-21 {
  display:flex;
  flex-direction:column;
  gap:6px;
}
.feat-22 {
  font-size:13px;
  color:#7A889E;
}
.feat-23 {
  font-size:clamp(24px,2.6vw,32px);
  font-weight:800;
  color:#1C2B45;
}
.feat-24 {
  font-size:clamp(24px,2.6vw,32px);
  font-weight:800;
  color:#17A08A;
}
.feat-25 {
  height:1px;
  background:#EBEEF4;
  margin:34px 0 28px;
}
.feat-26 {
  text-align:center;
}
.feat-27 {
  display:inline-flex;
  align-items:center;
  gap:14px;
}
.feat-28 {
  width:34px;
  height:34px;
  border-radius:50%;
  border:2px solid #1FB6A6;
  display:flex;
  align-items:center;
  justify-content:center;
}
.feat-29 {
  font-size:clamp(20px,2.3vw,28px);
  font-weight:800;
  color:#17A08A;
  letter-spacing:.02em;
}
.feat-30 {
  margin:16px 0 0;
  font-size:12.5px;
  color:#98A2B3;
}

/* ---------- 03C ファイル・レイアウト ---------- */
.file-1 {
  position:relative;
  overflow:hidden;
  background:#F5F8FC;
  border-bottom:1px solid rgba(23,33,30,.08);
}
.file-2 {
  position:absolute;
  bottom:-120px;
  left:-120px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(186,212,244,.4),rgba(186,212,244,0) 70%);
  pointer-events:none;
}
.file-3 {
  position:relative;
  max-width:1000px;
  margin:0 auto;
  padding:100px 32px 110px;
}
.file-4 {
  text-align:center;
  margin-bottom:56px;
}
.file-5 {
  margin:16px 0 0;
  font-weight:800;
  font-size:clamp(26px,3.4vw,38px);
  letter-spacing:.02em;
  color:#1C2B45;
}
.file-6 {
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:120px;
  align-items:center;
  max-width:820px;
  margin:0 auto;
}
.file-7 {
  position:absolute;
  left:50%;
  top:6%;
  transform:translateX(-50%);
  z-index:3;
}
.file-8 {
  position:absolute;
  left:50%;
  bottom:6%;
  transform:translateX(-50%);
  z-index:3;
}
.file-9 {
  background:#fff;
  border:1px solid #E4E9F1;
  border-radius:6px;
  box-shadow:0 28px 56px -30px rgba(38,74,140,.45);
  padding:22px 22px 24px;
  transform:rotate(-1.5deg);
}
.file-10 {
  display:flex;
  justify-content:center;
  margin-bottom:12px;
}
.file-11 {
  height:6px;
  width:44%;
  background:#3B4658;
  border-radius:2px;
}
.file-12 {
  display:flex;
  justify-content:space-between;
  margin-bottom:14px;
}
.file-13 {
  height:4px;
  width:34%;
  background:#C6CEDA;
  border-radius:2px;
}
.file-14 {
  height:4px;
  width:30%;
  background:#C6CEDA;
  border-radius:2px;
}
.file-15 {
  display:grid;
  grid-template-columns:1fr 88px;
  gap:14px;
  margin-bottom:14px;
}
.file-16 {
  display:flex;
  flex-direction:column;
  gap:7px;
}
.file-17 {
  height:4px;
  width:80%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-18 {
  height:4px;
  width:66%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-19 {
  height:4px;
  width:74%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-20 {
  height:4px;
  width:58%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-21 {
  height:4px;
  width:70%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-22 {
  height:84px;
  border-radius:3px;
  overflow:hidden;
  position:relative;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
}
.file-23 {
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:14px;
}
.file-24 {
  height:4px;
  width:90%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-25 {
  height:4px;
  width:84%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-26 {
  height:4px;
  width:88%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-27 {
  border-top:1px solid #E4E9F1;
}
.file-28 {
  display:flex;
  justify-content:space-between;
  padding:7px 0;
  border-bottom:1px solid #EDF0F5;
}
.file-29 {
  height:4px;
  width:30%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-30 {
  height:4px;
  width:40%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-31 {
  height:4px;
  width:34%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-32 {
  height:4px;
  width:36%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-33 {
  height:4px;
  width:28%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-34 {
  height:4px;
  width:44%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-35 {
  display:flex;
  justify-content:space-between;
  padding:7px 0;
}
.file-36 {
  height:4px;
  width:32%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-37 {
  height:4px;
  width:38%;
  background:#D3DAE5;
  border-radius:2px;
}
.file-38 {
  background:#fff;
  border:1px solid #E4E9F1;
  border-radius:6px;
  box-shadow:0 28px 56px -30px rgba(38,74,140,.45);
  padding:22px 22px 24px;
  transform:rotate(1.5deg);
  font-family:'EB Garamond',serif;
}
.file-39 {
  text-align:center;
  font-size:8px;
  font-weight:700;
  color:#2B3648;
  letter-spacing:.02em;
  margin-bottom:10px;
}
.file-40 {
  display:flex;
  justify-content:space-between;
  font-size:5.5px;
  color:#9AA3B4;
  margin-bottom:12px;
}
.file-41 {
  font-size:6.5px;
  font-weight:700;
  color:#2B3648;
  margin-bottom:6px;
}
.file-42 {
  display:grid;
  grid-template-columns:1fr 82px;
  gap:12px;
  margin-bottom:12px;
}
.file-43 {
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:5.5px;
  color:#6B7488;
}
.file-44 {
  display:flex;
  justify-content:space-between;
}
.u-color-2B3648 {
  color:#2B3648;
}
.file-45 {
  height:68px;
  border-radius:3px;
  overflow:hidden;
  position:relative;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
}
.file-46 {
  border:1px solid #E4E9F1;
  border-radius:2px;
  font-size:5.5px;
  color:#4A5568;
}
.file-47 {
  display:flex;
  justify-content:space-between;
  padding:4px 7px;
  border-bottom:1px solid #EDF0F5;
}
.file-48 {
  display:flex;
  justify-content:space-between;
  padding:4px 7px;
  border-bottom:1px solid #EDF0F5;
  background:#FAFBFD;
}
.file-49 {
  display:flex;
  justify-content:space-between;
  padding:4px 7px;
  background:#FAFBFD;
}
.file-50 {
  max-width:760px;
  margin:64px auto 0;
  background:#E9F1FB;
  border-radius:14px;
  padding:26px 34px;
  display:flex;
  align-items:center;
  gap:26px;
}
.file-51 {
  flex:none;
  width:56px;
  height:56px;
  border-radius:12px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px -10px rgba(42,108,219,.5);
}
.file-52 {
  display:flex;
  flex-direction:column;
  gap:4px;
}
.file-53 {
  font-size:17px;
  font-weight:800;
  color:#1C2B45;
  letter-spacing:.03em;
}
.file-54 {
  font-size:14.5px;
  color:#3B4658;
  font-weight:600;
}
.file-55 {
  font-size:12px;
  color:#7A889E;
}

/* ---------- 03C CTA（中間） ---------- */
.ctaA-1 {
  position:relative;
  overflow:hidden;
  background:#03060E;
  border-bottom:1px solid rgba(23,33,30,.1);
}
.ctaA-2 {
  position:absolute;
  inset:0;
  z-index:0;
}
.ctaA-3 {
  width:100%;
  height:100%;
  background:radial-gradient(120% 130% at 82% 45%,#12305F 0%,#0A1A38 45%,#03060E 100%);
}
.ctaA-4 {
  position:absolute;
  inset:0;
  z-index:1;
  background:radial-gradient(120% 140% at 88% 60%,rgba(50,120,230,.5) 0%,rgba(20,60,150,.22) 32%,rgba(3,6,14,0) 62%),linear-gradient(90deg,#03060E 0%,rgba(3,6,14,.9) 42%,rgba(3,6,14,.72) 72%,rgba(3,6,14,.55) 100%);
  pointer-events:none;
}
.ctaA-5 {
  position:relative;
  z-index:2;
  max-width:1240px;
  margin:0 auto;
  padding:72px 40px;
  pointer-events:none;
}
.ctaA-6 {
  margin:0;
  font-weight:800;
  font-size:clamp(28px,3.8vw,44px);
  line-height:1.4;
  letter-spacing:.03em;
  color:#FEFEFF;
  text-wrap:pretty;
}
.ctaA-7 {
  color:#3E9BFF;
}
.ctaA-8 {
  width:72px;
  height:3px;
  background:#3E9BFF;
  margin:32px 0 0;
  border-radius:2px;
}
.ctaA-9 {
  margin:32px 0 0;
  font-size:16px;
  line-height:2;
  letter-spacing:.03em;
  color:rgba(255,255,255,.82);
}
.ctaA-10 {
  display:flex;
  gap:20px;
  margin-top:48px;
  flex-wrap:wrap;
  pointer-events:auto;
}
.ctaA-11 {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-width:300px;
  height:66px;
  padding:0 34px;
  background:linear-gradient(135deg,#3E9BFF,#1E5FBF);
  color:#fff;
  border-radius:999px;
  font-size:17px;
  font-weight:700;
  letter-spacing:.06em;
  box-shadow:0 18px 40px -14px rgba(62,155,255,.6);
}
.ctaA-12 {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-width:300px;
  height:66px;
  padding:0 34px;
  background:#fff;
  color:#1E5FBF;
  border-radius:999px;
  font-size:17px;
  font-weight:700;
  letter-spacing:.06em;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.5);
}

/* ---------- 03D 翻訳の判断 ---------- */
.judge-1 {
  position:relative;
  overflow:hidden;
  background:linear-gradient(170deg,#FFFFFF 0%,#EEF4FC 60%,#E1ECFA 100%);
  border-bottom:1px solid rgba(23,33,30,.08);
}
.judge-2 {
  position:absolute;
  top:-140px;
  right:-120px;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(120,170,235,.25),rgba(120,170,235,0) 70%);
  pointer-events:none;
}
.judge-3 {
  position:relative;
  max-width:1160px;
  margin:0 auto;
  padding:106px 32px 116px;
}
.judge-4 {
  max-width:760px;
  margin-bottom:56px;
}
.judge-5 {
  margin:0;
  font-size:15px;
  font-weight:700;
  letter-spacing:.04em;
  color:#3B4658;
}
.judge-6 {
  margin:14px 0 0;
  font-weight:800;
  font-size:clamp(28px,3.8vw,46px);
  line-height:1.35;
  letter-spacing:.02em;
  color:#1C2B45;
}
.judge-7 {
  margin:24px 0 0;
  font-size:15px;
  line-height:1.95;
  letter-spacing:.02em;
  color:#4A5568;
}
.judge-8 {
  background:#fff;
  border:1px solid #E1E8F2;
  border-radius:20px;
  box-shadow:0 34px 70px -40px rgba(38,74,140,.5);
  padding:40px 44px;
  margin-bottom:44px;
}
.judge-9 {
  display:grid;
  grid-template-columns:1fr 48px 1.15fr;
  gap:0 28px;
  align-items:center;
}
.judge-10 {
  margin:0 0 10px;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.04em;
  color:#8593A8;
}
.u-font-weight-500-color-A9B4C6 {
  font-weight:500;
  color:#A9B4C6;
}
.judge-11 {
  background:#F2F6FC;
  border:1px solid #E1E8F2;
  border-radius:10px;
  padding:18px 20px;
  font-size:16px;
  line-height:1.6;
  color:#2B3648;
}
.judge-12 {
  display:flex;
  justify-content:center;
}
.judge-13 {
  flex:none;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#E6F6EF;
  display:flex;
  align-items:center;
  justify-content:center;
}
.judge-14 {
  font-size:30px;
  font-weight:800;
  letter-spacing:.02em;
  color:#1C2B45;
}
.judge-15 {
  margin:12px 0 0;
  font-size:13.5px;
  color:#5A6678;
}
.judge-16 {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:32px;
  padding-top:32px;
  border-top:1px solid #EDF1F7;
}
.judge-17 {
  flex:none;
  width:46px;
  height:46px;
  border-radius:12px;
  background:#EAF1FB;
  display:flex;
  align-items:center;
  justify-content:center;
}
.judge-18 {
  margin:0;
  font-size:14px;
  font-weight:700;
  color:#1C2B45;
}
.judge-19 {
  margin-top:28px;
  background:#F7FAFE;
  border:1px solid #E7EEF7;
  border-radius:12px;
  padding:22px 26px;
}
.judge-20 {
  margin:0 0 14px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.03em;
  color:#2A6CDB;
}
.judge-21 {
  color:#8593A8;
  font-weight:500;
}
.judge-22 {
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:13.5px;
  line-height:1.6;
  color:#3B4658;
}
.u-display-flex-gap-10px {
  display:flex;
  gap:10px;
}
.judge-23 {
  flex:none;
  font-weight:700;
  color:#2A6CDB;
  min-width:38px;
}
.judge-24 {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.judge-25 {
  background:#fff;
  border:1px solid #E1E8F2;
  border-radius:16px;
  box-shadow:0 24px 48px -34px rgba(38,74,140,.4);
  padding:28px 26px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.judge-26 {
  align-self:flex-start;
  background:#1C2B45;
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  padding:6px 14px;
  border-radius:6px;
}
.judge-27 {
  margin:0;
  font-size:19px;
  font-weight:800;
  color:#1C2B45;
  letter-spacing:.02em;
}
.judge-28 {
  margin:0 0 8px;
  font-size:12px;
  font-weight:700;
  color:#8593A8;
}
.judge-29 {
  background:#F2F6FC;
  border:1px solid #E1E8F2;
  border-radius:9px;
  padding:14px 16px;
  font-size:14.5px;
  line-height:1.55;
  color:#2B3648;
}
.judge-30 {
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.u-flex-none-margin-top-2px {
  flex:none;
  margin-top:2px;
}
.judge-31 {
  margin:0 0 4px;
  font-size:13px;
  font-weight:700;
  color:#2A6CDB;
}
.judge-32 {
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:#4A5568;
}
.judge-33 {
  align-self:flex-start;
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#E6F6EF;
  color:#1E9E6A;
  font-size:13px;
  font-weight:700;
  padding:8px 16px;
  border-radius:8px;
}
.judge-34 {
  margin-top:44px;
  background:#fff;
  border:1px solid #E1E8F2;
  border-radius:16px;
  box-shadow:0 24px 48px -38px rgba(38,74,140,.4);
  padding:30px 40px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:0;
}
.judge-35 {
  display:flex;
  align-items:center;
  gap:16px;
  padding:0 26px 0 0;
}
.judge-36 {
  flex:none;
  width:52px;
  height:52px;
  border-radius:12px;
  background:#EAF1FB;
  display:flex;
  align-items:center;
  justify-content:center;
}
.judge-37 {
  margin:0;
  font-size:16px;
  font-weight:800;
  color:#1C2B45;
}
.judge-38 {
  margin:3px 0 0;
  font-size:12.5px;
  color:#7A889E;
}
.judge-39 {
  display:flex;
  align-items:center;
  gap:16px;
  padding:0 26px;
  border-left:1px solid #EDF1F7;
}
.judge-40 {
  display:flex;
  align-items:center;
  gap:16px;
  padding:0 0 0 26px;
  border-left:1px solid #EDF1F7;
}

/* ---------- 03E セキュリティ ---------- */
.sec-1 {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#F4F8FD 0%,#EDF3FB 100%);
  border-bottom:1px solid rgba(23,33,30,.08);
}
.sec-2 {
  position:absolute;
  top:24px;
  right:40px;
  opacity:.09;
  pointer-events:none;
}
.sec-3 {
  display:inline-block;
  background:#2A6CDB;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  padding:6px 16px;
  border-radius:6px;
}
.sec-4 {
  margin:20px 0 0;
  font-weight:800;
  font-size:clamp(28px,3.8vw,44px);
  line-height:1.3;
  letter-spacing:.03em;
  color:#1C2B45;
}
.sec-5 {
  margin:20px 0 0;
  font-size:15px;
  line-height:1.9;
  color:#4A5568;
}
.sec-6 {
  display:flex;
  flex-direction:column;
  gap:20px;
}
.sec-7 {
  position:relative;
  background:#fff;
  border:1px solid #E4EBF3;
  border-radius:14px;
  box-shadow:0 18px 40px -32px rgba(38,74,140,.5);
  padding:26px 40px 26px 44px;
  display:grid;
  grid-template-columns:340px 1fr;
  gap:0 32px;
  align-items:center;
  overflow:hidden;
}
.sec-8 {
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:6px;
  background:#2A6CDB;
  border-radius:0 4px 4px 0;
}
.sec-9 {
  display:flex;
  align-items:center;
  gap:22px;
}
.sec-10 {
  flex:none;
  width:54px;
  height:54px;
  border-radius:50%;
  border:2.5px solid #2A6CDB;
  display:flex;
  align-items:center;
  justify-content:center;
}
.sec-11 {
  margin:0;
  font-size:21px;
  font-weight:800;
  color:#2A6CDB;
  letter-spacing:.02em;
  padding-left:22px;
  border-left:1px solid #DCE4EF;
}
.sec-12 {
  margin:0;
  font-size:14.5px;
  line-height:1.9;
  color:#3B4658;
}

/* ---------- 03F 導入事例 ---------- */
.case-1 {
  position:relative;
  background:#F5F7FA;
  padding:0;
}
.case-2 {
  position:relative;
  background:#152852;
  overflow:hidden;
}
.case-3 {
  display:block;
  width:100%;
  height:80px;
  fill:#F5F7FA;
}
.case-4 {
  max-width:1240px;
  margin:0 auto;
  padding:44px 40px 96px;
}
.case-5 {
  display:inline-block;
  background:#fff;
  color:#2A6CDB;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  padding:6px 16px;
  border-radius:6px;
}
.case-6 {
  margin:20px 0 0;
  font-weight:800;
  font-size:clamp(28px,3.8vw,44px);
  line-height:1.3;
  letter-spacing:.03em;
  color:#fff;
}
.case-7 {
  margin:20px 0 0;
  font-size:15px;
  line-height:1.9;
  color:rgba(255,255,255,.78);
}
.case-8 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.case-9 {
  background:#fff;
  border-radius:16px;
  box-shadow:0 30px 60px -34px rgba(0,0,0,.5);
  padding:20px 20px 24px;
  display:flex;
  flex-direction:column;
}
.case-10 {
  display:block;
  width:100%;
  height: auto;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:10px;
  background:#E7EDF3;
}
.case-11 {
  display:flex;
  align-items:center;
  gap:12px;
  margin:20px 0 0;
}
.case-12 {
  flex:none;
  background:#2A6CDB;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  padding:6px 12px;
  border-radius:6px;
}
.case-13 {
  margin-top:20px;
  background:#EAF1FB;
  border-radius:10px;
  padding:18px 20px;
}
.case-14 {
  margin:0 0 8px;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:700;
  color:#1C2B45;
}
.case-15 {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2A6CDB;
}
.case-16 {
  margin:0;
  font-size:13.5px;
  line-height:1.75;
  color:#3B4658;
}
.case-17 {
  margin-top:14px;
  background:#FBEEE6;
  border-radius:10px;
  padding:18px 20px;
}
.case-18 {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#E08A3C;
}

/* ---------- 03F 紹介動画 ---------- */
.video-1 {
  background:#F5F8FB;
  border-bottom:1px solid rgba(23,33,30,.08);
}
.video-2 {
  max-width:1200px;
  margin:0 auto;
  padding:104px 32px;
}
.video-3 {
  text-align:center;
  max-width:1000px;
  margin:0 auto 48px;
}
.video-4 {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#1467B0;
  font-size:13px;
  font-weight:700;
  letter-spacing:.12em;
  margin-bottom:14px;
}
.video-5 {
  width:28px;
  height:2px;
  background:#1467B0;
  display:inline-block;
}
.video-6 {
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:900;
  font-size:36px;
  line-height:1.5;
  margin:0;
  letter-spacing:.01em;
}
.video-7 {
  max-width:960px;
  margin:0 auto;
}
.video-8 {
  background:#fff;
  border:1px solid #E1E6EC;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 34px 70px -36px rgba(15,55,95,.45);
}
.video-9 {
  background:#F0F4F8;
  padding:11px 16px;
  display:flex;
  gap:7px;
  align-items:center;
  border-bottom:1px solid #E1E6EC;
}
.video-10 {
  width:11px;
  height:11px;
  border-radius:50%;
  background:#E5695E;
  display:inline-block;
}
.video-11 {
  width:11px;
  height:11px;
  border-radius:50%;
  background:#EFB44C;
  display:inline-block;
}
.video-12 {
  width:11px;
  height:11px;
  border-radius:50%;
  background:#63BE58;
  display:inline-block;
}
.video-13 {
  flex:1;
  margin-left:10px;
  background:#fff;
  border:1px solid #E1E6EC;
  border-radius:8px;
  padding:5px 12px;
  font-size:12px;
  color:#7C8B9A;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.video-14 {
  flex:none;
  text-decoration:none;
  color:#1467B0;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  margin-left:10px;
}
.video-15 {
  display:block;
  width:100%;
  height:540px;
  border:none;
}
.video-16 {
  text-align:center;
  font-size:13px;
  color:#7C8B9A;
  margin-top:14px;
}

/* ---------- 03G よくある質問 ---------- */
.faq-1 {
  max-width:840px;
  margin:0 auto;
  padding:104px 32px;
}
.faq-2 {
  text-align:center;
  margin-bottom:48px;
}
.faq-3 {
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-weight:900;
  font-size:36px;
  line-height:1.4;
  margin:0;
}
.faq-4 {
  background:#fff;
  border:1px solid #E7EDF3;
  border-radius:14px;
  overflow:hidden;
}
.faq-5 {
  width:100%;
  text-align:left;
  background:none;
  border:none;
  cursor:pointer;
  padding:22px 26px;
  display:flex;
  align-items:center;
  gap:14px;
  font-family:'Zen Kaku Gothic New',sans-serif;
}
.faq-6 {
  color:#1467B0;
  font-weight:900;
  font-size:17px;
  flex:none;
}
.faq-7 {
  font-size:16px;
  font-weight:700;
  color:#0B1B2B;
  flex:1;
  line-height:1.5;
}
.faq-8 {
  padding:0 26px 24px 54px;
  font-size:15px;
  color:#5A6675;
  line-height:1.9;
}
.u-margin-top-14px {
  margin-top:14px;
}

/* ---------- 03H CTA（最終） ---------- */
.ctaB-2 {
  letter-spacing:0.03em;
  text-wrap:pretty;
  margin:0px;
  font-size:clamp(28px, 3.8vw, 44px);
  line-height:1.4;
  color:#FFFFFF;
}

/* ---------- フッター ---------- */
.foot-1 {
  background:#FCFCFA;
}
.foot-2 {
  max-width:1160px;
  margin:0 auto;
  padding:48px 32px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.foot-3 {
  height:24px;
  width:auto;
  display:block;
}
.foot-4 {
  font-size:10.5px;
  letter-spacing:.1em;
  color:rgba(23,33,30,.5);
}
.foot-5 {
  font-size: 12px;
  letter-spacing: .08em;
  color: rgba(23, 33, 30, .55);
}
.foot-6 {
  display:flex;
  gap:24px;
  font-size:11.5px;
  letter-spacing:.08em;
}
.foot-7 {
  color:rgba(23,33,30,.6);
}

/* ============================================================
   4. Responsive
      PC        : 1025px 以上 … 上記コンポーネントCSSをそのまま適用
      タブレット : 〜1024px（うち狭い端末向けに 〜900px の調整を追加）
      スマートフォン : 〜768px
   ============================================================ */

/* ---------- タブレット（〜1024px） ---------- */
@media (max-width: 1024px) {

  /* ヘッダー */
  .hd-1 { padding: 14px 24px; }
  .hd-4 { height: 30px; }
  .hd-5 { font-size: 12px; padding-left: 12px; }
  .hd-6 { gap: 18px; font-size: 14px; }
  .hd-7 { height: 44px; padding: 0 22px; font-size: 14px; }

  /* ファーストビュー：キービジュアルの回り込みを解除して縦積みに
     （重ね合わせのレイアウトは1025px以上のみ） */
  .fv-1 { display: flex; flex-direction: column; }
  .fv-3 {
    order: 1;
    position: static;
    width: auto;   /* content-box のため 100% + padding では溢れる */
    padding: 36px 32px 0;
  }
  .fv-2 {
    order: 2;
    position: static;
    width: 100%;
    max-width: 860px;
    margin: 28px auto 0;
  }
  .fv-13 { order: 3; margin-top: 32px; padding: 0 24px 36px; }
  .fv-4 { height: 66px; }
  .fv-5 { margin-top: 22px; font-size: clamp(30px, 4.6vw, 44px); line-height: 1.45; }
  .fv-8 { margin-top: 22px; font-size: 15px; line-height: 2; max-width: 620px; }
  .fv-10 { gap: 14px; margin-top: 30px; }
  .fv-11, .fv-12 { height: 54px; padding: 0 24px; font-size: 14.5px; }
  .fv-14 { padding: 22px 24px; }

  /* セクション余白 */
  .why-5    { padding: 88px 24px 96px; }
  .tech-3   { padding: 72px 24px 84px; }
  .value-2  { padding: 88px 24px 96px; }
  .ml-3     { padding: 84px 24px 92px; }
  .feat-2   { padding: 84px 24px 92px; }
  .file-3   { padding: 80px 24px 88px; }
  .judge-3  { padding: 84px 24px 92px; }
  .case-4   { padding: 36px 24px 76px; }
  .video-2  { padding: 80px 24px; }
  .faq-1    { padding: 80px 24px; }
  .ctaA-5   { padding: 64px 28px; }
  .foot-2   { padding: 40px 24px; }

  /* カードグリッド（3カラムを維持し、余白のみ圧縮） */
  .why-12, .tech-10, .feat-6, .case-8, .judge-24 { gap: 18px; }
  .why-13 { padding: 30px 20px 24px; }
  .why-6 { margin-bottom: 56px; }

  /* コアテクノロジー */
  .tech-13 { margin: 30px 14px 0; height: 88px; font-size: 17px; }
  .tech-14 { height: 168px; }
  .tech-15 { margin: 0 18px; }

  /* BEFORE / AFTER 比較 */
  .value-8 { grid-template-columns: 1fr 56px 1fr; }
  .value-9, .value-39 { padding: 26px 22px 24px; }
  .value-14, .value-45 { padding: 20px 18px; }

  /* 多言語 */
  .ml-8 { gap: 28px; }
  .ml-15 { font-size: 15.5px; }
  .ml-20 { padding: 26px 20px; }

  /* ファイル・レイアウト */
  .file-6 { gap: 64px; max-width: 100%; }
  .file-50 { padding: 22px 24px; gap: 18px; }

  /* 翻訳の判断 */
  .judge-8 { padding: 32px 26px; }
  .judge-9 { grid-template-columns: 1fr 40px 1.15fr; gap: 0 18px; }
  .judge-11 { font-size: 15px; }
  .judge-34 { padding: 24px 22px; }
  .judge-35 { padding-right: 18px; }
  .judge-39 { padding: 0 18px; }
  .judge-40 { padding-left: 18px; }

  /* セキュリティ */
  .sec-7 { grid-template-columns: 250px 1fr; padding: 24px 26px 24px 32px; gap: 0 24px; }

  /* 機能／数値バー */
  .feat-15 { padding: 32px 26px; }
  .feat-16 { gap: 24px; }

  /* 動画・FAQ */
  .video-15 { height: 460px; }
  .video-6, .faq-3 { font-size: 30px; }

  /* CTA */
  .ctaA-11, .ctaA-12 { min-width: 260px; height: 62px; font-size: 16px; padding: 0 28px; gap: 18px; }
}

/* ---------- 狭いタブレット（〜900px）：2カラム比較を縦積みへ ---------- */
@media (max-width: 900px) {

  .hd-5 { display: none; }

  /* BEFORE / AFTER 比較：矢印を下向きにして縦積み */
  .value-8 { grid-template-columns: 1fr; gap: 16px 0; }
  .value-37 { padding: 4px 0; }
  .value-38 { transform: rotate(90deg); }

  /* 翻訳判断パネル：原文→結果を縦積み */
  .judge-9 { grid-template-columns: 1fr; gap: 16px 0; }
  .judge-12 { padding: 4px 0; transform: rotate(90deg); }

  /* ファイル・レイアウト：書類2枚を縦積み（接続矢印は非表示） */
  .file-6 { grid-template-columns: 1fr; gap: 36px; }
  .file-7, .file-8 { display: none; }
  .file-9, .file-38 { transform: none; }

  /* 多言語：言語リストとビジュアルを縦積み */
  .ml-8 { grid-template-columns: 1fr; gap: 32px; }

  /* カードグリッドは2カラムへ */
  .why-12, .tech-10, .feat-6, .case-8, .judge-24 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

/* ---------- スマートフォン（〜768px） ---------- */
@media (max-width: 768px) {

  /* ヘッダー：ナビのテキストリンクを隠し、CTAのみ残す */
  .hd-1 { padding: 12px 16px; }
  .hd-2 { gap: 10px; }
  .hd-4 { height: 26px; }
  .nav-link { display: none; }
  .hd-7 { height: 40px; padding: 0 16px; font-size: 13px; box-shadow: none; }
  [id] { scroll-margin-top: 72px; }

  /* ファーストビュー */
  .fv-3 { padding: 28px 20px 0; }
  .fv-2 { margin-top: 24px; }
  .fv-13 { margin-top: 28px; padding: 0 16px 32px; }
  .fv-4 { height: 52px; }
  .fv-5 { margin-top: 20px; font-size: clamp(24px, 6.4vw, 34px); line-height: 1.5; }
  .fv-8 { margin-top: 20px; font-size: 14px; line-height: 1.95; max-width: none; }
  .fv-10 { flex-wrap: wrap; gap: 12px; margin-top: 26px; }
  .fv-11, .fv-12 { flex: 1 1 100%; justify-content: center; height: 54px; padding: 0 16px; }
  .fv-14 { padding: 18px 16px; border-radius: 16px; }
  .fv-15 { font-size: 13px; letter-spacing: .06em; text-align: center; }
  .fv-17 { font-size: 10.5px; }

  /* セクション余白 */
  .why-5    { padding: 64px 20px 72px; }
  .tech-3   { padding: 56px 20px 64px; }
  .value-2  { padding: 64px 20px 72px; }
  .ml-3     { padding: 60px 20px 68px; }
  .feat-2   { padding: 60px 20px 68px; }
  .file-3   { padding: 56px 20px 64px; }
  .judge-3  { padding: 60px 20px 68px; }
  .case-4   { padding: 28px 20px 60px; }
  .video-2  { padding: 60px 20px; }
  .faq-1    { padding: 60px 20px; }
  .ctaA-5   { padding: 56px 20px; }
  .foot-2   { padding: 32px 20px; }

  /* 見出し */
  .why-6 { margin-bottom: 40px; }
  .why-8 { margin-top: 24px; }
  .why-11 { margin-top: 26px; font-size: 14.5px; line-height: 1.95; }
  .file-4, .judge-4, .faq-2, .feat-3 { margin-bottom: 36px; }
  .video-3 { margin-bottom: 32px; }
  .video-6, .faq-3 { font-size: 24px; }

  /* すべての多カラムグリッドを1カラムへ */
  .why-12,
  .tech-10,
  .feat-6,
  .case-8,
  .judge-16,
  .judge-24,
  .judge-34,
  .sec-7 { grid-template-columns: 1fr; }

  .why-12, .tech-10, .feat-6, .case-8, .judge-24 { gap: 20px; }
  .judge-16 { gap: 14px; }
  .ml-8 { margin-top: 36px; }

  /* AI翻訳の落とし穴 */
  .why-13 { padding: 26px 20px 22px; }
  .why-20 { margin-top: 48px; }
  .why-21 { font-size: clamp(18px, 5.2vw, 24px); }

  /* コアテクノロジー：背景の濃色パネルを見出し部分までに収める */
  .tech-2 { height: 430px; }
  .tech-10 { margin-top: 44px; }
  .tech-13 { margin: 30px 16px 0; height: 84px; font-size: 16px; }
  .tech-14 { height: 150px; }
  .tech-20 { margin-top: 44px; }

  /* BEFORE / AFTER 比較 */
  .value-9, .value-39 { padding: 22px 18px 20px; }
  /* 見出しの nowrap を解除（狭い画面でははみ出すため） */
  .value-6 { white-space: normal; }
  /* 書類モック：固定幅のダミー行を折り返し可能にして画面幅に収める */
  .value-14, .value-45 { padding: 16px 14px; }
  .u-display-flex-gap-9px { flex-wrap: wrap; }
  .u-display-flex-gap-9px > span,
  .value-15, .value-16, .value-17,
  .value-46, .value-50, .value-51, .value-52 { max-width: 100%; }

  /* 多言語 */
  .ml-9 { gap: 24px; }
  .ml-12 { font-size: 17px; }
  .ml-15 { font-size: 15px; }
  .ml-20 { padding: 22px 16px; gap: 18px; }
  .ml-21 { max-width: 260px; gap: 10px; }
  .ml-22 { width: min(68px, 100%); }
  .ml-29 { max-width: 168px; }
  .ml-31 { font-size: 11.5px; }

  /* 機能・数値バー */
  .feat-15 { padding: 26px 18px; border-radius: 14px; }
  .feat-16 { gap: 18px; }
  .feat-17 { width: 100%; }
  .feat-25 { margin: 26px 0 22px; }

  /* ファイル・レイアウト */
  .file-50 { margin-top: 44px; padding: 22px 18px; flex-direction: column; text-align: center; gap: 14px; }

  /* 翻訳の判断 */
  .judge-8 { padding: 24px 18px; border-radius: 16px; margin-bottom: 32px; }
  .judge-11 { font-size: 14.5px; padding: 14px 16px; }
  .judge-25 { padding: 22px 18px; }
  .judge-34 { padding: 22px 18px; gap: 16px 0; }
  .judge-35 { padding: 0; }
  .judge-39, .judge-40 {
    padding: 16px 0 0;
    border-left: none;
    border-top: 1px solid #EDF1F7;
  }

  /* セキュリティ */
  .sec-7 { padding: 22px 20px 24px 26px; gap: 14px 0; }
  .sec-12 { font-size: 13.5px; }

  /* 導入事例 */
  .case-9 { padding: 16px 16px 20px; }
  .case-13, .case-17 { padding: 16px; }
  .case-3 { height: 48px; }

  /* 動画 */
  .video-13 { font-size: 10px; padding: 4px 8px; }
  .video-14 { font-size: 11px; }
  .video-15 { height: 380px; }

  /* FAQ */
  .faq-5 { padding: 18px 16px; gap: 10px; }
  .faq-7 { font-size: 15px; }
  .faq-8 { padding: 0 16px 20px 42px; font-size: 14px; }

  /* CTA：ボタンを全幅に */
  .ctaA-9 { margin-top: 24px; font-size: 14.5px; line-height: 1.9; }
  .ctaA-10 { gap: 14px; margin-top: 32px; }
  .ctaA-11, .ctaA-12 {
    min-width: 0;
    width: 100%;
    height: 60px;
    padding: 0 22px;
    font-size: 15px;
    gap: 12px;
  }

  /* フッター */
  .foot-2 { flex-direction: column; text-align: center; gap: 18px; }
  .foot-6 { justify-content: center; }
}
