@charset "UTF-8";
/* ==========================================================================
   LP 駐車システム  lp-parking-system.css
   Figma: node 248-1202「PC_駐車システムLP_v2」 1440px
   - 1440px以上: 設計幅固定・中央寄せ
   - 769〜1439px: 1440px設計を比率維持で縮小（MVは transform、他は zoom。係数 --lp-scale はJSが付与）
   - 768px以下: SPレイアウト（Figma SPデザインなし。PCのトンマナとトランスLPのSP規約を踏襲）
   - ヘッダーはキュービクルLP（css/lp-cubicle.css）と同一仕様を .lp-park 配下へ移植
   ========================================================================== */

/* --------------------------------------------------------------------------
   Design tokens
   -------------------------------------------------------------------------- */
:root {
  --park-main: #004EA2;        /* brand/primary */
  --park-main-dark: #003A78;   /* brand/primary-dark */
  --park-navy: #00294F;
  --park-main-80: #3371B5;
  --park-main-20: #CCDCEC;
  --park-main-5: #F2F6FA;      /* bg/section */
  --park-accent: #EB8034;      /* accent */
  --park-black: #231815;       /* text/primary */
  --park-gray: #4D4D4D;
  --park-muted: #949494;
  --park-border: #E0E4E8;
  --park-white: #FFFFFF;

  --park-font-sans: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --park-font-serif: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  --park-font-roboto: "Roboto", sans-serif;

  --park-shadow-card: 0 10px 28px rgba(0, 41, 79, 0.1);
  --park-drop-card: drop-shadow(0 10px 14px rgba(0, 41, 79, 0.1));
}

/* --------------------------------------------------------------------------
   Reset / base (scoped to .lp-park)
   -------------------------------------------------------------------------- */
.lp-park,
.lp-park * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.lp-park {
  font-family: var(--park-font-sans);
  color: var(--park-black);
  background: var(--park-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.lp-park img {
  display: block;
  max-width: 100%;
  height: auto;
}

.lp-park a {
  color: inherit;
  text-decoration: none;
}

.lp-park ul,
.lp-park ol {
  list-style: none;
}

.lp-park h1,
.lp-park h2,
.lp-park h3 {
  font-size: inherit;
  font-weight: inherit;
}

.lp-park button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
}

/* 横はみ出し防止。stickyヘッダーを壊さないよう overflow:hidden ではなく clip */
.lp-park main {
  overflow-x: clip;
}

/* utilities */
.lp-park .u-nowrap {
  white-space: nowrap;
}

/* Roboto Condensed SemiBold Italic（Figma: Roboto wdth 75 / 600 / italic） */
.lp-park .persona__case,
.lp-park .domain-card__num,
.lp-park .reason-card__num,
.lp-park .reason07__num,
.lp-park .type-card__tag,
.lp-park .step-card__num-value,
.lp-park .faq__mark {
  font-family: var(--park-font-roboto);
  font-style: italic;
  font-weight: 600;
  font-stretch: 75%;
  line-height: 1;
  white-space: nowrap;
}

/* ==========================================================================
   Header（キュービクルLP pages/lp.php / css/lp-cubicle.css と同一仕様）
   ========================================================================== */
@media screen and (max-width: 1050px) {
  .lp-park .PC-FV {
    display: none;
  }
}

@media screen and (min-width: 1051px) {
  .lp-park .SPN-FV {
    display: none;
  }
}

/* スクロールしても常に表示 */
.lp-park .header-sticky {
  position: sticky;
  top: 0;
  z-index: 90;
  transition: box-shadow .2s ease;
}

.lp-park .header-sticky.is-scrolled {
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}

.lp-park .lp-c__header,
.lp-park .lp-c__sp-header,
.lp-park .lp-c__sp-menu {
  font-family: 'Roboto', sans-serif;
  color: #555;
}

.lp-park .lp-c__header img,
.lp-park .lp-c__sp-header img,
.lp-park .lp-c__sp-menu img {
  display: inline;
}

/* PCヘッダー：メニュー＋電話＋全高フォームボタン */
.lp-park .lp-c__header {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 72px;
  padding: 0 0 0 3%;
  background-color: #fff;
}

.lp-park .lp-c__header .header-logo {
  width: 160px;
  align-self: center;
  flex-shrink: 0;
}

.lp-park .lp-c__header__nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
}

.lp-park .lp-c__header__nav ul {
  display: flex;
  gap: 24px;
  padding: 0;
}

.lp-park .lp-c__header__nav a {
  display: block;
  padding: 8px 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}

.lp-park .lp-c__header__nav a:hover {
  color: #0059BA;
  border-bottom-color: #0059BA;
}

.lp-park .lp-c__header__tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 20px;
  font-weight: 600;
  white-space: nowrap;
}

.lp-park .lp-c__header__tel p {
  font-size: 12px;
  line-height: 1.3;
  color: #555;
}

.lp-park .lp-c__header__tel-num {
  display: flex;
  align-items: center;
}

.lp-park .lp-c__header__tel-num img {
  width: 22px;
  padding-right: 4px;
}

.lp-park .lp-c__header__tel-num span {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.15;
}

.lp-park .lp-c__header__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 200px;
  background-color: #0059BA;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s ease;
}

.lp-park .lp-c__header__form:hover {
  background-color: #004A9C;
}

.lp-park .lp-c__header__form-lead {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}

.lp-park .lp-c__header__form-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
}

@media screen and (max-width: 1199px) {
  .lp-park .lp-c__header .header-logo {
    width: 140px;
  }
  .lp-park .lp-c__header__nav {
    padding: 0 8px;
  }
  .lp-park .lp-c__header__nav ul {
    gap: 14px;
  }
  .lp-park .lp-c__header__nav a {
    font-size: 13px;
  }
  .lp-park .lp-c__header__tel {
    padding: 0 12px;
  }
  .lp-park .lp-c__header__form {
    width: 180px;
  }
  .lp-park .lp-c__header__form-label {
    font-size: 15px;
  }
}

/* SPヘッダー：ロゴ＋ハンバーガー */
.lp-park .lp-c__sp-header {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  width: 100%;
  height: 56px;
  padding: 0 0 0 16px;
  text-align: left;
  background-color: #fff;
}

.lp-park .lp-c__sp-header .header-logo {
  width: 150px;
  align-self: center;
}

.lp-park .lp-c__sp-header__toggle {
  position: relative;
  width: 56px;
  flex-shrink: 0;
  background-color: #0059BA;
}

.lp-park .lp-c__sp-header__toggle span {
  position: absolute;
  left: 17px;
  width: 22px;
  height: 2px;
  background-color: #fff;
  border-radius: 1px;
  transition: transform .2s ease, opacity .2s ease;
}

.lp-park .lp-c__sp-header__toggle span:nth-child(1) { top: 20px; }
.lp-park .lp-c__sp-header__toggle span:nth-child(2) { top: 27px; }
.lp-park .lp-c__sp-header__toggle span:nth-child(3) { top: 34px; }

.lp-park .lp-c__sp-header__toggle.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.lp-park .lp-c__sp-header__toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.lp-park .lp-c__sp-header__toggle.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.lp-park .lp-c__sp-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
  width: 100%;
  max-height: calc(100vh - 56px);
  overflow-y: auto;
  background-color: #fff;
  border-top: 1px solid #E3E6E8;
  box-shadow: 0 8px 16px rgba(0, 0, 0, .12);
}

.lp-park .lp-c__sp-menu[hidden],
.lp-park .lp-c__sp-menu-backdrop[hidden] {
  display: none;
}

.lp-park .lp-c__sp-menu ul {
  padding: 0 20px;
}

.lp-park .lp-c__sp-menu li {
  border-bottom: 1px solid #E3E6E8;
}

.lp-park .lp-c__sp-menu li a {
  position: relative;
  display: block;
  padding: 16px 24px 16px 4px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
}

.lp-park .lp-c__sp-menu li a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 8px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #0059BA;
  border-right: 2px solid #0059BA;
  transform: translateY(-50%) rotate(45deg);
}

.lp-park .lp-c__sp-menu__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 20px 20px 24px;
}

.lp-park .lp-c__sp-menu__tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 600;
  color: #555;
  text-decoration: none;
}

.lp-park .lp-c__sp-menu__tel-text {
  font-size: 12px;
  line-height: 1.4;
}

.lp-park .lp-c__sp-menu__tel-num {
  display: flex;
  align-items: center;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.15;
}

.lp-park .lp-c__sp-menu__tel-num img {
  width: 26px;
  padding-right: 4px;
}

.lp-park .lp-c__sp-menu__form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 320px;
  padding: 10px 0;
  background-color: #0059BA;
  border-radius: 6px;
  box-shadow: 0 2px 3px rgba(160, 160, 160, .8);
  color: #fff;
  text-decoration: none;
}

.lp-park .lp-c__sp-menu-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: rgba(0, 0, 0, .4);
}

/* ページ内リンクの着地位置を固定ヘッダーの高さ分ずらす */
.lp-park #reason,
.lp-park #facilities,
.lp-park #system,
.lp-park #flow,
.lp-park #faq {
  scroll-margin-top: 72px;
}

@media screen and (max-width: 1050px) {
  .lp-park #reason,
  .lp-park #facilities,
  .lp-park #system,
  .lp-park #flow,
  .lp-park #faq {
    scroll-margin-top: 56px;
  }
}

/* ==========================================================================
   Common: section heading (C/H2) / lead / bridge
   ========================================================================== */
