/* =========================================================
   LE PONT  デザイン
   色：紺 #1E3A5F を1色だけアクセントに使い、白と薄いグレーで構成
   ========================================================= */

:root {
	--lp-ink: #1B1F27;
	--lp-sub: #4A5261;
	--lp-muted: #5F6775;
	--lp-line: #E3E6EB;
	--lp-line-2: #D5DAE1;
	--lp-bg2: #F5F6F8;
	--lp-navy: #1E3A5F;
	--lp-navy-d: #142842;
	--lp-navy-soft: #E8EEF5;
	--lp-idol: #8A2F55;
	--lp-idol-soft: #F5EBF0;
	--lp-soon: #A84B06;
	--lp-soon-soft: #FFF4EA;
	--lp-ok: #1F6B45;
	--lp-ok-soft: #E9F4EE;
	--lp-ng: #A12C2C;
	--lp-ng-soft: #FDECEC;
	--lp-radius: 10px;
	--ark-font_family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
	--ark-letter_spacing: .02em;
}

/* ---------- Arkhe との調整 ---------- */
.lp-screen .l-content__body { margin-top: 0; margin-bottom: 0; }
.lp-main { color: var(--lp-ink); line-height: 1.7; }
.lp-main a { color: var(--lp-navy); }
.lp-main a:hover { color: var(--lp-navy-d); }
.lp-main img { display: block; max-width: 100%; height: auto; }
.lp-main h1, .lp-main h2, .lp-main h3 { margin: 0; line-height: 1.45; }
.lp-main p { margin: 0; }
.lp-main ul, .lp-main ol { margin: 0; }

/* 全幅の帯 */
.lp-full {
	position: relative;
	left: calc(50% - (50vw - var(--ark-scrollbar_width, 0px) / 2));
	width: calc(100vw - var(--ark-scrollbar_width, 0px));
}
.lp-full > .lp-wrap {
	max-width: calc(var(--ark-width--container, 1120px) + var(--ark-padding--container, 24px) * 2);
	padding-right: var(--ark-padding--container, 24px);
	padding-left: var(--ark-padding--container, 24px);
	margin: 0 auto;
}
.lp-page { padding: 20px 0 64px; display: flex; flex-direction: column; gap: 28px; }

/* ---------- ヘッダー ---------- */
.lp-logo { display: flex; align-items: center; gap: 10px; color: var(--lp-ink); text-decoration: none; }
.lp-logo svg { color: var(--lp-navy); flex: 0 0 auto; }
.lp-logo__text { display: flex; flex-direction: column; line-height: 1.1; }
.lp-logo__name { font-family: "Cormorant Garamond", serif; font-size: 26px; font-weight: 600; letter-spacing: .08em; }
.lp-logo__sub { font-size: 11px; color: var(--lp-muted); letter-spacing: .05em; }
.lp-head-cta {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; margin-left: 12px;
	border-radius: 8px; background: var(--lp-navy); color: #fff !important; text-decoration: none;
	font-size: 14px; font-weight: 700; white-space: nowrap;
}
.lp-head-cta:hover { background: var(--lp-navy-d); }
@media (max-width: 999px) { .lp-head-cta { display: none; } }

