/* lp2: 独自ヘッダー/フッターの単独LP。寸法・切り替え幅（1140/840/540px）は元サイト（STUDIO）に合わせる。
   本文は標準ブロックで編集し、ブロックに付けた追加CSSクラス（lp-*）で見た目を付ける。
   元サイトのヒラギノ角ゴ・秀英初号明朝はSTUDIOのWebフォントのため使えず、端末のヒラギノ（なければNoto Sans JP）とShippori Mincho B1で代える */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Shippori+Mincho+B1:wght@700&family=Cormorant+Garamond:wght@400&family=Lato:wght@700&family=Montserrat:wght@400;700;900&family=Zen+Old+Mincho:wght@700&display=swap');

:root {
  --lp-red: #961a20;
  --lp-ink: #2e2e2e;
  --lp-gothic: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  --lp-din: "DIN Alternate", "DIN Condensed", Arial, sans-serif;
  --lp-mincho: "Zen Old Mincho", serif;
}

/* ===== 共通 ===== */
body.lp2 { margin: 0; background: #fff; color: var(--lp-ink); font-family: var(--lp-gothic); overflow-x: hidden; }
body.lp2.mblt-header-mobile-buttons { margin-top: 0; }
.lp2 :is(.mobile-header-menu-buttons, .mobile-footer-menu-buttons, #go-to-top) { display: none !important; }
.lp2-main { position: relative; z-index: 0; display: block; overflow-x: clip; }
body.lp2 .lp2-main :is(h1, h2, h3, h4, p, figure, ul, li) { margin: 0; padding: 0; border: none; background: none; }
.lp2-main :is(h1, h2, h3, h4)::before, .lp2-main :is(h1, h2, h3, h4)::after { content: none; }
body.lp2 .lp2-main .wp-block-group { box-sizing: border-box; margin: 0; }
body.lp2 .lp2-main .wp-block-group > * { margin-block: 0; }
:where(.lp2-main) img { display: block; max-width: 100%; height: auto; }
.lp2-main a { color: inherit; text-decoration: none; }
body.lp2 .lp2-main > .wp-block-group { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; margin: 0; }
.lp2-main .wp-block-image { width: 100%; }
.lp2-main .wp-block-image img { width: 100%; }
.lp2 .lp-sp { display: none !important; }

/* ===== ヘッダー（PC: 浮いた白いバー） ===== */
.lp2-header { position: fixed; top: 25px; left: 100px; z-index: 50; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; width: calc(100% - 200px); padding: 8px 25px; border-radius: 120px; background: #fff; }
.lp2-logo { display: flex; align-items: center; gap: 14px; color: #16130f; text-decoration: none; transition: opacity .3s; }
.lp2-logo:hover { opacity: .75; }
.lp2-logo img { width: 42px; height: 42px; object-fit: cover; }
.lp2-logo-text { display: flex; flex-direction: column; width: 86px; }
.lp2-logo-name { font-family: "Shippori Mincho B1", serif; font-size: 21px; font-weight: 700; line-height: 23px; letter-spacing: 3px; }
.lp2-logo-sub { padding-left: 5px; font-family: "Cormorant Garamond", serif; font-size: 11px; line-height: 12px; letter-spacing: 5px; color: #7c756a; white-space: nowrap; }
.lp2-nav { display: flex; align-items: center; justify-content: space-between; gap: 0; }
.lp2-nav-links { display: flex; align-items: center; }
.lp2-nav-links a, .lp2-footer-links a { padding: 0 25.5px; white-space: nowrap; border-right: 1px solid var(--lp-ink); font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--lp-ink); text-decoration: none; transition: color .3s; }
.lp2-nav-links a:last-child, .lp2-footer-links a:last-child { border-right: none; }
.lp2-nav-links a:hover, .lp2-footer-links a:hover { color: var(--lp-red); }
.lp2-nav-cta { display: flex; align-items: center; gap: 20px; }
/* ログイン中は管理バー（32px）の下に出す */
.admin-bar .lp2-header { top: 57px; }
.lp2 .lp2-btn, .lp2 .lp2-main .lp2-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; height: 46px; padding: 8px 36px; border-radius: 80px; overflow: clip; color: #fff; font-family: Lato, var(--lp-gothic); font-size: 16px; font-weight: 700; letter-spacing: .02em; line-height: 1.4; text-decoration: none; white-space: nowrap; }
.lp2-btn::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 0; transition: width .4s cubic-bezier(.4, .4, 0, 1); }
.lp2-btn:hover::before { width: 100%; }
.lp2-btn > * { position: relative; }
.lp2-btn img { position: relative; height: 30px; width: auto; }
.lp2-btn-line { background: #069e55; }
.lp2-btn-line::before { background: #005a2f; }
.lp2-btn-doc { background: var(--lp-red); }
.lp2-btn-doc::before { background: #580004; }

/* ===== スマホ用ヘッダー・メニュー・下部の固定ボタン ===== */
.lp2-sp-header, .lp2-menu-open, .lp2-sp-fixed { display: none; }
.lp2-menu-open { position: fixed; top: 24px; right: 36px; z-index: 60; width: 54px; height: 52px; padding: 0; border: none; border-radius: 120px; background: #fff; cursor: pointer; }
.lp2-menu-open span, .lp2-menu-open span::before, .lp2-menu-open span::after { position: absolute; left: 50%; width: 24px; height: 2px; margin-left: -12px; background: var(--lp-ink); }
.lp2-menu-open span { top: 50%; margin-top: -1px; }
.lp2-menu-open span::before, .lp2-menu-open span::after { content: ""; left: 0; margin-left: 0; }
.lp2-menu-open span::before { top: -7px; }
.lp2-menu-open span::after { top: 7px; }
.lp2-drawer { position: fixed; inset: 0; z-index: 100; box-sizing: border-box; padding: 60px 20px 40px; background: var(--lp-ink); overflow-y: auto; }
.lp2-drawer[hidden] { display: none; }
.lp2-menu-close { position: absolute; top: 34px; right: 44px; width: 32px; height: 32px; padding: 0; border: none; background: none; cursor: pointer; }
.lp2-menu-close::before, .lp2-menu-close::after { content: ""; position: absolute; top: 15px; left: 0; width: 32px; height: 2.5px; background: #fff; transform: rotate(45deg); }
.lp2-menu-close::after { transform: rotate(-45deg); }
.lp2-drawer-links { display: flex; flex-direction: column; }
.lp2-drawer-links a { display: block; padding: 19px 0; border-bottom: 1px solid #fff; color: #fff; font-size: 20px; font-weight: 600; letter-spacing: .1em; line-height: 1.5; text-align: center; text-decoration: none; }
.lp2-drawer-cta { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 40px; }
.lp2-drawer-cta .lp2-btn { width: 272px; height: 50px; }

/* ===== フッター ===== */
.lp2-footer { box-sizing: border-box; display: flex; justify-content: center; padding: 60px 100px; background: var(--lp-ink); color: #fff; }
.lp2-footer-in { display: flex; flex-direction: column; gap: 30px; width: 1000px; max-width: 100%; }
.lp2-footer p { margin: 0; color: #fff; }
.lp2-footer-name { font-size: 24px; font-weight: 600; line-height: 1.4; }
.lp2-footer-info { margin-top: -10px !important; font-size: 15px; font-weight: 600; line-height: 1.8; }
.lp2-footer-info.lp2-sp { display: none; }
.lp2-footer-links { display: flex; justify-content: center; }
.lp2-footer-links a { border-color: #fff; color: #fff; }
.lp2-footer-copy { font-size: 15px; font-weight: 600; line-height: 1.4; text-align: center; }

/* ===== メインビジュアル ===== */
/* 高さは画像＋帯に合わせる（固定すると狭い幅で上が空く） */
body.lp2 .lp2-main .lp-hero { justify-content: flex-end; height: auto; background: url(/wp-content/uploads/2026/10/s-2800x1400_v-frms_webp_16339ba2-db15-4441-a54b-12233b310864_regular.webp) center top / cover no-repeat; }
body.lp2 .lp2-main .lp-hero .lp-hero-img { width: 89%; padding-top: 40px; }
body.lp2 .lp2-main .lp-hero-bar { width: 100%; padding: 10px 0; background: var(--lp-red); color: #fff; font-size: 24px; font-weight: 600; line-height: 1.4; text-align: center; }

/* ===== なぜREDなのか（1枚画像） ===== */
body.lp2 .lp2-main .lp-why { z-index: 1; }

/* ===== REDとは（動画） ===== */
body.lp2 .lp2-main .lp-red { z-index: -1; }
body.lp2 .lp2-main .lp-red::before { content: ""; position: absolute; inset: -300px 0 0; z-index: -2; background: url(/wp-content/uploads/2026/10/s-4192x2915_v-frms_webp_1e9aaef8-0d52-4bc9-802b-3d10408f3014.webp) center top / cover no-repeat; }
body.lp2 .lp2-main .lp-red-pc { display: flex; flex-direction: column; align-items: center; width: 100%; margin-top: -260px; padding-bottom: 200px; }
body.lp2 .lp2-main .lp-red .lp-red-title { width: 102%; max-width: 102%; }
body.lp2 .lp2-main .lp-red-body { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; width: 100%; margin-top: -700px; }
body.lp2 .lp2-main .lp-red-phone { position: relative; width: 48%; }
.lp-red-phone .lp-yt { position: absolute; top: 7.4%; left: 11.3%; width: 79.4%; height: 86.9%; }
.lp-red-phone .lp-yt :is(.video-container, .video) { position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; margin: 0; padding: 0; }
.lp-red-phone .lp-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
body.lp2 .lp2-main .lp-red .lp-red-hand { position: absolute; top: -55px; left: 72px; z-index: -2; width: 100%; }
body.lp2 .lp2-main .lp-red .lp-red-dark { position: relative; z-index: 3; width: 80%; mix-blend-mode: overlay; }

/* ===== 失敗例 ===== */
body.lp2 .lp2-main .lp-fail { z-index: auto; }
body.lp2 .lp2-main .lp-fail::before { content: ""; position: absolute; inset: -320px -0.5% 0; z-index: -2; background: url(/wp-content/uploads/2026/10/s-2804x5290_v-frms_webp_f0027516-d4b7-4067-a83c-1276c503ecf3-scaled.webp) center top / cover no-repeat; }
body.lp2 .lp2-main .lp-fail { padding-bottom: 500px; }
body.lp2 .lp2-main .lp-fail-list { display: flex; flex-direction: column; align-items: center; gap: 100px; width: 100%; margin-top: -20px !important; color: #fff; }
body.lp2 .lp2-main .lp-fail-case { display: flex; flex-direction: row; align-items: center; gap: 60px; width: calc(101% - 200px); }
body.lp2 .lp2-main .lp-fail-case.is-reverse { flex-direction: row-reverse; }
body.lp2 .lp2-main .lp-fail-text { display: flex; flex-direction: column; gap: 40px; flex: 1 1 0; min-width: 0; }
body.lp2 .lp2-main .lp-fail-head { display: flex; flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 10px; padding-bottom: 41px; border-bottom: 1px solid #fff; }
body.lp2 .lp2-main .lp-fail-no { display: grid; grid-template-columns: auto auto; grid-template-rows: 1fr auto auto; grid-template-areas: "num-top num" "label num" "en num"; align-items: end; column-gap: 10px; height: 110px; color: #fff; }
.lp-fail-label { grid-area: label; font-size: 24px; font-weight: 600; line-height: 1.4; }
.lp-fail-case-en { grid-area: en; margin-top: -10px; font-family: var(--lp-din); font-size: 48px; font-weight: 700; line-height: 1; }
.lp-fail-num { grid-area: num; align-self: start; font-family: var(--lp-din); font-size: 120px; font-weight: 400; line-height: 1; }
body.lp2 .lp2-main .lp-fail-title { color: #fff; font-size: 32px; font-weight: 600; line-height: 1; }
body.lp2 .lp2-main .lp-fail-desc { color: #fff; font-size: 24px; font-weight: 600; line-height: 1.4; text-align: justify; }
body.lp2 .lp2-main .lp-fail-img { flex: 0 0 auto; width: calc(45% - 33px); border: 2px solid #fff; box-sizing: border-box; }
body.lp2 .lp2-main .lp-fail-line { width: calc(101% - 480px); height: 1px; margin-left: auto; margin-right: 100px; background: #6c6c6c; align-self: stretch; }
body.lp2 .lp2-main .lp-fail-line.is-right { margin: 0 93px 0 auto; }
body.lp2 .lp2-main .lp-fail-line:not(.is-right) { margin: 0 auto 0 93px; }
/* 黒地の写真をスクリーンで重ね、背景に溶け込ませる（元サイトどおり） */
body.lp2 .lp2-main .lp-fail .lp-fail-deco { position: absolute; bottom: 23px; left: 204px; z-index: 1; width: 40.4%; opacity: .9; mix-blend-mode: screen; }

/* ===== 篤月が選ばれる理由 ===== */
body.lp2 .lp2-main .lp-reasons { z-index: 2; }
body.lp2 .lp2-main .lp-rs-inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 40px; width: 100%; margin-top: -350px; padding-bottom: 80px; background: url(/wp-content/uploads/2026/10/s-2800x8138_v-frms_webp_f63b025c-700d-45f6-812a-c339a70a3399-scaled.webp) center top / cover no-repeat; }
body.lp2 .lp2-main .lp-rs-people { position: absolute; top: -36px; right: 160px; z-index: 1; width: 30.2%; }
body.lp2 .lp2-main .lp-rs-title { width: 120%; max-width: none; margin-top: 30px; }
body.lp2 .lp2-main .lp-rs-values { display: flex; justify-content: flex-end; width: calc(100% - 100px); margin: -220px 100px 0 0; opacity: .5; mix-blend-mode: multiply; }
body.lp2 .lp2-main .lp-rs-values img { width: 45%; }
body.lp2 .lp2-main .lp-rs-items { display: flex; flex-direction: column; align-items: center; gap: 40px; width: calc(100% - 360px); }
body.lp2 .lp2-main .lp-rs-item { display: flex; flex-direction: column; align-items: flex-start; width: 100%; margin-top: -40px; }
body.lp2 .lp2-main .lp-rs-item.is-reverse { align-items: flex-end; }
body.lp2 .lp2-main .lp-rs-head { position: relative; z-index: 1; display: flex; flex-direction: row; align-items: center; gap: 20px; }
body.lp2 .lp2-main .is-reverse .lp-rs-head { flex-direction: row-reverse; }
body.lp2 .lp2-main .lp-rs-num { background: linear-gradient(0deg, #611027 0%, #bd3e47 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; font-family: "Shippori Mincho B1", serif; font-size: 200px; font-weight: 700; letter-spacing: -.05em; line-height: 1.4; }
body.lp2 .lp2-main .lp-rs-name { padding: 30px 45px; background: #fff; color: var(--lp-ink); font-family: "Noto Sans JP", sans-serif; font-size: 48px; font-weight: 700; line-height: 1.4; }
body.lp2 .lp2-main .lp-rs-box { display: flex; flex-direction: column; align-items: center; gap: 40px; width: 100%; margin-top: -120px; padding: 100px 80px; background: #fff; }
body.lp2 .lp2-main .lp-rs-row { display: flex; flex-direction: row; align-items: flex-start; gap: 54px; width: 920px; max-width: 100%; }
body.lp2 .lp2-main .lp-rs-checks { display: flex; flex-direction: column; gap: 30px; flex: 1 1 0; }
body.lp2 .lp2-main .is-reverse .lp-rs-checks { gap: 20px; }
body.lp2 .lp2-main .lp-rs-check { position: relative; padding-left: 30px; color: var(--lp-ink); font-family: Lato, "Noto Sans JP", sans-serif; font-size: 28px; font-weight: 700; line-height: 1.4; }
.lp-rs-check::before { content: ""; position: absolute; top: 8px; left: 0; width: 20px; height: 28px; background: url(/wp-content/uploads/2026/10/s-46x64_webp_edd0cbc0-487c-4fbe-9ede-17d0a8aad151.webp) center / contain no-repeat; }
body.lp2 .lp2-main .lp-rs-photo { flex: 0 0 auto; width: calc(40% - 32.4px); }
body.lp2 .lp2-main .is-reverse .lp-rs-photo { width: calc(50% - 27px); }
body.lp2 .lp2-main .lp-rs-team { display: flex; flex-direction: column; align-items: center; gap: 20px; width: 920px; max-width: 100%; }
body.lp2 .lp2-main .lp-rs-team-title { color: var(--lp-ink); font-family: "Noto Sans JP", sans-serif; font-size: 36px; font-weight: 700; line-height: 1.4; text-align: center; }
body.lp2 .lp2-main .lp-rs-team-photos { display: flex; flex-direction: row; justify-content: center; gap: 20px; width: 100%; }
body.lp2 .lp2-main .lp-rs-team-photos .wp-block-image { width: calc(28% - 14.4px); }
body.lp2 .lp2-main .lp-rs-award { width: 70%; }

/* ===== Message ===== */
body.lp2 .lp2-main .lp-message { gap: 40px; padding: 200px 100px 300px; background: url(/wp-content/uploads/2026/10/s-1400x1860_v-frms_webp_c97eb1da-121e-4585-a08a-141fd3f9b360.webp) center top / cover no-repeat; color: #fff; }
body.lp2 .lp2-main .lp-msg-head { display: flex; flex-direction: column; align-items: center; gap: 30px; }
body.lp2 .lp2-main .lp-message p { color: #fff; font-family: var(--lp-mincho); font-weight: 700; line-height: 1.4; text-align: center; text-shadow: 0 0 15px rgba(0, 0, 0, .7); }
body.lp2 .lp2-main .lp-message .lp-msg-title { font-size: 70px; }
body.lp2 .lp2-main .lp-message .lp-msg-sub { font-size: 42px; }
body.lp2 .lp2-main .lp-message .lp-msg-body { font-size: 28px; line-height: 2; }

/* ===== 代表紹介 ===== */
body.lp2 .lp2-main .lp-leader { margin-top: -300px; }
body.lp2 .lp2-main .lp-leader-body { position: relative; display: flex; flex-direction: row; justify-content: flex-start; width: 100%; padding: 0 120px 200px; background: linear-gradient(186deg, #fff 45%, #fff5f5 39%); }
body.lp2 .lp2-main .lp-leader-text { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; width: 100%; }
body.lp2 .lp2-main .lp-leader .lp-leader-title { width: 60%; }
body.lp2 .lp2-main .lp-leader-name { display: flex; flex-direction: column; gap: 20px; padding-left: 20px; }
body.lp2 .lp2-main .lp-leader-role { color: var(--lp-ink); font-size: 36px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-leader-label { color: var(--lp-ink); font-size: 20px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-leader-career { display: flex; flex-direction: column; align-items: flex-start; }
body.lp2 .lp2-main .lp-leader-career p { padding: 4px 20px; background: #fff; color: var(--lp-ink); font-size: 20px; font-weight: 600; line-height: 2; }
body.lp2 .lp2-main .lp-leader .lp-leader-photo { position: absolute; top: 0; right: 57px; z-index: 0; width: calc((100% - 240px) * .55); }

/* ===== 実績 ===== */
body.lp2 .lp2-main .lp-projects { margin-top: -300px; }
.lp2-main .lp-projects::before { content: ""; position: absolute; inset: 10px 0; z-index: -1; background: url(/wp-content/uploads/2026/10/s-1400x2029_v-frms_webp_ec99256f-821b-4b50-b29a-2825f9e9a045.webp) center top / cover no-repeat; }
body.lp2 .lp2-main .lp-pj-inner { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; padding-bottom: 79px; background: url(/wp-content/uploads/2026/10/s-2800x4168_v-frms_webp_d5961e32-65d9-4a1e-b3e5-84fd24677f41-scaled.webp) center top / cover no-repeat; }
body.lp2 .lp2-main .lp-pj-head { display: flex; flex-direction: column; align-items: flex-end; width: calc(100% - 200px); margin-top: 200px; }
body.lp2 .lp2-main .lp-pj-title { width: 340px; }
body.lp2 .lp2-main .lp-pj-en { width: 700px; max-width: 100%; margin-top: -30px; opacity: .5; mix-blend-mode: hard-light; }
body.lp2 .lp2-main .lp-pj-card { display: flex; flex-direction: column; align-items: center; gap: 60px; width: calc(100% - 200px); padding: 0 100px 60px; background: url(/wp-content/uploads/2026/10/s-1200x1464_v-fms_webp_358b37d7-5808-4647-9119-943819cfe393.webp) center top / cover no-repeat; }
body.lp2 .lp2-main .lp-pj-list { display: flex; flex-flow: row wrap; justify-content: space-between; gap: 24px 0; width: 100%; margin-top: 80px; padding-bottom: 80px; border-bottom: 1px solid var(--lp-ink); }
body.lp2 .lp2-main .lp-pj-item { display: flex; flex-direction: column; align-items: center; gap: 16px; width: 20%; }
body.lp2 .lp2-main .lp-pj-view { width: 100%; }
.lp-pj-view a { display: block; margin-left: 30px; color: var(--lp-ink); font-family: var(--lp-din); font-size: 20px; line-height: 1.4; text-decoration: none; }
.lp-pj-view a::after { content: ""; display: block; width: 60%; height: 25px; margin: -18px 0 0 auto; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125.33 24.62'%3E%3Cpolyline points='0 24.09 124.01 24.09 98.92 .38' fill='none' stroke='%23000' stroke-miterlimit='10' stroke-width='1.05'/%3E%3C/svg%3E") right bottom / 100% auto no-repeat; }
body.lp2 .lp2-main .lp-pj-name { display: flex; flex-direction: column; align-items: center; }
body.lp2 .lp2-main .lp-pj-name p { color: var(--lp-ink); font-size: 16px; font-weight: 600; font-feature-settings: "palt"; line-height: 1.75; text-align: center; }
body.lp2 .lp2-main .lp-pj-name p + p { margin-top: -5px; }
body.lp2 .lp2-main .lp-pj-detail { display: flex; flex-direction: column; gap: 16px; width: 100%; }
body.lp2 .lp2-main .lp-pj-purpose { height: 80px; }
body.lp2 .lp2-main :is(.lp-pj-purpose, .lp-pj-result) { display: flex; flex-direction: column; gap: 5px; }
body.lp2 .lp2-main .lp-pj-key { color: var(--lp-red); font-size: 16px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-pj-val { color: var(--lp-ink); font-size: 18px; font-weight: 600; line-height: 1.4; text-align: justify; }
body.lp2 .lp2-main .lp-pj-result .lp-pj-val { letter-spacing: -.05em; }
body.lp2 .lp2-main .lp-pj-clients-head { display: flex; flex-direction: column; align-items: center; gap: 10px; }
body.lp2 .lp2-main .lp-pj-clients-title { color: var(--lp-ink); font-size: 30px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-pj-clients-sub { color: var(--lp-ink); font-size: 22px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-pj-clients { display: flex; flex-flow: row wrap; justify-content: center; gap: 40px 30px; width: 80%; }
body.lp2 .lp2-main .lp-pj-clients .wp-block-image { width: calc(20% - 24px); }

/* ===== お問い合わせの帯（PCのみ） ===== */
body.lp2 .lp2-main .lp-cta { gap: 30px; padding-top: 60px; background: #fff; }
body.lp2 .lp2-main .lp-cta-lead { color: var(--lp-ink); font-size: 22px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-cta-bar { display: flex; flex-direction: row; justify-content: center; gap: 30px; width: 100%; padding: 60px 100px; background: var(--lp-ink); }
body.lp2 .lp2-main .lp-cta-btn .lp2-btn { width: 250px; height: 62px; padding: 16px 48px; justify-content: flex-start; }
body.lp2 .lp2-main .lp-cta-btn .lp2-btn-doc { justify-content: center; padding: 16px 36px; }
body.lp2 .lp2-main .lp-cta-btn .lp2-btn img { width: auto; height: 30px; }

/* ===== 欄の見出し（赤い下線つき＋薄い英字画像） ===== */
body.lp2 .lp2-main .lp-head { position: relative; display: flex; flex-direction: column; align-items: center; width: 600px; max-width: 100%; }
body.lp2 .lp2-main .lp-title { position: relative; z-index: 2; border-bottom: 5px solid var(--lp-red); color: var(--lp-ink); font-size: 34px; font-weight: 600; line-height: 1.4; text-align: center; }
body.lp2 .lp2-main .lp-head-sub { margin-top: 20px; color: var(--lp-ink); font-size: 20px; font-weight: 600; line-height: 1.4; text-align: center; }
body.lp2 .lp2-main .lp-head-en { width: 40%; margin-top: -12px; opacity: .48; }
body.lp2 .lp2-main .lp-head-sub + .lp-head-en { margin-top: 20px; }
body.lp2 .lp2-main .lp-band { position: relative; z-index: 1; width: calc(100% - 100px); height: 120px; margin: -30px 0 0 100px; background: url(/wp-content/uploads/2026/10/s-3570x2442_v-frms_webp_b4388a7b-d64e-460e-9e8e-69eba40f4718_regular.webp) center / cover no-repeat; }

/* ===== サービス概要 ===== */
body.lp2 .lp2-main .lp-services { padding: 80px 0 60px; background: linear-gradient(#bd3e47 0%, #961a20 41%, #611027 100%); }
body.lp2 .lp2-main .lp-services .lp-head-en { margin: -40px 0 -20px; opacity: .2; mix-blend-mode: overlay; }
body.lp2 .lp2-main .lp-services .lp-title { margin-top: -20px; color: #fff; text-shadow: 0 0 15px rgba(0, 0, 0, .75); }
/* 元サイトは白文字でも下線は赤（.is-light の白い下線より優先） */
body.lp2 .lp2-main .lp-services .is-light .lp-title { border-color: var(--lp-red); }
body.lp2 .lp2-main .lp-svc-cards { display: flex; flex-direction: row; justify-content: center; align-items: stretch; gap: 34px; width: 100%; margin-top: -20px; }
body.lp2 .lp2-main .lp-svc-card { display: flex; flex-direction: column; align-items: center; gap: 30px; width: calc(33% - 86px); padding: 60px 30px 30px; background: #fff; }
body.lp2 .lp2-main .lp-svc-title { color: var(--lp-ink); font-size: 28px; font-weight: 600; line-height: 1.4; text-align: center; }
body.lp2 .lp2-main .lp-svc-catch { min-height: 80px; color: var(--lp-red); font-size: 20px; font-weight: 600; line-height: 2; text-align: center; }
body.lp2 .lp2-main .lp-svc-checks { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 40px 0; border-top: 2px solid #d9d9d9; border-bottom: 2px solid #d9d9d9; }
body.lp2 .lp2-main .is-casting .lp-svc-checks { padding: 30px 0; }
body.lp2 .lp2-main .is-ads .lp-svc-checks { padding: 70px 0; }
body.lp2 .lp2-main .lp-svc-check { position: relative; padding-left: 18px; color: var(--lp-ink); font-family: Lato, "Noto Sans JP", sans-serif; font-size: 18px; font-weight: 700; line-height: 1.5; text-align: justify; }
.lp-svc-check::before { content: ""; position: absolute; top: 6px; left: 0; width: 10px; height: 14px; background: url(/wp-content/uploads/2026/10/s-46x64_webp_edd0cbc0-487c-4fbe-9ede-17d0a8aad151.webp) center / contain no-repeat; }
body.lp2 .lp2-main .lp-svc-text { width: 100%; color: var(--lp-ink); font-size: 18px; font-weight: 600; line-height: 1.5; text-align: justify; }
body.lp2 .lp2-main .lp-svc-img { width: 80%; }
body.lp2 .lp2-main .lp-svc-price { display: flex; flex-direction: column; align-items: center; gap: 30px; padding: 10px; border: 1px solid var(--lp-ink); }
body.lp2 .lp2-main .lp-svc-price-title { color: var(--lp-ink); font-size: 18px; font-weight: 600; line-height: 1.5; text-align: center; }

/* ===== サービスの流れ・取引先企業 ===== */
body.lp2 .lp2-main .lp-flow { gap: 40px; padding: 60px 0; background: #fff5f5; }
body.lp2 .lp2-main .lp-flow-area { position: relative; width: 100%; height: 600px; margin-top: -100px; background: url(/wp-content/uploads/2026/10/s-3570x2442_v-frms_webp_b4388a7b-d64e-460e-9e8e-69eba40f4718_regular.webp) center / cover no-repeat; }
body.lp2 .lp2-main .lp-flow-card { position: absolute; top: 100px; right: 0; width: 80%; padding: 60px 0 60px 200px; background: url(/wp-content/uploads/2026/10/s-1239x618_v-fms_webp_630fa4d1-7461-4f8d-ae84-c581a008d1c4.webp) left bottom / cover no-repeat; }
.lp2-main .lp-flow-card::before { content: ""; position: absolute; top: 50px; left: 50px; z-index: -1; width: calc(100% - 50px); height: 600px; background: url(/wp-content/uploads/2026/10/s-1173x618_v-fs_webp_82a9cd3d-3726-4a4e-b9dd-4b0a263efcbd.webp) left top / cover no-repeat; }
body.lp2 .lp2-main .lp-flow-steps { position: relative; display: flex; flex-direction: column; gap: 40px; }
.lp2-main .lp-flow-steps::before { content: ""; position: absolute; top: 17px; left: 39px; z-index: -1; width: 2px; height: 90%; background: #d9d9d9; }
body.lp2 .lp2-main .lp-flow-step { display: flex; flex-direction: row; align-items: center; gap: 20px; }
body.lp2 .lp2-main .lp-flow-icon { flex: 0 0 auto; width: 80px; }
body.lp2 .lp2-main .lp-flow-text { display: flex; flex-direction: column; gap: 10px; }
body.lp2 .lp2-main .lp-flow-title { color: var(--lp-ink); font-size: 24px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-flow-desc { color: var(--lp-ink); font-size: 20px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-clients { display: flex; flex-direction: column; align-items: center; gap: 60px; width: 100%; }
body.lp2 .lp2-main .lp-clients .lp-head { margin-top: 200px; }
body.lp2 .lp2-main .lp-clients-box { display: flex; justify-content: center; width: 100%; padding: 60px 100px; background: #fff; }
body.lp2 .lp2-main .lp-clients-list { display: flex; flex-flow: row wrap; justify-content: center; gap: 40px 30px; width: 80%; }
body.lp2 .lp2-main .lp-clients-list .wp-block-image { width: calc(20% - 24px); }

/* ===== お客様の声 ===== */
body.lp2 .lp2-main .lp-voices { gap: 60px; padding: 60px 100px; background: url(/wp-content/uploads/2026/10/s-2800x3486_v-frms_webp_717b4feb-821e-45b6-b512-8e3fc57b6484_regular.webp) left top / cover no-repeat; }
body.lp2 .lp2-main .is-light .lp-title { border-color: #fff; color: #fff; }
body.lp2 .lp2-main .is-light .lp-head-sub { color: #fff; }
body.lp2 .lp2-main .lp-voices .lp-head-en { width: 60%; margin-top: 10px; }
body.lp2 .lp2-main .lp-voice-list { display: flex; flex-flow: row wrap; justify-content: space-around; gap: 32px 20px; width: calc(70% - 6px); }
body.lp2 .lp2-main .lp-voice { display: flex; flex-direction: column; align-items: center; gap: 16px; width: calc(33.33% - 13.4px); padding: 16px; border-radius: 8px; overflow: hidden; }
body.lp2 .lp2-main .lp-voice-img { width: 80%; }
body.lp2 .lp2-main .lp-voice-box { display: flex; flex-direction: column; align-items: center; gap: 20px; flex: 1 1 auto; width: 100%; padding: 20px; background: var(--lp-red); }
body.lp2 .lp2-main .lp-voice-box p { color: #fff; font-weight: 600; }
body.lp2 .lp2-main .lp-voice-cat { font-size: 14px; font-feature-settings: "palt"; line-height: 1.4; }
body.lp2 .lp2-main .lp-voice-name { width: 100%; padding-bottom: 8px; border-bottom: 2px solid #fff; font-size: 18px; line-height: 1.5; text-align: center; }
body.lp2 .lp2-main .lp-voice-quote { font-size: 12px; font-feature-settings: "palt"; line-height: 1.8; text-align: justify; }

/* ===== 料金プラン ===== */
body.lp2 .lp2-main .lp-pricing { gap: 60px; padding: 100px 100px 60px; }
body.lp2 .lp2-main .lp-pricing .lp-head-en { margin-top: 20px; }
body.lp2 .lp2-main .lp-price-table { display: flex; flex-direction: column; width: 80%; }
body.lp2 .lp2-main .lp-price-head { padding: 10px 60px; background: var(--lp-ink); color: #fff; font-size: 24px; font-weight: 600; line-height: 1.4; text-align: center; }
body.lp2 .lp2-main .lp-price-row { display: flex; flex-direction: row; align-items: stretch; width: 100%; }
body.lp2 .lp2-main .lp-price-key { display: flex; align-items: center; width: 40%; padding: 16px 16px 16px 32px; border: solid #d9d9d9; border-width: 0 2px 2px; color: var(--lp-ink); font-size: 20px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-price-val { display: flex; align-items: center; justify-content: center; flex: 1 1 0; padding: 16px; border: solid #d9d9d9; border-width: 0 2px 2px 0; color: var(--lp-red); font-size: 20px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-price-table:last-of-type .lp-price-row > .lp-price-key { width: 36%; }
body.lp2 .lp2-main .lp-price-sub { display: flex; flex-direction: column; flex: 1 1 0; }
body.lp2 .lp2-main .lp-price-sub .lp-price-key { justify-content: center; width: 60%; padding: 16px; border-left: none; font-size: 16px; }
body.lp2 .lp2-main .lp-price-sub .lp-price-val { padding: 16px 32px; }
body.lp2 .lp2-main .lp-price-note { margin-top: 20px; color: #333; font-size: 20px; font-weight: 600; line-height: 1.4; text-align: right; }
body.lp2 .lp2-main .lp-price-toggle { display: flex; align-items: center; justify-content: center; padding: 10px 60px; border: solid #d9d9d9; border-width: 0 2px; background: #fff5f5; color: var(--lp-ink); font-size: 24px; font-weight: 600; line-height: 1.4; text-align: center; }
.lp-price-toggle::before, .lp-price-toggle::after { content: ""; flex: 0 0 auto; margin: 0 14px; border: solid transparent; border-width: 7px 7px 0; border-top-color: var(--lp-ink); }
body.lp2 .lp2-main .lp-price-special { padding: 10px 60px; border: solid #d9d9d9; border-width: 0 2px; background: var(--lp-red); color: #fff; font-size: 24px; font-weight: 600; line-height: 1.4; text-align: center; }
.lp-price-special small { font-size: 16px; }
body.lp2 .lp2-main .lp-price-special-val { padding: 10px 60px; border: solid #d9d9d9; border-width: 0 2px 2px; color: var(--lp-red); font-size: 24px; font-weight: 600; line-height: 1.4; text-align: center; }

/* ===== よくある質問 ===== */
body.lp2 .lp2-main .lp-faq { z-index: -1; gap: 60px; margin-top: -240px; padding-bottom: 80px; background: #fff5f5; }
body.lp2 .lp2-main .lp-faq-head { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; margin-top: 240px; }
body.lp2 .lp2-main .lp-faq .lp-head-en { width: 288px; margin-top: 20px; opacity: .48; mix-blend-mode: multiply; }
body.lp2 .lp2-main .lp-faq-head .lp-band { position: absolute; bottom: -16px; left: 0; height: 80px; margin: 0 0 0 100px; opacity: .4; }
body.lp2 .lp2-main .lp-faq-list { display: flex; flex-direction: column; align-items: center; gap: 40px; width: 100%; }
body.lp2 .lp2-main .lp-faq-item { width: calc(80% - 160px); }
body.lp2 .lp2-main :is(.lp-faq-q, .lp-faq-a) { position: relative; padding: 12px 32px 12px 74px; font-size: 18px; font-weight: 600; line-height: 28px; }
body.lp2 .lp2-main .lp-faq-q { background: var(--lp-ink); color: #fff; }
body.lp2 .lp2-main .lp-faq-a { background: #fff; color: var(--lp-ink); }
.lp-faq-q::before, .lp-faq-a::before { position: absolute; top: 12px; left: 32px; font-size: 20px; line-height: 1.4; }
.lp-faq-q::before { content: "Q."; color: #fff; }
.lp-faq-a::before { content: "A."; color: var(--lp-red); }

/* ===== まずは無料相談から ===== */
body.lp2 .lp2-main .lp-contact-cta { gap: 60px; padding: 0 100px 60px; background: linear-gradient(0deg, #1a1a1a 0%, #2e2e2e 49%, #5a5a5a 100%); }
body.lp2 .lp2-main .lp-contact-en { width: 868px; max-width: 100%; margin-top: -10px; opacity: .1; mix-blend-mode: multiply; filter: contrast(61%); }
body.lp2 .lp2-main .lp-contact-text { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: -100px; }
body.lp2 .lp2-main .lp-contact-title { color: #fff; font-size: 32px; font-weight: 600; line-height: 1.4; }
body.lp2 .lp2-main .lp-contact-sub { color: #fff; font-size: 18px; font-weight: 600; line-height: 1.4; text-align: center; }
body.lp2 .lp2-main .lp-contact-btn .lp2-btn { height: 62px; padding: 16px 48px; }

/* ===== お問い合わせフォーム ===== */
body.lp2 .lp2-main .lp-form { padding: 60px 100px; background: #c7c7c7; }
body.lp2 .lp2-main .lp-form-card { display: flex; flex-direction: column; align-items: center; gap: 20px; width: 1000px; max-width: 100%; padding: 60px; background: #fff; }
body.lp2 .lp2-main .lp-form-card .lp-title { margin-bottom: 29px; }
.lp-form-card .wpcf7 { width: 100%; }
.lp-form-card .wpcf7-form { display: flex; flex-direction: column; gap: 20px; }
.lp-form-card .wpcf7-form p { margin: 0; }
.lp-form-card .wpcf7-form br { display: none; }
.lp-form-card .lp2-form-field > p, .lp-form-card .lp2-form-field { display: flex; flex-direction: row; align-items: center; gap: 30px; }
.lp-form-card .lp2-form-field > p { width: 100%; }
.lp-form-card .lp2-form-field > p:has(+ .lp2-form-radio-group) { flex: 0 0 150px; width: 150px; }
.lp-form-card .lp2-form-radio-group { width: calc(60% - 12px); }
.lp-form-card .lp2-form-field label { display: flex; justify-content: space-between; flex: 0 0 150px; gap: 5px; color: #333; font-size: 16px; font-weight: 600; line-height: 1.4; }
.lp-form-card .lp2-form-field .required { color: #ff5035; }
.lp-form-card .lp2-form-field:first-of-type { padding-bottom: 20px; border-bottom: 2px dotted #c7c7c7; }
.lp-form-card .wpcf7-form-control-wrap { display: block; flex: 1 1 auto; }
.lp-form-card :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { box-sizing: border-box; width: 100%; height: 50px; min-height: 0; padding: 10px 16px; border: 1px solid #c7c7c7; border-radius: 0; background: #fff5f5; color: var(--lp-ink); font-family: inherit; font-size: 16px; line-height: 1.4; }
.lp-form-card .lp2-form-field textarea { height: 160px; resize: none; }
.lp-form-card :is(input, textarea)::placeholder { color: #c7c7c7; }
.lp-form-card .lp2-form-radio-group .wpcf7-radio { display: flex; }
.lp-form-card .lp2-form-radio-group .wpcf7-list-item { flex: 1 1 0; margin: 0; }
.lp-form-card .lp2-form-radio-group .wpcf7-list-item label { display: flex; flex: none; justify-content: flex-start; align-items: center; gap: 10px; padding: 10px 16px; font-weight: 600; cursor: pointer; }
.lp-form-card .lp2-form-radio-group .wpcf7-list-item label:hover { background: #fafafa; }
.lp-form-card .lp2-form-radio-group input { width: 15px; height: 15px; margin: 0; }
.lp-form-card input[type="submit"] { display: block; width: 315px; max-width: 100%; height: 52px; margin: 20px auto 0; border: none; border-radius: 80px; background: var(--lp-ink); color: #fff; font-family: inherit; font-size: 16px; font-weight: 600; cursor: pointer; }
body.lp2 .lp2-main .lp-form-note { color: var(--lp-ink); font-size: 16px; font-weight: 600; line-height: 1.4; text-align: center; }
body.lp2 .lp2-main .lp-form-tel { color: #555; font-size: 14px; font-weight: 600; line-height: 1.8; text-align: center; }
.lp-form-tel .lp-form-tel-num { color: inherit; text-decoration: none; }

/* ===== 開閉（540px以下で使う。PCでは「more」は出さない） ===== */
.lp-svc-more { display: none; }
.lp2 .lp-sp-inline { display: none; }
.lp2-yt-modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 10px; }
.lp2-yt-modal-in { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; width: 100%; max-width: 800px; }
.lp2-yt-close { position: relative; width: 32px; height: 32px; padding: 0; border: 0; background: none; cursor: pointer; filter: drop-shadow(0 0 2px rgba(0, 0, 0, .6)); }
.lp2-yt-close::before, .lp2-yt-close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 22px; height: 2.5px; margin: -1.25px 0 0 -11px; background: #fff; transform: rotate(45deg); }
.lp2-yt-close::after { transform: rotate(-45deg); }
.lp2-yt-frame { width: 100%; aspect-ratio: 16 / 9; }
.lp2-yt-frame iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ===== 1140px以下 ===== */
@media screen and (max-width: 1140px) {
  .lp2-btn { padding: 8px 24px; }
  /* 幅が狭いとメニューが縦に折り返すため、左右の余白とボタン間を詰める */
  .lp2-header { left: 40px; width: calc(100% - 80px); }
  .lp2-nav-links a { padding: 0 14px; }
  .lp2-nav-cta { gap: 12px; }
  body.lp2 .lp2-main .lp-red::before { top: -280px; }
}

@media screen and (max-width: 980px) {
  .lp2-header { left: 20px; width: calc(100% - 40px); padding: 8px 16px; }
  .lp2-nav-links a { padding: 0 10px; font-size: 14px; }
  .lp2 .lp2-btn { padding: 8px 14px; font-size: 14px; }
  .lp2-nav-cta { gap: 8px; }
}

/* ===== 840px以下 ===== */
@media screen and (max-width: 840px) {
  .lp2-header { display: none; }
  .lp2-sp-header { position: fixed; top: 20px; left: 20px; right: 20px; z-index: 55; display: flex; align-items: center; height: 52px; padding: 0 25px; border-radius: 120px; background: #fff; }
  .lp2-sp-logo img { display: block; height: 48px; width: auto; }
  .lp2-menu-open { display: block; top: 20px; right: 20px; }
  .admin-bar .lp2-sp-header, .admin-bar .lp2-menu-open { top: 52px; }
  .lp2-sp-fixed { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
  .lp2-totop { position: relative; width: 56px; height: 56px; margin-right: 20px; border-radius: 50%; background: #fff; box-shadow: 0 0 5px rgba(0, 0, 0, .4); }
  .lp2-totop::before { content: ""; position: absolute; top: 24px; left: 20px; width: 14px; height: 14px; border: solid #c7c7c7; border-width: 3px 0 0 3px; transform: rotate(45deg); }
  .lp2-sp-fixed-cta { box-sizing: border-box; display: flex; gap: 10px; width: 100%; padding: 20px 100px; background: var(--lp-ink); }
  .lp2-sp-fixed-cta .lp2-btn { flex: 1 1 0; padding: 16px 48px; }
  body.lp2 { padding-bottom: 86px; }
  .lp2-footer { padding: 60px 40px; }
  .lp2-main { padding-top: 48px; }
  body.lp2 .lp2-main .lp-hero { height: auto; margin-top: -70px; }
  body.lp2 .lp2-main .lp-red::before { top: -160px; }
  body.lp2 .lp2-main .lp-red-body { margin-top: -400px; }
  body.lp2 .lp2-main .lp-fail { padding-bottom: 80px; }
  body.lp2 .lp2-main .lp-fail-list { gap: 60px; }
  body.lp2 .lp2-main .lp-fail-case, body.lp2 .lp2-main .lp-fail-case.is-reverse { flex-direction: column; }
  body.lp2 .lp2-main .lp-fail-text { align-items: center; width: 100%; }
  body.lp2 .lp2-main .lp-fail-head { width: 100%; }
  body.lp2 .lp2-main .lp-fail-img { width: calc(80% - 12px); }
  body.lp2 .lp2-main .lp-fail-line, body.lp2 .lp2-main .lp-fail-line.is-right, body.lp2 .lp2-main .lp-fail-line:not(.is-right) { width: calc(100% - 200px); margin: 0 auto; }
  /* 選ばれる理由: 番号と見出しを白い箱の中に入れ、写真→項目の縦並び */
  body.lp2 .lp2-main .lp-rs-items { width: calc(100% - 80px); }
  body.lp2 .lp2-main .lp-rs-item, body.lp2 .lp2-main .lp-rs-item.is-reverse { align-items: stretch; gap: 28px; padding: 60px 40px; background: #fff; }
  body.lp2 .lp2-main .lp-rs-item + .lp-rs-item { margin-top: 0; }
  body.lp2 .lp2-main .lp-rs-head, body.lp2 .lp2-main .is-reverse .lp-rs-head { flex-direction: row; }
  body.lp2 .lp2-main .lp-rs-num { font-size: 128px; }
  body.lp2 .lp2-main .lp-rs-name { flex: 1 1 0; padding: 0; font-size: 28px; }
  body.lp2 .lp2-main .lp-rs-box { margin-top: 0; padding: 0; gap: 28px; }
  body.lp2 .lp2-main .lp-rs-row, body.lp2 .lp2-main .is-reverse .lp-rs-row { flex-direction: column-reverse; align-items: center; gap: 40px; width: 100%; }
  body.lp2 .lp2-main .is-reverse .lp-rs-row { flex-direction: column; }
  body.lp2 .lp2-main .lp-rs-checks { gap: 20px; width: 100%; }
  body.lp2 .lp2-main .lp-rs-photo, body.lp2 .lp2-main .is-reverse .lp-rs-photo { width: 80%; }
  body.lp2 .lp2-main .lp-rs-team { flex-direction: column-reverse; width: 100%; }
  body.lp2 .lp2-main .lp-rs-team-photos .wp-block-image { width: calc(33% - 13.4px); }
  body.lp2 .lp2-main .lp-rs-values { margin: -160px 40px 0 0; width: calc(100% - 40px); }
  /* 代表紹介・実績・サービス概要ほか */
  body.lp2 .lp2-main .lp-leader-body { padding: 20px 40px 200px; }
  body.lp2 .lp2-main .lp-leader-career p { font-size: 16px; }
  body.lp2 .lp2-main .lp-pj-card { padding: 0 40px 60px; }
  body.lp2 .lp2-main .lp-pj-list { gap: 60px 40px; justify-content: center; }
  body.lp2 .lp2-main .lp-pj-item { width: calc(50% - 20px); }
  body.lp2 .lp2-main .lp-pj-shot { width: 80%; }
  body.lp2 .lp2-main .lp-cta-bar { padding: 60px 40px; }
  body.lp2 .lp2-main .lp-cta-btn { flex: 1 1 0; }
  body.lp2 .lp2-main .lp-cta-btn .lp2-btn { width: 100%; justify-content: center; }
  body.lp2 .lp2-main .lp-services, body.lp2 .lp2-main .lp-flow { padding-top: 120px; }
  body.lp2 .lp2-main .lp-svc-cards { flex-direction: column; align-items: center; gap: 30px; }
  body.lp2 .lp2-main .lp-svc-card { width: calc(100% - 80px); }
  body.lp2 .lp2-main .lp-svc-price { width: 100%; padding: 30px; }
  body.lp2 .lp2-main .lp-flow-card { width: 95%; }
  .lp2-main .lp-flow-card::before { top: -30px; left: 0; }
  body.lp2 .lp2-main .lp-clients-box { padding: 60px 40px; }
  body.lp2 .lp2-main .lp-clients-list .wp-block-image { width: calc(50% - 15px); }
  body.lp2 .lp2-main .lp-voices { padding: 60px 40px; }
  body.lp2 .lp2-main .lp-voice-list { gap: 24px; width: 100%; }
  body.lp2 .lp2-main .lp-voice-box { gap: 6px; }
  body.lp2 .lp2-main .lp-pricing { padding: 100px 40px 60px; }
  body.lp2 .lp2-main .lp-price-table { width: 100%; }
  body.lp2 .lp2-main .lp-price-key { font-size: 18px; }
  body.lp2 .lp2-main .lp-faq-item { width: calc(100% - 80px); }
  body.lp2 .lp2-main .lp-contact-btn { width: calc(40% - 0px); }
  body.lp2 .lp2-main .lp-contact-btn .lp2-btn { width: 100%; }
  body.lp2 .lp2-main .lp-form { padding: 60px 40px; }
  .lp-form-card .lp2-form-field > p, .lp-form-card .lp2-form-field { flex-direction: column; align-items: stretch; gap: 10px; }
  .lp-form-card .lp2-form-field label { flex: none; justify-content: flex-start; gap: 10px; }
  .lp-form-card .lp2-form-field > p:has(+ .lp2-form-radio-group) { flex: none; width: 100%; }
  .lp-form-card .lp2-form-radio-group { width: 100%; }
  .lp-form-card .lp2-form-field textarea { height: 200px; }
}

/* 782px以下は管理バーが46pxになる */
@media screen and (max-width: 782px) {
  .admin-bar .lp2-sp-header, .admin-bar .lp2-menu-open { top: 66px; }
}

/* ===== 540px以下（元サイトはスマホ専用の欄に切り替わる） ===== */
@media screen and (max-width: 540px) {
  .lp2 .lp-pc { display: none !important; }
  .lp2 .lp-sp { display: flex !important; }
  .lp2-sp-header { position: absolute; top: 24px; }
  .lp2-sp-logo img { height: 36px; }
  .lp2-menu-open { top: 24px; right: 36px; }
  .admin-bar .lp2-sp-header { top: 70px; }
  .admin-bar .lp2-menu-open { top: 70px; }
  .lp2-sp-fixed-cta { padding: 20px; }
  /* 元サイトはボタン幅が文字量に応じて決まる */
  .lp2-sp-fixed-cta .lp2-btn { flex: 1 1 auto; padding: 8px 36px; font-size: 14px; }
  .lp2-footer { padding: 60px 20px; }
  .lp2-footer-in { gap: 40px; }
  .lp2-footer-info.lp2-pc { display: none; }
  .lp2-footer-info.lp2-sp { display: block; }
  .lp2-footer-links { flex-direction: column; align-items: flex-start; gap: 20px; }
  .lp2-footer-links a { padding: 0; border: none; font-size: 20px; }
  .lp2-footer-copy { font-size: 14px; }
  /* 元サイトは画面の高さいっぱいで上が空きすぎるため、画像＋帯の高さにする（元サイトにない改善） */
  body.lp2 .lp2-main .lp-hero-sp { justify-content: flex-end; height: auto; margin-top: -50px; padding-top: 40px; background: url(/wp-content/uploads/2026/10/s-1482x3029_v-frms_webp_498d2797-c3eb-4484-9075-e37def15e92c-scaled.webp) center top / cover no-repeat; }
  body.lp2 .lp2-main .lp-hero-sp .lp-hero-bar { padding: 10px 20px; font-size: 20px; }
  /* 元サイトは迷彩の背景を上下中央で合わせ、「代行の闇」の下に40px空ける */
  body.lp2 .lp2-main .lp-red { padding-bottom: 40px; }
  body.lp2 .lp2-main .lp-red::before { top: -60px; background-position: center; }
  body.lp2 .lp2-main .lp-red-sp { flex-direction: column; align-items: center; width: 100%; margin-top: -20px; }
  body.lp2 .lp2-main .lp-red-sp .lp-red-body { margin-top: -160px; }
  body.lp2 .lp2-main .lp-red-sp .lp-red-phone { width: 60%; }
  .lp-red-sp .lp-red-phone .lp-yt { top: 16.8%; left: 8.5%; width: 82.9%; height: 66.4%; }
  /* 動画はサムネイルと再生ボタン。押すとプレーヤーを開く（lp2.js） */
  .lp-yt-thumb { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
  .lp-yt-thumb img { position: absolute; top: 50%; left: 50%; width: 94%; max-width: none; height: auto; transform: translate(-50%, -50%); }
  .lp-yt-thumb::before { content: ""; position: absolute; top: 50%; left: 50%; z-index: 1; width: 50px; height: 50px; border: 2px solid var(--lp-red); border-radius: 50%; transform: translate(-50%, -50%); }
  .lp-yt-thumb::after { content: ""; position: absolute; top: 50%; left: 50%; z-index: 1; border: solid transparent; border-width: 11px 0 11px 17px; border-left-color: var(--lp-red); transform: translate(-35%, -50%); }
  body.lp2 .lp2-main .lp-red-sp .lp-red-hand { top: -20px; left: 0; width: 125%; max-width: 125%; }
  body.lp2 .lp2-main .lp-red-sp .lp-red-dark { width: 100%; margin-top: 20px; mix-blend-mode: normal; }
  body.lp2 .lp2-main .lp-red-sp .lp-red-dark img { aspect-ratio: 393 / 389; height: auto; object-fit: fill; }
  /* 元サイトは失敗例の背景が「代行の闇」の上に重なり、下端を斜めに切る */
  body.lp2 .lp2-main .lp-fail::before { top: -180px; z-index: -1; }
  body.lp2 .lp2-main .lp-fail { padding-bottom: 500px; }
  body.lp2 .lp2-main .lp-fail-list { margin-top: 20px !important; }
  body.lp2 .lp2-main .lp-fail-list { gap: 30px; }
  body.lp2 .lp2-main .lp-fail-case { gap: 30px; width: calc(100% - 40px); }
  body.lp2 .lp2-main .lp-fail-text { gap: 20px; }
  body.lp2 .lp2-main .lp-fail-head { padding-bottom: 20px; }
  body.lp2 .lp2-main .lp-fail-no { height: 90px; }
  body.lp2 .lp2-main .lp-fail-img { width: calc(80% - 6px); }
  body.lp2 .lp2-main .lp-fail-line, body.lp2 .lp2-main .lp-fail-line.is-right, body.lp2 .lp2-main .lp-fail-line:not(.is-right) { width: calc(100% - 40px); margin: 0 auto; }
  .lp-fail-label { font-size: 20px; }
  .lp-fail-case-en { font-size: 36px; }
  .lp-fail-num { font-size: 100px; }
  body.lp2 .lp2-main .lp-fail-title { flex: 1 1 0; font-size: 20px; }
  body.lp2 .lp2-main .lp-fail-desc { font-size: 20px; }
  body.lp2 .lp2-main .lp-fail .lp-fail-deco { top: auto; bottom: 265px; left: -2px; z-index: -1; width: 65.6%; }
  .lp-svc-more { display: flex; align-items: center; justify-content: center; gap: 24px; width: 100%; padding: 20px 0 0; border: none; border-top: 1px solid var(--lp-ink); background: none; color: var(--lp-ink); font-family: inherit; font-size: 20px; font-weight: 600; cursor: pointer; }
  .lp-svc-more::after { content: ""; width: 8px; height: 8px; margin-top: -4px; border: solid var(--lp-ink); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .3s; }
  .lp-svc-card.is-open .lp-svc-more::after { margin-top: 4px; transform: rotate(-135deg); }
  body.lp2 .lp2-main .lp-svc-card:not(.is-open) > :is(.lp-svc-checks, .lp-svc-text, .lp-svc-img, .lp-svc-price) { display: none; }
  body.lp2 .lp2-main .lp-faq-q { padding-right: 56px; cursor: pointer; }
  .lp-faq-q::after { content: "+"; position: absolute; top: 50%; right: 18px; transform: translateY(-50%); color: #fff; font-size: 28px; font-weight: 300; line-height: 1; }
  .lp-faq-item.is-open .lp-faq-q::after { content: "−"; }
  body.lp2 .lp2-main .lp-faq-item:not(.is-open) .lp-faq-a { display: none; }
  /* 選ばれる理由（スマホ） */
  body.lp2 .lp2-main .lp-rs-title.lp-sp { display: block !important; width: 100%; }
  body.lp2 .lp2-main .lp-rs-people { top: 273px; right: 14px; width: 38%; }
  body.lp2 .lp2-main .lp-rs-values { justify-content: center; width: 80%; margin: -50px auto 0; }
  body.lp2 .lp2-main .lp-rs-values img { width: 100%; }
  body.lp2 .lp2-main .lp-rs-items { width: calc(100% - 40px); margin-top: 0 !important; }
  body.lp2 .lp2-main .lp-rs-item, body.lp2 .lp2-main .lp-rs-item.is-reverse { padding: 40px 20px; }
  body.lp2 .lp2-main .lp-rs-num { font-size: 80px; }
  body.lp2 .lp2-main .lp-rs-name { font-size: 24px; }
  body.lp2 .lp2-main .lp-rs-name br { display: none; }
  body.lp2 .lp2-main .lp-rs-photo, body.lp2 .lp2-main .is-reverse .lp-rs-photo { width: calc(80% - 10.8px); }
  body.lp2 .lp2-main .lp-rs-row, body.lp2 .lp2-main .is-reverse .lp-rs-row { gap: 20px; }
  body.lp2 .lp2-main .lp-rs-checks, body.lp2 .lp2-main .is-reverse .lp-rs-checks { gap: 10px; width: auto; }
  body.lp2 .lp2-main .lp-rs-check { padding-left: 21px; font-size: 20px; }
  .lp-rs-check::before { top: 4px; width: 16px; height: 22px; }
  body.lp2 .lp2-main .lp-rs-team-title { width: 100%; font-size: 24px; text-align: left; }
  body.lp2 .lp2-main .lp-rs-team-photos { gap: 10px; }
  body.lp2 .lp2-main .lp-rs-team-photos .wp-block-image { width: calc(33% - 6.7px); }
  body.lp2 .lp2-main .lp-rs-award { width: 100%; }
  body.lp2 .lp2-main .lp-rs-inner { padding-bottom: 40px; }
  /* Message（スマホ版）: 背景画像の上に文章を重ねる */
  body.lp2 .lp2-main .lp-message-sp { gap: 20px; padding: 120px 20px 100px; }
  body.lp2 .lp2-main .lp-message-sp .lp-msg-bg { position: absolute; top: 0; left: 0; z-index: 0; width: 100%; margin: 0; }
  body.lp2 .lp2-main .lp-message-sp .lp-msg-head { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 10px; }
  body.lp2 .lp2-main .lp-message-sp p { position: relative; z-index: 1; margin: 0; color: #fff; font-family: var(--lp-mincho); font-size: 14.08px; font-weight: 700; line-height: 1.4; text-align: center; text-shadow: 0 0 15px rgba(0, 0, 0, .7); }
  body.lp2 .lp2-main .lp-message-sp .lp-msg-title { font-size: 28px; }
  body.lp2 .lp2-main .lp-message-sp .lp-msg-body { line-height: 1.6; }
  /* 代表紹介（スマホ版） */
  body.lp2 .lp2-main .lp-leader-sp { margin-top: 79px; }
  body.lp2 .lp2-main .lp-leader-sp .lp-leader-body { flex-direction: column; align-items: center; gap: 20px; margin-top: -40px; padding: 0 20px 200px; background: linear-gradient(190deg, #fff 32%, #fff5f5 21%); }
  body.lp2 .lp2-main .lp-leader-sp .lp-leader-title { width: 100%; }
  body.lp2 .lp2-main .lp-leader-sp .lp-leader-photo { width: 40%; }
  body.lp2 .lp2-main .lp-leader-sp .lp-leader-name { align-items: center; padding: 0; }
  body.lp2 .lp2-main .lp-leader-sp .lp-leader-role { font-size: 24px; text-align: center; }
  body.lp2 .lp2-main .lp-leader-sp .lp-leader-label { text-align: center; }
  body.lp2 .lp2-main .lp-leader-sp .lp-leader-career { gap: 8px; width: 100%; }
  body.lp2 .lp2-main .lp-leader-sp .lp-leader-career p { position: relative; width: 100%; padding: 4px 10px 4px 27px; font-size: 16px; line-height: 1.5; text-align: justify; }
  .lp-leader-sp .lp-leader-career p::before { content: ""; position: absolute; top: 10px; left: 10px; width: 12px; height: 12px; background: var(--lp-red); }
  /* 実績（スマホは背景を差し替え） */
  body.lp2 .lp2-main .lp-projects { z-index: 0; margin-top: -200px; }
  .lp2-main .lp-projects::before { top: 20px; bottom: 0; background-image: url(/wp-content/uploads/2026/10/s-740x6437_v-frms_webp_71c1d3ea-a26f-4136-96a3-bc819bb0d5b4-scaled.webp); }
  body.lp2 .lp2-main .lp-pj-inner { margin-top: 0; padding: 0 20px 60px; background-image: url(/wp-content/uploads/2026/10/s-740x6437_v-frms_webp_cdf24fb1-3cb4-4d04-8798-7569db1d188b-scaled.webp); }
  body.lp2 .lp2-main .lp-pj-head { width: 100%; margin-top: 120px; }
  body.lp2 .lp2-main .lp-pj-title { width: 50%; }
  body.lp2 .lp2-main .lp-pj-en { width: 80%; margin-top: 0; }
  body.lp2 .lp2-main .lp-pj-card { width: 100%; padding: 0 20px 60px; background-image: url(/wp-content/uploads/2026/10/s-740x6437_v-frms_webp_b7735777-e167-485e-ae8f-87703fd8519f-scaled.webp); }
  body.lp2 .lp2-main .lp-pj-list { gap: 20px; padding-bottom: 0; border-bottom: none; }
  body.lp2 .lp2-main .lp-pj-item { width: 100%; padding: 30px 0; border-bottom: 1px solid var(--lp-ink); }
  body.lp2 .lp2-main .lp-pj-shot { width: 49%; }
  body.lp2 .lp2-main .lp-pj-view { width: 60%; }
  body.lp2 .lp2-main .lp-pj-name p, body.lp2 .lp2-main .lp-pj-key, body.lp2 .lp2-main .lp-pj-val, body.lp2 .lp2-main .lp-pj-clients-sub { font-size: 20px; }
  body.lp2 .lp2-main .lp-pj-result .lp-pj-val { letter-spacing: -1px; }
  body.lp2 .lp2-main .lp-pj-clients-title { font-size: 24px; }
  body.lp2 .lp2-main .lp-pj-clients { gap: 16px; width: 100%; }
  body.lp2 .lp2-main .lp-pj-clients .wp-block-image { width: calc(50% - 8px); }
  /* サービス概要・流れ・取引先・声・料金・質問・相談・フォーム */
  body.lp2 .lp2-main .lp-services { gap: 30px; }
  body.lp2 .lp2-main .lp-band { display: none; }
  body.lp2 .lp2-main .lp-svc-cards { margin-top: 0; }
  body.lp2 .lp2-main .lp-svc-card { width: calc(100% - 40px); }
  body.lp2 .lp2-main .lp-svc-check { font-size: 20px; }
  body.lp2 .lp2-main .lp-head-en { width: 70%; margin-top: 10px; }
  /* 流れ: 斜線の枠から右端まで白いカードを重ね、下に赤い影 */
  body.lp2 .lp2-main .lp-flow-area { height: 480px; width: calc(100% - 40px); margin-top: -20px; }
  body.lp2 .lp2-main .lp-flow-card { top: 20px; right: -20px; z-index: 0; width: calc(100% + 20px); padding: 30px 20px; background: none; }
  .lp2-main .lp-flow-card::before { top: 0; left: 0; width: 100%; height: 100%; background: #fff; }
  .lp2-main .lp-flow-card::after { content: ""; position: absolute; top: 428px; left: 20px; z-index: -2; width: calc(100% - 20px); height: 160px; background: linear-gradient(0deg, rgba(189, 62, 71, 0) 0%, #961a20 41%, #611027 100%); }
  body.lp2 .lp2-main .lp-flow-steps { gap: 40px; }
  .lp2-main .lp-flow-steps::before { top: 10px; height: 440px; }
  body.lp2 .lp2-main .lp-flow-step { align-items: flex-start; }
  body.lp2 .lp2-main .lp-flow-text { gap: 4px; }
  body.lp2 .lp2-main .lp-flow-title { font-size: 20px; }
  body.lp2 .lp2-main .lp-flow-desc { font-size: 18px; }
  body.lp2 .lp2-main .lp-clients .lp-head { margin-top: 160px; }
  body.lp2 .lp2-main .lp-clients { position: relative; z-index: 0; }
  body.lp2 .lp2-main .lp-clients-box { position: relative; padding: 30px 20px; }
  .lp2-main .lp-clients-box::before { content: ""; position: absolute; top: -30px; right: -196.5px; z-index: -1; width: 150%; height: 200px; background: url(/wp-content/uploads/2026/10/s-3570x2442_v-frms_webp_b4388a7b-d64e-460e-9e8e-69eba40f4718_regular.webp) center / cover no-repeat; }
  body.lp2 .lp2-main .lp-clients-list { gap: 20px 16px; width: 100%; }
  body.lp2 .lp2-main .lp-clients-list .wp-block-image { width: calc(45% - 8px); }
  body.lp2 .lp2-main .lp-voices { gap: 30px; padding: 60px 20px; }
  body.lp2 .lp2-main .lp-voice-list { gap: 60px 24px; }
  body.lp2 .lp2-main .lp-voice { gap: 20px; width: 100%; padding: 0; border-radius: 0; }
  body.lp2 .lp2-main .lp-voice-img { width: 50%; }
  body.lp2 .lp2-main .lp-voice-cat { font-size: 20px; }
  body.lp2 .lp2-main .lp-voice-name { padding-bottom: 10px; font-size: 24px; }
  body.lp2 .lp2-main .lp-voice-quote { font-size: 20px; font-feature-settings: normal; }
  /* 料金（元サイトのスマホ版の表） */
  body.lp2 .lp2-main .lp-pricing { gap: 60px; padding: 120px 20px 30px; }
  body.lp2 .lp2-main .lp-pricing .lp-head { gap: 20px; }
  body.lp2 .lp2-main .lp-pricing .lp-head-sub { font-size: 20px; line-height: 1.4; }
  body.lp2 .lp2-main .lp-pricing .lp-head-en { width: 100%; margin: 0; }
  body.lp2 .lp2-main .lp-price-head { padding: 10px; font-size: 24px; }
  body.lp2 .lp2-main .lp-price-key { font-size: 20px; }
  /* インフルエンサーの表は項目と金額を縦に積む */
  body.lp2 .lp2-main .lp-price-table + .lp-price-table > .lp-price-row { flex-direction: column; }
  body.lp2 .lp2-main .lp-price-table + .lp-price-table > .lp-price-row > .lp-price-key { justify-content: center; width: 100%; font-size: 18px; }
  body.lp2 .lp2-main .lp-price-table + .lp-price-table > .lp-price-row > .lp-price-val { border-left-width: 2px; }
  body.lp2 .lp2-main .lp-price-table + .lp-price-table > .lp-price-row.is-micro > .lp-price-key { padding: 16px 32px; font-size: 20px; }
  body.lp2 .lp2-main .lp-price-row.is-micro > .lp-price-key br { display: none; }
  body.lp2 .lp2-main .lp-price-table + .lp-price-table .lp-price-sub .lp-price-key { justify-content: center; width: 52%; padding: 16px; border-left: 2px solid #d9d9d9; font-size: 16px; }
  body.lp2 .lp2-main .lp-price-sub .lp-price-val { padding: 16px; font-size: 16px; }
  /* 文中の改行位置（.lp-nobr）を生かすため、矢印は左右に絶対配置 */
  body.lp2 .lp2-main .lp-price-toggle { display: block; position: relative; padding: 20px 56px; font-size: 20px; }
  .lp-price-toggle::before, .lp-price-toggle::after { position: absolute; top: 50%; margin: 0; transform: translateY(-50%); }
  .lp-price-toggle::before { left: calc(50% - 126.5px); }
  .lp-price-toggle::after { left: calc(50% + 112.5px); }
  body.lp2 .lp2-main .lp-price-special { padding: 10px; font-size: 20px; }
  body.lp2 .lp2-main .lp-price-special-val { padding: 30px 60px; font-size: 20px; }
  /* 元サイトはスマホだけ文言・改行位置が違う */
  .lp2 .lp-pc-inline { display: none; }
  .lp2 .lp-sp-inline { display: inline; }
  .lp2 .lp-nobr { display: inline-block; }
  body.lp2 .lp2-main .lp-faq-item { width: calc(100% - 40px); }
  body.lp2 .lp2-main .lp-faq .lp-head-en { width: 50%; }
  body.lp2 .lp2-main :is(.lp-faq-q, .lp-faq-a) { padding-left: 44px; font-size: 16px; line-height: 1.4; }
  body.lp2 .lp2-main .lp-faq-q { padding-top: 16px; padding-right: 42px; padding-bottom: 16px; }
  /* 「Q&A」の下の斜線の帯 */
  body.lp2 .lp2-main .lp-faq .lp-head { position: relative; }
  .lp2-main .lp-faq .lp-head::before { content: ""; position: absolute; top: 122px; left: 50%; z-index: 1; width: 100vw; height: 60px; opacity: .4; transform: translateX(-50%); background: url(/wp-content/uploads/2026/10/s-3570x2442_v-frms_webp_b4388a7b-d64e-460e-9e8e-69eba40f4718_regular.webp) center / 200% no-repeat; }
  .lp-faq-q::before, .lp-faq-a::before { top: 16px; left: 16px; font-size: 16px; line-height: 1.4; }
  .lp-faq-q::after { top: 27px; }
  body.lp2 .lp2-main .lp-contact-cta { gap: 30px; padding: 60px 20px; }
  /* 元サイトは画像が独立した重なりの中にあり、乗算でも暗い背景に溶けず薄く見える */
  body.lp2 .lp2-main .lp-contact-en { width: 100%; mix-blend-mode: normal; }
  body.lp2 .lp2-main .lp-contact-title { font-size: 32px; }
  body.lp2 .lp2-main .lp-contact-btn { display: none; }
  body.lp2 .lp2-main .lp-form { padding: 60px 20px; }
  body.lp2 .lp2-main .lp-form-card { padding: 30px 20px; }
  body.lp2 .lp2-main .lp-form-card .lp-title { font-size: 24px; }
  .lp-form-card input[type="submit"] { width: 276px; font-size: 18px; }
  body.lp2 .lp2-main .lp-form-tel { color: var(--lp-ink); font-size: 16px; font-weight: 400; line-height: 1.4; }
  .lp-form-tel .lp-form-tel-num { display: block; margin: 10px 0; font-size: 24px; font-weight: 600; }
  .lp-form-tel br { display: none; }
  /* 送信ボタンの下に回り込むスピナーの分の空きをなくす */
  .lp-form-card .wpcf7-spinner { position: absolute; }
  .lp-form-card .lp2-form-radio-group .wpcf7-radio { flex-direction: column; }
  .lp-form-card .lp2-form-radio-group .wpcf7-list-item label { padding: 4px 8px; }
  .lp-form-card select { font-size: 12px; }
  body.lp2 .lp2-main .lp-form-note { font-size: 14px; }
  /* 元サイトはスマホ用ヘッダーのバー（52px）がページの流れの中に場所を取る */
  .lp2-main { padding-top: 52px; }
  body.lp2 .lp2-main .lp-svc-card { gap: 20px; padding: 60px 30px 70px; }
  body.lp2 .lp2-main .lp-svc-catch { min-height: 0; padding-bottom: 20px; border-bottom: 1px solid var(--lp-ink); line-height: 2; width: 100%; }
  body.lp2 .lp2-main .lp-services .lp-title { margin-top: 0; }
  body.lp2 .lp2-main .lp-services .lp-head-en { width: 40%; margin: 0; }
  .lp-svc-more { margin-top: 10px; padding: 0; border-top: none; font-family: var(--lp-gothic); font-weight: 600; }
  body.lp2 .lp2-main .lp-svc-card.is-open > .lp-svc-checks { margin-top: 20px; }
  body.lp2 .lp2-main .lp-faq-list { gap: 16px; }
  body.lp2 .lp2-main .lp-faq { gap: 40px; }
}

/* 大見出し（画面には出さず、検索エンジン・読み上げ向け） */
.lp2-h1 { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