.lp-park .sec-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.lp-park .sec-head__title {
  font-weight: 700;
  font-size: 32px;
  line-height: 1.75;
  letter-spacing: 1.28px;
  color: var(--park-main);
  text-align: center;
}

.lp-park .sec-head__bar {
  display: block;
  width: 48px;
  height: 4px;
  border-radius: 2px;
  background: var(--park-accent);
}

.lp-park .sec-lead {
  padding: 24px 0 64px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.64px;
  color: var(--park-gray);
  text-align: center;
}

.lp-park .sec-lead--pb56 {
  padding-bottom: 56px;
}

.lp-park .bridge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 64px 0;
}

.lp-park .bridge__text {
  font-family: var(--park-font-serif);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.7;
  letter-spacing: 0.48px;
  color: var(--park-main-dark);
  text-align: center;
}

.lp-park .bridge__chevron {
  width: 40px;
  height: 20px;
}

/* 設計幅コンテナ（769〜1439px は zoom で縮小） */
.lp-park .problem__inner,
.lp-park .solution__inner,
.lp-park .reason__inner,
.lp-park .staff__inner,
.lp-park .facilities__inner,
.lp-park .system__inner,
.lp-park .flow__inner,
.lp-park .faq__inner,
.lp-park .company-info__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 1280px;
  margin-inline: auto;
}

/* ==========================================================================
   SEC01 MV (Figma 248:1670)
   ========================================================================== */
.lp-park .mv {
  position: relative;
  background: var(--park-white);
}

.lp-park .mv__top {
  position: relative;
  height: 740px;
  overflow: hidden;
}

/* 右ネイビーパネル（1440px超では画面右端まで延長） */
.lp-park .mv__top::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% + 100px);
  right: 0;
  background: linear-gradient(122.14deg, var(--park-navy) 0%, var(--park-main) 71.429%);
}

.lp-park .mv__stage {
  position: relative;
  width: 1440px;
  height: 740px;
  margin: 0 auto;
}

.lp-park .mv__lanes {
  position: absolute;
  left: 820px;
  top: 0;
  width: 620px;
  height: 740px;
  max-width: none;
}

.lp-park .mv__content {
  position: absolute;
  left: 80px;
  top: 86px;
  width: 1280px;
  display: flex;
  align-items: center;
  gap: 64px;
}

.lp-park .mv__copy {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.lp-park .mv__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
}

.lp-park .mv__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 13px;
  background: var(--park-white);
  border: 1px solid var(--park-main-dark);
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.48px;
  color: var(--park-main-dark);
  white-space: nowrap;
}

.lp-park .mv__badge-sep {
  display: block;
  width: 1px;
  height: 12px;
  background: var(--park-main-20);
}

.lp-park .mv__title-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
}

.lp-park .mv__title {
  display: flex;
  flex-direction: column;
}

.lp-park .mv__title-lead {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.88px;
  color: var(--park-black);
}

.lp-park .mv__title-main {
  font-family: var(--park-font-serif);
  font-weight: 700;
  font-size: 56px;
  line-height: 1.3;
  letter-spacing: 1.12px;
  color: var(--park-main-dark);
  white-space: nowrap;
}

.lp-park .mv__product {
  padding: 0 10px;
  background: var(--park-main);
  font-weight: 900;
  font-size: 32px;
  line-height: 1.65;
  letter-spacing: 0.64px;
  color: var(--park-white);
  white-space: nowrap;
}

.lp-park .mv__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  width: 100%;
  padding: 4px 0;
}

.lp-park .mv__chip {
  padding: 0 16px;
  background: var(--park-main-5);
  border-radius: 20px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: 0.56px;
  color: var(--park-main);
  white-space: nowrap;
}

.lp-park .mv__catch {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}

.lp-park .mv__laurel {
  width: 15px;
  height: 54px;
  transform: scaleX(-1);
}

.lp-park .mv__catch-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  white-space: nowrap;
}

.lp-park .mv__catch-main {
  font-weight: 500;
  font-size: 18px;
  line-height: 1.75;
  color: var(--park-main);
}

.lp-park .mv__catch-main strong {
  font-weight: 700;
  font-size: 26px;
}

.lp-park .mv__catch-sub {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.75;
  color: #555;
}

.lp-park .mv__contact {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 20px;
  width: 100%;
  padding: 16px 0;
  background: var(--park-main-5);
}

.lp-park .mv__tel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.lp-park .mv__tel-label {
  font-weight: 500;
  font-size: 12px;
  line-height: 1.75;
  letter-spacing: 0.48px;
  color: var(--park-gray);
}

.lp-park .mv__tel-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lp-park .mv__tel-icon {
  width: 32px;
  height: 32px;
}

.lp-park .mv__tel-num {
  font-family: var(--park-font-roboto);
  font-weight: 700;
  font-size: 36px;
  line-height: 1;
  color: var(--park-main);
  white-space: nowrap;
}

.lp-park .mv__tel-sub {
  font-weight: 400;
  font-size: 10px;
  line-height: 1.75;
  letter-spacing: 0.4px;
  color: var(--park-muted);
}

.lp-park .mv__tel-sp {
  display: none;
}

.lp-park .mv__form-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 28px;
  background: var(--park-accent);
  border-radius: 6px;
  box-shadow: 0 8px 20px rgba(235, 128, 51, 0.35);
  transition: opacity .2s ease;
}

.lp-park .mv__form-btn:hover {
  opacity: .85;
}

.lp-park .mv__form-icon {
  width: 22px;
  height: 22px;
}

.lp-park .mv__form-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
  color: var(--park-white);
  white-space: nowrap;
}

.lp-park .mv__form-main {
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 0.68px;
}

.lp-park .mv__form-sub {
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.22px;
}

.lp-park .mv__visual {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
}

.lp-park .mv__kv {
  width: 608px;
  height: 409.5px;
  max-width: none;
  filter: drop-shadow(0 16px 20px rgba(0, 41, 79, 0.28));
}

.lp-park .mv__partner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px 40px;
  background: var(--park-white);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 41, 79, 0.18);
}

.lp-park .mv__partner-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 10px;
  line-height: 1.65;
  letter-spacing: 1.2px;
  color: var(--park-muted);
  white-space: nowrap;
}

.lp-park .mv__partner-en {
  font-family: var(--park-font-roboto);
  line-height: 1.5;
}

.lp-park .mv__partner-logos {
  display: flex;
  align-items: center;
  gap: 40px;
}

.lp-park .mv__partner-amano {
  width: 196px;
  height: 56px;
  object-fit: contain;
}

.lp-park .mv__partner-mpc {
  width: 288.1px;
  height: 19.93px;
  max-width: none;
}

/* feature band */
.lp-park .mv__band {
  background: var(--park-main-5);
}

.lp-park .mv__band-inner {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 1440px;
  margin-inline: auto;
  padding: 24px 0;
}

.lp-park .mv__feat {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 0 24px;
}

.lp-park .mv__feat + .mv__feat {
  margin-left: 1px;
}

.lp-park .mv__feat + .mv__feat::before {
  content: '';
  position: absolute;
  left: -1px;
  top: 0;
  width: 1px;
  height: 44px;
  background: var(--park-border);
}

.lp-park .mv__feat-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

.lp-park .mv__feat-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 7px;
}

.lp-park .mv__feat-title {
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.28px;
  color: var(--park-main-dark);
  white-space: nowrap;
}

.lp-park .mv__feat-sub {
  height: 32px;
  padding-top: 10px;
  font-weight: 400;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.12px;
  color: var(--park-gray);
  white-space: nowrap;
}

.lp-park .mv__feat-sub--2line {
  padding-top: 0.4px;
  line-height: 1.3;
}

/* ==========================================================================
   SEC02 お悩み (Figma 248:1256)
   ========================================================================== */
.lp-park .problem {
  background: var(--park-white);
}

.lp-park .problem__inner {
  padding-top: 104px;
}

.lp-park .problem__personas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  width: 1280px;
  padding-bottom: 64px;
}

.lp-park .persona {
  display: flex;
  flex-direction: column;
  width: 400px;
}

.lp-park .persona__bubble {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 208px;
  padding: 27px;
  background: var(--park-white);
  border: 1px solid var(--park-border);
  border-radius: 16px;
  filter: drop-shadow(0 12px 16px rgba(0, 41, 79, 0.12));
}

.lp-park .persona__tail {
  position: absolute;
  left: 43px;
  bottom: -17px;
  width: 26px;
  height: 17px;
}

.lp-park .persona__head {
  display: flex;
  align-items: center;
  gap: 24px;
}

.lp-park .persona__case {
  font-size: 32px;
  letter-spacing: -1.28px;
  color: var(--park-accent);
}

.lp-park .persona__tag {
  padding: 2px 12px;
  background: var(--park-main-5);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.32px;
  color: var(--park-main);
  white-space: nowrap;
}

.lp-park .persona__quote {
  font-family: var(--park-font-serif);
  font-weight: 700;
  font-size: 19px;
  line-height: 1.6;
  letter-spacing: 0.38px;
  color: var(--park-main-dark);
}

.lp-park .persona__desc {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: 0.26px;
  color: var(--park-gray);
}

.lp-park .persona__person {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 0 0 24px;
}

.lp-park .persona__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--park-main-5);
}

.lp-park .persona__icon img {
  width: 28px;
  height: 28px;
}

.lp-park .persona__who {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.5;
}

.lp-park .persona__role {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.28px;
  color: var(--park-main-dark);
}

