@charset "UTF-8";
/* LLMO 事業紹介ページ 用。クラス名は llmo- で始める
   寸法はデザイン（LLMO01.ai、1920px 幅）の px をそのまま --u 倍で書く
   色は sRGB で書く。.ai は Adobe RGB (1998) なので、.ai の描画命令の数値をそのまま使わず sRGB に変換した値にする

   指定はすべて本文の外側の要素 .llmo--root の中だけに効かせる（ヘッダー・パンくず・CTA・フッター・#contents・body・html には当てない）。
   header.php は #contents にページのスラッグ（llmo）を class として付けるので、それと重ならない名前にする（"--" を含む名前はスラッグになりようがない）。
   .llmo--root を付けていない指定は :where(.llmo--root) で囲み、詳細度を変えない */
.llmo--root {
	container-type: inline-size;
	--llmo-white: #ffffff;
	--llmo-yellow: #fff8a9;
	--llmo-pale: #589db4;
	--llmo-text: #336171;
	--llmo-accent: #599db4;
	position: relative;
	overflow: hidden;
	color: var(--llmo-white);
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	line-height: 1;
}
/* ページ全体の地（.llmo-bg）：デザインの高さ 7900 にわたる 上 #589db4 → 下 #7d9dae のグラデーション。
   その上に KV の背景写真（y 0〜1644）。本文の高さではなくデザインの高さで伸ばすため、要素に持たせる */
:where(.llmo--root) .llmo-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: calc(1920 * var(--u));
	height: calc(7900 * var(--u));
	background:
		url(../images/llmo/kv_bg.jpg) no-repeat left top / 100% auto,
		linear-gradient(#589db4, #7d9dae);
}
/* --u は「.llmo--root の幅」と「見えている画面の幅（JS で測る --llmo-vw）」の小さいほうを基準にする（/branding と同じ）。
   100vw だと縦のスクロールバーの分だけ広くなり、右が欠ける */
.llmo--root > * {
	--u: calc(min(100cqw, var(--llmo-vw, 100cqw)) / 1920);
}
/* layout.css の p・h2 の指定と同じ詳細度（要素1つ分）にし、後から読むこちらで上書きする。
   各部品の class の指定（:where(.llmo--root) .llmo-xxx）はこれより強いので、そちらが勝つ */
:where(.llmo--root) p,
:where(.llmo--root) h2,
:where(.llmo--root) h3,
:where(.llmo--root) li,
:where(.llmo--root) dt,
:where(.llmo--root) dd {
	font-family: inherit;
	font-weight: inherit;
	color: inherit;
	/* layout.css の行の高さ（h2 160%・p 200%）と字間 0.06em を打ち消す */
	line-height: inherit;
	letter-spacing: 0;
}
/* layout.css が a・a:link・a:visited に #333 を付けているので、文字色は親に従わせる */
.llmo--root a,
.llmo--root a:link,
.llmo--root a:visited,
.llmo--root a:hover {
	color: inherit;
}
.llmo--root section {
	position: relative;
}
/* layout.css の img { max-width: 100% } で SVG が縮まないようにする */
:where(.llmo--root) img {
	display: block;
	max-width: none;
}
:where(.llmo--root) ul,
:where(.llmo--root) ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
/* 太さはデザインのフォント名どおり：Medium 500・Bold 700・Black 900。strong は Black */
:where(.llmo--root) strong {
	font-weight: 900;
}
/* 縦書き（区分の右・左の帯）。1文字 = 1em の送りで詰めない */
:where(.llmo--root) .llmo-vtext {
	position: absolute;
	margin: 0;
	writing-mode: vertical-rl;
	white-space: nowrap;
}
/* タッチ端末で縮小表示されるとき（541px 以上・hover:none）は、本文の外枠の幅（最小 1200px）で描く（/branding の案E と同じ考え方） */
@media (min-width: 541px) and (hover: none) {
	.llmo--root > * {
		--u: calc(100cqw / 1920);
	}
}

/* ---------- 共通：資料請求・無料相談ボタン ---------- */
/* 文字は白。上の a の打ち消し（.llmo--root a:link など）より強くするため、要素名まで書く */
.llmo--root a.llmo-btn,
.llmo--root a.llmo-btn:link,
.llmo--root a.llmo-btn:visited {
	color: var(--llmo-white);
}
:where(.llmo--root) .llmo-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border: 1px solid var(--llmo-white);
	color: var(--llmo-white);
	font-size: calc(21.26 * var(--u));
	/* デザインの字詰め：「資料請求・無料相談」は 1文字 20.87px（-0.018em）、「はこち」は 18.13px（-0.147em） */
	letter-spacing: -0.018em;
	text-decoration: none;
	/* 上下中央だとデザインより 2px 下がるので、下に 4px 足して 2px 上げる */
	padding-bottom: 0.188em; /* デザインの 4px ÷ 文字 21.26px */
}
:where(.llmo--root) .llmo-btn-k {
	letter-spacing: -0.147em;
}

/* ---------- 区分1 キービジュアル（デザインの y 0〜857） ---------- */
/* 見出しの文字の位置は、デザインの基準線（ベースライン）から 0.935em 引いた値を top にしている
   （Zen Kaku Gothic New・line-height 1 のとき、Chrome では箱の上端からベースラインまでが 0.935em。スクリーンショットで実測） */
:where(.llmo--root) .llmo-kv {
	width: calc(1920 * var(--u));
	height: calc(857 * var(--u));
}
:where(.llmo--root) .llmo-kv-label {
	position: absolute;
	left: calc(581.68 * var(--u));
	top: calc(192.85 * var(--u));
	box-sizing: border-box;
	width: calc(64.41 * var(--u));
	height: calc(28.08 * var(--u));
	border: 1px solid var(--llmo-white);
	background-color: rgb(88 157 180 / 0.2);
	font-size: calc(18.43 * var(--u));
	font-weight: 400;
	/* 枠の中で文字を上下の中央に置く（行の高さ 26.08 では実測で 1px 下がっていたので 2px 減らした） */
	line-height: calc(24.08 * var(--u));
	text-align: center;
}
:where(.llmo--root) .llmo-kv-title {
	position: absolute;
	inset: 0;
	margin: 0;
	white-space: nowrap;
}
:where(.llmo--root) .llmo-kv-title > span {
	position: absolute;
	font-size: calc(70.87 * var(--u));
}
:where(.llmo--root) .llmo-kv-title .llmo-kv-ai {
	left: calc(581.68 * var(--u));
	top: calc(246.2 * var(--u));
	font-size: calc(92.13 * var(--u));
	letter-spacing: 0.078em;
	color: var(--llmo-yellow);
}
:where(.llmo--root) .llmo-kv-title .llmo-kv-ni {
	left: calc(678.58 * var(--u));
	top: calc(279.34 * var(--u));
	font-size: calc(56.69 * var(--u));
}
:where(.llmo--root) .llmo-kv-title .llmo-kv-erabareru {
	left: calc(736.9 * var(--u));
	top: calc(264.38 * var(--u));
}
:where(.llmo--root) .llmo-kv-title .llmo-kv-tsutawaru {
	left: calc(778.07 * var(--u));
	top: calc(363.6 * var(--u));
	color: var(--llmo-yellow);
}
:where(.llmo--root) .llmo-kv-title .llmo-kv-wo {
	left: calc(1101.22 * var(--u));
	top: calc(378.58 * var(--u));
	font-size: calc(56.69 * var(--u));
}
:where(.llmo--root) .llmo-kv-title .llmo-kv-tsukuru {
	left: calc(1151.3 * var(--u));
	top: calc(363.62 * var(--u));
}
/* デザインは「つ」「く」を詰めている（送り幅 62.1px・54.0px ＝ 0.876em・0.762em）。
   Chrome ではこのフォントの "palt" が効かないため、字間で同じ送り幅にする */
:where(.llmo--root) .llmo-kv-tsu {
	letter-spacing: -0.124em;
}
:where(.llmo--root) .llmo-kv-ku {
	letter-spacing: -0.238em;
}
/* 本文：19.13px、行送り 35.44px。1行目のベースラインがデザインの y 496.99 に来るよう top を合わせる */
:where(.llmo--root) .llmo-kv-lead {
	position: absolute;
	left: calc(677.6 * var(--u));
	top: calc(471.88 * var(--u));
	margin: 0;
	font-size: calc(19.13 * var(--u));
	line-height: calc(35.44 * var(--u));
	white-space: nowrap;
}
/* デザインの文字詰め：「は」と「「」の間の空白を 9px 詰め、「」」は半角幅（0.5em）にする。
   空白1文字には字間のマイナスが効ききらないため、右の余白で詰める */
:where(.llmo--root) .llmo-kv-lead-k1 {
	margin-right: -0.4705em; /* デザインの 9px ÷ 文字 19.13px */
}
:where(.llmo--root) .llmo-kv-lead-k2 {
	letter-spacing: -0.5em;
}
/* ボタン：枠の線（1px）の中心がデザインの四角（x 677.56・y 601.67・幅 349.93・高さ 111.58、角丸 15.73）に乗る */
:where(.llmo--root) .llmo-kv-btn {
	position: absolute;
	left: calc(677.56 * var(--u) - 0.5px);
	top: calc(601.67 * var(--u) - 0.5px);
	width: calc(349.93 * var(--u) + 1px);
	height: calc(111.58 * var(--u) + 1px);
	border-radius: calc(15.73 * var(--u));
	background-color: rgb(88 157 180 / 0.5);
}

/* ---------- 区分2・3 の白い面（デザインの y 857〜2484.8） ----------
   この中の top は「デザインの y − 857」で書く */
:where(.llmo--root) .llmo-panel1 {
	position: relative;
	width: calc(1920 * var(--u));
	height: calc(1627.8 * var(--u));
}
/* 白い面：幅 1700、右上・右下の角丸 100 */
:where(.llmo--root) .llmo-panel1-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: calc(1700 * var(--u));
	height: 100%;
	border-radius: 0 calc(100 * var(--u)) calc(100 * var(--u)) 0;
	background-color: var(--llmo-white);
}
/* KV 背景の下端の細い帯（白 30%、y 1643.8〜1654.5）。白い面の下に敷く */
:where(.llmo--root) .llmo-band-line {
	position: absolute;
	left: 0;
	top: calc((1643.8 - 857) * var(--u));
	width: calc(1920 * var(--u));
	height: calc(10.7 * var(--u));
	background-color: rgb(255 255 255 / 0.3);
}
/* 右の縦書き：30.47px・白。1文字目の上端は y 934.8（.ai の文字枠の値 961.8 では実測で 27px 下がった） */
:where(.llmo--root) .llmo-panel1-vtext {
	left: calc(1739.4 * var(--u));
	top: calc((934.8 - 857) * var(--u));
	font-size: calc(30.47 * var(--u));
	color: var(--llmo-white);
}

/* ---------- 区分2 課題提起 ---------- */
/* 文字の top は「ベースライン − 行の高さ/2 − 0.435em」（line-height 1 のときは区分1 の 0.935em と同じ式） */
:where(.llmo--root) .llmo-problem {
	position: absolute;
	inset: 0;
	color: var(--llmo-text);
}
/* 見出し：Black 35.43px・#599db4、ベースライン y 993.10 */
:where(.llmo--root) .llmo-problem-title {
	position: absolute;
	left: calc(505.9 * var(--u));
	top: calc((959.97 - 857) * var(--u));
	margin: 0;
	font-size: calc(35.43 * var(--u));
	font-weight: 900;
	color: var(--llmo-accent);
	white-space: nowrap;
}
/* 本文：Medium 21.26px、行送り 39.7px、1行目のベースライン y 1056.29 */
:where(.llmo--root) .llmo-problem-lead {
	position: absolute;
	left: calc(523.6 * var(--u));
	top: calc((1027.19 - 857) * var(--u));
	margin: 0;
	font-size: calc(21.26 * var(--u));
	line-height: calc(39.7 * var(--u));
	/* デザインは仮名を詰めて組んである（和文 1文字 約 20.2px）。このフォントは Chrome で "palt" が効かないので字間で合わせる */
	letter-spacing: -0.05em;
	white-space: nowrap;
}
/* カード：幅 323・高さ 339.5、角丸 26.29、#004e5e の 10%。y 1167.1〜 */
:where(.llmo--root) .llmo-problem-card {
	position: absolute;
	top: calc((1167.1 - 857) * var(--u));
	width: calc(323 * var(--u));
	height: calc(339.5 * var(--u));
	border-radius: calc(26.29 * var(--u));
	background-color: rgb(0 78 94 / 0.1);
}
:where(.llmo--root) .llmo-problem-card-1 { left: calc(346.4 * var(--u)); }
:where(.llmo--root) .llmo-problem-card-2 { left: calc(711 * var(--u)); }
:where(.llmo--root) .llmo-problem-card-3 { left: calc(1075.5 * var(--u)); }
/* カードの中の位置は、カードの左上（x はカードの左端、y 1167.1）からの距離で書く */
/* 番号 01〜03：文字を線だけで描く（.ai でも文字。線 #336171・1px、不透明度 61%）。
   字形が Zen Kaku Gothic New と一致し、太さ・大きさはカンプと重ねて誤差が最小の 700・39px にした */