/* ---------- 共通パーツ ---------- */
.lp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	min-height: 44px; padding: 0 24px; border: 0; border-radius: 8px;
	background: var(--lp-navy); color: #fff !important; font: inherit; font-size: 15px; font-weight: 700;
	text-decoration: none; cursor: pointer;
}
.lp-btn:hover { background: var(--lp-navy-d); }
.lp-btn--l { min-height: 52px; font-size: 16px; padding: 0 32px; }
.lp-btn--block { display: flex; width: 100%; }
.lp-btn--white { background: #fff; color: var(--lp-navy) !important; }
.lp-btn--white:hover { background: var(--lp-navy-soft); }
.lp-btn--ghost { background: #fff; color: var(--lp-ink) !important; border: 1px solid var(--lp-line-2); }
.lp-btn--ghost:hover { background: var(--lp-bg2); border-color: var(--lp-navy); }

.lp-more { font-size: 14px; font-weight: 700; text-decoration: none; }
.lp-note { font-size: 12px; color: var(--lp-muted); }
.lp-empty { padding: 24px; border: 1px dashed var(--lp-line-2); border-radius: var(--lp-radius); color: var(--lp-sub); font-size: 14px; display: flex; flex-direction: column; gap: 8px; }
.lp-label { font-size: 13px; font-weight: 700; color: var(--lp-sub); }
.lp-box { padding: 20px; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); }
.lp-h1 { font-size: clamp(24px, 3.2vw, 30px); font-weight: 700; }
.lp-h2 { font-size: 20px; font-weight: 700; padding-bottom: 8px; border-bottom: 2px solid var(--lp-navy); margin-bottom: 16px !important; }

.lp-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.lp-tag { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; line-height: 1.6; padding: 2px 10px; border-radius: 4px; }
.lp-tag--vtuber, .lp-tag--open { background: var(--lp-navy-soft); color: var(--lp-navy); }
.lp-tag--idol { background: var(--lp-idol-soft); color: var(--lp-idol); }
.lp-tag--soon { background: var(--lp-soon-soft); color: var(--lp-soon); }
.lp-tag--free { background: var(--lp-ok-soft); color: var(--lp-ok); }
.lp-tag--fee { background: var(--lp-ng-soft); color: var(--lp-ng); }
.lp-tag--ended { background: #EEF0F3; color: var(--lp-sub); }
.lp-pr { font-size: 11px; font-weight: 700; padding: 1px 8px; border-radius: 4px; border: 1px solid var(--lp-muted); color: var(--lp-sub); background: #fff; }
.lp-date { font-size: 12px; color: var(--lp-muted); }

.lp-noimg { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #9AA8BA; background: var(--lp-navy-soft); }

/* パンくず */
.lp-bc ol { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; padding: 0; margin: 0; font-size: 13px; color: var(--lp-muted); }
.lp-bc li + li::before { content: "＞"; margin-right: 4px; }

/* 2カラム */
.lp-2col { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.lp-2col__main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.lp-2col__side { flex: 1 1 280px; max-width: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 16px; }
@media (max-width: 899px) { .lp-2col--left { flex-direction: column-reverse; } .lp-2col--left > * { flex-basis: auto; width: 100%; } }

.lp-side-box { display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 1px solid var(--lp-line); border-radius: 12px; background: #fff; font-size: 14px; }
.lp-side-box h2 { font-size: 16px; font-weight: 700; }
.lp-side-box ul { padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.lp-side-box--gray, aside.lp-side-box:not(.lp-apply) { background: var(--lp-bg2); }
.lp-dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; margin: 0; }
.lp-dl dt { color: var(--lp-muted); }
.lp-dl dd { margin: 0; overflow-wrap: anywhere; }

/* ---------- カード ---------- */
.lp-card {
	display: flex; flex-direction: column; overflow: hidden; height: 100%;
	border: 1px solid var(--lp-line); border-radius: var(--lp-radius); background: #fff;
	color: var(--lp-ink) !important; text-decoration: none; transition: border-color .15s;
}
.lp-card:hover { border-color: var(--lp-navy); }
.lp-card__img { aspect-ratio: 16 / 9; background: var(--lp-navy-soft); overflow: hidden; }
.lp-card__img img { width: 100%; height: 100%; object-fit: cover; }
.lp-card__body { display: flex; flex-direction: column; gap: 10px; padding: 16px 20px 20px; }
.lp-card__title { font-size: 17px !important; font-weight: 700; line-height: 1.5 !important; }
.lp-card__title--s { font-size: 16px !important; }
.lp-card__sub { font-size: 13px; color: var(--lp-sub); }
.lp-card__meta { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 13px; margin: 0; }
.lp-card__meta dt { color: var(--lp-muted); }
.lp-card__meta dd { margin: 0; }

.lp-card--h { flex-direction: row; flex-wrap: wrap; }
.lp-card--h .lp-card__img { flex: 1 1 200px; min-width: 0; }
.lp-card--h .lp-card__body { flex: 1.4 1 240px; gap: 8px; padding: 16px 20px; }

.lp-grid-l { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 16px; }
.lp-grid-s { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 480px), 1fr)); gap: 16px; }

/* 一覧の行カード */
.lp-rows { display: flex; flex-direction: column; gap: 16px; }
.lp-row {
	display: flex; flex-wrap: wrap; overflow: hidden; border: 1px solid var(--lp-line); border-radius: var(--lp-radius);
	background: #fff; color: var(--lp-ink) !important; text-decoration: none;
}
.lp-row:hover { border-color: var(--lp-navy); }
.lp-row__img { flex: 1 1 240px; min-width: 0; aspect-ratio: 16 / 9; background: var(--lp-navy-soft); }
.lp-row__img img { width: 100%; height: 100%; object-fit: cover; }
.lp-row__body { flex: 2 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; }
.lp-row__title { font-size: 18px !important; font-weight: 700; line-height: 1.5 !important; }
.lp-row__meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px 16px; font-size: 13px; padding-top: 10px; border-top: 1px solid #EEF0F3; margin: 0; }
.lp-row__meta dt { color: var(--lp-muted); }
.lp-row__meta dd { margin: 0; font-weight: 500; }

/* ---------- トップ ---------- */
.lp-hero { background: var(--lp-bg2); border-bottom: 1px solid var(--lp-line); }
.lp-hero__inner { padding-top: 64px; padding-bottom: 56px; display: flex; flex-direction: column; gap: 28px; }
.lp-hero__text { display: flex; flex-direction: column; gap: 12px; max-width: 760px; }
.lp-eyebrow { font-size: 14px; font-weight: 700; color: var(--lp-navy); letter-spacing: .08em; }
.lp-hero__title { font-size: clamp(24px, 3.6vw, 36px) !important; font-weight: 700; line-height: 1.4 !important; }
.lp-hero__lead { font-size: 16px; color: var(--lp-sub); }
@media (max-width: 599px) { .lp-hero__inner { padding-top: 40px; padding-bottom: 40px; } .lp-hero__title br { display: none; } }

.lp-search { display: flex; flex-wrap: wrap; gap: 12px; padding: 16px; background: #fff; border: 1px solid var(--lp-line); border-radius: 12px; }
.lp-search__f { display: flex; flex-direction: column; gap: 4px; flex: 1 1 160px; font-size: 12px; font-weight: 700; color: var(--lp-sub); }
.lp-search__f--kw { flex: 2 1 260px; }
.lp-search .lp-btn { align-self: flex-end; flex: 0 0 auto; }
@media (max-width: 599px) { .lp-search .lp-btn { flex: 1 1 100%; } }

:is(.lp-main, .lp-post) :is(input[type="text"], input[type="url"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], select, textarea) {
	min-height: 44px; padding: 0 12px; border: 1px solid var(--lp-line-2); border-radius: 8px;
	font: inherit; font-size: 15px; font-weight: 400; color: var(--lp-ink); background: #fff; width: 100%; box-sizing: border-box;
}
:is(.lp-main, .lp-post) textarea[name] { padding: 10px 12px; min-height: 140px; resize: vertical; }
:is(.lp-main, .lp-post) :is(input, select, textarea):focus { outline: 2px solid var(--lp-navy); outline-offset: 1px; }

.lp-genre-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; }
.lp-genre-card {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 24px;
	background: #fff; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); color: var(--lp-ink) !important; text-decoration: none;
}
.lp-genre-card:hover { border-color: var(--lp-navy); }
.lp-genre-card > span:first-child { display: flex; flex-direction: column; gap: 4px; }
.lp-genre-card strong { font-size: 20px; }
.lp-genre-card small { font-size: 14px; color: var(--lp-sub); }
.lp-genre-card .lp-more { color: var(--lp-navy); }

.lp-trust { border-bottom: 1px solid var(--lp-line); }
.lp-trust__inner { padding-top: 28px; padding-bottom: 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 20px; }
.lp-trust__item { display: flex; gap: 12px; align-items: flex-start; }
.lp-trust__item svg { color: var(--lp-navy); flex: 0 0 auto; margin-top: 2px; }
.lp-trust__item div { display: flex; flex-direction: column; gap: 2px; }
.lp-trust__item strong { font-size: 15px; }
.lp-trust__item span { font-size: 13px; color: var(--lp-sub); }

.lp-sec { display: flex; flex-direction: column; gap: 20px; padding-top: 48px; }
.lp-main > .lp-wrap > .lp-sec:last-child { padding-bottom: 56px; }
.lp-sec__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; }
.lp-sec__title { font-size: 24px !important; font-weight: 700; }
.lp-sec__title--s { font-size: 20px !important; }

.lp-band-gray { background: var(--lp-bg2); border-top: 1px solid var(--lp-line); border-bottom: 1px solid var(--lp-line); }
.lp-cond { padding-top: 56px; padding-bottom: 56px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 40px; }
.lp-cond__search { display: flex; flex-direction: column; gap: 14px; }
.lp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lp-chip {
	display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px;
	border: 1px solid var(--lp-line-2); border-radius: 999px; background: #fff;
	font-size: 14px; color: var(--lp-ink) !important; text-decoration: none;
}
.lp-chip:hover { border-color: var(--lp-navy); color: var(--lp-navy) !important; }
.lp-policy-box { display: flex; flex-direction: column; gap: 16px; padding: 28px; background: #fff; border: 1px solid var(--lp-line); border-radius: 12px; font-size: 14px; }
.lp-policy-box ul { padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.lp-policy-box > p { color: var(--lp-sub); }
.lp-free-note { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 8px; background: var(--lp-ok-soft); }
.lp-free-note strong { color: var(--lp-ok); }
.lp-free-note span { font-size: 13px; }
.lp-links { display: flex; flex-wrap: wrap; gap: 8px 20px; font-weight: 700; }

.lp-cta { background: var(--lp-navy); }
.lp-cta__inner { padding-top: 48px; padding-bottom: 48px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; color: #fff; }
.lp-cta__inner > div { display: flex; flex-direction: column; gap: 6px; max-width: 720px; }
.lp-cta h2 { font-size: 22px !important; color: #fff; }
.lp-cta p { font-size: 14px; color: #D9E2EC; }

/* ---------- 一覧 ---------- */
.lp-page-head { display: flex; flex-direction: column; gap: 10px; max-width: 820px; }
.lp-intro { font-size: 15px; color: var(--lp-sub); }
.lp-intro p + p { margin-top: .6em; }

.lp-filter { padding: 4px 20px 20px; border: 1px solid var(--lp-line); border-radius: 12px; background: var(--lp-bg2); }
.lp-filter form { display: flex; flex-direction: column; }
.lp-filter fieldset { border: 0; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--lp-line); display: flex; flex-direction: column; }
.lp-filter legend { font-size: 14px; font-weight: 700; padding: 0; margin-bottom: 6px; float: left; width: 100%; }
.lp-filter__kw, .lp-filter__sel { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--lp-sub); margin-top: 12px; }
.lp-filter .lp-btn { margin-top: 16px; }

.lp-ck { display: flex; align-items: center; gap: 8px; font-size: 14px; min-height: 32px; cursor: pointer; }
.lp-ck input { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; accent-color: var(--lp-navy); }

.lp-list-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.lp-count { font-size: 14px; color: var(--lp-sub); }
.lp-count strong { font-size: 20px; color: var(--lp-ink); }
.lp-sort { display: flex; border: 1px solid var(--lp-line-2); border-radius: 8px; overflow: hidden; }
.lp-sort a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; font-size: 13px; font-weight: 700; color: var(--lp-ink) !important; text-decoration: none; background: #fff; }
.lp-sort a + a { border-left: 1px solid var(--lp-line-2); }
.lp-sort a[aria-current] { background: var(--lp-navy); color: #fff !important; }

.lp-pager { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; padding-top: 8px; }
.lp-pager .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 8px;
	border: 1px solid var(--lp-line-2); border-radius: 8px; text-decoration: none; color: var(--lp-ink); font-size: 14px; box-sizing: border-box;
}
.lp-pager .page-numbers.current { background: var(--lp-navy); color: #fff; border-color: var(--lp-navy); }
.lp-pager .page-numbers.dots { border: 0; }

.lp-related-links { display: flex; flex-direction: column; gap: 12px; }
.lp-related-links h2 { font-size: 16px; font-weight: 700; }
.lp-related-links div { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; }

/* ---------- 詳細 ---------- */
.lp-detail { gap: 28px; }
.lp-detail__head { display: flex; flex-direction: column; gap: 12px; }
.lp-detail__meta { font-size: 14px; color: var(--lp-muted); }
.lp-detail__meta span { margin: 0 6px; }
.lp-detail__img { aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: var(--lp-navy-soft); }
.lp-detail__img img { width: 100%; height: 100%; object-fit: cover; }
.lp-table { border-collapse: collapse; width: 100%; border-top: 1px solid var(--lp-line); margin: 0; }
.lp-table th { width: 150px; text-align: left; vertical-align: top; font-weight: 700; font-size: 14px; color: var(--lp-sub); padding: 14px 16px; background: var(--lp-bg2); border: 0; border-bottom: 1px solid var(--lp-line); }
.lp-table td { font-size: 15px; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--lp-line); }
@media (max-width: 599px) {
	.lp-table th, .lp-table td { display: block; width: auto; }
	.lp-table th { border-bottom: 0; padding-bottom: 6px; }
}
.lp-content { font-size: 15px; }
.lp-content p + p { margin-top: 1em; }

.lp-detail__side { position: sticky; top: calc(var(--ark-header_height--fixed, 0px) + 24px); }
@media (max-width: 899px) { .lp-detail__side { position: static; } }
.lp-apply__dl { display: flex; flex-direction: column; gap: 2px; }
.lp-apply__dl span { font-size: 13px; color: var(--lp-muted); }
.lp-apply__dl strong { font-size: 22px; }
.lp-apply__dl em { font-style: normal; font-size: 13px; font-weight: 700; color: var(--lp-soon); }
.lp-fav svg { color: var(--lp-muted); }
.lp-fav[aria-pressed="true"] { border-color: var(--lp-navy); color: var(--lp-navy) !important; }
.lp-fav[aria-pressed="true"] svg { color: var(--lp-navy); fill: var(--lp-navy); }
.lp-verified { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 8px; background: var(--lp-ok-soft); color: var(--lp-ok); font-size: 13px; font-weight: 700; }

.lp-alert { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: var(--lp-radius); border: 1px solid var(--lp-line); font-size: 14px; }
.lp-alert ul { padding-left: 20px; }
.lp-alert--info { flex-direction: row; gap: 12px; background: var(--lp-bg2); }
.lp-alert--info svg { color: var(--lp-navy); flex: 0 0 auto; margin-top: 2px; }
.lp-alert--info div { display: flex; flex-direction: column; gap: 6px; }
.lp-alert--info p { color: var(--lp-sub); }
.lp-alert--ended { background: #EEF0F3; }
.lp-alert--ok { background: var(--lp-ok-soft); border-color: #BFE0CC; color: var(--lp-ok); }
.lp-alert--ok p { color: var(--lp-ink); }
.lp-alert--err { background: var(--lp-ng-soft); border-color: #F2C4C4; color: var(--lp-ng); }

/* ---------- 主催者 ---------- */
.lp-agency-head { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; }
.lp-agency-head__img { flex: 1 1 320px; max-width: 480px; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: var(--lp-navy-soft); }
.lp-agency-head__img img { width: 100%; height: 100%; object-fit: cover; }
.lp-agency-head__body { flex: 2 1 360px; display: flex; flex-direction: column; gap: 12px; }
.lp-agency-head__count { font-size: 14px; color: var(--lp-sub); }
.lp-agency-head__count strong { color: var(--lp-ink); }
.lp-sns { display: flex; flex-wrap: wrap; gap: 8px; }
.lp-sns a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--lp-line-2); border-radius: 8px; font-size: 14px; font-weight: 500; color: var(--lp-ink) !important; text-decoration: none; }
.lp-sns a:hover { border-color: var(--lp-navy); color: var(--lp-navy) !important; }
.lp-past { list-style: none; padding: 0 !important; border-top: 1px solid var(--lp-line); }
.lp-past a { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; padding: 14px 4px; border-bottom: 1px solid var(--lp-line); color: var(--lp-ink) !important; text-decoration: none; }
.lp-past__title { font-size: 15px; font-weight: 700; flex: 1 1 280px; }
.lp-past__term { font-size: 13px; color: var(--lp-sub); }
.lp-agency-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; }
.lp-agency-cta > div { display: flex; flex-direction: column; gap: 4px; }
.lp-agency-cta span { font-size: 14px; color: var(--lp-sub); }

/* ---------- 掲載依頼フォーム ---------- */
.lp-post { display: flex; flex-direction: column; gap: 28px; margin-top: 8px; }
.lp-flow { list-style: none; padding: 0 !important; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px; }
.lp-flow li { display: flex; flex-direction: column; gap: 4px; padding: 16px; background: var(--lp-bg2); border-radius: var(--lp-radius); font-size: 13px; color: var(--lp-sub); margin: 0; }
.lp-flow strong { font-size: 15px; color: var(--lp-ink); }
.lp-flow__n { font-size: 12px; font-weight: 700; color: var(--lp-navy); }
.lp-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.lp-plan { display: flex; flex-direction: column; gap: 8px; padding: 24px; border: 1px solid var(--lp-line); border-radius: 12px; background: var(--lp-bg2); font-size: 14px; }
.lp-plan--free { border: 2px solid var(--lp-navy); background: #fff; }
.lp-plan__name { font-size: 13px; font-weight: 700; color: var(--lp-navy); }
.lp-plan__price { font-size: 26px; font-weight: 700; }
.lp-plan__price small { font-size: 14px; font-weight: 500; color: var(--lp-sub); }
.lp-plan ul { padding-left: 20px; display: flex; flex-direction: column; gap: 4px; margin: 0; }

.lp-form { display: flex; flex-direction: column; gap: 28px; }
.lp-form__sec { display: flex; flex-direction: column; gap: 16px; }
.lp-f { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 700; }
.lp-f--bottom { justify-content: flex-end; min-height: 44px; }
.lp-f__note { font-size: 12px; font-weight: 400; color: var(--lp-muted); }
.lp-f input[type="file"] { padding-top: 9px; min-height: 44px; }
.lp-req { font-size: 11px; font-weight: 700; color: #fff; background: var(--lp-ng); border-radius: 3px; padding: 1px 6px; margin-left: 6px; vertical-align: 1px; }
.lp-fs { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lp-fs legend { padding: 0; font-size: 14px; font-weight: 700; margin-bottom: 6px; }
.lp-checks { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.lp-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.lp-grid3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 16px; }
.lp-form .lp-box .lp-ck { align-items: flex-start; }
.lp-form .lp-box .lp-ck input { margin-top: 3px; }
.lp-form > .lp-btn { align-self: flex-start; }
.lp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* お気に入りページ */
.lp-favs { display: flex; flex-direction: column; gap: 16px; }
.lp-favs__list { display: flex; flex-direction: column; gap: 16px; }