.lp-park .persona__role-sub {
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0.2px;
  color: var(--park-muted);
}

/* ==========================================================================
   CTA (Figma C/CTA 476:963 ほか。トランスLPの trans-cta を移植)
   ========================================================================== */
.lp-park .park-cta {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  overflow: hidden;
  background: var(--park-main);
}

.lp-park .park-cta__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.lp-park .park-cta__bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.lp-park .park-cta__bg-overlay {
  position: absolute;
  inset: 0;
  background: rgba(74, 129, 197, 0.4);
}

.lp-park .park-cta__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: fit-content;
  margin-inline: auto;
  padding: 40px 0;
}

.lp-park .park-cta__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
}

.lp-park .park-cta__lead {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

.lp-park .park-cta__lead-bar {
  flex-shrink: 0;
  width: 2px;
  height: 22px;
  background: #d9d9d9;
}

.lp-park .park-cta__lead-bar--left {
  transform: rotate(-30deg);
}

.lp-park .park-cta__lead-bar--right {
  transform: rotate(30deg);
}

.lp-park .park-cta__lead-text {
  font-weight: 500;
  font-size: 16px;
  line-height: normal;
  color: var(--park-white);
  white-space: nowrap;
}

.lp-park .park-cta__title {
  font-weight: 700;
  font-size: 40px;
  line-height: normal;
  color: var(--park-white);
  white-space: nowrap;
}

.lp-park .park-cta__pills {
  display: flex;
  align-items: center;
  gap: 24px;
}

.lp-park .park-cta__pill {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  background: var(--park-main-5);
  border-radius: 40px;
  font-weight: 700;
  font-size: 16px;
  line-height: normal;
  color: var(--park-main-80);
  white-space: nowrap;
}

.lp-park .park-cta__actions {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
}

.lp-park .park-cta__tel {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--park-white);
}

.lp-park .park-cta__tel-num {
  font-weight: 900;
  font-size: 46px;
  line-height: 1;
  white-space: nowrap;
}

.lp-park .park-cta__tel-hours {
  font-weight: 500;
  font-size: 12px;
  line-height: normal;
  white-space: nowrap;
}

.lp-park .park-cta__tel-sp {
  display: none;
}

.lp-park .park-cta__form {
  flex: 1 0 0;
  min-width: 0;
}

.lp-park .park-cta__form-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  height: 63px;
  padding: 14px 40px;
  background: var(--park-accent);
  border-radius: 6px;
  filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.25));
  transition: opacity .2s ease;
}

.lp-park .park-cta__form-btn:hover {
  opacity: .85;
}

.lp-park .park-cta__form-note {
  font-weight: 700;
  font-size: 12px;
  line-height: 12px;
  color: var(--park-white);
  text-align: center;
}

.lp-park .park-cta__form-main {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.lp-park .park-cta__form-icon {
  flex-shrink: 0;
  width: 20px;
  height: 16px;
}

.lp-park .park-cta__form-text {
  font-weight: 700;
  font-size: 18px;
  line-height: 18px;
  letter-spacing: 0.36px;
  color: var(--park-white);
  white-space: nowrap;
}

/* ==========================================================================
   SEC03 ソリューション (Figma 248:1268)
   ========================================================================== */
.lp-park .solution {
  background: var(--park-main-5);
}

.lp-park .solution__inner {
  padding: 104px 0;
}

/* 体制図 */
.lp-park .diagram {
  position: relative;
  width: 1280px;
  height: 420px;
  overflow: hidden;
  border-radius: 12px;
  background: linear-gradient(143.56deg, var(--park-navy) 0%, var(--park-main) 76.923%);
}

.lp-park .diagram__lanes {
  position: absolute;
  inset: 0;
  width: 1280px;
  height: 420px;
  max-width: none;
}

.lp-park .diagram__body {
  position: absolute;
  left: 46px;
  top: calc(50% - 0.5px);
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 1188px;
}

.lp-park .diagram__row {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.lp-park .diagram__customer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-shrink: 0;
  width: 200px;
  height: 200px;
  background: var(--park-white);
  border-radius: 6px;
  filter: drop-shadow(0 8px 12px rgba(0, 41, 79, 0.25));
}

.lp-park .diagram__customer-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--park-main-5);
}

.lp-park .diagram__customer-icon img {
  width: 28px;
  height: 28px;
}

.lp-park .diagram__customer-name {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.72px;
  color: var(--park-main-dark);
}

.lp-park .diagram__customer-sub {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.24px;
  color: var(--park-gray);
  text-align: center;
  white-space: nowrap;
}

.lp-park .diagram__arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  color: var(--park-white);
  text-align: center;
  white-space: nowrap;
}

.lp-park .diagram__arrow img {
  max-width: none;
}

.lp-park .diagram__arrow--1 {
  width: 180px;
  gap: 8px;
}

.lp-park .diagram__arrow--1 img {
  width: 180px;
  height: 24px;
}

.lp-park .diagram__arrow--2 {
  width: 84px;
  gap: 9px;
}

.lp-park .diagram__arrow--2 img {
  width: 84px;
  height: 24px;
}

.lp-park .diagram__arrow-top {
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.28px;
}

.lp-park .diagram__arrow-bottom {
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.24px;
}

.lp-park .diagram__hub {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-shrink: 0;
  width: 360px;
  height: 240px;
  background: var(--park-white);
  border: 2px solid var(--park-main-dark);
  border-radius: 6px;
  filter: drop-shadow(0 12px 20px rgba(0, 41, 79, 0.35));
}

.lp-park .diagram__hub-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.lp-park .diagram__hub-tag {
  padding: 4px 14px;
  background: var(--park-main);
  border-radius: 4px;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.48px;
  color: var(--park-white);
}

.lp-park .diagram__hub-logo {
  width: 230px;
  height: 39.947px;
}

.lp-park .diagram__hub-text {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.32px;
  color: var(--park-main);
  white-space: nowrap;
}

.lp-park .diagram__hub-steps {
  display: flex;
  align-items: center;
  gap: 4px;
}

.lp-park .diagram__hub-step {
  padding: 3px 10px;
  background: var(--park-main-5);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.24px;
  color: var(--park-main-dark);
  white-space: nowrap;
}

.lp-park .diagram__hub-sep {
  font-family: var(--park-font-roboto);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.75;
  color: var(--park-main);
}

.lp-park .diagram__partners {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
  width: 300px;
}

.lp-park .diagram__partner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: var(--park-white);
  border-radius: 6px;
  filter: drop-shadow(0 6px 10px rgba(0, 41, 79, 0.22));
}

.lp-park .diagram__partner-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--park-main-5);
}

.lp-park .diagram__partner-icon img {
  width: 22px;
  height: 22px;
}

.lp-park .diagram__partner-text {
  flex: 1 0 0;
  min-width: 0;
  line-height: 1.5;
}

.lp-park .diagram__partner-title {
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.32px;
  color: var(--park-main-dark);
  white-space: nowrap;
}

.lp-park .diagram__partner-sub {
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.28px;
  color: var(--park-gray);
}

.lp-park .diagram__caption {
  width: 100%;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.28px;
  color: var(--park-white);
  text-align: center;
}

/* 4つの領域 */
.lp-park .domains {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding-top: 64px;
}

.lp-park .domains__title {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.96px;
  color: var(--park-main);
  text-align: center;
}

.lp-park .domains__flow {
  display: flex;
  align-items: stretch;
}

.lp-park .domains__arrow {
  align-self: center;
  flex-shrink: 0;
  width: 32px;
  height: 24px;
}

.lp-park .domain-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
  width: 296px;
  padding: 31px 23px;
  background: var(--park-white);
  border: 1px solid var(--park-main);
  border-radius: 6px;
  filter: var(--park-drop-card);
}

.lp-park .domain-card__head {
  display: flex;
  align-items: center;
  gap: 16px;
}

.lp-park .domain-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--park-main-5);
}

.lp-park .domain-card__icon img {
  width: 26px;
  height: 26px;
}

.lp-park .domain-card__num {
  font-size: 48px;
  color: var(--park-main);
}

.lp-park .domain-card__title {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.48px;
  color: var(--park-main);
}

.lp-park .domain-card__desc {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: 0.28px;
  color: var(--park-gray);
}

/* リース・分割／個別提案 */
.lp-park .sol-extra {
  display: flex;
  align-items: stretch;
  gap: 32px;
  padding-top: 104px;
}

.lp-park .sol-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 624px;
  padding: 32px;
  background: var(--park-white);
  border-radius: 12px;
  filter: var(--park-drop-card);
}

.lp-park .sol-card--lease {
  gap: 16px;
}

.lp-park .sol-card--custom {
  gap: 24px;
}

.lp-park .sol-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  width: 100%;
}

.lp-park .sol-card__tag {
  display: inline-block;
  padding: 10px 12px;
  background: var(--park-main);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.32px;
  color: var(--park-white);
  white-space: nowrap;
}

.lp-park .sol-card__title {
  font-family: var(--park-font-serif);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: 0.44px;
  color: var(--park-main-dark);
}

.lp-park .sol-card__text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.32px;
  color: var(--park-gray);
}

.lp-park .lease-chart {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 16px 40px;
  background: var(--park-main-5);
  border-radius: 6px;
}

.lp-park .lease-chart__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.lp-park .lease-chart__label {
  font-weight: 500;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.72px;
  color: var(--park-main);
  white-space: nowrap;
}