:where(.llmo--root) .llmo-problem-num {
	position: absolute;
	top: calc((1180 - 1167.1) * var(--u));
	margin: 0;
	font-size: calc(39 * var(--u));
	font-weight: 700;
	color: transparent;
	-webkit-text-stroke: 1px var(--llmo-text);
	opacity: 0.61;
}
:where(.llmo--root) .llmo-problem-card-1 .llmo-problem-num { left: calc((490 - 346.4) * var(--u)); }
:where(.llmo--root) .llmo-problem-card-2 .llmo-problem-num { left: calc((853.9 - 711) * var(--u)); }
:where(.llmo--root) .llmo-problem-card-3 .llmo-problem-num { left: calc((1217.8 - 1075.5) * var(--u)); }
/* 上の文：Medium 21.26px（強調は Black）、下の文：Bold 21.26px。どちらも行送り 29.77px */
:where(.llmo--root) .llmo-problem-who,
:where(.llmo--root) .llmo-problem-answer {
	position: absolute;
	margin: 0;
	font-size: calc(21.26 * var(--u));
	line-height: calc(29.77 * var(--u));
	white-space: nowrap;
}
:where(.llmo--root) .llmo-problem-answer {
	font-weight: 700;
}
:where(.llmo--root) .llmo-problem-card-1 .llmo-problem-who { left: calc((412.2 - 346.4) * var(--u)); top: calc((1248.57 - 1167.1) * var(--u)); }
:where(.llmo--root) .llmo-problem-card-2 .llmo-problem-who { left: calc((776.8 - 711) * var(--u)); top: calc((1248.57 - 1167.1) * var(--u)); }
:where(.llmo--root) .llmo-problem-card-3 .llmo-problem-who { left: calc((1136 - 1075.5) * var(--u)); top: calc((1253.19 - 1167.1) * var(--u)); }
:where(.llmo--root) .llmo-problem-card-1 .llmo-problem-answer { left: calc((385.7 - 346.4) * var(--u)); top: calc((1391.97 - 1167.1) * var(--u)); }
:where(.llmo--root) .llmo-problem-card-2 .llmo-problem-answer { left: calc((750.2 - 711) * var(--u)); top: calc((1391.97 - 1167.1) * var(--u)); }
:where(.llmo--root) .llmo-problem-card-3 .llmo-problem-answer { left: calc((1125.4 - 1075.5) * var(--u)); top: calc((1396.58 - 1167.1) * var(--u)); }
/* ▼：幅 29・高さ 25.1、#7c9eae */
:where(.llmo--root) .llmo-problem-arrow {
	position: absolute;
	top: calc((1344.1 - 1167.1) * var(--u));
	width: calc(29 * var(--u));
	height: calc(25.1 * var(--u));
}
:where(.llmo--root) .llmo-problem-card-1 .llmo-problem-arrow { left: calc((493.4 - 346.4) * var(--u)); }
:where(.llmo--root) .llmo-problem-card-2 .llmo-problem-arrow { left: calc((858 - 711) * var(--u)); }
:where(.llmo--root) .llmo-problem-card-3 .llmo-problem-arrow { left: calc((1222.5 - 1075.5) * var(--u)); }
/* 「・」の前後をデザインどおり 5.4px ずつ詰める（「介・既」「業・専」の送りが 15.9px） */
:where(.llmo--root) .llmo-nk {
	margin: 0 -0.254em; /* デザインの 5.4px ÷ 文字 21.26px */
}
/* リード2行目の頭の空白：デザインは 6.0px。字間を詰めた空白（約 4.2px）では足りないので右に足す */
:where(.llmo--root) .llmo-problem-lead-indent {
	margin-right: 0.188em; /* デザインの 4px ÷ 文字 21.26px */
}

/* ---------- 区分3 LLMOとは？ ----------
   top は「デザインの y − 857」（白い面 .llmo-panel1 の中）。
   本文の字間は本文側の span の style で持つ（カンプの1文字ずつの位置に合わせ、字間が一定の区切りごとに分けた値。ずれ 1.5px 以内） */