.lp-park .lease-chart__label--accent {
  color: var(--park-accent);
}

.lp-park .lease-chart__bar-lump {
  display: block;
  width: 28px;
  height: 52px;
  border-radius: 3px;
  background: var(--park-main);
}

.lp-park .lease-chart__monthly {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.lp-park .lease-chart__note {
  width: 100%;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.64px;
  color: var(--park-accent);
  white-space: nowrap;
}

.lp-park .lease-chart__dash {
  width: 100%;
  height: 2px;
}

.lp-park .lease-chart__bars {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.lp-park .lease-chart__bars span {
  display: block;
  width: 9px;
  height: 18px;
  border-radius: 2px;
  background: var(--park-main);
}

.lp-park .sol-cases {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 4px;
}

.lp-park .sol-cases li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lp-park .sol-cases__chip {
  flex-shrink: 0;
  width: 180px;
  padding: 4px 10px;
  background: var(--park-main-5);
  border-radius: 4px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.14px;
  color: var(--park-main-dark);
  text-align: center;
  white-space: nowrap;
}

.lp-park .sol-cases__arrow {
  font-family: var(--park-font-roboto);
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  color: var(--park-accent);
}

.lp-park .sol-cases__text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.64px;
  color: var(--park-gray);
  white-space: nowrap;
}

/* ==========================================================================
   SEC04 選ばれる理由 (Figma 248:1293)
   ========================================================================== */
.lp-park .reason {
  background: var(--park-white);
}

.lp-park .reason__inner {
  padding: 104px 0;
}

.lp-park .reason__grid {
  display: grid;
  grid-template-columns: repeat(3, 405px);
  gap: 32px;
}

.lp-park .reason-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--park-white);
  border: 1px solid var(--park-border);
  border-radius: 12px;
  box-shadow: var(--park-shadow-card);
}

.lp-park .reason-card__img {
  position: relative;
  flex-shrink: 0;
  height: 180px;
  overflow: hidden;
  background: #d9d9d9;
}

.lp-park .reason-card__img > img,
.lp-park .reason-card__img > span {
  position: absolute;
  max-width: none;
}

.lp-park .reason-card__img--01 img,
.lp-park .reason-card__img--03 img {
  left: 0;
  top: 0;
  width: 100%;
  height: 227px;
  object-fit: cover;
}

.lp-park .reason-card__img--03 img {
  object-position: bottom;
}

.lp-park .reason-card__img--02 img {
  left: 0;
  top: 0;
  width: 100%;
  height: 195px;
  object-fit: cover;
}

.lp-park .reason-card__img--04,
.lp-park .reason-card__img--05 {
  background: var(--park-white);
}

.lp-park .reason-card__img--04 .reason-card__logo-amano {
  left: 27.5px;
  top: 71px;
  width: 110px;
  height: 31px;
  object-fit: contain;
}

.lp-park .reason-card__img--04 .reason-card__logo-mpc {
  left: 163.5px;
  top: 79.24px;
  width: 210px;
  height: 14.53px;
}

.lp-park .reason-card__img--05 .reason-card__cubicle {
  left: 23.5px;
  top: 16.5px;
  width: 116px;
  height: 118px;
}

.lp-park .reason-card__img--05 .reason-card__generator {
  left: 170.8px;
  top: 74.3px;
  width: 97.4px;
  height: 97.4px;
}

.lp-park .reason-card__img--05 .reason-card__transformer {
  left: 274.5px;
  top: 12px;
  width: 130px;
  height: 108px;
  padding: 0 24px;
  background: var(--park-white);
}

.lp-park .reason-card__transformer img {
  width: 68px;
  height: 96px;
  max-width: none;
}

.lp-park .reason-card__img--06 img {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lp-park .reason-card__icon {
  position: absolute;
  left: 22px;
  top: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: var(--park-white);
  border: 1px solid var(--park-main-20);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 41, 79, 0.15);
}

.lp-park .reason-card__icon img {
  width: 26px;
  height: 26px;
}

.lp-park .reason-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 36px 23px 27px;
}

.lp-park .reason-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--park-main);
  white-space: nowrap;
}

.lp-park .reason-card__num {
  font-size: 40px;
}

.lp-park .reason-card__title {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.48px;
}

.lp-park .reason-card__desc {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.32px;
  color: var(--park-gray);
}

/* REASON 07 */
.lp-park .reason07 {
  position: relative;
  width: 1280px;
  height: 340px;
  margin-top: 32px;
  overflow: hidden;
  border-radius: 12px;
  background: linear-gradient(149.135deg, var(--park-navy) 0%, var(--park-main) 76.923%);
}

.lp-park .reason07__lanes {
  position: absolute;
  inset: 0;
  width: 1280px;
  height: 340px;
  max-width: none;
}

.lp-park .reason07__copy {
  position: absolute;
  left: 56px;
  top: 50.5px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 560px;
}

.lp-park .reason07__head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.lp-park .reason07__num {
  font-size: 48px;
  color: var(--park-accent);
}

.lp-park .reason07__tag {
  padding: 6px 12px;
  background: var(--park-accent);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.28px;
  color: var(--park-white);
  white-space: nowrap;
}

.lp-park .reason07__title {
  font-family: var(--park-font-serif);
  font-weight: 700;
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0.56px;
  color: var(--park-white);
}

.lp-park .reason07__text {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.28px;
  color: var(--park-white);
}

.lp-park .scheme {
  position: absolute;
  left: 640px;
  top: 63px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 584px;
  padding: 24px;
  background: var(--park-white);
  border-radius: 6px;
  filter: drop-shadow(0 10px 16px rgba(0, 41, 79, 0.3));
}

.lp-park .scheme__title {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.32px;
  color: var(--park-main-dark);
}

.lp-park .scheme__nodes {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.lp-park .scheme__node {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  width: 112px;
  height: 99px;
  padding: 14px 10px;
  background: var(--park-main-5);
  border-radius: 8px;
  color: var(--park-main-dark);
  text-align: center;
}

.lp-park .scheme__node img {
  width: 24px;
  height: 24px;
}

.lp-park .scheme__node--main {
  background: var(--park-main);
  color: var(--park-white);
}

.lp-park .scheme__node-name {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.28px;
}

.lp-park .scheme__node-sub {
  font-weight: 400;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.1px;
  color: var(--park-gray);
  white-space: nowrap;
}

.lp-park .scheme__node--main .scheme__node-sub {
  color: var(--park-white);
}

.lp-park .scheme__arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 0 6px;
  font-weight: 500;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.1px;
  text-align: center;
  white-space: nowrap;
}

.lp-park .scheme__arrow img {
  width: 72px;
  height: 16px;
  max-width: none;
}

.lp-park .scheme__arrow-top {
  color: var(--park-accent);
}

.lp-park .scheme__arrow-bottom {
  color: var(--park-gray);
}

.lp-park .scheme__note {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.12px;
  color: var(--park-muted);
}

/* ==========================================================================
   SEC05 スタッフ紹介 (Figma 248:1313)
   ========================================================================== */
.lp-park .staff {
  background: var(--park-main-5);
}

.lp-park .staff__inner {
  gap: 64px;
  padding: 104px 0;
}

.lp-park .staff-card {
  display: flex;
  align-items: center;
  gap: 40px;
  width: 100%;
  padding: 30px 40px;
  overflow: hidden;
  background: var(--park-white);
  border-radius: 12px;
}

.lp-park .staff-card__photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
  width: 240px;
  height: 241px;
  border-radius: 10px;
  background: radial-gradient(ellipse 120px 120.5px at 50% 50%, rgba(184, 217, 253, 1) 0%, rgba(184, 217, 253, 0) 100%);
}

.lp-park .staff-card__photo img {
  width: 200px;
  height: 174px;
  object-fit: cover;
}

.lp-park .staff-card__info {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lp-park .staff-card__name-block {
  line-height: 1.75;
}

.lp-park .staff-card__name {
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.96px;
  color: #1A3C6E;
}

.lp-park .staff-card__org {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.64px;
  color: #666;
}

.lp-park .staff-card__certs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lp-park .staff-card__certs li {
  padding: 3px 10px;
  background: #1A3C6E;
  border-radius: 3px;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.75;
  letter-spacing: 0.48px;
  color: var(--park-white);
  white-space: nowrap;
}

.lp-park .staff-card__text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.64px;
  color: #666;
}

/* ==========================================================================
   SEC06 対応施設・用途 (Figma 248:1333)
   ========================================================================== */
.lp-park .facilities {
  background: var(--park-white);
}

.lp-park .facilities__inner {
  padding: 104px 0;
}

.lp-park .facilities__grid {
  display: grid;
  grid-template-columns: repeat(4, 302px);
  gap: 24px;
}

.lp-park .facility-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  height: 236px;
  padding: 27px 19px;
  background: var(--park-white);
  border: 1px solid var(--park-border);
  border-radius: 12px;
  filter: var(--park-drop-card);
}

.lp-park .facility-tile__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--park-main-5);
}

.lp-park .facility-tile__icon img {
  width: 30px;
  height: 30px;
}

.lp-park .facility-tile__name {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.48px;
  color: var(--park-main);
  text-align: center;
  white-space: nowrap;
}

.lp-park .facility-tile__name-sub {
  display: block;
  font-size: 14px;
}

.lp-park .facility-tile__chip {
  padding: 2px 10px;
  background: var(--park-main-5);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.14px;
  color: var(--park-main-dark);
  text-align: center;
  white-space: nowrap;
}

.lp-park .trouble {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding-top: 64px;
}

.lp-park .trouble__title {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.96px;
  color: var(--park-main-dark);
  text-align: center;
}

.lp-park .trouble__cards {
  display: flex;
  gap: 32px;
}

.lp-park .trouble-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 624px;
  height: 271px;
  padding: 31px;
  background: var(--park-white);
  border: 1px solid var(--park-border);
  border-radius: 12px;
  filter: var(--park-drop-card);
}

.lp-park .trouble-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.lp-park .trouble-card__tag {
  padding: 8px 12px;
  background: var(--park-main);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.32px;
  color: var(--park-white);
  white-space: nowrap;
}

.lp-park .trouble-card__who {
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.26px;
  color: var(--park-gray);
  white-space: nowrap;
}

.lp-park .trouble-card__text {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.28px;
  color: var(--park-gray);
}

.lp-park .trouble-card__steps {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
}

.lp-park .trouble-card__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  width: 150px;
  padding: 14px 12px;
  background: var(--park-main-5);
}

.lp-park .trouble-card__step img {
  width: 28px;
  height: 28px;
}

.lp-park .trouble-card__step p {
  font-weight: 500;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.12px;
  color: var(--park-main-dark);
  text-align: center;
}

.lp-park .trouble-card__op {
  font-family: var(--park-font-roboto);
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  color: var(--park-accent);
}

.lp-park .trouble-card__op--plus {
  font-family: var(--park-font-sans);
  font-size: 16px;
}

/* ==========================================================================
   SEC07 システム・機器 (Figma 248:1372)
   ========================================================================== */
.lp-park .system {
  background: var(--park-main-5);
}

.lp-park .system__inner {
  padding: 104px 0;
}

.lp-park .system__cards {
  display: flex;
  gap: 32px;
}

.lp-park .type-card {
  display: flex;
  flex-direction: column;
  width: 405px;
  height: 555px;
  overflow: hidden;
  background: var(--park-white);
  border: 1px solid var(--park-border);
  border-radius: 12px;
  box-shadow: var(--park-shadow-card);
}

.lp-park .type-card__img {
  position: relative;
  flex-shrink: 0;
  height: 240px;
  overflow: hidden;
}

.lp-park .type-card__img img {
  position: absolute;
  max-width: none;
  object-fit: cover;
}

.lp-park .type-card__img--gate {
  background: #dfecf3;
}

.lp-park .type-card__img--camera {
  background: #dfe9f0;
}

.lp-park .type-card__img--access {
  background: #d9d9d9;
}

.lp-park .type-card__img--gate img,
.lp-park .type-card__img--camera img {
  left: 19.5px;
  top: -0.05px;
  width: 365px;
  height: 240px;
}

.lp-park .type-card__img--access img {
  left: calc(50% + 0.5px);
  top: -14.05px;
  width: 405px;
  height: 267px;
  transform: translateX(-50%);
}

.lp-park .type-card__tag {
  position: absolute;
  left: 15px;
  top: 15px;
  padding: 6px 12px;
  background: var(--park-main);
  font-size: 18px;
  color: var(--park-white);
}

.lp-park .type-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: 24px 23px 27px;
}

.lp-park .type-card__title {
  font-weight: 700;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: 0.44px;
  color: var(--park-main);
}

/* Figmaでは3行分の高さで特長リストの位置を揃えている */
.lp-park .type-card__desc {
  min-height: calc(13px * 1.75 * 3);
  font-weight: 400;
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: 0.26px;
  color: var(--park-gray);
}

.lp-park .type-card__features {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.lp-park .type-card__features li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0.13px;
  color: var(--park-main-dark);
  white-space: nowrap;
}

.lp-park .type-card__features img {
  width: 18px;
  height: 18px;
}

.lp-park .type-card__for {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 4px;
}

.lp-park .type-card__for-label {
  font-weight: 500;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0.22px;
  color: var(--park-muted);
}

.lp-park .type-card__for-chips {
  display: flex;
  gap: 6px;
}

.lp-park .type-card__for-chips span {
  padding: 2px 10px;
  background: var(--park-main-5);
  font-weight: 500;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.12px;
  color: var(--park-main-dark);
  white-space: nowrap;
}

.lp-park .equipment {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding-top: 64px;
}

.lp-park .equipment__title {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.96px;
  color: var(--park-main-dark);
  text-align: center;
}

.lp-park .equipment__strip {
  display: flex;
  align-items: center;
  background: var(--park-white);
  border: 1px solid var(--park-border);
  border-radius: 12px;
  filter: drop-shadow(0 8px 12px rgba(0, 41, 79, 0.08));
}

.lp-park .equipment__strip li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 212px;
  padding: 24px 12px;
}

.lp-park .equipment__strip li + li {
  margin-left: 1px;
}

.lp-park .equipment__strip li + li::before {
  content: '';
  position: absolute;
  left: -1px;
  top: 50%;
  width: 1px;
  height: 64px;
  background: var(--park-border);
  transform: translateY(-50%);
}

.lp-park .equipment__strip img {
  width: 32px;
  height: 32px;
}

.lp-park .equipment__strip p {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.14px;
  color: var(--park-main-dark);
  text-align: center;
}

/* ==========================================================================
   SEC08 導入の流れ (Figma 248:1380)
   ========================================================================== */
.lp-park .flow {
  background: var(--park-white);
}

.lp-park .flow__inner {
  padding: 104px 0;
}

.lp-park .flow__steps {
  display: flex;
  align-items: center;
}

.lp-park .step-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  flex-shrink: 0;
  width: 230px;
  height: 287px;
  padding: 27px 19px;
  background: var(--park-white);
  border: 1px solid var(--park-main);
  border-radius: 6px;
  filter: var(--park-drop-card);
}

.lp-park .step-card + .step-card {
  margin-left: 32px;
}

/* ステップ間の矢印（Figma: px4 + 24x20） */
.lp-park .step-card + .step-card::before {
  content: '';
  position: absolute;
  left: -29px;
  top: 50%;
  width: 24px;
  height: 20px;
  background: url("../images/lp-parking-system/arrow-right-orange-sm.svg") no-repeat center / contain;
  transform: translateY(-50%);
}

.lp-park .step-card__main {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.lp-park .step-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lp-park .step-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--park-main-5);
}

.lp-park .step-card__icon img {
  width: 26px;
  height: 26px;
}

.lp-park .step-card__num {
  display: flex;
  flex-direction: column;
  line-height: 1;
  color: var(--park-main);
}

.lp-park .step-card__num-label {
  font-family: var(--park-font-roboto);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 1.2px;
}

.lp-park .step-card__num-value {
  font-size: 40px;
}

.lp-park .step-card__title {
  font-weight: 700;
  font-size: 19px;
  line-height: 1.4;
  letter-spacing: 0.38px;
  color: var(--park-main);
}

.lp-park .step-card__desc {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: 0.26px;
  color: var(--park-gray);
}

.lp-park .step-card__badge {
  padding: 4px 10px;
  background: var(--park-accent);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.12px;
  color: var(--park-white);
  white-space: nowrap;
}

.lp-park .flow__note {
  padding-top: 32px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.28px;
  color: var(--park-muted);
  text-align: center;
}

/* ==========================================================================
   SEC09 小川電機について＋SEOテキスト (Figma 248:1408)
   ========================================================================== */
.lp-park .about {
  padding: 104px 0;
  background: var(--park-main-5);
}

.lp-park .about__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  width: 1280px;
  margin-inline: auto;
  padding: 40px;
  background: var(--park-white);
  border-radius: 12px;
}

.lp-park .about__body {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}

.lp-park .about__facts {
  display: flex;
  gap: 20px;
}

.lp-park .about__fact {
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 27px 15px;
  background: #f9f9f9;
  border: 1px solid #e3e4e7;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  line-height: normal;
  text-align: center;
  white-space: nowrap;
}

.lp-park .about__fact-label {
  font-weight: 500;
  font-size: 16px;
  color: var(--park-black);
}

.lp-park .about__fact-value {
  font-weight: 700;
  font-size: 40px;
  color: var(--park-accent);
}

.lp-park .about__row {
  display: flex;
  align-items: center;
  gap: 40px;
}

.lp-park .about__photo {
  flex-shrink: 0;
  width: 420px;
  height: 256px;
  overflow: hidden;
  border-radius: 10px;
  background: #e0e0e0;
}

.lp-park .about__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lp-park .about__text {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.64px;
  color: #555;
}

.lp-park .seo-box {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 32px 40px;
  border-top: 1px solid var(--park-border);
  border-bottom: 1px solid var(--park-border);
}

.lp-park .seo-box__title {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.6;
  letter-spacing: 0.48px;
  color: var(--park-main-dark);
}

.lp-park .seo-box__text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.32px;
  color: var(--park-gray);
}

/* ==========================================================================
   SEC10 FAQ (Figma 248:1425)
   ========================================================================== */
.lp-park .faq {
  background: var(--park-white);
}

.lp-park .faq__inner {
  gap: 64px;
  padding: 104px 0;
}

.lp-park .faq__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 960px;
}

.lp-park .faq__item {
  overflow: hidden;
  background: var(--park-white);
  border: 1px solid var(--park-border);
  border-radius: 12px;
  filter: drop-shadow(0 6px 10px rgba(0, 41, 79, 0.06));
}