:where(.llmo--root) .llmo-about {
	position: absolute;
	inset: 0;
	color: var(--llmo-text);
}
/* 見出し：Black 35.43px・#599db4、ベースライン y 1687.34 */
:where(.llmo--root) .llmo-about-title {
	position: absolute;
	left: calc(466.1 * var(--u));
	top: calc((1654.21 - 857) * var(--u));
	margin: 0;
	font-size: calc(35.43 * var(--u));
	font-weight: 900;
	color: var(--llmo-accent);
	letter-spacing: -0.033em;
	white-space: nowrap;
}
/* 本文（上・下）：Medium 21.26px、行送り 39.69px */
:where(.llmo--root) .llmo-about-lead,
:where(.llmo--root) .llmo-about-note {
	position: absolute;
	margin: 0;
	font-size: calc(21.26 * var(--u));
	line-height: calc(39.69 * var(--u));
	white-space: nowrap;
}
/* 上の本文：1行目のベースライン y 1750.53 */
:where(.llmo--root) .llmo-about-lead {
	left: calc(466.1 * var(--u));
	top: calc((1721.43 - 857) * var(--u));
}
/* 下の本文：1行目のベースライン y 2271.80 */
:where(.llmo--root) .llmo-about-note {
	left: calc(735.9 * var(--u));
	top: calc((2242.7 - 857) * var(--u));
}
/* AI 回答生成の流れ：灰色の面（x 466.1・y 1910.9・幅 767.8・高さ 256.3、角丸 35.2、#7c9eae の 10%）。中の位置は面の左上からの距離 */
:where(.llmo--root) .llmo-about-flow {
	position: absolute;
	left: calc(466.1 * var(--u));
	top: calc((1910.9 - 857) * var(--u));
	width: calc(767.8 * var(--u));
	height: calc(256.3 * var(--u));
	border-radius: calc(35.2 * var(--u));
	background-color: rgb(124 158 174 / 0.1);
}
/* 面の見出し：Medium 21.26px、ベースライン y 1949.03 */
:where(.llmo--root) .llmo-about-flow-title {
	position: absolute;
	left: calc((765 - 466.1) * var(--u));
	top: calc((1929.15 - 1910.9) * var(--u));
	margin: 0;
	font-size: calc(21.26 * var(--u));
	letter-spacing: -0.02em;
	white-space: nowrap;
}
/* 円：直径 176.6、y 1968.9。左から 白・#c0d8e1・#a0c5d2・#599db4 */
:where(.llmo--root) .llmo-about-step {
	position: absolute;
	top: calc((1968.9 - 1910.9) * var(--u));
	width: calc(176.6 * var(--u));
	height: calc(176.6 * var(--u));
	border-radius: 50%;
	font-size: calc(21.97 * var(--u));
	text-align: center;
	white-space: nowrap;
}
/* 円の中の文字：2行・中央揃え、行送り 32.21px、1行目のベースライン y 2046.90 */
:where(.llmo--root) .llmo-about-step::before {
	content: "";
	display: block;
	height: calc((2021.24 - 1968.9) * var(--u));
}
:where(.llmo--root) .llmo-about-step {
	line-height: calc(32.21 * var(--u));
}
:where(.llmo--root) .llmo-about-step-1 { left: calc((483 - 466.1) * var(--u)); background-color: #ffffff; }
:where(.llmo--root) .llmo-about-step-2 { left: calc((668.8 - 466.1) * var(--u)); background-color: #c0d8e1; }
:where(.llmo--root) .llmo-about-step-3 { left: calc((854.6 - 466.1) * var(--u)); background-color: #a0c5d2; color: var(--llmo-white); }
:where(.llmo--root) .llmo-about-step-4 { left: calc((1040.4 - 466.1) * var(--u)); background-color: var(--llmo-accent); color: var(--llmo-white); }
:where(.llmo--root) .llmo-about-step-en { letter-spacing: -0.008em; }
:where(.llmo--root) .llmo-about-step-1 .llmo-about-step-ja { letter-spacing: -0.019em; }
:where(.llmo--root) .llmo-about-step-4 .llmo-about-step-ja { letter-spacing: -0.048em; }

/* ---------- 区分4 中間の1行（デザインの y 2484.8〜2710.7） ---------- */
:where(.llmo--root) .llmo-catch {
	width: calc(1920 * var(--u));
	height: calc((2710.7 - 2484.8) * var(--u));
}
/* Black 35.43px・白、ベースライン y 2616.26 */
:where(.llmo--root) .llmo-catch-text {
	position: absolute;
	left: calc(550.5 * var(--u));
	top: calc((2583.13 - 2484.8) * var(--u));
	margin: 0;
	font-size: calc(35.43 * var(--u));
	font-weight: 900;
	white-space: nowrap;
}

/* ---------- 区分5 の薄い面（デザインの y 2710.7〜4141.9） ----------
   この中の top は「デザインの y − 2710.7」で書く */
:where(.llmo--root) .llmo-panel2 {
	position: relative;
	width: calc(1920 * var(--u));
	height: calc(1431.2 * var(--u));
}
/* 薄い面：x 220 から右端まで、左上・左下の角丸 100、#eff5f8 */
:where(.llmo--root) .llmo-panel2-bg {
	position: absolute;
	left: calc(220 * var(--u));
	top: 0;
	width: calc(1700 * var(--u));
	height: 100%;
	border-radius: calc(100 * var(--u)) 0 0 calc(100 * var(--u));
	background-color: #eff5f8;
}
/* 左の縦書き：30.47px・#0c3c50。1文字目の上端 y 2799.9（区分2 と同じく .ai の文字枠の値から 27px 上げる） */
:where(.llmo--root) .llmo-panel2-vtext {
	left: calc(144.7 * var(--u));
	top: calc((2799.9 - 2710.7) * var(--u));
	font-size: calc(30.47 * var(--u));
	color: #0c3c50;
}

/* ---------- 区分5 AIに選ばれる情報発信へ ---------- */
:where(.llmo--root) .llmo-service {
	position: absolute;
	inset: 0;
	color: var(--llmo-text);
}
:where(.llmo--root) .llmo-service p,
:where(.llmo--root) .llmo-service h2,
:where(.llmo--root) .llmo-service h3 {
	position: absolute;
	margin: 0;
	white-space: nowrap;
}
/* 見出し：Black 35.43px・#599db4、ベースライン y 2844.67 */
:where(.llmo--root) .llmo-service-title {
	left: calc(391.9 * var(--u));
	top: calc((2811.54 - 2710.7) * var(--u));
	font-size: calc(35.43 * var(--u));
	font-weight: 900;
	color: var(--llmo-accent);
}
/* 本文（3か所）：Medium 21.26px、行送り 39.69px */
:where(.llmo--root) .llmo-service-intro,
:where(.llmo--root) .llmo-service-lead,
:where(.llmo--root) .llmo-service-points {
	font-size: calc(21.26 * var(--u));
	line-height: calc(39.69 * var(--u));
}
/* 箇条書きの前後の行は「・」の行より 5.4px 右から始まる */
:where(.llmo--root) .llmo-in54 {
	margin-left: 0.254em; /* デザインの 5.4px ÷ 文字 21.26px */
}
/* 1行目のベースライン y 2925.41 */
:where(.llmo--root) .llmo-service-intro {
	left: calc(420.9 * var(--u));
	top: calc((2896.32 - 2710.7) * var(--u));
}
/* 3段の矢印（図形は .ai から書き出した SVG。x 465.5・y 3160.8・幅 959・高さ 139.4）。中の位置は図形の左上からの距離 */
:where(.llmo--root) .llmo-service-flow {
	position: absolute;
	left: calc(465.5 * var(--u));
	top: calc((3160.8 - 2710.7) * var(--u));
	width: calc(959 * var(--u));
	height: calc(139.4 * var(--u));
}
:where(.llmo--root) .llmo-service-flow-img {
	width: 100%;
	height: 100%;
}
/* 左・中の矢印の文字：Black 21.26px・白、行送り 39.69px、1行目のベースライン y 3218.00 */
:where(.llmo--root) .llmo-service-flow-1,
:where(.llmo--root) .llmo-service-flow-2 {
	top: calc((3188.91 - 3160.8) * var(--u));
	font-size: calc(21.26 * var(--u));
	font-weight: 900;
	line-height: calc(39.69 * var(--u));
	color: var(--llmo-white);
}
:where(.llmo--root) .llmo-service-flow-1 { left: calc((515.2 - 465.5) * var(--u)); }
:where(.llmo--root) .llmo-service-flow-2 { left: calc((835.7 - 465.5) * var(--u)); }
/* 右の矢印の文字：Medium 28.35px・#599db4、行送り 36.85px、1行目のベースライン y 3202.41 */
:where(.llmo--root) .llmo-service-flow-3 {
	left: calc((1195.4 - 465.5) * var(--u));
	top: calc((3171.65 - 3160.8) * var(--u));
	font-size: calc(28.35 * var(--u));
	line-height: calc(36.85 * var(--u));
	color: var(--llmo-accent);
}
/* 「現在ご使用の」の吹き出し（SVG。x 421.4・y 3138.6・幅 76.1・高さ 75.4）。文字は円の中央、Medium 16.3px・白、行送り 19.41px */
:where(.llmo--root) .llmo-service-badge {
	position: absolute;
	left: calc((421.4 - 465.5) * var(--u));
	top: calc((3138.6 - 3160.8) * var(--u));
	width: calc(76.1 * var(--u));
	height: calc(75.4 * var(--u));
}
:where(.llmo--root) .llmo-service-badge-img {
	width: 100%;
	height: 100%;
}
:where(.llmo--root) .llmo-service-badge-text {
	left: 0;
	top: calc((3153.07 - 3138.6) * var(--u));
	width: calc(75.4 * var(--u));
	font-size: calc(16.3 * var(--u));
	line-height: calc(19.41 * var(--u));
	text-align: center;
	color: var(--llmo-white);
}
/* 矢印の下の本文：1行目のベースライン y 3359.52 */
:where(.llmo--root) .llmo-service-lead {
	left: calc(726.4 * var(--u));
	top: calc((3330.43 - 2710.7) * var(--u));
}
/* 「60年」〜 E-E-A-T のかたまり。中の位置は今までどおり区分5 の左上から */
:where(.llmo--root) .llmo-service-strength {
	position: absolute;
	inset: 0;
}
/* 大寳製版は教材制作60年！：Black 35.43px・#599db4、ベースライン y 3566.92。「60」は 70.87px でベースラインが 2.13px 下 */
:where(.llmo--root) .llmo-service-history {
	left: calc(726.4 * var(--u));
	top: calc((3533.79 - 2710.7) * var(--u));
	font-size: calc(35.43 * var(--u));
	font-weight: 900;
	color: var(--llmo-accent);
}
:where(.llmo--root) .llmo-service-history-60 {
	position: relative;
	top: 0.0301em; /* デザインの 2.13px ÷ 文字 70.87px */
	font-size: calc(70.87 * var(--u));
	line-height: 0;
}
/* ❶〜❸：1行目のベースライン y 3618.81 */
:where(.llmo--root) .llmo-service-points {
	left: calc(726.4 * var(--u));
	top: calc((3589.72 - 2710.7) * var(--u));
}
/* E-E-A-T の説明：Bold 19.13px・#7c9eae、ベースライン y 3782.19 */
:where(.llmo--root) .llmo-service-eeat-title {
	left: calc(735 * var(--u));
	top: calc((3764.3 - 2710.7) * var(--u));
	font-size: calc(19.13 * var(--u));
	font-weight: 700;
	color: #7c9eae;
}
/* E-E-A-T の枠：123.5 角、線 #7c9eae・1.417（線の中心が .ai の四角の上）、地は白 */
:where(.llmo--root) .llmo-service-eeat li {
	position: absolute;
	top: calc((3796.8 - 2710.7) * var(--u) - 1.417 * var(--u) / 2);
	box-sizing: border-box;
	width: calc((123.5 + 1.417) * var(--u));
	height: calc((123.5 + 1.417) * var(--u));
	border: calc(1.417 * var(--u)) solid #7c9eae;
	background-color: var(--llmo-white);
	color: #7c9eae;
	text-align: center;
}
:where(.llmo--root) .llmo-service-eeat-1 { left: calc(731.7 * var(--u) - 1.417 * var(--u) / 2); }
:where(.llmo--root) .llmo-service-eeat-2 { left: calc(873.3 * var(--u) - 1.417 * var(--u) / 2); }
:where(.llmo--root) .llmo-service-eeat-3 { left: calc(1015 * var(--u) - 1.417 * var(--u) / 2); }
:where(.llmo--root) .llmo-service-eeat-4 { left: calc(1156.6 * var(--u) - 1.417 * var(--u) / 2); }
/* 枠の中の漢字：Light 32.11px、枠の中央、ベースライン y 3891.17 */
:where(.llmo--root) .llmo-service-eeat-ja {
	position: absolute;
	left: 0;
	right: 0;
	top: calc((3861.15 - 3796.8) * var(--u));
	font-size: calc(32.11 * var(--u));
	font-weight: 300;
	white-space: nowrap;
}
/* 枠の中の大きな E・E・A・T：.ai でも文字（線だけ、#7c9eae・1.417）。フォントは .ai から読めない（06 の PC にフォントが無く、読むと Illustrator が落ちる）ため、
   カンプと重ねて誤差が最小の Zen Kaku Gothic New 900・32px にした。文字の左端は .ai の文字枠の x（784・926・1066・1209）、上端は y 3810（実測で合わせた。A だけ文字枠より 1px 右）*/
:where(.llmo--root) .llmo-service-eeat-en {
	position: absolute;
	top: calc((3810 - 3796.8 - 0.7085) * var(--u));
	font-size: calc(32 * var(--u));
	font-weight: 900;
	color: transparent;
	-webkit-text-stroke: calc(1.417 * var(--u)) #7c9eae;
}
:where(.llmo--root) .llmo-service-eeat-1 .llmo-service-eeat-en { left: calc((784 - 731.7 - 0.7085) * var(--u)); }
:where(.llmo--root) .llmo-service-eeat-2 .llmo-service-eeat-en { left: calc((926 - 873.3 - 0.7085) * var(--u)); }
:where(.llmo--root) .llmo-service-eeat-3 .llmo-service-eeat-en { left: calc((1067 - 1015 - 0.7085) * var(--u)); }
:where(.llmo--root) .llmo-service-eeat-4 .llmo-service-eeat-en { left: calc((1209 - 1156.6 - 0.7085) * var(--u)); }
/* 締めの1行：Bold 28.35px、ベースライン y 4024.62 */
:where(.llmo--root) .llmo-service-closing {
	left: calc(717.5 * var(--u));
	top: calc((3998.11 - 2710.7) * var(--u));
	font-size: calc(28.35 * var(--u));
	font-weight: 700;
}

/* ---------- 区分6 まとめの1行と資料請求ボタン（デザインの y 4141.9〜4360.9） ---------- */
:where(.llmo--root) .llmo-summary {
	width: calc(1920 * var(--u));
	height: calc((4360.9 - 4141.9) * var(--u));
}
/* Black 35.43px・白の 60%、ベースライン y 4267.33 */
:where(.llmo--root) .llmo-summary-text {
	position: absolute;
	left: calc(414.6 * var(--u));
	top: calc((4234.2 - 4141.9) * var(--u));
	margin: 0;
	font-size: calc(35.43 * var(--u));
	font-weight: 900;
	opacity: 0.6;
	white-space: nowrap;
}
/* ボタン：x 1315.64・y 4192.09・幅 349.94・高さ 111.59、角丸 15.73、#0c3c50 の 50%、白い枠 1px（線の中心が四角の上） */
:where(.llmo--root) .llmo-summary-btn {
	position: absolute;
	left: calc(1315.64 * var(--u) - 0.5px);
	top: calc((4192.09 - 4141.9) * var(--u) - 0.5px);
	width: calc(349.94 * var(--u) + 1px);
	height: calc(111.59 * var(--u) + 1px);
	border-radius: calc(15.73 * var(--u));
	background-color: rgb(12 60 80 / 0.5);
}

/* ---------- 区分7 ご利用の流れ（デザインの y 4360.9〜5717.9） ----------
   地は白。top は「デザインの y − 4360.9」で書く */
:where(.llmo--root) .llmo-flow {
	width: calc(1920 * var(--u));
	height: calc(1357 * var(--u));
	background-color: var(--llmo-white);
	color: var(--llmo-text);
}
:where(.llmo--root) .llmo-flow p,
:where(.llmo--root) .llmo-flow h2,
:where(.llmo--root) .llmo-flow h3,
:where(.llmo--root) .llmo-flow img {
	position: absolute;
	margin: 0;
	white-space: nowrap;
}
/* 面：x 244.4〜1675.6、y 4481.4 から下端まで、上の角丸 100、#e8f1f4 */
:where(.llmo--root) .llmo-flow-bg {
	position: absolute;
	left: calc(244.4 * var(--u));
	top: calc((4481.4 - 4360.9) * var(--u));
	width: calc(1431.2 * var(--u));
	bottom: 0;
	border-radius: calc(100 * var(--u)) calc(100 * var(--u)) 0 0;
	background-color: #e8f1f4;
}
/* 右の縦書き：30.47px・#bfcfd7、1文字目の上端 y 4572.1（.ai の文字枠の値から 27px 上げる） */
:where(.llmo--root) .llmo-flow-vtext {
	left: calc(1702.4 * var(--u));
	top: calc((4572.1 - 4360.9) * var(--u));
	font-size: calc(30.47 * var(--u));
	color: #bfcfd7;
}
/* 見出し：Black 35.43px・#599db4、ベースライン y 4560.16。左右の線は x 580.8〜825.3・1094.7〜1339.2、y 4545、太さ 2.835 */
:where(.llmo--root) .llmo-flow-title {
	left: calc(853.7 * var(--u));
	top: calc((4527.03 - 4360.9) * var(--u));
	font-size: calc(35.43 * var(--u));
	font-weight: 900;
	color: var(--llmo-accent);
}
:where(.llmo--root) .llmo-flow-title::before,
:where(.llmo--root) .llmo-flow-title::after {
	content: "";
	position: absolute;
	top: calc((4545 - 4527.03) * var(--u) - 2.835 * var(--u) / 2);
	width: calc(244.5 * var(--u));
	height: calc(2.835 * var(--u));
	background-color: var(--llmo-accent);
}
:where(.llmo--root) .llmo-flow-title::before { left: calc((580.8 - 853.7) * var(--u)); }
:where(.llmo--root) .llmo-flow-title::after { left: calc((1094.7 - 853.7) * var(--u)); }
/* 段の区切り線：x 344.4〜1575.6、y 4880.2・5148.4・5416.6、#7c9eae・1px（2〜4段目の上に引く） */
:where(.llmo--root) .llmo-flow-step-2::before,
:where(.llmo--root) .llmo-flow-step-3::before,
:where(.llmo--root) .llmo-flow-step-4::before {
	content: "";
	position: absolute;
	left: calc(344.4 * var(--u));
	width: calc(1231.2 * var(--u));
	height: 1px;
	background-color: #7c9eae;
}
:where(.llmo--root) .llmo-flow-step-2::before { top: calc((4880.2 - 4360.9) * var(--u) - 0.5px); }
:where(.llmo--root) .llmo-flow-step-3::before { top: calc((5148.4 - 4360.9) * var(--u) - 0.5px); }
:where(.llmo--root) .llmo-flow-step-4::before { top: calc((5416.6 - 4360.9) * var(--u) - 0.5px); }
/* 時期の丸：#c0d8e1 の円（直径 94.2）と、左上へ 3.5・4.5 ずらした #0c3c50 の線の円（1.417）。文字は線の円の中央 */
:where(.llmo--root) .llmo-flow-when {
	left: calc(353.6 * var(--u));
	width: calc(94.2 * var(--u));
	font-size: calc(25.51 * var(--u));
	line-height: calc(25.51 * var(--u));
	text-align: center;
	color: #0c3c50;
}
:where(.llmo--root) .llmo-flow-step::after {
	content: "";
	position: absolute;
	left: calc(357.1 * var(--u));
	width: calc(94.2 * var(--u));
	height: calc(94.2 * var(--u));
	border-radius: 50%;
	background-color: #c0d8e1;
	z-index: -1;
}
:where(.llmo--root) .llmo-flow-step {
	position: relative;
	z-index: 0;
}
:where(.llmo--root) .llmo-flow-when::before {
	content: "";
	position: absolute;
	left: calc(-1.417 * var(--u) / 2);
	box-sizing: border-box;
	width: calc((94.2 + 1.417) * var(--u));
	height: calc((94.2 + 1.417) * var(--u));
	border: calc(1.417 * var(--u)) solid #0c3c50;
	border-radius: 50%;
}
/* 段の見出し：Bold 35.43px、x 561.6 */
:where(.llmo--root) .llmo-flow-head {
	left: calc(561.6 * var(--u));
	font-size: calc(35.43 * var(--u));
	font-weight: 700;
}
/* 段の箇条書き：Medium 21.26px、行送り 36.14px */
:where(.llmo--root) .llmo-flow-list {
	font-size: calc(21.26 * var(--u));
	line-height: calc(36.14 * var(--u));
}
/* 「15」：Black 31.89px・#599db4（ベースラインは 1.56px 下）、「本」：Black 21.26px・#599db4 */
:where(.llmo--root) .llmo-flow-15,
:where(.llmo--root) .llmo-flow-hon {
	color: var(--llmo-accent);
}
:where(.llmo--root) .llmo-flow-15 {
	position: relative;
	top: 0.0489em; /* デザインの 1.56px ÷ 文字 31.89px */
	font-size: calc(31.89 * var(--u));
	line-height: 0;
}
/* 吹き出しの白い円（直径 128.4）と、中の文字：Kiwi Maru Medium 19.84px、行送り 27.64px、中央揃え */
:where(.llmo--root) .llmo-flow-bubble {
	width: calc(128.4 * var(--u));
	font-family: "Kiwi Maru", serif;
	font-size: calc(19.84 * var(--u));
	line-height: calc(27.64 * var(--u));
	text-align: center;
}
:where(.llmo--root) .llmo-flow-bubble::before {
	content: "";
	position: absolute;
	left: 0;
	width: calc(128.4 * var(--u));
	height: calc(128.4 * var(--u));
	border-radius: 50%;
	background-color: var(--llmo-white);
	/* .ai では白い円を不透明度 50% で重ねている */
	opacity: 0.5;
	z-index: -1;
}
/* 2段目：矢印（SVG）、白い角丸の囲み（x 818.3・y 4975.3・幅 151・高さ 90.5、角丸 7.5、#0c3c50・1px）と中の文字（Medium 13.46px・#0c3c50、行送り 23.38px） */
:where(.llmo--root) .llmo-flow-arrow {
	left: calc(763.4 * var(--u));
	top: calc((5014.1 - 4360.9) * var(--u));
	width: calc(54.9 * var(--u));
	height: calc(7.9 * var(--u));
}
:where(.llmo--root) .llmo-flow-note {
	left: calc(829.6 * var(--u));
	top: calc((4985.09 - 4360.9) * var(--u));
	font-size: calc(13.46 * var(--u));
	line-height: calc(23.38 * var(--u));
	color: #0c3c50;
}
:where(.llmo--root) .llmo-flow-note::before {
	content: "";
	position: absolute;
	left: calc((818.3 - 829.6) * var(--u) - 0.5px);
	top: calc((4975.3 - 4985.09) * var(--u) - 0.5px);
	box-sizing: border-box;
	width: calc(151 * var(--u) + 1px);
	height: calc(90.5 * var(--u) + 1px);
	border: 1px solid #0c3c50;
	border-radius: calc(7.5 * var(--u));
	background-color: var(--llmo-white);
	/* .ai では囲み（白い地と枠）を不透明度 80% で重ねている */
	opacity: 0.8;
	z-index: -1;
}
/* 2段目の右：Kiwi Maru Medium 17.72px、行送り 22.68px と、下の折れ線（SVG。上下左右に 0.5 広げてある） */
:where(.llmo--root) .llmo-flow-check {
	left: calc(1308.3 * var(--u));
	top: calc((4977.25 - 4360.9) * var(--u));
	font-family: "Kiwi Maru", serif;
	font-size: calc(17.72 * var(--u));
	line-height: calc(22.68 * var(--u));
}
:where(.llmo--root) .llmo-flow-check-line {
	left: calc((1298.1 - 0.5) * var(--u));
	top: calc((5004.1 - 0.5 - 4360.9) * var(--u));
	width: calc((133.5 + 1) * var(--u));
	height: calc((37.7 + 1) * var(--u));
}
/* 1段目 */
:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-when { top: calc((4738.95 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-when::before { top: calc((4706.0 - 4738.95) * var(--u) - 1.417 * var(--u) / 2); }
:where(.llmo--root) .llmo-flow-step-1::after { top: calc((4706.0 + 4.5 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-head { top: calc((4672.87 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-list { left: calc(556.3 * var(--u)); top: calc((4730.28 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-img { left: calc(924 * var(--u)); top: calc((4660 - 4360.9) * var(--u)); width: calc(321 * var(--u)); height: calc(214 * var(--u)); }
:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-bubble { left: calc(1208.4 * var(--u)); top: calc((4664.04 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-bubble::before { top: calc((4645.2 - 4664.04) * var(--u)); }
/* 2段目 */
:where(.llmo--root) .llmo-flow-step-2 .llmo-flow-when { top: calc((4989.42 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-2 .llmo-flow-when::before { top: calc((4974.2 - 4989.42) * var(--u) - 1.417 * var(--u) / 2); }
:where(.llmo--root) .llmo-flow-step-2::after { top: calc((4974.2 + 4.5 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-2 .llmo-flow-head { top: calc((4941.05 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-2 .llmo-flow-list { left: calc(556.3 * var(--u)); top: calc((4998.46 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-2 .llmo-flow-img { left: calc(1044 * var(--u)); top: calc((4940 - 4360.9) * var(--u)); width: calc(319 * var(--u)); height: calc(212 * var(--u)); }
/* 3段目 */
:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-when { top: calc((5275.32 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-when::before { top: calc((5242.4 - 5275.32) * var(--u) - 1.417 * var(--u) / 2); }
:where(.llmo--root) .llmo-flow-step-3::after { top: calc((5242.4 + 4.5 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-head { top: calc((5209.24 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-list { left: calc(556.3 * var(--u)); top: calc((5266.64 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-img { left: calc(941 * var(--u)); top: calc((5198 - 4360.9) * var(--u)); width: calc(289 * var(--u)); height: calc(192 * var(--u)); }
:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-bubble { left: calc(1215.6 * var(--u)); top: calc((5200.4 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-bubble::before { top: calc((5181.6 - 5200.4) * var(--u)); }
/* 4段目 */
:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-when { top: calc((5534.29 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-when::before { top: calc((5510.6 - 5534.29) * var(--u) - 1.417 * var(--u) / 2); }
:where(.llmo--root) .llmo-flow-step-4::after { top: calc((5510.6 + 4.5 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-head { top: calc((5477.42 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-list { left: calc(561.6 * var(--u)); top: calc((5534.83 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-img { left: calc(1157 * var(--u)); top: calc((5464 - 4360.9) * var(--u)); width: calc(208 * var(--u)); height: calc(207 * var(--u)); }
:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-bubble { left: calc(1345.6 * var(--u)); top: calc((5468.59 - 4360.9) * var(--u)); }
:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-bubble::before { top: calc((5449.8 - 5468.59) * var(--u)); }

/* ---------- 区分8・9 の薄い面（デザインの y 5717.9〜7631.1。面そのものは y 5873.2 から） ----------
   この中の top は「デザインの y − 5717.9」で書く */
:where(.llmo--root) .llmo-panel4 {
	position: relative;
	width: calc(1920 * var(--u));
}
/* 薄い面：幅 1700、右上・右下の角丸 100、#eff5f8 */
:where(.llmo--root) .llmo-panel4-bg {
	position: absolute;
	left: 0;
	top: calc((5873.2 - 5717.9) * var(--u));
	width: calc(1700 * var(--u));
	bottom: 0;
	border-radius: 0 calc(100 * var(--u)) calc(100 * var(--u)) 0;
	background-color: #eff5f8;
}
/* 右の縦書き：30.47px・白、1文字目の上端 y 5951（.ai の文字枠の値から 27px 上げる） */
:where(.llmo--root) .llmo-panel4-vtext {
	left: calc(1739.4 * var(--u));
	top: calc((5951 - 5717.9) * var(--u));
	font-size: calc(30.47 * var(--u));
	color: var(--llmo-white);
}
:where(.llmo--root) .llmo-price {
	position: absolute;
	inset: 0;
	color: var(--llmo-text);
}
/* よくある質問は文書の流れに置き、開閉で面の高さが変わるようにする。下の余白は、3問とも開いたときに面の下端が y 7631.1 に来る値 */
:where(.llmo--root) .llmo-faq {
	color: var(--llmo-text);
	padding-bottom: calc((7631.1 - 7294.3 - 158.58) * var(--u) - 1px);
}
:where(.llmo--root) .llmo-price p,
:where(.llmo--root) .llmo-price h2,
:where(.llmo--root) .llmo-price img,
:where(.llmo--root) .llmo-faq h2 {
	position: absolute;
	margin: 0;
	white-space: nowrap;
}

/* ---------- 区分8 料金について ---------- */
/* 斜めの「業界最安値／レベル！」：Kiwi Maru Medium 17.24px・#599db4、−31.07° 傾ける。
   1行目のベースラインの始まりが (298.86, 6001.74)、2行目はその 19.26px 下・8.61px 先から */
:where(.llmo--root) .llmo-price-label {
	left: calc(298.86 * var(--u));
	top: calc((6001.74 - 9.63 - 7.5 - 5717.9) * var(--u));
	font-family: "Kiwi Maru", serif;
	font-size: calc(17.24 * var(--u));
	line-height: calc(19.26 * var(--u));
	color: var(--llmo-accent);
	transform: rotate(-31.07deg);
	transform-origin: 0 calc((9.63 + 7.5) * var(--u));
}
:where(.llmo--root) .llmo-price-label-2 {
	margin-left: 0.4994em; /* デザインの 8.61px ÷ 文字 17.24px */
}
/* 「業界最安値レベル！」の文字と両脇の線をまとめた枠。デザインの 1.25 倍に大きくし、見出し「料金について」へ少し寄せる（右へ 12・下へ 10）
   （2026-11-09 担当者指示。1.5 倍から 1.25 倍に変更）。大きくする基準点は線のかたまりの右下（x 379.9・y 6019.0） */
:where(.llmo--root) .llmo-price-label-wrap {
	position: absolute;
	inset: 0;
	transform: translate(calc(12 * var(--u)), calc(10 * var(--u))) scale(1.25);
	transform-origin: calc(379.9 * var(--u)) calc((6019 - 5717.9) * var(--u));
	pointer-events: none;
}
/* 両脇の線（SVG。上下左右に 0.71 広げてある） */
:where(.llmo--root) .llmo-price-label-lines {
	left: calc((280.3 - 0.71) * var(--u));
	top: calc((5940.6 - 0.71 - 5717.9) * var(--u));
	width: calc((99.6 + 1.42) * var(--u));
	height: calc((78.4 + 1.42) * var(--u));
}
/* 見出し：Black 35.43px・#599db4、ベースライン y 6034.89 */
:where(.llmo--root) .llmo-price-title {
	left: calc(357.1 * var(--u));
	top: calc((6001.76 - 5717.9) * var(--u));
	font-size: calc(35.43 * var(--u));
	font-weight: 900;
	color: var(--llmo-accent);
}
/* 本文：Medium 21.26px、行送り 39.69px、1行目のベースライン y 6098.08 */
:where(.llmo--root) .llmo-price-lead {
	left: calc(357.1 * var(--u));
	top: calc((6068.99 - 5717.9) * var(--u));
	font-size: calc(21.26 * var(--u));
	line-height: calc(39.69 * var(--u));
}
/* 料金表：白い面（x 357.1・y 6249.6・幅 422.1・高さ 270.1、角丸 20）。中の位置は面の左上からの距離 */
:where(.llmo--root) .llmo-price-table {
	position: absolute;
	left: calc(357.1 * var(--u));
	top: calc((6249.6 - 5717.9) * var(--u));
	width: calc(422.1 * var(--u));
	height: calc(270.1 * var(--u));
	margin: 0;
	border-radius: calc(20 * var(--u));
	background-color: var(--llmo-white);
	color: #0c3c50;
}
:where(.llmo--root) .llmo-price-table dt,
:where(.llmo--root) .llmo-price-table dd {
	position: absolute;
	margin: 0;
	white-space: nowrap;
}
/* 区切り線：x 384.2〜752.0、y 6345.3・6414.2、#7c9eae・0.709 */
:where(.llmo--root) .llmo-price-row-2::before,
:where(.llmo--root) .llmo-price-row-3::before {
	content: "";
	position: absolute;
	left: calc((384.2 - 357.1) * var(--u));
	width: calc(367.8 * var(--u));
	height: calc(0.709 * var(--u));
	background-color: #7c9eae;
}
:where(.llmo--root) .llmo-price-row-2::before { top: calc((6345.3 - 0.35 - 6249.6) * var(--u)); }
:where(.llmo--root) .llmo-price-row-3::before { top: calc((6414.2 - 0.35 - 6249.6) * var(--u)); }
/* 項目名：Medium 17.01px、x 395.6 */
:where(.llmo--root) .llmo-price-table dt {
	left: calc((395.6 - 357.1) * var(--u));
	font-size: calc(17.01 * var(--u));
}
:where(.llmo--root) .llmo-price-row-1 dt { top: calc((6294.45 - 6249.6) * var(--u)); }
:where(.llmo--root) .llmo-price-row-2 dt { top: calc((6369.85 - 6249.6) * var(--u)); }
:where(.llmo--root) .llmo-price-row-3 dt { top: calc((6432.4 - 6249.6) * var(--u)); }
/* 金額の欄：dd は面の左上に置き、中を絶対位置で並べる */
:where(.llmo--root) .llmo-price-table dd {
	left: 0;
	top: 0;
}
:where(.llmo--root) .llmo-price-value,
:where(.llmo--root) .llmo-price-unit,
:where(.llmo--root) .llmo-price-badge {
	position: absolute;
}
/* 「固定料金」「従量制」：Medium 26.23px・#599db4 */
:where(.llmo--root) .llmo-price-value {
	font-size: calc(26.23 * var(--u));
	color: var(--llmo-accent);
}
:where(.llmo--root) .llmo-price-row-1 .llmo-price-value { left: calc((633.8 - 357.1) * var(--u)); top: calc((6291.13 - 6249.6) * var(--u)); }
:where(.llmo--root) .llmo-price-row-2 .llmo-price-value { left: calc((633.8 - 357.1) * var(--u)); top: calc((6366.53 - 6249.6) * var(--u)); }
:where(.llmo--root) .llmo-price-row-3 .llmo-price-value { left: calc((660 - 357.1) * var(--u)); top: calc((6462.19 - 6249.6) * var(--u)); }
/* 「月々」：Medium 15.74px */
:where(.llmo--root) .llmo-price-unit {
	font-size: calc(15.74 * var(--u));
}
:where(.llmo--root) .llmo-price-row-2 .llmo-price-unit { left: calc((594.4 - 357.1) * var(--u)); top: calc((6376.34 - 6249.6) * var(--u)); }
:where(.llmo--root) .llmo-price-row-3 .llmo-price-unit { left: calc((620.7 - 357.1) * var(--u)); top: calc((6472 - 6249.6) * var(--u)); }
/* 「初回のみ」の丸バッジ（SVG。文字は .ai でアウトライン化。x 591.5・y 6271.4・幅 38・高さ 37.6） */
:where(.llmo--root) .llmo-price-badge {
	left: calc((591.5 - 357.1) * var(--u));
	top: calc((6271.4 - 6249.6) * var(--u));
	width: calc(38 * var(--u));
	height: calc(37.6 * var(--u));
}
/* 資料請求ボタン：x 815.4・y 6328.8・幅 349.9・高さ 111.6、角丸 15.73、#599db4、白い枠 1px */
:where(.llmo--root) .llmo-price-btn {
	position: absolute;
	left: calc(815.4 * var(--u) - 0.5px);
	top: calc((6328.8 - 5717.9) * var(--u) - 0.5px);
	width: calc(349.9 * var(--u) + 1px);
	height: calc(111.6 * var(--u) + 1px);
	border-radius: calc(15.73 * var(--u));
	background-color: var(--llmo-accent);
}
/* 注記：Medium 13.46px、ベースライン y 6544.77 */
:where(.llmo--root) .llmo-price-note {
	left: calc(357.1 * var(--u));
	top: calc((6532.19 - 5717.9) * var(--u));
	font-size: calc(13.46 * var(--u));
}
/* 区分8 と 9 の間の線：x 357.1〜1490.6、y 6638.2、#7c9eae・0.709 */
:where(.llmo--root) .llmo-price::after {
	content: "";
	position: absolute;
	left: calc(357.1 * var(--u));
	top: calc((6638.2 - 0.35 - 5717.9) * var(--u));
	width: calc(1133.5 * var(--u));
	height: calc(0.709 * var(--u));
	background-color: #7c9eae;
}

/* ---------- 区分9 よくある質問 ---------- */
:where(.llmo--root) .llmo-faq-title {
	left: calc(357.1 * var(--u));
	top: calc((6748.59 - 5717.9) * var(--u));
	font-size: calc(35.43 * var(--u));
	font-weight: 900;
	color: var(--llmo-accent);
}
/* 質問と答えの組：x 359〜1489。質問の行（高さ 80、上の角丸 20）と答えの行（下の角丸 20）。
   枠は #e6ecef・2.835（線の中心が .ai の四角の上）、地は白。
   組は文書の流れに並べる。3問とも開いたときに、組の上端が .ai の y 6858.7・7057.9・7294.3 に来る間隔にしてある。
   実測で一様に右へ 1px・上へ 1px ずれたため、left と上の余白を 1px ずつ戻してある */
:where(.llmo--root) .llmo-faq-list {
	padding-top: calc((6858.7 - 5717.9) * var(--u) + 1px);
}
/* よくある質問の区分と一覧は、上の大きな余白が区分8 の料金の資料請求ボタンに重なる。押しても素通りさせ、質問の組だけ押せるようにする */
:where(.llmo--root) .llmo-faq,
:where(.llmo--root) .llmo-faq-list {
	pointer-events: none;
}
:where(.llmo--root) .llmo-faq-item {
	pointer-events: auto;
}
:where(.llmo--root) .llmo-faq-item {
	position: relative;
	margin-left: calc(359 * var(--u) - 1px);
	width: calc(1130 * var(--u));
	color: #0c3c50;
	font-size: calc(21.26 * var(--u));
	letter-spacing: -0.05em;
}
/* 組と組の間：1組目の高さ（質問 78.58＋答え 80）と .ai の組の間隔 199.2 の差 */
:where(.llmo--root) .llmo-faq-item + .llmo-faq-item {
	margin-top: calc(40.62 * var(--u));
}
:where(.llmo--root) .llmo-faq-q,
:where(.llmo--root) .llmo-faq-a {
	position: relative;
	display: block;
	box-sizing: border-box;
	margin: 0;
	padding-left: calc((399.4 - 359) * var(--u));
	border: calc(2.835 * var(--u)) solid #e6ecef;
	background-color: var(--llmo-white);
	/* 答えは p なので、layout.css の p { font-size: 14px } に負けないよう大きさを直接書く */
	font-size: calc(21.26 * var(--u));
	white-space: nowrap;
	letter-spacing: inherit;
}
/* 質問の行：高さ 80、文字のベースラインは行の上端から 48.84 */
:where(.llmo--root) .llmo-faq-q {
	display: block;
	height: calc(80 * var(--u));
	margin: calc(-2.835 * var(--u) / 2);
	margin-bottom: 0;
	padding-top: calc((48.84 - 0.935 * 21.26) * var(--u) - 2.835 * var(--u) / 2);
	border-radius: calc(20 * var(--u)) calc(20 * var(--u)) 0 0;
	cursor: pointer;
	list-style: none;
}
:where(.llmo--root) .llmo-faq-q::-webkit-details-marker {
	display: none;
}
/* 答えの行：高さ 80（2問目は 117.2）、文字のベースラインは行の上端から 48.39、行送り 35.44 */
/* 答えの開閉用の枠：高さを JS で 0 ⇔ 中身の高さに動かす（マニュまると同じ 0.3 秒・cubic-bezier(.4,0,.2,1)） */
:where(.llmo--root) .llmo-faq-a-wrap {
	margin: 0 calc(-2.835 * var(--u) / 2);
	overflow: hidden;
	transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
:where(.llmo--root) .llmo-faq-a {
	height: calc(80 * var(--u));
	margin: 0;
	padding-top: calc((48.39 - 35.44 / 2 - 0.435 * 21.26) * var(--u) - 2.835 * var(--u) / 2);
	border-radius: 0 0 calc(20 * var(--u)) calc(20 * var(--u));
	line-height: calc(35.44 * var(--u));
}
:where(.llmo--root) .llmo-faq-item-2 .llmo-faq-a {
	height: calc(117.2 * var(--u));
}
/* 「Ｑ」「Ａ」：Black・#599db4 */
:where(.llmo--root) .llmo-faq-mark {
	font-weight: 900;
	color: var(--llmo-accent);
}
/* 閉じているときは質問の行の下の角も丸める */
:where(.llmo--root) .llmo-faq-item:not(.is-open) .llmo-faq-q {
	border-radius: calc(20 * var(--u));
}
/* 開閉の印：開いているとき「－」、閉じているとき「＋」（マニュまると同じく、縦の棒を 90° 回して横に重ねる）。
   「－」は .ai では小塚ゴシックの文字。担当者の決定で CSS の線にする（x 1441.5〜1457.0、y 6898.7・太さ 1.3） */
:where(.llmo--root) .llmo-faq-q::before,
:where(.llmo--root) .llmo-faq-q::after {
	content: "";
	position: absolute;
	left: calc((1441.5 - 359) * var(--u));
	top: calc((6898.7 - 6858.7) * var(--u));
	width: calc(15.5 * var(--u));
	height: calc(1.3 * var(--u));
	background-color: #0c3c50;
}
:where(.llmo--root) .llmo-faq-q::before {
	transform: rotate(90deg);
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
:where(.llmo--root) .llmo-faq-item.is-open .llmo-faq-q::before {
	transform: none;
}

/* ---------- 区分10 末尾の資料請求ボタン（デザインの y 7631.1〜7900） ---------- */
:where(.llmo--root) .llmo-end {
	width: calc(1920 * var(--u));
	height: calc((7900 - 7631.1) * var(--u));
}
/* ボタン：x 785・y 7710.3・幅 349.9・高さ 111.6、角丸 15.73、#0c3c50、白い枠 1px */
:where(.llmo--root) .llmo-end-btn {
	position: absolute;
	left: calc(785 * var(--u) - 0.5px);
	top: calc((7710.3 - 7631.1) * var(--u) - 0.5px);
	width: calc(349.9 * var(--u) + 1px);
	height: calc(111.6 * var(--u) + 1px);
	border-radius: calc(15.73 * var(--u));
	background-color: #0c3c50;
}

/* ============================================================
   動き（担当者決定 2026-11-09）。JS が .llmo--root に .is-anim を付けたときだけ、出る前の状態にする（JS が無ければ最初から見える）。
   画面に入ったら JS が .is-shown を付ける。1度だけ動く。スマホでも動かす（/branding と同じ）
   ============================================================ */
/* 区分2 カード：右から 100 滑り込む。ビッグエムズワイの「導入までのステップ」と同じ作り（ease-in-sine、同時に動き出し、時間を 0.15・0.3・0.45 秒と延ばして順に着く） */
.llmo--root.is-anim .llmo-problem-card {
	opacity: 0;
	transform: translateX(calc(100 * var(--u)));
}
.llmo--root.is-anim .llmo-problem-card.is-shown {
	opacity: 1;
	transform: none;
	transition: opacity var(--llmo-d) cubic-bezier(0.47, 0, 0.745, 0.715), transform var(--llmo-d) cubic-bezier(0.47, 0, 0.745, 0.715);
}
.llmo--root .llmo-problem-card-1 { --llmo-d: 0.15s; }
.llmo--root .llmo-problem-card-2 { --llmo-d: 0.3s; }
.llmo--root .llmo-problem-card-3 { --llmo-d: 0.45s; }
/* 区分5 「60年」〜 E-E-A-T：かたまりごと右から 100 入る（2026-11-09 担当者指示で左からを逆向きに）。0.8 秒・power2.out。
   区分3「AI 回答生成の流れ」の面と、区分5 の3段の矢印（吹き出しを含む）も、同じ動きでそれぞれ右から入る（2026-11-09 担当者指示） */
.llmo--root.is-anim .llmo-service-strength,
.llmo--root.is-anim .llmo-about-flow,
.llmo--root.is-anim .llmo-service-flow {
	opacity: 0;
	transform: translateX(calc(100 * var(--u)));
}
.llmo--root.is-anim .llmo-about-flow.is-shown,
.llmo--root.is-anim .llmo-service-flow.is-shown,
.llmo--root.is-anim .llmo-service-strength.is-shown {
	opacity: 1;
	transform: none;
	transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
/* 区分7 4段：上から 0.2 秒ずつ、下から 1.2rem 浮き上がる。0.8 秒（こばクリニックの作り） */
.llmo--root.is-anim .llmo-flow-step {
	opacity: 0;
	transform: translateY(1.2rem);
}
.llmo--root.is-anim .llmo-flow-step.is-shown {
	opacity: 1;
	transform: none;
	transition: opacity 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53) var(--llmo-delay), transform 0.8s cubic-bezier(0.33, 1, 0.68, 1) var(--llmo-delay);
}
.llmo--root .llmo-flow-step-1 { --llmo-delay: 0s; }
.llmo--root .llmo-flow-step-2 { --llmo-delay: 0.2s; }
.llmo--root .llmo-flow-step-3 { --llmo-delay: 0.4s; }
.llmo--root .llmo-flow-step-4 { --llmo-delay: 0.6s; }
/* 区分8 「業界最安値レベル！」（斜めの文字と両脇の線）：透明から現れる。1 秒・power1.out（/branding 区分3 と同じ）。
   担当者の指示（2026-11-09）で、見出し「料金について」ではなくこちらを動かす */
.llmo--root.is-anim .llmo-price-label,
.llmo--root.is-anim .llmo-price-label-lines {
	opacity: 0;
}
.llmo--root.is-anim .llmo-price-label.is-shown,
.llmo--root.is-anim .llmo-price-label-lines.is-shown {
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
/* 資料請求ボタン：マウスを乗せると地を白、文字をボタンの地の色に入れ替える。0.3 秒（/branding のお問い合わせボタンと同じ） */
:where(.llmo--root) .llmo-btn {
	transition: background-color 0.3s ease, color 0.3s ease;
}
.llmo--root a.llmo-btn:hover {
	background-color: var(--llmo-white);
}
.llmo--root a.llmo-kv-btn:hover { color: var(--llmo-pale); }
.llmo--root a.llmo-summary-btn:hover { color: #0c3c50; }
.llmo--root a.llmo-price-btn:hover { color: var(--llmo-accent); }
.llmo--root a.llmo-end-btn:hover { color: #0c3c50; }

/* ============================================================
   スマホ（540px 以下）：S_LLMO.ai（375px 幅のデザイン）に従う。
   切り替えはサイトのヘッダー・フッターと同じ 540/541px。541px 以上はサイト全体が最小幅 1200px の PC 版になるので、LLMO も PC 版にそろえる
   （768px で切り替えていたときは、541〜768px でスマホ版が 1200px の枠に対して描かれ、画面より大きくなって右が切れた。2026-11-09 担当者決定）。寸法はデザインの px をそのまま --u 倍で書く。
   375px より広い画面（376〜540px）では、幅いっぱいに比例して拡大する（案A、担当者決定）。
   HTML は PC と同じ。改行が違うところは br.llmo-sp（スマホだけ改行）・br.llmo-pc（PC だけ改行）で切り替える
   ============================================================ */
.llmo--root br.llmo-sp {
	display: none;
}
@media (max-width: 540px) {
	.llmo--root > * {
		--u: calc(min(100cqw, var(--llmo-vw, 100cqw)) / 375);
	}
	.llmo--root br.llmo-sp {
		display: inline;
	}
	.llmo--root br.llmo-pc {
		display: none;
	}
	/* 地：デザインの高さ 3850。KV の背景写真はスマホ用の書き出し（y 0〜821.9） */
	:where(.llmo--root) .llmo-bg {
		width: calc(375 * var(--u));
		height: calc(3850 * var(--u));
		background:
			url(../images/llmo/kv_bg_sp.jpg) no-repeat left top / 100% auto,
			linear-gradient(#589db4, #7d9dae);
	}
	/* 資料請求ボタン：文字 12.05px（4か所共通） */
	:where(.llmo--root) .llmo-btn {
		font-size: calc(12.05 * var(--u));
	}

	/* ---------- 区分1 キービジュアル（デザインの y 0〜341.3） ---------- */
	:where(.llmo--root) .llmo-kv {
		width: calc(375 * var(--u));
		height: calc(341.3 * var(--u));
	}
	:where(.llmo--root) .llmo-kv-label {
		left: calc(28.6 * var(--u) - 0.5px);
		top: calc(58.4 * var(--u) - 0.5px);
		width: calc(31.7 * var(--u) + 1px);
		height: calc(13.5 * var(--u) + 1px);
		font-size: calc(9.21 * var(--u));
		line-height: calc(11.5 * var(--u));
	}
	:where(.llmo--root) .llmo-kv-title > span { font-size: calc(35.43 * var(--u)); }
	:where(.llmo--root) .llmo-kv-title .llmo-kv-ai { left: calc(76.6 * var(--u)); top: calc(48.11 * var(--u)); font-size: calc(46.06 * var(--u)); }
	:where(.llmo--root) .llmo-kv-title .llmo-kv-ni { left: calc(125.8 * var(--u)); top: calc(64.67 * var(--u)); font-size: calc(28.35 * var(--u)); }
	/* スマホのデザインは「選ばれる」「「伝わる」」の字間が PC よりわずかに広い（行の幅から割り出した値） */
	:where(.llmo--root) .llmo-kv-title .llmo-kv-erabareru { left: calc(155.2 * var(--u)); top: calc(57.2 * var(--u)); letter-spacing: 0.014em; }
	:where(.llmo--root) .llmo-kv-title .llmo-kv-tsutawaru { left: calc(37.1 * var(--u)); top: calc(99.47 * var(--u)); letter-spacing: 0.0095em; }
	:where(.llmo--root) .llmo-kv-title .llmo-kv-wo { left: calc(199.7 * var(--u)); top: calc(106.95 * var(--u)); font-size: calc(28.35 * var(--u)); }
	:where(.llmo--root) .llmo-kv-title .llmo-kv-tsukuru { left: calc(225.2 * var(--u)); top: calc(99.48 * var(--u)); }
	/* スマホのデザインの「つ」「く」の送り幅は 31.7px・27.9px（0.895em・0.787em） */
	:where(.llmo--root) .llmo-kv-tsu { letter-spacing: -0.105em; }
	:where(.llmo--root) .llmo-kv-ku { letter-spacing: -0.213em; }
	/* リード：11.34px、行送り 17.73px、4行。1行目のベースライン y 179.81 */
	:where(.llmo--root) .llmo-kv-lead {
		left: calc(79.8 * var(--u));
		top: calc(166.01 * var(--u));
		font-size: calc(11.34 * var(--u));
		line-height: calc(17.73 * var(--u));
	}
	/* ボタン：x 100・y 257.3・幅 175・高さ 55.8、角丸 15.73 */
	:where(.llmo--root) .llmo-kv-btn {
		left: calc(100 * var(--u) - 0.5px);
		top: calc(257.3 * var(--u) - 0.5px);
		width: calc(175 * var(--u) + 1px);
		height: calc(55.8 * var(--u) + 1px);
	}
}

@media (max-width: 540px) {
	/* ---------- 区分2・3 の白い面（デザインの y 341.3〜1420.0）。top は「デザインの y − 341.3」 ---------- */
	:where(.llmo--root) .llmo-panel1 {
		width: calc(375 * var(--u));
		height: calc(1078.7 * var(--u));
	}
	:where(.llmo--root) .llmo-panel1-bg {
		width: calc(332.04 * var(--u));
		border-radius: 0 calc(30 * var(--u)) calc(30 * var(--u)) 0;
	}
	/* KV 背景の下端の細い帯：y 821.9〜827.2 */
	:where(.llmo--root) .llmo-band-line {
		top: calc((821.9 - 341.3) * var(--u));
		width: calc(375 * var(--u));
		height: calc(5.3 * var(--u));
	}
	/* 右の縦書き：15.24px、x 342.4、1文字目の上端 y 367.4（.ai の文字枠の値から 0.886em 上げる） */
	:where(.llmo--root) .llmo-panel1-vtext {
		left: calc(342.4 * var(--u));
		top: calc((367.4 - 341.3) * var(--u));
		font-size: calc(15.24 * var(--u));
	}

	/* ---------- 区分2 課題提起 ---------- */
	/* 見出し：Black 17.72px、2行（行送り 24.1px）、1行目のベースライン y 388.88。2行目は 8.8px（0.497em）右から */
	:where(.llmo--root) .llmo-problem-title {
		left: calc(51.5 * var(--u));
		top: calc((369.12 - 341.3) * var(--u));
		font-size: calc(17.72 * var(--u));
		line-height: calc(24.1 * var(--u));
	}
	:where(.llmo--root) .llmo-problem-title-2 {
		margin-left: 0.497em;
	}
	/* 本文：12.05px、行送り 19.84px、1行目のベースライン y 438.31 */
	:where(.llmo--root) .llmo-problem-lead {
		left: calc(65.6 * var(--u));
		top: calc((423.15 - 341.3) * var(--u));
		font-size: calc(12.05 * var(--u));
		line-height: calc(19.84 * var(--u));
	}
	/* カード：縦に3枚。x 77.2、幅 177.6・高さ 186.7、角丸 26.29 */
	:where(.llmo--root) .llmo-problem-card {
		left: calc(77.2 * var(--u));
		width: calc(177.6 * var(--u));
		height: calc(186.7 * var(--u));
	}
	/* 番号：21.48px（PC の 39px × 0.551） */
	:where(.llmo--root) .llmo-problem-num {
		font-size: calc(21.48 * var(--u));
	}
	/* 上の文・下の文：11.69px、行送り 16.37px */
	:where(.llmo--root) .llmo-problem-who,
	:where(.llmo--root) .llmo-problem-answer {
		font-size: calc(11.69 * var(--u));
		line-height: calc(16.37 * var(--u));
	}
	/* ▼：幅 15.9・高さ 13.8 */
	:where(.llmo--root) .llmo-problem-arrow {
		width: calc(15.9 * var(--u));
		height: calc(13.8 * var(--u));
	}
	:where(.llmo--root) .llmo-problem-card-1 { top: calc((485.8 - 341.3) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-1 .llmo-problem-num { left: calc((155.9 - 77.2) * var(--u)); top: calc((492.6 - 485.8) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-1 .llmo-problem-who { left: calc((113.4 - 77.2) * var(--u)); top: calc((530.56 - 485.8) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-1 .llmo-problem-arrow { left: calc((158.1 - 77.2) * var(--u)); top: calc((583.1 - 485.8) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-1 .llmo-problem-answer { left: calc((98.8 - 77.2) * var(--u)); top: calc((609.42 - 485.8) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-2 { top: calc((686.7 - 341.3) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-2 .llmo-problem-num { left: calc((155.5 - 77.2) * var(--u)); top: calc((693.5 - 686.7) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-2 .llmo-problem-who { left: calc((113.4 - 77.2) * var(--u)); top: calc((731.48 - 686.7) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-2 .llmo-problem-arrow { left: calc((158.1 - 77.2) * var(--u)); top: calc((784.0 - 686.7) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-2 .llmo-problem-answer { left: calc((98.8 - 77.2) * var(--u)); top: calc((810.33 - 686.7) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-3 { top: calc((887.6 - 341.3) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-3 .llmo-problem-num { left: calc((155.2 - 77.2) * var(--u)); top: calc((894.4 - 887.6) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-3 .llmo-problem-who { left: calc((110.5 - 77.2) * var(--u)); top: calc((934.93 - 887.6) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-3 .llmo-problem-arrow { left: calc((158.1 - 77.2) * var(--u)); top: calc((984.9 - 887.6) * var(--u)); }
	:where(.llmo--root) .llmo-problem-card-3 .llmo-problem-answer { left: calc((104.6 - 77.2) * var(--u)); top: calc((1013.79 - 887.6) * var(--u)); }

	/* ---------- 区分3 LLMOとは？ ---------- */
	:where(.llmo--root) .llmo-about-title {
		left: calc(25.6 * var(--u));
		top: calc((1107.15 - 341.3) * var(--u));
		font-size: calc(17.72 * var(--u));
	}
	/* 本文（上・下）：12.05px、行送り 19.84px */
	:where(.llmo--root) .llmo-about-lead,
	:where(.llmo--root) .llmo-about-note {
		left: calc(25.6 * var(--u));
		font-size: calc(12.05 * var(--u));
		line-height: calc(19.84 * var(--u));
	}
	:where(.llmo--root) .llmo-about-lead { top: calc((1140.15 - 341.3) * var(--u)); }
	:where(.llmo--root) .llmo-about-note { top: calc((1327.88 - 341.3) * var(--u)); }
	/* AI 回答生成の流れ：灰色の面 x 24.8・y 1216.5・幅 282.5・高さ 94.3、角丸 20 */
	:where(.llmo--root) .llmo-about-flow {
		left: calc(24.8 * var(--u));
		top: calc((1216.5 - 341.3) * var(--u));
		width: calc(282.5 * var(--u));
		height: calc(94.3 * var(--u));
		border-radius: calc(20 * var(--u));
	}
	:where(.llmo--root) .llmo-about-flow-title {
		left: calc((120.4 - 24.8) * var(--u));
		top: calc((1219.91 - 1216.5) * var(--u));
		font-size: calc(11.34 * var(--u));
	}
	/* 円：直径 65、y 1237.8。文字 11.34px・2行（行送り 11.84px）、1行目のベースライン y 1267.24 */
	:where(.llmo--root) .llmo-about-step {
		top: calc((1237.8 - 1216.5) * var(--u));
		width: calc(65 * var(--u));
		height: calc(65 * var(--u));
		font-size: calc(11.34 * var(--u));
		line-height: calc(11.84 * var(--u));
	}
	:where(.llmo--root) .llmo-about-step::before {
		height: calc((1256.39 - 1237.8) * var(--u));
	}
	:where(.llmo--root) .llmo-about-step-1 { left: calc((31 - 24.8) * var(--u)); }
	:where(.llmo--root) .llmo-about-step-2 { left: calc((99.3 - 24.8) * var(--u)); }
	:where(.llmo--root) .llmo-about-step-3 { left: calc((167.7 - 24.8) * var(--u)); }
	:where(.llmo--root) .llmo-about-step-4 { left: calc((236.1 - 24.8) * var(--u)); }
}
/* PC とスマホで字詰め・改行が大きく違う段落は、中身を span.llmo-pc と span.llmo-sp の2つ持ち、画面幅で切り替える */
.llmo--root span.llmo-sp {
	display: none;
}
@media (max-width: 540px) {
	.llmo--root span.llmo-pc {
		display: none;
	}
	.llmo--root span.llmo-sp {
		display: inline;
	}
}

@media (max-width: 540px) {
	/* ---------- 区分4 中間の1行（デザインの y 1420.0〜1474.9） ---------- */
	:where(.llmo--root) .llmo-catch {
		width: calc(375 * var(--u));
		height: calc(54.9 * var(--u));
	}
	:where(.llmo--root) .llmo-catch-text {
		left: calc(23.7 * var(--u));
		top: calc((1439.38 - 1420) * var(--u));
		font-size: calc(14.17 * var(--u));
	}

	/* ---------- 区分5 の薄い面（デザインの y 1474.9〜2127.5）。top は「デザインの y − 1474.9」 ---------- */
	:where(.llmo--root) .llmo-panel2 {
		width: calc(375 * var(--u));
		height: calc(652.6 * var(--u));
	}
	:where(.llmo--root) .llmo-panel2-bg {
		left: calc(43 * var(--u));
		width: calc(332 * var(--u));
		border-radius: calc(30 * var(--u)) 0 0 calc(30 * var(--u));
	}
	:where(.llmo--root) .llmo-panel2-vtext {
		left: calc(17.1 * var(--u));
		top: calc((1503.0 - 1474.9) * var(--u));
		font-size: calc(15.24 * var(--u));
	}
	:where(.llmo--root) .llmo-service-title {
		left: calc(90.8 * var(--u));
		top: calc((1506.43 - 1474.9) * var(--u));
		font-size: calc(17.72 * var(--u));
	}
	/* 本文（3か所）：12.05px、行送り 19.84px */
	:where(.llmo--root) .llmo-service-intro,
	:where(.llmo--root) .llmo-service-lead,
	:where(.llmo--root) .llmo-service-points {
		font-size: calc(12.05 * var(--u));
		line-height: calc(19.84 * var(--u));
	}
	:where(.llmo--root) .llmo-service-intro { left: calc(104.9 * var(--u)); top: calc((1548.19 - 1474.9) * var(--u)); }
	:where(.llmo--root) .llmo-service-lead { left: calc(71.1 * var(--u)); top: calc((1731.0 - 1474.9) * var(--u)); }
	:where(.llmo--root) .llmo-service-points { left: calc(56.1 * var(--u)); top: calc((1871.36 - 1474.9) * var(--u)); }
	/* ❷ の行だけ、スマホのデザインは文字を 11.62px に縮めてある */
	:where(.llmo--root) .llmo-sp-small {
		font-size: 0.9643em;
	}
	/* 3段の矢印：x 64.6・y 1677.3・幅 297.5・高さ 43.2。中の位置は矢印の左上から */
	:where(.llmo--root) .llmo-service-flow {
		left: calc(64.6 * var(--u));
		top: calc((1677.3 - 1474.9) * var(--u));
		width: calc(297.5 * var(--u));
		height: calc(43.2 * var(--u));
	}
	/* 左・中の文字：Black 7.8px、行送り 12.31px、1行目のベースライン y 1694.99 */
	:where(.llmo--root) .llmo-service-flow-1,
	:where(.llmo--root) .llmo-service-flow-2 {
		top: calc((1694.99 - 6.155 - 3.393 - 1677.3) * var(--u));
		font-size: calc(7.8 * var(--u));
		line-height: calc(12.31 * var(--u));
	}
	:where(.llmo--root) .llmo-service-flow-1 { left: calc((75.8 - 64.6) * var(--u)); }
	:where(.llmo--root) .llmo-service-flow-2 { left: calc((175.2 - 64.6) * var(--u)); }
	/* 右の文字：8.79px、行送り 11.43px、1行目のベースライン y 1690.16 */
	:where(.llmo--root) .llmo-service-flow-3 {
		left: calc((291 - 64.6) * var(--u));
		top: calc((1690.16 - 5.715 - 3.824 - 1677.3) * var(--u));
		font-size: calc(8.79 * var(--u));
		line-height: calc(11.43 * var(--u));
	}
	/* 吹き出し：x 50.9・y 1670.4・幅 23.6・高さ 23.4。文字 5.06px・2行（行送り 6.02px）、1行目のベースライン y 1680.06 */
	:where(.llmo--root) .llmo-service-badge {
		left: calc((50.9 - 64.6) * var(--u));
		top: calc((1670.4 - 1677.3) * var(--u));
		width: calc(23.6 * var(--u));
		height: calc(23.4 * var(--u));
	}
	:where(.llmo--root) .llmo-service-badge-text {
		top: calc((1680.06 - 3.01 - 2.201 - 1670.4) * var(--u));
		width: calc(23.4 * var(--u));
		font-size: calc(5.06 * var(--u));
		line-height: calc(6.02 * var(--u));
	}
	/* 大寳製版は教材制作60年！：17.72px（「60」は 35.43px）、ベースライン y 1860.57 */
	:where(.llmo--root) .llmo-service-history {
		left: calc(64.6 * var(--u));
		top: calc((1844.0 - 1474.9) * var(--u));
		font-size: calc(17.72 * var(--u));
	}
	:where(.llmo--root) .llmo-service-history-60 {
		font-size: calc(35.43 * var(--u));
	}
	:where(.llmo--root) .llmo-service-eeat-title {
		left: calc(53 * var(--u));
		top: calc((1952.19 - 1474.9) * var(--u));
		font-size: calc(10.63 * var(--u));
	}
	/* E-E-A-T の枠：61.8 角、線 0.709、y 1969.4 */
	:where(.llmo--root) .llmo-service-eeat li {
		top: calc((1969.4 - 1474.9) * var(--u) - 0.709 * var(--u) / 2);
		width: calc((61.8 + 0.709) * var(--u));
		height: calc((61.8 + 0.709) * var(--u));
		border-width: calc(0.709 * var(--u));
	}
	:where(.llmo--root) .llmo-service-eeat-1 { left: calc(68.1 * var(--u) - 0.709 * var(--u) / 2); }
	:where(.llmo--root) .llmo-service-eeat-2 { left: calc(138.9 * var(--u) - 0.709 * var(--u) / 2); }
	:where(.llmo--root) .llmo-service-eeat-3 { left: calc(209.7 * var(--u) - 0.709 * var(--u) / 2); }
	:where(.llmo--root) .llmo-service-eeat-4 { left: calc(280.6 * var(--u) - 0.709 * var(--u) / 2); }
	/* 大きな E・E・A・T：PC の 0.5004 倍（枠 61.8 ÷ 123.5）。線も同じ割合で 0.709 */
	:where(.llmo--root) .llmo-service-eeat-en {
		top: calc(6.6 * var(--u) - 0.3545 * var(--u));
		font-size: calc(16.01 * var(--u));
		-webkit-text-stroke-width: calc(0.709 * var(--u));
	}
	:where(.llmo--root) .llmo-service-eeat-1 .llmo-service-eeat-en { left: calc((26.17 - 0.3545) * var(--u)); }
	:where(.llmo--root) .llmo-service-eeat-2 .llmo-service-eeat-en { left: calc((26.37 - 0.3545) * var(--u)); }
	:where(.llmo--root) .llmo-service-eeat-3 .llmo-service-eeat-en { left: calc((26.02 - 0.3545) * var(--u)); }
	:where(.llmo--root) .llmo-service-eeat-4 .llmo-service-eeat-en { left: calc((26.22 - 0.3545) * var(--u)); }
	/* 枠の中の漢字：Light 16.05px、ベースライン y 2016.62 */
	:where(.llmo--root) .llmo-service-eeat-ja {
		top: calc((2001.61 - 1969.4 - 0.3545) * var(--u));
		font-size: calc(16.05 * var(--u));
	}
	/* 締め：Bold 14.17px、2行（行送り 19.13px）。2行目は 7.1px（0.501em）右から */
	:where(.llmo--root) .llmo-service-closing {
		left: calc(70.1 * var(--u));
		top: calc((2050.91 - 1474.9) * var(--u));
		font-size: calc(14.17 * var(--u));
		line-height: calc(19.13 * var(--u));
	}
	:where(.llmo--root) .llmo-service-closing-2 {
		display: inline-block;
		margin-left: 0.501em;
	}
}

/* PC とスマホで別の画像を使うところ（img.llmo-pc / img.llmo-sp） */
.llmo--root img.llmo-sp {
	display: none;
}
@media (max-width: 540px) {
	.llmo--root img.llmo-pc {
		display: none;
	}
	.llmo--root img.llmo-sp {
		display: block;
	}

	/* ---------- 区分6 まとめの1行と資料請求ボタン（デザインの y 2127.5〜2280.1） ---------- */
	:where(.llmo--root) .llmo-summary {
		width: calc(375 * var(--u));
		height: calc(152.6 * var(--u));
	}
	:where(.llmo--root) .llmo-summary-text {
		left: calc(31.1 * var(--u));
		top: calc((2151.5 - 2127.5) * var(--u));
		font-size: calc(15.59 * var(--u));
	}
	:where(.llmo--root) .llmo-summary-btn {
		left: calc(100 * var(--u) - 0.5px);
		top: calc((2190.2 - 2127.5) * var(--u) - 0.5px);
		width: calc(175 * var(--u) + 1px);
		height: calc(55.8 * var(--u) + 1px);
	}

	/* ---------- 区分7 ご利用の流れ（デザインの y 2280.1〜2865.3）。top は「デザインの y − 2280.1」 ---------- */
	:where(.llmo--root) .llmo-flow {
		width: calc(375 * var(--u));
		height: calc(585.2 * var(--u));
	}
	/* 面：x 0〜332、y 2308.6 から下端まで、右上だけ角丸 30、#e0ecf0（スマホは PC と色が違う） */
	:where(.llmo--root) .llmo-flow-bg {
		left: 0;
		top: calc((2308.6 - 2280.1) * var(--u));
		width: calc(332 * var(--u));
		border-radius: 0 calc(30 * var(--u)) 0 0;
		background-color: #e0ecf0;
	}
	:where(.llmo--root) .llmo-flow-vtext {
		left: calc(342.6 * var(--u));
		top: calc((2333.8 - 2280.1) * var(--u));
		font-size: calc(15.24 * var(--u));
	}
	/* 見出し：Black 17.01px、x 37.4、ベースライン y 2333.89。スマホは左右の線なし */
	:where(.llmo--root) .llmo-flow-title {
		left: calc(37.4 * var(--u));
		top: calc((2317.99 - 2280.1) * var(--u));
		font-size: calc(17.01 * var(--u));
	}
	:where(.llmo--root) .llmo-flow-title::before,
	:where(.llmo--root) .llmo-flow-title::after {
		display: none;
	}
	/* 段の区切り線：x 12.1〜319.9、y 2459.9・2593.9・2728.0 */
	:where(.llmo--root) .llmo-flow-step-2::before,
	:where(.llmo--root) .llmo-flow-step-3::before,
	:where(.llmo--root) .llmo-flow-step-4::before {
		left: calc(12.1 * var(--u));
		width: calc(307.8 * var(--u));
	}
	:where(.llmo--root) .llmo-flow-step-2::before { top: calc((2459.9 - 2280.1) * var(--u) - 0.5px); }
	:where(.llmo--root) .llmo-flow-step-3::before { top: calc((2593.9 - 2280.1) * var(--u) - 0.5px); }
	:where(.llmo--root) .llmo-flow-step-4::before { top: calc((2728 - 2280.1) * var(--u) - 0.5px); }
	/* 時期の丸：直径 47.1。#c0d8e1 の円は線の円から右へ 1.7・下へ 2.3。文字 12.76px、行送り 12.76px */
	:where(.llmo--root) .llmo-flow-when {
		left: calc(13.4 * var(--u));
		width: calc(47.1 * var(--u));
		font-size: calc(12.76 * var(--u));
		line-height: calc(12.76 * var(--u));
	}
	:where(.llmo--root) .llmo-flow-when::before {
		width: calc((47.1 + 1.417) * var(--u));
		height: calc((47.1 + 1.417) * var(--u));
	}
	:where(.llmo--root) .llmo-flow-step::after {
		left: calc(15.1 * var(--u));
		width: calc(47.1 * var(--u));
		height: calc(47.1 * var(--u));
	}
	/* 段の見出し：Bold 17.72px、x 71.1。箇条書き：12.05px、行送り 18.07px */
	:where(.llmo--root) .llmo-flow-head {
		left: calc(71.1 * var(--u));
		font-size: calc(17.72 * var(--u));
	}
	:where(.llmo--root) .llmo-flow-list {
		font-size: calc(12.05 * var(--u));
		line-height: calc(18.07 * var(--u));
	}
	:where(.llmo--root) .llmo-flow-15 {
		font-size: calc(18.07 * var(--u));
	}
	/* 吹き出し：白い円 53.6、文字 Kiwi Maru 8.29px、行送り 11.54px */
	:where(.llmo--root) .llmo-flow-bubble {
		width: calc(53.6 * var(--u));
		font-size: calc(8.29 * var(--u));
		line-height: calc(11.54 * var(--u));
	}
	:where(.llmo--root) .llmo-flow-bubble::before {
		width: calc(53.6 * var(--u));
		height: calc(53.6 * var(--u));
	}
	/* 2段目：矢印（スマホ用の SVG。上下左右に 0.5 広げてある）、囲み（x 188.5・y 2466.9・幅 75.5・高さ 45.2、角丸 7.46）と中の文字（7.09px、行送り 11.69px） */
	:where(.llmo--root) .llmo-flow-arrow {
		left: calc((157 - 0.5) * var(--u));
		top: calc((2488.3 - 0.5 - 2280.1) * var(--u));
		width: calc(32.5 * var(--u));
		height: calc(29.8 * var(--u));
	}
	:where(.llmo--root) .llmo-flow-note {
		left: calc(194.2 * var(--u));
		top: calc((2471.64 - 2280.1) * var(--u));
		font-size: calc(7.09 * var(--u));
		line-height: calc(11.69 * var(--u));
	}
	:where(.llmo--root) .llmo-flow-note::before {
		left: calc((188.5 - 194.2) * var(--u) - 0.5px);
		top: calc((2466.9 - 2471.64) * var(--u) - 0.5px);
		width: calc(75.5 * var(--u) + 1px);
		height: calc(45.2 * var(--u) + 1px);
		border-radius: calc(7.46 * var(--u));
	}
	/* 2段目の右：Kiwi Maru 7.4px、行送り 9.47px と、下の折れ線（スマホ用の SVG。上下左右に 0.5 広げる） */
	:where(.llmo--root) .llmo-flow-check {
		left: calc(264.8 * var(--u));
		top: calc((2524.74 - 2280.1) * var(--u));
		font-size: calc(7.4 * var(--u));
		line-height: calc(9.47 * var(--u));
	}
	:where(.llmo--root) .llmo-flow-check-line {
		left: calc((260.5 - 0.5) * var(--u));
		top: calc((2536 - 0.5 - 2280.1) * var(--u));
		width: calc((55.8 + 1) * var(--u));
		height: calc((15.7 + 1) * var(--u));
	}
	/* 1段目 */
	:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-when { top: calc((2389.22 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-when::before { top: calc((2372.7 - 2389.22) * var(--u) - 1.417 * var(--u) / 2); }
	:where(.llmo--root) .llmo-flow-step-1::after { top: calc((2372.7 + 2.3 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-head { top: calc((2356.18 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-list { left: calc(68.1 * var(--u)); top: calc((2384.27 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-img { left: calc(155.9 * var(--u)); top: calc((2357.0 - 2280.1) * var(--u)); width: calc(133.9 * var(--u)); height: calc(89.3 * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-bubble { left: calc(269.8 * var(--u)); top: calc((2358.62 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-1 .llmo-flow-bubble::before { top: calc((2350.8 - 2358.62) * var(--u)); }
	/* 2段目 */
	:where(.llmo--root) .llmo-flow-step-2 .llmo-flow-when { top: calc((2514.45 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-2 .llmo-flow-when::before { top: calc((2506.8 - 2514.45) * var(--u) - 1.417 * var(--u) / 2); }
	:where(.llmo--root) .llmo-flow-step-2::after { top: calc((2506.8 + 2.3 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-2 .llmo-flow-head { top: calc((2490.27 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-2 .llmo-flow-list { left: calc(68.1 * var(--u)); top: calc((2518.36 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-2 .llmo-flow-img { left: calc(154.6 * var(--u)); top: calc((2509.0 - 2280.1) * var(--u)); width: calc(132.9 * var(--u)); height: calc(88.7 * var(--u)); }
	/* 3段目 */
	:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-when { top: calc((2657.4 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-when::before { top: calc((2640.9 - 2657.4) * var(--u) - 1.417 * var(--u) / 2); }
	:where(.llmo--root) .llmo-flow-step-3::after { top: calc((2640.9 + 2.3 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-head { top: calc((2624.36 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-list { left: calc(68.1 * var(--u)); top: calc((2652.45 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-img { left: calc(193.4 * var(--u)); top: calc((2636.5 - 2280.1) * var(--u)); width: calc(120.5 * var(--u)); height: calc(80.4 * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-bubble { left: calc(266.8 * var(--u)); top: calc((2609.36 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-3 .llmo-flow-bubble::before { top: calc((2601.5 - 2609.36) * var(--u)); }
	/* 4段目 */
	:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-when { top: calc((2786.89 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-when::before { top: calc((2775.0 - 2786.89) * var(--u) - 1.417 * var(--u) / 2); }
	:where(.llmo--root) .llmo-flow-step-4::after { top: calc((2775.0 + 2.3 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-head { top: calc((2758.45 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-list { left: calc(71.1 * var(--u)); top: calc((2786.54 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-img { left: calc(210.3 * var(--u)); top: calc((2761.4 - 2280.1) * var(--u)); width: calc(86.7 * var(--u)); height: calc(86.7 * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-bubble { left: calc(269.8 * var(--u)); top: calc((2748.76 - 2280.1) * var(--u)); }
	:where(.llmo--root) .llmo-flow-step-4 .llmo-flow-bubble::before { top: calc((2740.9 - 2748.76) * var(--u)); }
}

@media (max-width: 540px) {
	/* ---------- 区分8・9 の薄い面（デザインの y 2865.3〜3756.0。面そのものは y 2907.0 から）。top は「デザインの y − 2865.3」 ---------- */
	:where(.llmo--root) .llmo-panel4 {
		width: calc(375 * var(--u));
	}
	:where(.llmo--root) .llmo-panel4-bg {
		left: calc(43 * var(--u));
		top: calc((2907 - 2865.3) * var(--u));
		width: calc(332 * var(--u));
		border-radius: calc(30 * var(--u)) 0 0 calc(30 * var(--u));
	}
	:where(.llmo--root) .llmo-panel4-vtext {
		left: calc(17.1 * var(--u));
		top: calc((2931.9 - 2865.3) * var(--u));
		font-size: calc(15.24 * var(--u));
	}

	/* ---------- 区分8 料金について ---------- */
	/* 斜めの文字：Kiwi Maru 8.62px、−31.07°。1行目のベースラインの始まり (67.05, 2949.39)、行送り 9.63px */
	:where(.llmo--root) .llmo-price-label {
		left: calc(67.05 * var(--u));
		top: calc((2949.39 - 4.815 - 3.75 - 2865.3) * var(--u));
		font-size: calc(8.62 * var(--u));
		line-height: calc(9.63 * var(--u));
		transform-origin: 0 calc((4.815 + 3.75) * var(--u));
	}
	/* スマホ：寄せる量は PC の半分（右へ 6・下へ 5）。基準点はスマホのデザインの線の右下 */
	:where(.llmo--root) .llmo-price-label-wrap {
		transform: translate(calc(6 * var(--u)), calc(5 * var(--u))) scale(1.25);
		transform-origin: calc(107.6 * var(--u)) calc((2958 - 2865.3) * var(--u));
	}
	:where(.llmo--root) .llmo-price-label-lines {
		left: calc((57.8 - 0.3545) * var(--u));
		top: calc((2918.8 - 0.3545 - 2865.3) * var(--u));
		width: calc(50.51 * var(--u));
		height: calc(39.91 * var(--u));
	}
	:where(.llmo--root) .llmo-price-title {
		left: calc(96.1 * var(--u));
		top: calc((2949.4 - 2865.3) * var(--u));
		font-size: calc(17.72 * var(--u));
	}
	:where(.llmo--root) .llmo-price-lead {
		left: calc(71.1 * var(--u));
		top: calc((2982.4 - 2865.3) * var(--u));
		font-size: calc(12.05 * var(--u));
		line-height: calc(19.84 * var(--u));
	}
	/* 料金表：x 88.6・y 3061.3・幅 239.6・高さ 135、角丸 20 */
	:where(.llmo--root) .llmo-price-table {
		left: calc(88.6 * var(--u));
		top: calc((3061.3 - 2865.3) * var(--u));
		width: calc(239.6 * var(--u));
		height: calc(135 * var(--u));
	}
	:where(.llmo--root) .llmo-price-row-2::before,
	:where(.llmo--root) .llmo-price-row-3::before {
		left: calc((102.2 - 88.6) * var(--u));
		width: calc(212.4 * var(--u));
	}
	:where(.llmo--root) .llmo-price-row-2::before { top: calc((3109.1 - 0.35 - 3061.3) * var(--u)); }
	:where(.llmo--root) .llmo-price-row-3::before { top: calc((3143.6 - 0.35 - 3061.3) * var(--u)); }
	:where(.llmo--root) .llmo-price-table dt {
		left: calc((107.9 - 88.6) * var(--u));
		font-size: calc(10.63 * var(--u));
	}
	:where(.llmo--root) .llmo-price-row-1 dt { top: calc((3081.73 - 3061.3) * var(--u)); }
	:where(.llmo--root) .llmo-price-row-2 dt { top: calc((3119.43 - 3061.3) * var(--u)); }
	:where(.llmo--root) .llmo-price-row-3 dt { top: calc((3150.72 - 3061.3) * var(--u)); }
	:where(.llmo--root) .llmo-price-value { font-size: calc(13.11 * var(--u)); }
	:where(.llmo--root) .llmo-price-row-1 .llmo-price-value { left: calc((255.4 - 88.6) * var(--u)); top: calc((3082.06 - 3061.3) * var(--u)); }
	:where(.llmo--root) .llmo-price-row-2 .llmo-price-value { left: calc((255.4 - 88.6) * var(--u)); top: calc((3119.76 - 3061.3) * var(--u)); }
	:where(.llmo--root) .llmo-price-row-3 .llmo-price-value { left: calc((268.6 - 88.6) * var(--u)); top: calc((3167.59 - 3061.3) * var(--u)); }
	:where(.llmo--root) .llmo-price-unit { font-size: calc(9.35 * var(--u)); }
	:where(.llmo--root) .llmo-price-row-2 .llmo-price-unit { left: calc((232.8 - 88.6) * var(--u)); top: calc((3123.28 - 3061.3) * var(--u)); }
	:where(.llmo--root) .llmo-price-row-3 .llmo-price-unit { left: calc((245.9 - 88.6) * var(--u)); top: calc((3171.11 - 3061.3) * var(--u)); }
	/* 「初回のみ」：x 225.7・y 3063.7・幅 27.6・高さ 27.3 */
	:where(.llmo--root) .llmo-price-badge {
		left: calc((225.7 - 88.6) * var(--u));
		top: calc((3063.7 - 3061.3) * var(--u));
		width: calc(27.6 * var(--u));
		height: calc(27.3 * var(--u));
	}
	:where(.llmo--root) .llmo-price-btn {
		left: calc(121.5 * var(--u) - 0.5px);
		top: calc((3235.8 - 2865.3) * var(--u) - 0.5px);
		width: calc(175 * var(--u) + 1px);
		height: calc(55.8 * var(--u) + 1px);
	}
	/* 注記：8.5px、2行（行送り 10.62px）、1行目のベースライン y 3208.88 */
	:where(.llmo--root) .llmo-price-note {
		left: calc(156.7 * var(--u));
		top: calc((3199.87 - 2865.3) * var(--u));
		font-size: calc(8.5 * var(--u));
		line-height: calc(10.62 * var(--u));
	}
	/* 区分8 と 9 の間の線：x 62.8〜355.1、y 3319.7 */
	:where(.llmo--root) .llmo-price::after {
		left: calc(62.8 * var(--u));
		top: calc((3319.7 - 0.35 - 2865.3) * var(--u));
		width: calc(292.3 * var(--u));
	}

	/* ---------- 区分9 よくある質問 ---------- */
	:where(.llmo--root) .llmo-faq {
		padding-bottom: calc((3756 - 3625 - 98.25) * var(--u));
	}
	:where(.llmo--root) .llmo-faq-title {
		left: calc(155.8 * var(--u));
		top: calc((3356.91 - 2865.3) * var(--u));
		font-size: calc(17.72 * var(--u));
	}
	/* 組：x 55.2〜362.8。質問の行 高さ 40、答えの行 58.6（2問目 79.3）、枠 0.709、角丸 20。
	   3問とも開いたとき、組の上端が y 3388.6・3496.5・3625.0 に来る間隔 */
	:where(.llmo--root) .llmo-faq-list {
		padding-top: calc((3388.6 - 2865.3) * var(--u));
	}
	:where(.llmo--root) .llmo-faq-item {
		margin-left: calc(55.2 * var(--u));
		width: calc(307.6 * var(--u));
		font-size: calc(10.63 * var(--u));
	}
	:where(.llmo--root) .llmo-faq-item + .llmo-faq-item {
		margin-top: calc(9.65 * var(--u));
	}
	:where(.llmo--root) .llmo-faq-q,
	:where(.llmo--root) .llmo-faq-a {
		padding-left: calc((75.4 - 55.2) * var(--u));
		border-width: calc(0.709 * var(--u));
		font-size: calc(10.63 * var(--u));
	}
	:where(.llmo--root) .llmo-faq-q {
		height: calc(40 * var(--u));
		margin: calc(-0.709 * var(--u) / 2);
		margin-bottom: 0;
		padding-top: calc((24.36 - 0.935 * 10.63) * var(--u) - 0.709 * var(--u) / 2);
	}
	:where(.llmo--root) .llmo-faq-a-wrap {
		margin: 0 calc(-0.709 * var(--u) / 2);
	}
	:where(.llmo--root) .llmo-faq-a {
		height: calc(58.6 * var(--u));
		padding-top: calc((23.33 - 17.72 / 2 - 0.435 * 10.63) * var(--u) - 0.709 * var(--u) / 2);
		line-height: calc(17.72 * var(--u));
	}
	:where(.llmo--root) .llmo-faq-item-2 .llmo-faq-a {
		height: calc(79.3 * var(--u));
	}
	/* 開閉の印：x 339.0〜346.75、y 3407.25、太さ 0.65 */
	:where(.llmo--root) .llmo-faq-q::before,
	:where(.llmo--root) .llmo-faq-q::after {
		left: calc((339 - 55.2 - 0.709) * var(--u));
		top: calc((3407.25 - 3388.6 - 0.3545) * var(--u));
		width: calc(7.75 * var(--u));
		height: calc(0.65 * var(--u));
	}

	/* ---------- 区分10 末尾の資料請求ボタン（デザインの y 3756.0〜3850） ---------- */
	:where(.llmo--root) .llmo-end {
		width: calc(375 * var(--u));
		height: calc(94 * var(--u));
	}
	:where(.llmo--root) .llmo-end-btn {
		left: calc(100 * var(--u) - 0.5px);
		top: calc((3776.7 - 3756) * var(--u) - 0.5px);
		width: calc(175 * var(--u) + 1px);
		height: calc(55.8 * var(--u) + 1px);
	}
}