.lp-park .faq__q {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 19px 23px 20px; /* 枠線1px分を上下で吸収（Figma 141px） */
  cursor: pointer;
  list-style: none;
}

.lp-park .faq__q::-webkit-details-marker {
  display: none;
}

.lp-park .faq__mark {
  flex-shrink: 0;
  font-size: 30px;
}

.lp-park .faq__mark--q {
  color: var(--park-main);
}

.lp-park .faq__mark--a {
  color: var(--park-accent);
}

.lp-park .faq__q-text {
  flex: 1 0 0;
  min-width: 0;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.32px;
  color: var(--park-main-dark);
}

.lp-park .faq__chevron {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  transition: transform .25s ease;
}

.lp-park .faq__item[open] .faq__chevron {
  transform: rotate(180deg);
}

.lp-park .faq__a {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 23px 19px;
  border-top: 1px solid var(--park-border);
}

.lp-park .faq__a-text {
  flex: 1 0 0;
  min-width: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.28px;
  color: var(--park-gray);
}

/* ==========================================================================
   SEC11 会社情報 (Figma 248:1453)
   ========================================================================== */
.lp-park .company-info {
  background: var(--park-main-5);
}

.lp-park .company-info__inner {
  gap: 40px;
  padding: 104px 0;
}

.lp-park .company-info__card {
  width: 692px;
  padding: 40px;
  background: var(--park-white);
  border-radius: 12px;
}

.lp-park .company-info__row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid #c4c4c4;
}

.lp-park .company-info__label {
  flex-shrink: 0;
  width: 96px;
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  color: var(--park-main);
  white-space: nowrap;
}

.lp-park .company-info__value {
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  color: #555;
}

.lp-park .company-info__value--multi {
  line-height: 24px;
}

.lp-park .company-info__value--rep {
  line-height: normal;
}

.lp-park .company-info__value-line {
  display: block;
}

/* ==========================================================================
   Footer (Figma 315:2964。トランスLPの trans-footer を移植)
   ========================================================================== */
.lp-park .park-footer {
  width: 100%;
  background: var(--park-white);
}

.lp-park .park-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1440px;
  height: 215px;
  margin: 0 auto;
  padding-top: 40px;
}

.lp-park .park-footer__logo {
  width: 235px;
  height: 71.918px;
}

.lp-park .park-footer__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lp-park .park-footer__privacy {
  margin-top: 16px;
  font-weight: 400;
  font-size: 12px;
  line-height: normal;
  color: #555;
  text-decoration: underline;
  text-underline-position: from-font;
  white-space: nowrap;
}

.lp-park .park-footer__copyright {
  margin-top: 16px;
  font-weight: 400;
  font-size: 10px;
  line-height: normal;
  color: #555;
  white-space: nowrap;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
/* SP専用改行・要素はPCでは非表示 */
.lp-park .sp-only {
  display: none;
}

/* 769〜1439px: 1440px設計を比率維持で縮小（構図を変えない）。--lp-scale は JS が付与 */
@media screen and (min-width: 769px) and (max-width: 1439.98px) {
  .lp-park .mv__top {
    height: calc(100vw * 740 / 1440);
  }
  .lp-park .mv__top::before {
    left: calc(100vw * 820 / 1440);
  }
  .lp-park .mv__stage {
    margin: 0;
    transform: scale(var(--lp-scale, 1));
    transform-origin: top left;
  }
  .lp-park .mv__band-inner,
  .lp-park .problem__inner,
  .lp-park .solution__inner,
  .lp-park .reason__inner,
  .lp-park .staff__inner,
  .lp-park .facilities__inner,
  .lp-park .system__inner,
  .lp-park .flow__inner,
  .lp-park .about__card,
  .lp-park .faq__inner,
  .lp-park .company-info__inner {
    zoom: var(--lp-scale, 1);
  }
  .lp-park .about {
    padding: calc(104px * var(--lp-scale, 1)) 0;
  }
}

/* ==========================================================================
   SP（768px以下）
   Figma SPデザインなし。PCのトンマナ＋トランスLPのSP規約（1カラム・48px/16px・h2 24px）
   ========================================================================== */
@media screen and (max-width: 768px) {
  .lp-park .pc-only {
    display: none;
  }
  .lp-park .sp-only {
    display: inline;
  }

  /* --- 共通 --- */
  .lp-park .problem__inner,
  .lp-park .solution__inner,
  .lp-park .reason__inner,
  .lp-park .staff__inner,
  .lp-park .facilities__inner,
  .lp-park .system__inner,
  .lp-park .flow__inner,
  .lp-park .faq__inner,
  .lp-park .company-info__inner {
    width: 100%;
    padding: 48px 16px;
  }
  .lp-park .sec-head {
    gap: 12px;
  }
  .lp-park .sec-head__title {
    font-size: 24px;
    line-height: 1.6;
    letter-spacing: 0.96px;
  }
  .lp-park .sec-lead,
  .lp-park .sec-lead--pb56 {
    padding: 16px 0 32px;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.28px;
    text-align: left;
  }
  .lp-park .sec-lead br {
    display: none;
  }
  .lp-park .bridge {
    gap: 16px;
    padding: 40px 0 0;
  }
  .lp-park .bridge__text {
    font-size: 18px;
    line-height: 1.7;
  }

  /* --- MV: コピー → ビジュアル → キャッチ → 連絡先 の順に縦積み --- */
  .lp-park .mv__top {
    height: auto;
    overflow: visible;
  }
  .lp-park .mv__top::before,
  .lp-park .mv__lanes {
    display: none;
  }
  .lp-park .mv__stage {
    width: 100%;
    height: auto;
  }
  .lp-park .mv__content {
    position: static;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    width: 100%;
    padding: 24px 16px 32px;
  }
  .lp-park .mv__copy {
    display: contents;
  }
  .lp-park .mv__heading { order: 1; }
  .lp-park .mv__visual  { order: 2; }
  .lp-park .mv__catch   { order: 3; }
  .lp-park .mv__contact { order: 4; }

  .lp-park .mv__heading {
    gap: 12px;
  }
  .lp-park .mv__badge {
    padding: 5px 10px;
    font-size: 11px;
    letter-spacing: 0.22px;
  }
  .lp-park .mv__title-lead {
    font-size: 16px;
    letter-spacing: 0.32px;
  }
  .lp-park .mv__title-main {
    font-size: 36px;
    letter-spacing: 0.72px;
  }
  .lp-park .mv__product {
    font-size: 22px;
    letter-spacing: 0.44px;
  }
  .lp-park .mv__chip {
    padding: 0 12px;
    font-size: 12px;
    letter-spacing: 0.24px;
  }
  .lp-park .mv__visual {
    align-items: stretch;
    gap: 16px;
  }
  .lp-park .mv__kv {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 8px 12px rgba(0, 41, 79, 0.22));
  }
  .lp-park .mv__partner {
    gap: 12px;
    padding: 16px;
  }
  .lp-park .mv__partner-label {
    flex-wrap: wrap;
    justify-content: center;
    gap: 2px 8px;
    white-space: normal;
  }
  .lp-park .mv__partner-logos {
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 24px;
  }
  .lp-park .mv__partner-amano {
    width: 112px;
    height: 32px;
  }
  .lp-park .mv__partner-mpc {
    width: 200px;
    height: auto;
  }
  .lp-park .mv__catch {
    align-self: center;
    align-items: center;
    gap: 10px;
  }
  .lp-park .mv__laurel {
    width: 12px;
    height: 44px;
  }
  .lp-park .mv__catch-text {
    white-space: normal;
    text-align: center;
  }
  .lp-park .mv__catch-main {
    font-size: 14px;
    line-height: 1.6;
  }
  .lp-park .mv__catch-main strong {
    font-size: 22px;
  }
  .lp-park .mv__catch-sub {
    font-size: 12px;
    line-height: 1.6;
  }
  .lp-park .mv__contact {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 20px 16px;
  }
  .lp-park .mv__tel {
    display: none;
  }
  .lp-park .mv__tel-sp {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    max-width: 320px;
    padding: 10px 0;
    background: var(--park-white);
    border: 2px solid var(--park-main);
    border-radius: 6px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.12);
  }
  .lp-park .mv__tel-sp-label {
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    color: var(--park-main);
  }
  .lp-park .mv__tel-sp-num {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--park-font-roboto);
    font-weight: 700;
    font-size: 26px;
    line-height: 1;
    color: var(--park-main);
  }
  .lp-park .mv__tel-sp-num img {
    width: 20px;
    height: 20px;
  }
  .lp-park .mv__tel-sp-sub {
    font-size: 10px;
    line-height: 1.5;
    color: var(--park-gray);
  }
  .lp-park .mv__form-btn {
    justify-content: center;
    width: 100%;
    max-width: 320px;
    padding: 12px 16px;
  }

  /* 特長バンド: 2列グリッド */
  .lp-park .mv__band-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 12px;
    width: 100%;
    padding: 20px 16px;
  }
  .lp-park .mv__feat {
    gap: 8px;
    padding: 0;
  }
  .lp-park .mv__feat + .mv__feat {
    margin-left: 0;
  }
  .lp-park .mv__feat + .mv__feat::before {
    display: none;
  }
  .lp-park .mv__feat-icon {
    width: 22px;
    height: 22px;
  }
  .lp-park .mv__feat-text {
    gap: 4px;
    padding-top: 3px;
    min-width: 0;
  }
  .lp-park .mv__feat-title {
    font-size: 13px;
    line-height: 1.3;
    white-space: normal;
  }
  .lp-park .mv__feat-sub,
  .lp-park .mv__feat-sub--2line {
    height: auto;
    padding-top: 0;
    font-size: 11px;
    line-height: 1.45;
    letter-spacing: 0;
    white-space: normal;
  }

  /* --- お悩み --- */
  .lp-park .problem__personas {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 28px;
    width: 100%;
    padding-bottom: 0;
  }
  .lp-park .persona {
    width: 100%;
  }
  .lp-park .persona__bubble {
    height: auto;
    gap: 10px;
    padding: 19px;
  }
  .lp-park .persona__tail {
    left: 35px;
  }
  .lp-park .persona__head {
    gap: 12px;
  }
  .lp-park .persona__case {
    font-size: 26px;
    letter-spacing: -0.52px;
  }
  .lp-park .persona__tag {
    font-size: 13px;
    padding: 2px 10px;
  }
  .lp-park .persona__quote {
    font-size: 16px;
  }
  .lp-park .persona__person {
    gap: 12px;
    padding: 20px 0 0 16px;
  }
  .lp-park .persona__icon {
    width: 48px;
    height: 48px;
  }
  .lp-park .persona__icon img {
    width: 24px;
    height: 24px;
  }
  .lp-park .persona__role {
    font-size: 13px;
  }

  /* --- CTA（トランスLPのSP CTAを移植） --- */
  .lp-park .park-cta__inner {
    gap: 20px;
    width: 100%;
    padding: 32px 16px;
  }
  .lp-park .park-cta__lead-text {
    font-size: 13px;
    white-space: normal;
    text-align: center;
  }
  .lp-park .park-cta__title {
    font-size: 28px;
    white-space: normal;
    text-align: center;
  }
  .lp-park .park-cta__pills {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }
  .lp-park .park-cta__pill {
    padding: 8px 16px;
    font-size: 13px;
  }
  .lp-park .park-cta__actions {
    flex-direction: column;
    gap: 16px;
  }
  .lp-park .park-cta__tel {
    display: none;
  }
  .lp-park .park-cta__tel-sp {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 320px;
  }
  .lp-park .park-cta__tel-sp-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    height: 63px;
    background: var(--park-white);
    border: 2px solid var(--park-main);
    border-radius: 6px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.12);
  }
  .lp-park .park-cta__tel-sp-label {
    font-weight: 700;
    font-size: 12px;
    line-height: 12px;
    color: var(--park-main);
  }
  .lp-park .park-cta__tel-sp-num {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 26px;
    line-height: 26px;
    color: var(--park-main);
  }
  .lp-park .park-cta__tel-sp-num img {
    width: 20px;
    height: 20px;
  }
  .lp-park .park-cta__tel-sp-hours {
    font-size: 12px;
    color: var(--park-white);
  }
  .lp-park .park-cta__form {
    flex: none;
    width: 100%;
    max-width: 320px;
  }
  .lp-park .park-cta__form-btn {
    padding: 14px 16px;
  }

  /* --- ソリューション --- */
  .lp-park .diagram {
    width: 100%;
    height: auto;
  }
  .lp-park .diagram__lanes {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .lp-park .diagram__body {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 100%;
    padding: 24px 16px;
  }
  .lp-park .diagram__row {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .lp-park .diagram__customer {
    width: 100%;
    height: auto;
    padding: 20px 16px;
  }
  .lp-park .diagram__arrow--1,
  .lp-park .diagram__arrow--2 {
    width: 100%;
    gap: 4px;
  }
  .lp-park .diagram__arrow--1 img,
  .lp-park .diagram__arrow--2 img {
    width: 56px;
    height: 24px;
    margin: 16px 0;
    transform: rotate(90deg);
  }
  .lp-park .diagram__arrow-top {
    font-size: 13px;
  }
  .lp-park .diagram__hub {
    width: 100%;
    height: auto;
    gap: 16px;
    padding: 20px 12px;
  }
  .lp-park .diagram__hub-main {
    gap: 12px;
  }
  .lp-park .diagram__hub-logo {
    width: 184px;
    height: auto;
  }
  .lp-park .diagram__hub-text {
    font-size: 14px;
  }
  .lp-park .diagram__hub-steps {
    flex-wrap: wrap;
    justify-content: center;
  }
  .lp-park .diagram__hub-step {
    padding: 3px 8px;
    font-size: 11px;
  }
  .lp-park .diagram__partners {
    width: 100%;
    gap: 10px;
  }
  .lp-park .diagram__partner-title {
    font-size: 15px;
  }
  .lp-park .diagram__partner-sub {
    font-size: 13px;
  }
  .lp-park .diagram__caption {
    margin-top: 4px;
    font-size: 13px;
    text-align: left;
  }

  .lp-park .domains {
    gap: 20px;
    padding-top: 48px;
  }
  .lp-park .domains__title {
    font-size: 20px;
    letter-spacing: 0.4px;
  }
  .lp-park .domains__flow {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .lp-park .domains__arrow {
    margin: 8px 0;
    transform: rotate(90deg);
  }
  .lp-park .domain-card {
    width: 100%;
    gap: 10px;
    padding: 19px;
  }
  .lp-park .domain-card__head {
    gap: 12px;
  }
  .lp-park .domain-card__icon {
    width: 40px;
    height: 40px;
  }
  .lp-park .domain-card__icon img {
    width: 22px;
    height: 22px;
  }
  .lp-park .domain-card__num {
    font-size: 36px;
  }
  .lp-park .domain-card__title {
    font-size: 20px;
  }

  .lp-park .sol-extra {
    flex-direction: column;
    gap: 20px;
    width: 100%;
    padding-top: 48px;
  }
  .lp-park .sol-card {
    width: 100%;
    padding: 24px 16px;
  }
  .lp-park .sol-card--custom,
  .lp-park .sol-card__body {
    gap: 16px;
  }
  .lp-park .sol-card__tag {
    padding: 6px 10px;
    font-size: 14px;
  }
  .lp-park .sol-card__title {
    font-size: 20px;
  }
  .lp-park .sol-card__text {
    font-size: 14px;
  }
  .lp-park .lease-chart {
    align-self: stretch;
    justify-content: center;
    gap: 28px;
    padding: 16px;
  }
  .lp-park .lease-chart__label {
    font-size: 15px;
  }
  .lp-park .lease-chart__note {
    font-size: 13px;
  }
  .lp-park .lease-chart__bars {
    gap: 8px;
  }
  .lp-park .sol-cases {
    gap: 14px;
    width: 100%;
  }
  .lp-park .sol-cases li {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 6px 8px;
  }
  .lp-park .sol-cases__chip {
    grid-column: 1 / -1;
    justify-self: start;
    width: auto;
    font-size: 13px;
  }
  .lp-park .sol-cases__arrow {
    font-size: 18px;
  }
  .lp-park .sol-cases__text {
    font-size: 14px;
    letter-spacing: 0.28px;
    white-space: normal;
  }

  /* --- 選ばれる理由 --- */
  .lp-park .reason__grid {
    grid-template-columns: 1fr;
    gap: 20px;
    width: 100%;
  }
  .lp-park .reason-card__img {
    height: auto;
    aspect-ratio: 405 / 180;
  }
  .lp-park .reason-card__img--01 img,
  .lp-park .reason-card__img--03 img {
    height: 126.1%;
  }
  .lp-park .reason-card__img--02 img {
    height: 108.3%;
  }
  .lp-park .reason-card__img--04,
  .lp-park .reason-card__img--05 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }
  .lp-park .reason-card__img--04 > img,
  .lp-park .reason-card__img--05 > img,
  .lp-park .reason-card__img--05 > span {
    position: static;
  }
  .lp-park .reason-card__img--04 .reason-card__logo-amano {
    width: 100px;
    height: 28px;
  }
  .lp-park .reason-card__img--04 .reason-card__logo-mpc {
    width: 180px;
    height: auto;
  }
  .lp-park .reason-card__img--05 {
    gap: 12px;
  }
  .lp-park .reason-card__img--05 .reason-card__cubicle {
    width: 92px;
    height: auto;
  }
  .lp-park .reason-card__img--05 .reason-card__generator {
    width: 78px;
    height: auto;
  }
  .lp-park .reason-card__img--05 .reason-card__transformer {
    width: auto;
    height: auto;
    padding: 0;
  }
  .lp-park .reason-card__transformer img {
    width: 54px;
    height: auto;
  }
  /* アイコンは画像下端に半分かかる位置（カード幅 = 100vw - 32px） */
  .lp-park .reason-card__icon {
    left: 15px;
    top: calc((100vw - 32px) * 180 / 405 - 28px);
  }
  .lp-park .reason-card__body {
    gap: 8px;
    padding: 34px 15px 19px;
  }
  .lp-park .reason-card__num {
    font-size: 32px;
  }
  .lp-park .reason-card__title {
    font-size: 20px;
  }
  .lp-park .reason-card__desc {
    font-size: 14px;
  }

  .lp-park .reason07 {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    margin-top: 20px;
  }
  .lp-park .reason07__lanes {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .lp-park .reason07__copy {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    gap: 12px;
    padding: 28px 16px 20px;
  }
  .lp-park .reason07__num {
    font-size: 40px;
  }
  .lp-park .reason07__title {
    font-size: 21px;
  }
  .lp-park .scheme {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    margin: 0 16px 24px;
    padding: 16px;
  }
  .lp-park .scheme__nodes {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }
  .lp-park .scheme__node {
    flex-direction: row;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    height: auto;
    padding: 12px;
    text-align: left;
  }
  .lp-park .scheme__node-sub {
    margin-left: auto;
  }
  .lp-park .scheme__arrow {
    flex-direction: row;
    justify-content: center;
    gap: 10px;
    padding: 2px 0;
  }
  .lp-park .scheme__arrow img {
    width: 36px;
    height: 16px;
    transform: rotate(90deg);
  }

  /* --- スタッフ --- */
  .lp-park .staff__inner {
    gap: 32px;
  }
  .lp-park .staff-card {
    flex-direction: column;
    gap: 20px;
    padding: 24px 16px;
  }
  .lp-park .staff-card__photo {
    width: 200px;
    height: 200px;
  }
  .lp-park .staff-card__photo img {
    width: 170px;
    height: auto;
  }
  .lp-park .staff-card__info {
    width: 100%;
    gap: 12px;
  }
  .lp-park .staff-card__name-block {
    text-align: center;
  }
  .lp-park .staff-card__name {
    font-size: 20px;
  }
  .lp-park .staff-card__org {
    font-size: 14px;
  }
  .lp-park .staff-card__certs {
    justify-content: center;
  }
  .lp-park .staff-card__text {
    font-size: 14px;
    letter-spacing: 0.28px;
  }
  .lp-park .staff-card__text br {
    display: none;
  }

  /* --- 対応施設 --- */
  .lp-park .facilities__grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
  }
  .lp-park .facility-tile {
    gap: 10px;
    height: auto;
    padding: 19px 3px;
  }
  .lp-park .facility-tile__icon {
    width: 48px;
    height: 48px;
  }
  .lp-park .facility-tile__icon img {
    width: 24px;
    height: 24px;
  }
  .lp-park .facility-tile__name {
    font-size: 16px;
    letter-spacing: 0.32px;
    white-space: normal;
  }
  .lp-park .facility-tile__name-sub {
    font-size: 12px;
  }
  .lp-park .facility-tile__chip {
    padding: 2px 4px;
    font-size: 11px;
    letter-spacing: 0;
    white-space: normal;
  }
  .lp-park .trouble {
    gap: 20px;
    width: 100%;
    padding-top: 48px;
  }
  .lp-park .trouble__title {
    font-size: 20px;
    letter-spacing: 0.4px;
  }
  .lp-park .trouble__cards {
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }
  .lp-park .trouble-card {
    gap: 12px;
    width: 100%;
    height: auto;
    padding: 19px 15px;
  }
  .lp-park .trouble-card__head {
    flex-wrap: wrap;
    gap: 6px 10px;
  }
  .lp-park .trouble-card__tag {
    padding: 6px 10px;
    font-size: 14px;
  }
  .lp-park .trouble-card__who {
    font-size: 12px;
  }
  .lp-park .trouble-card__steps {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: 4px;
    width: 100%;
  }
  .lp-park .trouble-card__step {
    width: auto;
    padding: 10px 2px;
  }
  .lp-park .trouble-card__step img {
    width: 24px;
    height: 24px;
  }
  .lp-park .trouble-card__step p {
    font-size: 11px;
    letter-spacing: 0;
  }

  /* --- システム・機器 --- */
  .lp-park .system__cards {
    flex-direction: column;
    gap: 20px;
    width: 100%;
  }
  .lp-park .type-card {
    width: 100%;
    height: auto;
  }
  .lp-park .type-card__img {
    height: auto;
    aspect-ratio: 405 / 240;
  }
  .lp-park .type-card__img--gate img,
  .lp-park .type-card__img--camera img {
    left: 5%;
    top: 0;
    width: 90%;
    height: 100%;
  }
  .lp-park .type-card__img--access img {
    left: 0;
    top: -5.8%;
    width: 100%;
    height: 111.3%;
    transform: none;
  }
  .lp-park .type-card__tag {
    font-size: 16px;
  }
  .lp-park .type-card__body {
    gap: 12px;
    padding: 20px 15px 23px;
  }
  .lp-park .type-card__title {
    font-size: 20px;
  }
  .lp-park .type-card__desc {
    min-height: 0;
    font-size: 14px;
  }
  .lp-park .type-card__for-chips {
    flex-wrap: wrap;
  }
  .lp-park .equipment {
    gap: 16px;
    width: 100%;
    padding-top: 48px;
  }
  .lp-park .equipment__title {
    font-size: 20px;
  }
  .lp-park .equipment__strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
  }
  .lp-park .equipment__strip li {
    width: auto;
    gap: 8px;
    padding: 16px 4px;
  }
  .lp-park .equipment__strip li + li {
    margin-left: 0;
  }
  .lp-park .equipment__strip li + li::before {
    display: none;
  }
  .lp-park .equipment__strip li:nth-child(n+4) {
    border-top: 1px solid var(--park-border);
  }
  .lp-park .equipment__strip li:not(:nth-child(3n+1)) {
    border-left: 1px solid var(--park-border);
  }
  .lp-park .equipment__strip img {
    width: 28px;
    height: 28px;
  }
  .lp-park .equipment__strip p {
    font-size: 12px;
    line-height: 1.4;
  }

  /* --- 導入の流れ --- */
  .lp-park .flow__steps {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .lp-park .step-card {
    gap: 12px;
    width: 100%;
    height: auto;
    padding: 19px 15px;
  }
  .lp-park .step-card + .step-card {
    margin-left: 0;
    margin-top: 36px;
  }
  .lp-park .step-card + .step-card::before {
    left: 50%;
    top: -28px;
    transform: translateX(-50%) rotate(90deg);
  }
  .lp-park .step-card__main {
    gap: 8px;
  }
  .lp-park .step-card__num-value {
    font-size: 34px;
  }
  .lp-park .step-card__title {
    font-size: 18px;
  }
  .lp-park .step-card__desc {
    font-size: 14px;
  }
  .lp-park .flow__note {
    padding-top: 24px;
    font-size: 12px;
    text-align: left;
  }

  /* --- 小川電機について --- */
  .lp-park .about {
    padding: 48px 16px;
  }
  .lp-park .about__card {
    gap: 28px;
    width: 100%;
    padding: 32px 16px;
  }
  .lp-park .about__body {
    gap: 28px;
  }
  .lp-park .about__facts {
    flex-direction: column;
    gap: 10px;
  }
  .lp-park .about__fact {
    flex-direction: row;
    justify-content: space-between;
    padding: 13px 20px;
  }
  .lp-park .about__fact-label {
    font-size: 14px;
  }
  .lp-park .about__fact-value {
    font-size: 28px;
  }
  .lp-park .about__row {
    flex-direction: column;
    gap: 20px;
  }
  .lp-park .about__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 420 / 256;
  }
  .lp-park .about__text {
    gap: 12px;
    font-size: 14px;
    letter-spacing: 0.28px;
  }
  .lp-park .seo-box {
    padding: 24px 0;
  }
  .lp-park .seo-box__title {
    font-size: 18px;
    letter-spacing: 0.36px;
  }
  .lp-park .seo-box__text {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.28px;
  }

  /* --- FAQ --- */
  .lp-park .faq__inner {
    gap: 32px;
  }
  .lp-park .faq__list {
    gap: 12px;
    width: 100%;
  }
  .lp-park .faq__q {
    gap: 12px;
    padding: 15px 15px 16px;
  }
  .lp-park .faq__mark {
    font-size: 24px;
  }
  .lp-park .faq__q-text {
    font-size: 15px;
  }
  .lp-park .faq__a {
    gap: 12px;
    padding: 16px 15px 15px;
  }

  /* --- 会社情報 --- */
  .lp-park .company-info__inner {
    gap: 32px;
  }
  .lp-park .company-info__card {
    width: 100%;
    padding: 8px 20px;
  }
  .lp-park .company-info__row {
    flex-direction: column;
    gap: 8px;
    padding: 16px 0;
  }
  .lp-park .company-info__row:last-child {
    border-bottom: none;
  }
  .lp-park .company-info__label {
    width: auto;
    font-size: 14px;
    line-height: 1.4;
  }
  .lp-park .company-info__value,
  .lp-park .company-info__value--multi,
  .lp-park .company-info__value--rep {
    font-size: 14px;
    line-height: 1.6;
  }

  /* --- フッター（トランスLPのSPを移植） --- */
  .lp-park .park-footer__inner {
    height: auto;
    padding: 32px 16px 28px;
  }
  .lp-park .park-footer__logo {
    width: 180px;
    height: auto;
  }
  .lp-park .park-footer__privacy {
    margin-top: 18px;
  }
  .lp-park .park-footer__copyright {
    text-align: center;
  }
}

/* タブレット縦（481〜768px）：1カラムが間延びしないよう本文幅を600pxで止めて中央寄せ */
@media screen and (min-width: 481px) and (max-width: 768px) {
  .lp-park .problem__inner,
  .lp-park .solution__inner,
  .lp-park .reason__inner,
  .lp-park .staff__inner,
  .lp-park .facilities__inner,
  .lp-park .system__inner,
  .lp-park .flow__inner,
  .lp-park .faq__inner,
  .lp-park .company-info__inner,
  .lp-park .mv__content,
  .lp-park .mv__band-inner {
    max-width: 632px;
    margin-inline: auto;
  }
  .lp-park .about__card {
    max-width: 600px;
  }
  .lp-park .reason-card__icon {
    top: calc((min(100vw, 632px) - 32px) * 180 / 405 - 28px);
  }
}
