/* ==========================================================================
   LP v4（ハツキャリ型・レッド基調）
   参照LPの実測値（ヘッダー110px / コンテナ1240px / 角丸20・50・90px /
   数字フォントFigtree / 楕円の区切り）をそのまま採用し、配色を赤パレットへ置換。
   モバイルファースト: 基本=スマホ値、768px〜でタブレット、1025px〜でPC値。
   ========================================================================== */

.lp4-page {
	--lp4-red: #d72c21;
	--lp4-red-dark: #b32118;
	--lp4-red-deep: #8a120d;
	--lp4-yellow: #ffc400;
	--lp4-tint: #f5d5ce;
	--lp4-light: #f8dfda;
	--lp4-line: #e9cdc8;
	--lp4-ink: #1a1a1a;
	--lp4-num-font: "Figtree", "Noto Sans JP", sans-serif;
	--lp4-arrow-red: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 1l4 4-4 4' fill='none' stroke='%23d72c21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--lp4-arrow-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 1l4 4-4 4' fill='none' stroke='%23b32118' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--lp4-arrow-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 1l4 4-4 4' fill='none' stroke='%231a1a1a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--lp4-arrow-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 1l4 4-4 4' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	font-feature-settings: "palt";
	color: var(--lp4-ink);
	background: #fff;
	overflow-x: hidden;
}

.lp4-page--fixed {
	padding-top: 55px;
}

/* サイト共通 .site-main の 1024px 制限を解除してフルブリードにする */
.lp4-main {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	overflow-x: clip;
}

/* 要素リセットは :where で詳細度を下げ、各ブロックの margin 指定（.lp4-xxx__hd 等）が勝つようにする */
.lp4-main :where(p, h1, h2, h3, ul, li),
.lp4-header :where(p, ul, li),
.lp4-footer :where(p, ul, li) {
	margin: 0;
}

.lp4-main :where(ul, li),
.lp4-header :where(ul, li),
.lp4-footer :where(ul, li) {
	list-style: none;
	padding: 0;
}

.lp4-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

.lp4-num {
	font-family: var(--lp4-num-font);
	font-weight: 700;
}

.lp4-icon {
	display: block;
	width: 100%;
	height: auto;
}

/* ボタンのラベルは折り返さない（design-rules.md §4.8） */
.lp4-btn,
.lp4-want__link,
.lp4-support__btn a,
.lp4-works__btn a,
.lp4-column__btn a,
.lp4-faq__btn a,
.lp4-header__btn-wh,
.lp4-header__btn-bl {
	white-space: nowrap;
	text-decoration: none;
}

/* 表示アニメーション */

.lp4-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.lp4-reveal.is-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {

	.lp4-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   ヘッダー（参照 #header: 固定・白・下線・110px）
   -------------------------------------------------------------------------- */

.lp4-header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background: #fff;
	border-bottom: 1px solid var(--lp4-line);
	z-index: 99;
}

.lp4-header__in {
	height: 55px;
	padding: 6px 20px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.lp4-header__brand {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px 12px;
}

.lp4-header__logo {
	width: min(120px, 32vw);
	flex-shrink: 0;
	font-size: 0;
	position: relative;
	z-index: 90;
}

.lp4-header__logo a {
	display: block;
}

.lp4-header__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.lp4-header__cap {
	font-size: min(11px, 2.94vw);
	font-weight: 400;
	color: var(--lp4-red-dark);
}

.lp4-header__mess {
	display: none;
}

.lp4-header__btn-wh,
.lp4-header__btn-bl {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 180px;
	height: 42px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	border-radius: 30px;
	transition: background 0.2s, color 0.2s, opacity 0.2s;
}

.lp4-header__btn-wh {
	background: #fff;
	border: 2px solid var(--lp4-red-dark);
	color: var(--lp4-red-dark);
}

.lp4-header__btn-wh:hover {
	background: var(--lp4-red-dark);
	color: #fff;
}

.lp4-header__btn-bl {
	background: var(--lp4-red-dark);
	border: 2px solid var(--lp4-red-dark);
	color: #fff;
}

.lp4-header__btn-bl:hover {
	background: #fff;
	color: var(--lp4-red-dark);
}

/* ハンバーガー（スマホ） */

.lp4-header__toggle {
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	padding: 0;
	position: relative;
	cursor: pointer;
	z-index: 90;
}

.lp4-header__navline {
	position: absolute;
	left: 10px;
	width: 24px;
	height: 2px;
	background: var(--lp4-red-dark);
	border-radius: 2px;
	transition: transform 0.3s, top 0.3s;
}

.lp4-header__navline:nth-child(1) {
	top: 17px;
}

.lp4-header__navline:nth-child(2) {
	top: 25px;
}

.lp4-header.is-open .lp4-header__navline:nth-child(1) {
	top: 21px;
	transform: rotate(45deg);
}

.lp4-header.is-open .lp4-header__navline:nth-child(2) {
	top: 21px;
	transform: rotate(-45deg);
}

.lp4-navbar {
	display: none;
	position: fixed;
	left: 0;
	top: 55px;
	width: 100%;
	height: calc(100vh - 55px);
	background: #fff;
	padding: 24px 20px 40px;
	overflow-y: auto;
}

.lp4-header.is-open .lp4-navbar {
	display: block;
}

.lp4-lock {
	overflow: hidden;
}

.lp4-navbar__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0 0 24px;
}

.lp4-navbar__list a {
	display: block;
	padding: 14px 0;
	border-bottom: 1px solid var(--lp4-line);
	font-size: 15px;
	font-weight: 700;
	color: var(--lp4-ink);
	text-decoration: none;
}

.lp4-navbar__btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.lp4-navbar__btn a {
	width: 100%;
	max-width: 320px;
	height: 50px;
}

/* --------------------------------------------------------------------------
   ヒーロー（参照 .top_main）
   -------------------------------------------------------------------------- */

.lp4-hero {
	padding: 30px 20px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	z-index: 1;
}

.lp4-hero__title {
	position: relative;
	text-align: center;
	font-size: clamp(30px, 7.6vw, 86px);
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: var(--lp4-red-dark);
	padding: 12px 0 0 0.3em;
}

.lp4-hero__spark {
	position: absolute;
	left: -0.1em;
	top: 0;
	font-size: 0.45em;
	color: var(--lp4-yellow);
	line-height: 1;
}

.lp4-hero__txt {
	margin: 10px 0 0;
	text-align: center;
	font-size: 12px;
	line-height: 1.73;
	color: var(--lp4-red-dark);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.lp4-hero__btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 17px 0 0;
}

/* ピルCTA（白い丸矢印付き）: 参照 .main_btn a */

.lp4-btn {
	width: 270px;
	height: 50px;
	padding: 0 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	position: relative;
	border-radius: 60px;
	transition: opacity 0.2s;
}

.lp4-btn:hover {
	opacity: 0.6;
}

.lp4-btn::before {
	position: absolute;
	content: "";
	background-color: #fff;
	width: 18px;
	height: 18px;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 10px 10px;
	border-radius: 50%;
}

.lp4-btn--red {
	background: var(--lp4-red);
}

.lp4-btn--red::before {
	background-image: var(--lp4-arrow-red);
}

.lp4-btn--yellow {
	background: var(--lp4-yellow);
	color: var(--lp4-ink);
}

.lp4-btn--yellow::before {
	background-color: var(--lp4-ink);
	background-image: var(--lp4-arrow-white);
}

/* --------------------------------------------------------------------------
   人物モザイク（参照 .top_vary: 13枚の角丸タイルを中央基準で絶対配置）
   -------------------------------------------------------------------------- */

.lp4-vary {
	height: 371px;
	margin: -60px 0 0;
	position: relative;
	overflow: hidden;
}

.lp4-tile {
	position: absolute;
	width: 97px;
	aspect-ratio: 230 / 334;
	border-radius: 12px;
	overflow: hidden;
	z-index: 1;
}

.lp4-tile--red {
	background: var(--lp4-red);
}

.lp4-tile--dark {
	background: var(--lp4-red-dark);
}

.lp4-tile--deep {
	background: var(--lp4-red-deep);
}

.lp4-tile--tint {
	background: var(--lp4-tint);
}

.lp4-tile__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.lp4-tile__label {
	position: absolute;
	right: 8px;
	top: 10px;
	writing-mode: vertical-rl;
	font-family: var(--lp4-num-font);
	font-size: 7px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--lp4-red);
	text-shadow: 0 0 2px #fff, 0 0 6px rgba(255, 255, 255, 0.9);
	z-index: 1;
}

.lp4-pos01 { left: calc(50% - 48px); top: 117px; }
.lp4-pos02 { right: calc(50% + 61px); top: 78px; }
.lp4-pos03 { left: calc(50% + 61px); top: 78px; }
.lp4-pos04 { right: calc(50% + 61px); bottom: 0; }
.lp4-pos05 { left: calc(50% + 61px); bottom: 0; }
.lp4-pos06 { right: calc(50% + 167px); top: 39px; }
.lp4-pos07 { left: calc(50% + 167px); top: 39px; }
.lp4-pos08 { right: calc(50% + 167px); top: 191px; }
.lp4-pos09 { left: calc(50% + 167px); top: 191px; }
.lp4-pos10 { right: calc(50% + 274px); top: 0; }
.lp4-pos11 { left: calc(50% + 274px); top: 0; }
.lp4-pos12 { right: calc(50% + 274px); top: 154px; }
.lp4-pos13 { left: calc(50% + 274px); top: 154px; }

/* --------------------------------------------------------------------------
   メッセージ（参照 .top_future: 楕円の青ブロック → 赤）
   -------------------------------------------------------------------------- */

.lp4-future {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 50px 20px;
	margin: -130px 0 0;
	position: relative;
	z-index: 1;
	font-feature-settings: normal;
}

.lp4-future::before {
	position: absolute;
	content: "";
	background: var(--lp4-red);
	width: 200%;
	height: 100%;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	border-radius: 50%;
	z-index: 0;
}

.lp4-future__in {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.lp4-future__hd {
	font-size: 24px;
	color: var(--lp4-yellow);
	font-weight: 900;
	line-height: 1.33;
}

.lp4-future__det {
	color: var(--lp4-yellow);
	font-size: 11px;
	font-weight: 900;
	line-height: 1.5;
	margin: 5px 0 0;
}

.lp4-wave {
	display: flex;
	justify-content: flex-start;
	margin: 10px 0 0;
	width: 100%;
	max-width: 230px;
}

.lp4-wave svg {
	display: block;
	width: 100%;
	height: auto;
}

.lp4-wave--center {
	justify-content: center;
}

.lp4-future__txt {
	text-align: center;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.85;
	margin: 20px 0 0;
	font-feature-settings: "palt";
}

.lp4-future__brand {
	color: var(--lp4-yellow);
	font-size: 1.25em;
	font-weight: 900;
	margin: 0 2px 0 0;
}

/* --------------------------------------------------------------------------
   強み（参照 .top_advantage）
   -------------------------------------------------------------------------- */

.lp4-advantage {
	background: var(--lp4-light);
	padding: 20vw 0 15.2vw;
	margin: -7.34vw 0 0;
}

.lp4-advantage .lp4-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.lp4-advantage__hd {
	position: relative;
	display: flex;
	align-items: flex-end;
	gap: 8px;
	padding: 0 0 0 45px;
	margin: 16px 0 28px;
	line-height: 1;
}

.lp4-advantage__pop {
	position: absolute;
	left: 0;
	top: -20px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--lp4-ink);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 9px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--lp4-ink);
	transform: rotate(-10deg);
	z-index: 1;
}

.lp4-advantage__pop::after {
	content: "";
	position: absolute;
	right: -6px;
	bottom: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--lp4-yellow);
	z-index: -1;
}

.lp4-advantage__num {
	font-size: 84px;
	line-height: 0.85;
	color: var(--lp4-red);
	letter-spacing: -0.04em;
}

.lp4-advantage__hdtxt {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-bottom: 2px;
}

.lp4-advantage__brand {
	font-size: 14px;
	font-weight: 700;
	color: var(--lp4-red-dark);
	letter-spacing: 0.04em;
}

.lp4-advantage__unit {
	font-size: 28px;
	font-weight: 900;
	color: var(--lp4-ink);
	letter-spacing: -0.02em;
}

.lp4-advantage__det {
	margin: 0 0 40px;
	padding: 0 35px;
	text-align: center;
	line-height: 1.77;
	font-size: 13px;
	position: relative;
}

/* ＼ ／ の斜線（参照 left_slash / right_slash 画像をCSS化） */

.lp4-advantage__det::before,
.lp4-advantage__det::after,
.lp4-want__cap::before,
.lp4-want__cap::after {
	position: absolute;
	content: "";
	width: 2px;
	height: 40px;
	background: currentColor;
	border-radius: 2px;
	bottom: 0;
}

.lp4-advantage__det::before,
.lp4-want__cap::before {
	left: 10px;
	transform: rotate(-24deg);
}

.lp4-advantage__det::after,
.lp4-want__cap::after {
	right: 10px;
	transform: rotate(24deg);
}

.lp4-advantage__det::before,
.lp4-advantage__det::after {
	color: var(--lp4-red-dark);
	left: 0;
}

.lp4-advantage__det::after {
	left: auto;
	right: 0;
}

.lp4-advantage__box {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
}

.lp4-advantage__item {
	width: 100%;
	padding: 35px 20px;
	background: #fff;
	border: 1px solid var(--lp4-red-dark);
}

.lp4-advantage__item--lt,
.lp4-advantage__item--lb {
	border-radius: 45px 45px 0 45px;
}

.lp4-advantage__item--rt,
.lp4-advantage__item--rb {
	border-radius: 45px 45px 45px 0;
}

.lp4-advantage__mess {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 12px;
	padding: 0 0 0 20px;
	margin: 0 0 20px;
}

.lp4-advantage__item--rt .lp4-advantage__mess,
.lp4-advantage__item--rb .lp4-advantage__mess {
	flex-direction: row-reverse;
	justify-content: space-between;
	padding: 0 10px 0 0;
}

.lp4-advantage__itemnum {
	font-size: 43px;
	width: 80px;
	color: var(--lp4-red-dark);
	line-height: 1.1;
	flex-shrink: 0;
	position: relative;
}

.lp4-advantage__item--rt .lp4-advantage__itemnum,
.lp4-advantage__item--rb .lp4-advantage__itemnum {
	width: auto;
}

.lp4-advantage__numcap {
	position: absolute;
	left: 0;
	bottom: 100%;
	font-size: 11px;
	line-height: 1;
	color: var(--lp4-red-dark);
	padding: 0 0 0 8px;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	white-space: nowrap;
}

.lp4-advantage__numcap::before {
	position: absolute;
	content: "";
	background: var(--lp4-red-dark);
	width: 4px;
	height: 4px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.lp4-advantage__tit {
	font-size: 15px;
	line-height: 1.6;
	color: var(--lp4-red-dark);
	font-weight: 900;
}

.lp4-advantage__cont {
	padding: 0 0 0 100px;
	position: relative;
	min-height: 84px;
}

.lp4-advantage__cont--rev {
	padding: 0 100px 0 0;
}

.lp4-advantage__img {
	position: absolute;
	left: 0;
	top: 0;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	background: var(--lp4-light);
	padding: 10px;
}

.lp4-advantage__cont--rev .lp4-advantage__img {
	left: auto;
	right: 0;
}

.lp4-advantage__txt {
	line-height: 1.67;
	font-size: 12px;
}

/* --------------------------------------------------------------------------
   不安訴求（参照 .top_want: 楕円で上辺を丸めた赤ブロック）
   -------------------------------------------------------------------------- */

.lp4-want {
	background: var(--lp4-red);
	padding: 15px 0 60px;
	position: relative;
}

.lp4-want::before {
	position: absolute;
	content: "";
	background: var(--lp4-red);
	width: 130%;
	height: 31.93vw;
	left: 50%;
	transform: translateX(-50%);
	top: -6vw;
	border-radius: 50%;
	z-index: 0;
}

.lp4-want .lp4-inner {
	position: relative;
	z-index: 1;
}

.lp4-want__hd {
	margin: 0 0 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 5px;
	font-weight: 900;
	color: var(--lp4-yellow);
	line-height: 1.27;
}

.lp4-want__lar {
	font-size: 26px;
}

.lp4-want__sml {
	font-size: 16px;
}

.lp4-want__txt {
	color: #fff;
	line-height: 2;
	text-align: center;
	margin: 0 0 30px;
	font-size: 13px;
}

.lp4-want__btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 25px;
}

.lp4-want__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.lp4-want__cap {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	color: var(--lp4-yellow);
	line-height: 1.25;
	padding: 0 30px;
	text-align: center;
	position: relative;
	font-size: 12px;
	min-height: 30px;
}

.lp4-want__cap::before,
.lp4-want__cap::after {
	height: 29px;
	bottom: -2px;
	left: 0;
}

.lp4-want__cap::after {
	left: auto;
	right: 0;
}

.lp4-want__link {
	width: 270px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0 56px 0 24px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.18;
	border-radius: 50px;
	position: relative;
	transition: opacity 0.2s;
}

.lp4-want__link:hover {
	opacity: 0.7;
}

.lp4-want__link::before {
	position: absolute;
	content: "";
	width: 30px;
	height: 30px;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 14px 14px;
	border-radius: 50%;
}

.lp4-want__link--yellow {
	background: var(--lp4-yellow);
	color: var(--lp4-ink);
}

.lp4-want__link--yellow::before {
	background-color: var(--lp4-ink);
	background-image: var(--lp4-arrow-white);
}

.lp4-want__link--white {
	background: #fff;
	color: var(--lp4-red);
}

.lp4-want__link--white::before {
	background-color: var(--lp4-red);
	background-image: var(--lp4-arrow-white);
}

/* --------------------------------------------------------------------------
   利用の流れ＋数字（参照 .top_introduce）
   -------------------------------------------------------------------------- */

.lp4-intro {
	background: var(--lp4-red);
}

.lp4-intro__in {
	background: var(--lp4-light);
	border-radius: 40px 40px 0 0;
	padding: 50px 0 0;
}

/* 流れ（参照 .top_support） */

.lp4-support {
	padding: 0 0 40px;
}

.lp4-support__hd,
.lp4-innum__hd {
	font-weight: 900;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 5px;
	line-height: 1.23;
}

.lp4-support__hd {
	color: var(--lp4-red-dark);
	margin: 0 0 15px;
}

.lp4-support__sml {
	font-size: 14px;
}

.lp4-support__lar {
	font-size: 20px;
}

.lp4-support__det {
	text-align: center;
	line-height: 1.75;
	margin: 0 0 44px;
	font-size: 13px;
}

.lp4-support__box {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px 15px;
}

.lp4-support__item {
	position: relative;
}

.lp4-support__pic {
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 150px;
	overflow: hidden;
	border-radius: 14px;
	position: relative;
	padding: 24px;
}

.lp4-support__pic::before {
	position: absolute;
	content: "";
	background: var(--lp4-light);
	width: 64px;
	height: 62px;
	left: 0;
	top: 0;
	clip-path: polygon(0 0, 100% 0, 0 100%);
	z-index: 0;
}

.lp4-support__pic .lp4-icon {
	width: 90px;
	height: 90px;
	position: relative;
	z-index: 1;
}

.lp4-support__step {
	position: absolute;
	left: 4px;
	top: 4px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: var(--lp4-red-dark);
	line-height: 1;
	z-index: 1;
}

.lp4-support__eng {
	font-size: 10px;
}

.lp4-support__stepnum {
	font-size: 20px;
	line-height: 0.9;
}

.lp4-support__tit {
	margin: 18px 0 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.lp4-support__txt {
	line-height: 1.7;
	margin: 6px 0 0;
	font-size: 12px;
}

.lp4-support__free {
	margin: 30px 0 0;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.64;
}

.lp4-support__btn {
	margin: 25px 0 0;
	display: flex;
	justify-content: center;
}

.lp4-support__btn a {
	width: 300px;
	max-width: 100%;
	height: 60px;
	font-size: 16px;
	color: #fff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: var(--lp4-red-dark);
	padding: 0 50px 0 30px;
	position: relative;
	border-radius: 50px;
	transition: opacity 0.2s;
}

.lp4-support__btn a:hover {
	opacity: 0.7;
}

.lp4-support__btn a::before {
	position: absolute;
	content: "";
	background-image: var(--lp4-arrow-dark);
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #fff;
	background-size: 12px 12px;
	width: 28px;
	height: 28px;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
}

/* 数字で見る（参照 .top_innum） */

.lp4-innum {
	padding: 30px 0 60px;
}

.lp4-innum__hd {
	color: var(--lp4-red);
	margin: 0 0 40px;
	padding: 0 40px;
	position: relative;
}

.lp4-innum__sml {
	font-size: 14px;
	color: var(--lp4-ink);
}

.lp4-innum__lar {
	font-size: 24px;
}

.lp4-innum__hd::before,
.lp4-innum__hd::after {
	position: absolute;
	content: "";
	background: var(--lp4-line);
	top: 50%;
	margin-top: -1px;
	width: 30px;
	height: 2px;
}

.lp4-innum__hd::before {
	left: 0;
}

.lp4-innum__hd::after {
	right: 0;
}

.lp4-innum__box {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	gap: 15px;
}

.lp4-innum__item {
	background: #fff;
	padding: 20px 20px 15px;
	width: 100%;
	border-radius: 14px;
}

.lp4-innum__tit {
	font-size: 16px;
	line-height: 1.2;
	font-weight: 900;
	color: var(--lp4-red);
	margin: 0 0 15px;
}

.lp4-innum__cont {
	padding: 0 56px 15px 0;
	border-bottom: 2px solid var(--lp4-line);
	color: var(--lp4-red-dark);
	line-height: 1;
	font-weight: 900;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 6px;
	position: relative;
	min-height: 60px;
}

.lp4-innum__cont .lp4-innum__lar {
	font-family: var(--lp4-num-font);
	font-size: 48px;
	font-weight: 700;
	line-height: 0.8;
	letter-spacing: -0.02em;
}

.lp4-innum__cont .lp4-innum__lar--jp {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 900;
}

/* 数値は「掲載求人数」の桁に合わせて全カード同サイズ */
.lp4-innum__cont .lp4-innum__lar,
.lp4-innum__cont .lp4-innum__lar--jp,
.lp4-innum__cont .lp4-innum__lar--long {
	font-size: 36px;
}

.lp4-innum__percent {
	font-size: 30px;
	line-height: 0.9;
}

.lp4-innum__mid {
	font-size: 18px;
}

.lp4-innum__img {
	position: absolute;
	right: 0;
	bottom: 18px;
	width: 48px;
}

.lp4-innum__txt {
	line-height: 1.75;
	margin: 12px 0 0;
	font-size: 12px;
}

/* --------------------------------------------------------------------------
   求人スライダー（参照 .top_works）
   -------------------------------------------------------------------------- */

.lp4-works {
	position: relative;
	background: #fff;
	padding: 60px 0 60px;
}

.lp4-works__wave {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 0;
	line-height: 0;
}

.lp4-works__wave svg {
	display: block;
	width: 100%;
	height: auto;
}

.lp4-works__mess {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-width: 1240px;
	margin: 0 auto 30px;
	padding: 0 20px;
	gap: 20px;
	position: relative;
	z-index: 1;
}

.lp4-works__hd {
	color: var(--lp4-red-dark);
	margin: 0 0 15px;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.3;
	position: relative;
	padding-left: 14px;
}

.lp4-works__hd::before {
	position: absolute;
	content: "✦";
	color: var(--lp4-yellow);
	font-size: 16px;
	left: -4px;
	top: -6px;
	line-height: 1;
}

.lp4-works__mid {
	font-size: 28px;
	margin: 0 6px 0 0;
	position: relative;
	z-index: 1;
}

.lp4-works__lar {
	display: block;
	font-size: 40px;
	line-height: 1;
	margin-top: 4px;
}

.lp4-works__det {
	line-height: 2;
	font-size: 13px;
}

.lp4-works__btn {
	flex-shrink: 0;
	width: 100%;
}

.lp4-works__btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	background: #fff;
	width: 100%;
	max-width: 380px;
	height: 55px;
	border: 2px solid var(--lp4-red-dark);
	padding: 0 45px 0 15px;
	border-radius: 50px;
	position: relative;
	color: var(--lp4-ink);
	transition: opacity 0.2s;
}

.lp4-works__btn a:hover,
.lp4-column__btn a:hover,
.lp4-faq__btn a:hover {
	opacity: 0.6;
}

.lp4-works__btn a::before,
.lp4-column__btn a::before,
.lp4-faq__btn a::before {
	position: absolute;
	content: "";
	background-color: var(--lp4-red-dark);
	width: 26px;
	height: 26px;
	right: 14px;
	top: 50%;
	background-image: var(--lp4-arrow-white);
	background-size: 10px 10px;
	background-position: center center;
	background-repeat: no-repeat;
	transform: translateY(-50%);
	border-radius: 50%;
}

/* 共通スライダー: ネイティブスクロールスナップ */

.lp4-slider {
	position: relative;
	z-index: 1;
}

.lp4-slider__track {
	display: flex;
	gap: 15px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 0 20px;
	scroll-padding: 0 20px;
}

.lp4-slider__track::-webkit-scrollbar {
	display: none;
}

.lp4-slider__track > * {
	scroll-snap-align: start;
	flex-shrink: 0;
}

.lp4-slider__prev,
.lp4-slider__next {
	width: 54px;
	height: 40px;
	border: 0;
	padding: 0;
	background-color: var(--lp4-red);
	cursor: pointer;
	background-image: var(--lp4-arrow-white);
	background-size: 12px 12px;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 40px;
	transition: opacity 0.2s;
}

.lp4-slider__prev {
	transform: rotate(180deg);
}

.lp4-slider__prev:hover,
.lp4-slider__next:hover {
	opacity: 0.6;
}

.lp4-slider__prev:disabled,
.lp4-slider__next:disabled {
	opacity: 0.3;
	cursor: default;
}

.lp4-slider__dot {
	width: 100%;
	height: 6px;
	background: #e8d6d3;
	border-radius: 6px;
	position: relative;
	overflow: hidden;
}

.lp4-slider__bar {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 30%;
	background: var(--lp4-red-dark);
	border-radius: 6px;
	transition: left 0.15s linear, width 0.15s linear;
}

/* 求人カード（参照 .works_item: 400px 青カード → 赤） */

.lp4-works__item {
	width: 300px;
	background: var(--lp4-red-dark);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 20px 20px 18px;
	border-radius: 20px;
	text-decoration: none;
	transition: transform 0.2s;
}

.lp4-works__item:nth-child(even) {
	background: var(--lp4-red);
}

.lp4-works__item:hover {
	transform: translateY(-4px);
}

.lp4-works__img {
	display: block;
	margin: 0 0 15px;
	width: 100%;
	aspect-ratio: 16 / 10;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.lp4-works__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.lp4-works__cap {
	background: rgba(255, 255, 255, 0.2);
	padding: 6px 10px;
	font-size: 11px;
	color: #fff;
	margin: 0 0 12px;
	border-radius: 3px;
	line-height: 1.3;
}

.lp4-works__tit {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
	margin: 0 0 10px;
	color: #fff;
}

.lp4-works__salary {
	display: inline-block;
	background: var(--lp4-yellow);
	color: var(--lp4-ink);
	font-size: 12px;
	font-weight: 800;
	padding: 4px 10px;
	border-radius: 4px;
	margin: 0 0 14px;
}

.lp4-works__cl {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 100%;
	gap: 10px;
	margin-top: auto;
}

.lp4-works__cate {
	display: flex;
	flex-wrap: wrap;
	gap: 0 5px;
	font-size: 11px;
	line-height: 1.5;
	max-width: 62%;
	opacity: 0.95;
}

.lp4-works__loca {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
	font-size: 13px;
	font-weight: 700;
}

.lp4-works__navi {
	max-width: 1240px;
	margin: 30px auto 0;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.lp4-slider__arrow {
	display: flex;
	align-items: stretch;
	gap: 10px;
	flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   転職コラム（参照 .top_glad: 浮かせた白縁ボックス＋白カードスライダー）
   -------------------------------------------------------------------------- */

.lp4-column {
	background: var(--lp4-red);
	position: relative;
	padding: 110px 0 50px;
	margin-top: 70px;
}

.lp4-column__fix {
	position: absolute;
	top: -60px;
	left: 0;
	width: 100%;
	padding: 0 20px;
	z-index: 2;
}

.lp4-column__cont {
	max-width: 1020px;
	margin: 0 auto;
	border: 5px solid #fff;
	background: var(--lp4-red);
	color: var(--lp4-yellow);
	text-align: center;
	padding: 20px 15px;
	border-radius: 14px;
	position: relative;
}

.lp4-column__cont::after {
	position: absolute;
	content: "";
	bottom: -22px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 18px solid transparent;
	border-right: 18px solid transparent;
	border-top: 18px solid #fff;
}

.lp4-column__hd {
	font-size: 20px;
	line-height: 1.3;
	font-weight: 900;
	margin: 0 0 8px;
}

.lp4-column__det {
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.02em;
	color: #fff;
}

.lp4-column__slider {
	margin: 0 0 20px;
}

.lp4-column__item {
	width: 300px;
	background: #fff;
	display: flex;
	flex-direction: column;
	padding: 25px 20px;
	border: 2px solid var(--lp4-red-dark);
	border-radius: 14px;
	color: var(--lp4-ink);
	text-decoration: none;
	transition: transform 0.2s;
}

.lp4-column__item:hover {
	transform: translateY(-4px);
}

.lp4-column__cap {
	align-self: flex-start;
	background: var(--lp4-red);
	padding: 4px 14px;
	font-size: 11px;
	color: #fff;
	font-weight: 700;
	border-radius: 30px;
	margin: 0 0 14px;
}

.lp4-column__tit {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	margin: 0 0 12px;
}

.lp4-column__txt {
	font-size: 12px;
	line-height: 1.8;
	color: #595959;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	margin: 0 0 16px;
}

.lp4-column__more {
	margin-top: auto;
	font-size: 12px;
	font-weight: 700;
	color: var(--lp4-red-dark);
}

.lp4-column__more::after {
	content: " →";
}

.lp4-column__navi {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 0 0 30px;
}

.lp4-column__btn,
.lp4-faq__btn {
	display: flex;
	justify-content: center;
}

.lp4-column__btn a,
.lp4-faq__btn a {
	width: 200px;
	height: 55px;
	display: flex;
	align-items: center;
	background: #fff;
	border: 2px solid var(--lp4-red-dark);
	padding: 0 50px 0 24px;
	font-size: 14px;
	font-weight: 700;
	color: var(--lp4-ink);
	border-radius: 50px;
	position: relative;
	transition: opacity 0.2s;
}

/* --------------------------------------------------------------------------
   FAQ（参照 .top_faq）
   -------------------------------------------------------------------------- */

.lp4-faq {
	background: var(--lp4-light);
	padding: 60px 0 70px;
}

.lp4-faq__flex {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.lp4-faq__mess {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.lp4-faq__hd {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.lp4-faq__eng {
	font-size: 50px;
	color: var(--lp4-red);
	line-height: 0.9;
}

.lp4-faq__jps {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.lp4-faq__main {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lp4-faq__box {
	background: var(--lp4-red);
	padding: 0 20px;
	border-radius: 10px;
}

.lp4-faq__q {
	display: flex;
	align-items: center;
	padding: 23px 28px 23px 0;
	position: relative;
	gap: 15px;
	cursor: pointer;
	list-style: none;
}

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

.lp4-faq__q::before {
	position: absolute;
	content: "";
	width: 16px;
	height: 2px;
	background: #fff;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 2px;
}

.lp4-faq__q::after {
	position: absolute;
	content: "";
	background: #fff;
	width: 2px;
	height: 16px;
	right: 7px;
	top: 50%;
	transform: translateY(-50%);
	transition: transform 0.3s;
	border-radius: 2px;
}

.lp4-faq__box[open] .lp4-faq__q::after {
	transform: translateY(-50%) rotate(90deg);
}

.lp4-faq__ico {
	flex-shrink: 0;
	color: var(--lp4-yellow);
	font-size: 25px;
	line-height: 1;
	align-self: flex-start;
}

.lp4-faq__qtxt {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	line-height: 1.5;
}

.lp4-faq__a {
	margin: 0 0 20px;
	background: #fff;
	padding: 15px 20px 20px;
	border-radius: 5px;
}

.lp4-faq__atxt {
	font-size: 12px;
	line-height: 1.83;
}

/* --------------------------------------------------------------------------
   最終CTA（参照 .top_talk）
   -------------------------------------------------------------------------- */

.lp4-talk {
	position: relative;
	padding: 50px 0 30px;
	background: var(--lp4-red);
}

.lp4-talk::before,
.lp4-talk::after {
	position: absolute;
	content: "";
	background: var(--lp4-red);
	width: 110%;
	height: 20vw;
	left: 50%;
	border-radius: 50%;
	z-index: 0;
}

.lp4-talk::before {
	top: 0;
	transform: translate(-50%, -6vw);
}

.lp4-talk::after {
	bottom: 0;
	transform: translate(-50%, 6vw);
}

.lp4-talk .lp4-inner {
	position: relative;
	z-index: 1;
}

.lp4-talk__mess {
	position: relative;
	margin: 0 0 30px;
	padding-top: 50px;
}

.lp4-talk__hd {
	color: var(--lp4-yellow);
	font-weight: 900;
	font-size: 24px;
	line-height: 1.4;
	margin: 0 0 15px;
	position: relative;
}

.lp4-talk__pop {
	position: absolute;
	left: -5px;
	bottom: calc(100% + 10px);
	font-size: 14px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--lp4-yellow);
	font-weight: 700;
	border: 2px solid var(--lp4-yellow);
	border-radius: 50% 50% 50% 0;
	width: 64px;
	height: 64px;
}

.lp4-talk__lar {
	font-size: 34px;
	line-height: 1;
	position: relative;
	display: inline-block;
}

.lp4-talk__dot {
	position: absolute;
	display: block;
	background: var(--lp4-yellow);
	width: 6px;
	height: 6px;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 50%;
}

.lp4-talk__dot.lp4-reveal.is-in {
	transform: translateX(-50%);
}

.lp4-talk__det {
	font-size: 13px;
	font-weight: 700;
	color: var(--lp4-yellow);
	letter-spacing: 0.02em;
	margin: 0 0 15px;
}

.lp4-talk__item {
	background: var(--lp4-light);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 25px 20px;
	border-radius: 8px;
	position: relative;
}

.lp4-talk__cont {
	width: 100%;
}

.lp4-talk__txt {
	line-height: 1.875;
	margin: 0 0 20px;
	font-size: 13px;
}

.lp4-talk__flow {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.lp4-talk__flowtit {
	margin: 0 0 12px;
	padding: 0 0 0 20px;
	line-height: 1.375;
	font-weight: 700;
	color: var(--lp4-red-dark);
	position: relative;
	font-size: 14px;
}

.lp4-talk__flowtit::before {
	position: absolute;
	content: "";
	background: var(--lp4-red-dark);
	width: 10px;
	height: 10px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 50%;
}

.lp4-talk__flowbox {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}

.lp4-talk__flowbox li {
	background: var(--lp4-red);
	min-height: 60px;
	padding: 10px 24px 10px 16px;
	display: flex;
	align-items: center;
	gap: 14px;
	position: relative;
	border-radius: 10px;
}

.lp4-talk__flownum {
	font-size: 18px;
	color: var(--lp4-yellow);
	line-height: 1;
	flex-shrink: 0;
}

.lp4-talk__flowtxt {
	color: #fff;
	line-height: 1.375;
	font-weight: 700;
	font-size: 13px;
}

.lp4-talk__flowbox li:not(:last-child)::before {
	position: absolute;
	content: "";
	width: 12px;
	height: 12px;
	border: 2px solid #fff;
	background: var(--lp4-red);
	box-sizing: border-box;
	border-radius: 50%;
	z-index: 1;
	top: calc(100% - 6px);
	left: 50%;
	transform: translateX(-50%);
}

.lp4-talk__flowbox li:not(:last-child)::after {
	position: absolute;
	content: "";
	background: var(--lp4-red);
	width: 4px;
	height: 18px;
	top: calc(100% + 2px);
	left: 50%;
	transform: translateX(-50%);
}

.lp4-talk__link {
	background: var(--lp4-tint);
	width: 180px;
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-radius: 50%;
	position: relative;
	text-decoration: none;
}

.lp4-talk__link::before {
	position: absolute;
	content: "";
	background: var(--lp4-red-dark);
	width: 150px;
	height: 150px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.3s;
	border-radius: 50%;
}

.lp4-talk__link:hover::before {
	transform: translate(-50%, -50%) scale(1.05);
}

.lp4-talk__linkin {
	color: #fff;
	padding: 0 0 42px;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	display: block;
	position: relative;
	z-index: 1;
	white-space: nowrap;
}

.lp4-talk__linkin::before {
	position: absolute;
	content: "";
	background-color: #fff;
	background-image: var(--lp4-arrow-dark);
	background-size: 12px 12px;
	background-position: center center;
	background-repeat: no-repeat;
	width: 30px;
	height: 30px;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	border-radius: 50%;
}

/* --------------------------------------------------------------------------
   フッター（参照 #footer）
   -------------------------------------------------------------------------- */

.lp4-footer {
	background: var(--lp4-red-dark);
	padding: 40px 20px 90px;
	color: #fff;
}

.lp4-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.lp4-footer__box {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	padding: 0 0 30px;
}

.lp4-footer__mess {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
}

.lp4-footer__cap {
	font-size: 11px;
}

.lp4-footer__logo a {
	display: inline-block;
	background: #fff;
	padding: 10px 18px;
	border-radius: 50px;
}

.lp4-footer__logo img {
	display: block;
	width: auto;
	height: 24px;
}

.lp4-footer__link {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.2em 30px;
	font-size: 13px;
}

.lp4-footer__link a {
	color: #fff;
	text-decoration: none;
}

.lp4-footer__link a:hover,
.lp4-footer__privacy a:hover {
	opacity: 0.6;
}

.lp4-footer__other {
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	padding: 20px 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.lp4-footer__privacy {
	display: flex;
	gap: 0 20px;
}

.lp4-footer__privacy a {
	font-size: 10px;
	color: #fff;
	text-decoration: none;
}

.lp4-footer__copyright {
	font-size: 10px;
	font-weight: 300;
	letter-spacing: 0.05em;
	font-family: var(--lp4-num-font);
}

/* 下部固定CTAバーはスマホのみ */

.lp4-page .jm-lp-stickybar {
	z-index: 98;
}

/* --------------------------------------------------------------------------
   タブレット（768px〜）
   -------------------------------------------------------------------------- */

@media (min-width: 768px) {

	.lp4-hero {
		padding: 60px 20px 0;
	}

	.lp4-hero__title {
		white-space: nowrap;
		padding-top: 18px;
	}

	.lp4-hero__txt {
		margin: 15px 0 0;
		font-size: 16px;
		line-height: 1.6;
	}

	.lp4-hero__btn {
		flex-direction: row;
		justify-content: center;
		gap: 20px;
		margin: 30px 0 0;
	}

	.lp4-btn {
		width: 320px;
		height: 62px;
		padding: 0 40px 0 30px;
		font-size: 15px;
	}

	.lp4-btn::before {
		width: 20px;
		height: 20px;
		right: 20px;
	}

	.lp4-vary {
		height: 885px;
		margin: -100px 0 0;
	}

	.lp4-tile {
		width: 230px;
		border-radius: 26px;
	}

	.lp4-tile__label {
		right: 18px;
		top: 22px;
		font-size: 14px;
	}

	.lp4-pos01 { left: calc(50% - 110px); top: 280px; }
	.lp4-pos02 { right: calc(50% + 136px); top: 186px; }
	.lp4-pos03 { left: calc(50% + 136px); top: 186px; }
	.lp4-pos04 { right: calc(50% + 136px); bottom: 0; }
	.lp4-pos05 { left: calc(50% + 136px); bottom: 0; }
	.lp4-pos06 { right: calc(50% + 392px); top: 94px; }
	.lp4-pos07 { left: calc(50% + 392px); top: 94px; }
	.lp4-pos08 { right: calc(50% + 392px); top: 456px; }
	.lp4-pos09 { left: calc(50% + 392px); top: 456px; }
	.lp4-pos10 { right: calc(50% + 648px); top: 0; }
	.lp4-pos11 { left: calc(50% + 648px); top: 0; }
	.lp4-pos12 { right: calc(50% + 648px); top: 362px; }
	.lp4-pos13 { left: calc(50% + 648px); top: 362px; }

	.lp4-future {
		padding: 60px 20px 100px;
		margin: -314px 0 0;
	}

	.lp4-future__hd {
		font-size: 48px;
	}

	.lp4-future__det {
		font-size: 20px;
	}

	.lp4-wave {
		margin: 30px 0 0;
		max-width: 460px;
	}

	.lp4-future__txt {
		font-size: 22px;
		line-height: 1.9;
		margin: 45px 0 0;
	}

	.lp4-advantage {
		padding: 13.57vw 0 11.43vw;
		margin: -8.57vw 0 0;
	}

	.lp4-advantage__hd {
		padding: 0 0 0 76px;
		margin: 24px 0 48px;
		gap: 14px;
	}

	.lp4-advantage__pop {
		top: -36px;
		width: 99px;
		height: 99px;
		font-size: 14px;
	}

	.lp4-advantage__pop::after {
		width: 22px;
		height: 22px;
		right: -8px;
		bottom: 4px;
	}

	.lp4-advantage__num {
		font-size: 150px;
	}

	.lp4-advantage__brand {
		font-size: 22px;
	}

	.lp4-advantage__unit {
		font-size: 48px;
	}

	.lp4-advantage__det {
		margin: 0 0 96px;
		padding: 0 85px;
		line-height: 1.875;
		font-size: 16px;
	}

	.lp4-advantage__det::before,
	.lp4-advantage__det::after {
		height: 70px;
		bottom: -20px;
		left: 10px;
	}

	.lp4-advantage__det::after {
		left: auto;
		right: 10px;
	}

	.lp4-advantage__box {
		gap: 30px;
	}

	.lp4-advantage__item {
		min-height: 380px;
		padding: 65px 20px;
		border-width: 2px;
	}

	.lp4-advantage__item--lt { border-radius: 90px 90px 0 90px; }
	.lp4-advantage__item--rt { border-radius: 90px 90px 90px 0; }
	.lp4-advantage__item--lb { border-radius: 90px 0 90px 90px; }
	.lp4-advantage__item--rb { border-radius: 0 90px 90px 90px; }

	.lp4-advantage__mess {
		padding: 0 20px 0 50px;
		margin: 0 0 50px;
		gap: 20px;
	}

	.lp4-advantage__item--rt .lp4-advantage__mess,
	.lp4-advantage__item--rb .lp4-advantage__mess {
		padding: 0 0 0 30px;
	}

	.lp4-advantage__itemnum {
		font-size: 80px;
		width: 160px;
	}

	.lp4-advantage__item--rt .lp4-advantage__itemnum,
	.lp4-advantage__item--rb .lp4-advantage__itemnum {
		width: 160px;
	}

	.lp4-advantage__numcap {
		font-size: 20px;
		padding: 0 0 0 12px;
	}

	.lp4-advantage__numcap::before {
		width: 6px;
		height: 6px;
		left: 2px;
	}

	.lp4-advantage__tit {
		font-size: 24px;
		line-height: 1.5;
	}

	.lp4-advantage__cont {
		padding: 0 40px 0 210px;
		min-height: 150px;
	}

	.lp4-advantage__cont--rev {
		padding: 0 220px 0 30px;
	}

	.lp4-advantage__img {
		left: 25px;
		top: -30px;
		width: 150px;
		height: 150px;
		padding: 22px;
	}

	.lp4-advantage__cont--rev .lp4-advantage__img {
		right: -5px;
		top: 0;
	}

	.lp4-advantage__txt {
		line-height: 1.875;
		font-size: 16px;
	}

	.lp4-want {
		padding: 15px 0 80px;
	}

	.lp4-want__hd {
		margin: 0 0 35px;
	}

	.lp4-want__lar {
		font-size: 52px;
	}

	.lp4-want__sml {
		font-size: 32px;
	}

	.lp4-want__txt {
		margin: 0 0 50px;
		font-size: 16px;
	}

	.lp4-want__btn {
		flex-direction: row;
		align-items: stretch;
		justify-content: center;
		gap: 40px;
	}

	.lp4-want__item {
		gap: 15px;
	}

	.lp4-want__cap {
		min-width: 320px;
		padding: 0 25px;
		font-size: 16px;
		min-height: 40px;
	}

	.lp4-want__cap::before,
	.lp4-want__cap::after {
		height: 39px;
		bottom: 0;
	}

	.lp4-want__link {
		width: 360px;
		height: 90px;
		padding: 0 70px;
		font-size: 22px;
	}

	.lp4-want__link::before {
		width: 40px;
		height: 40px;
		right: 25px;
		background-size: 18px 18px;
	}

	.lp4-intro__in {
		border-radius: 90px 90px 0 0;
		padding: 90px 0 0;
	}

	.lp4-support {
		padding: 0 0 45px;
	}

	.lp4-support__hd {
		margin: 0 0 25px;
	}

	.lp4-support__sml {
		font-size: 26px;
	}

	.lp4-support__lar {
		font-size: 52px;
	}

	.lp4-support__det {
		margin: 0 0 72px;
		font-size: 16px;
	}

	.lp4-support__box {
		grid-template-columns: repeat(4, 1fr);
		gap: 66px;
	}

	.lp4-support__item:not(:last-child)::before {
		position: absolute;
		content: "";
		left: 100%;
		top: 0;
		width: 66px;
		height: 250px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath d='M2 2l16 10L2 22z' fill='%23b32118'/%3E%3C/svg%3E");
		background-size: 20px 24px;
		background-position: center center;
		background-repeat: no-repeat;
	}

	.lp4-support__pic {
		height: 250px;
		border-radius: 20px;
	}

	.lp4-support__pic::before {
		width: 100px;
		height: 96px;
	}

	.lp4-support__pic .lp4-icon {
		width: 130px;
		height: 130px;
	}

	.lp4-support__eng {
		font-size: 16px;
	}

	.lp4-support__stepnum {
		font-size: 32px;
	}

	.lp4-support__tit {
		margin: 36px 0 0;
		font-size: 22px;
	}

	.lp4-support__txt {
		line-height: 1.75;
		margin: 10px 0 0;
		font-size: 16px;
	}

	.lp4-support__free {
		margin: 45px 0 0;
		font-size: 22px;
	}

	.lp4-support__btn {
		margin: 45px 0 0;
	}

	.lp4-support__btn a {
		width: 480px;
		height: 90px;
		font-size: 26px;
		padding: 0 80px;
	}

	.lp4-support__btn a::before {
		width: 36px;
		height: 36px;
		right: 35px;
		background-size: 13px 13px;
	}

	.lp4-innum {
		padding: 45px 0 60px;
	}

	.lp4-innum__hd {
		margin: 0 0 80px;
		padding: 0 22%;
	}

	.lp4-innum__sml {
		font-size: 26px;
	}

	.lp4-innum__lar {
		font-size: 52px;
	}

	.lp4-innum__hd::before,
	.lp4-innum__hd::after {
		width: 21%;
	}

	.lp4-innum__box {
		gap: 30px;
	}

	.lp4-innum__item {
		min-height: 320px;
		padding: 35px 30px 20px;
		width: 380px;
		border-radius: 20px;
	}

	.lp4-innum__tit {
		font-size: 26px;
		margin: 0 0 40px;
	}

	.lp4-innum__cont {
		padding: 0 64px 25px 0;
		gap: 8px;
		min-height: 95px;
	}

	.lp4-innum__cont .lp4-innum__lar,
	.lp4-innum__cont .lp4-innum__lar--jp,
	.lp4-innum__cont .lp4-innum__lar--long {
		font-size: 64px;
		line-height: 0.75;
	}

	.lp4-innum__percent {
		font-size: 54px;
	}

	.lp4-innum__mid {
		font-size: 30px;
	}

	.lp4-innum__img {
		right: 0;
		bottom: 28px;
		width: 56px;
	}

	.lp4-innum__txt {
		margin: 20px 0 0;
		font-size: 16px;
	}

	.lp4-works {
		padding: 100px 0 100px;
	}

	.lp4-works__mess {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-end;
		margin: 0 auto 60px;
		gap: 10px;
	}

	.lp4-works__hd {
		margin: 0 0 35px;
		font-size: 36px;
		padding-left: 0;
	}

	.lp4-works__hd::before {
		font-size: 30px;
		left: -22px;
		top: -8px;
	}

	.lp4-works__mid {
		font-size: 56px;
		margin: 0 10px 0 0;
	}

	.lp4-works__lar {
		font-size: 80px;
	}

	.lp4-works__det {
		font-size: 16px;
	}

	.lp4-works__btn {
		width: auto;
	}

	.lp4-works__btn a {
		font-size: 18px;
		width: 380px;
		height: 70px;
		padding: 0 55px 0 0;
	}

	.lp4-works__btn a::before {
		right: 26px;
	}

	.lp4-slider__track {
		gap: 30px;
		padding: 0 max(20px, calc((100% - 1240px) / 2 + 20px));
		scroll-padding: 0 max(20px, calc((100% - 1240px) / 2 + 20px));
	}

	.lp4-slider__prev,
	.lp4-slider__next {
		width: 105px;
		height: 72px;
		background-size: 18px 18px;
	}

	.lp4-slider__arrow {
		gap: 17px;
	}

	.lp4-works__item {
		width: 400px;
		padding: 30px 30px 25px;
	}

	.lp4-works__img {
		margin: 0 0 20px;
	}

	.lp4-works__cap {
		padding: 10px;
		font-size: 14px;
		margin: 0 0 15px;
	}

	.lp4-works__tit {
		font-size: 22px;
		margin: 0 0 12px;
	}

	.lp4-works__salary {
		font-size: 15px;
		padding: 6px 12px;
		margin: 0 0 20px;
	}

	.lp4-works__cate {
		font-size: 14px;
	}

	.lp4-works__loca {
		font-size: 18px;
		gap: 10px;
	}

	.lp4-works__navi {
		margin: 50px auto 0;
		gap: 70px;
	}

	.lp4-column {
		padding: 160px 0 80px;
		margin-top: 110px;
	}

	.lp4-column__fix {
		top: -110px;
	}

	.lp4-column__cont {
		border-width: 10px;
		padding: 40px 20px;
		border-radius: 20px;
	}

	.lp4-column__cont::after {
		bottom: -36px;
		border-left-width: 24px;
		border-right-width: 24px;
		border-top-width: 26px;
	}

	.lp4-column__hd {
		font-size: 52px;
		line-height: 1.2;
		margin: 0 0 10px;
	}

	.lp4-column__det {
		font-size: 18px;
	}

	.lp4-column__slider {
		margin: 0 0 40px;
	}

	.lp4-column__item {
		width: 520px;
		padding: 40px 36px;
		border-width: 4px;
		border-radius: 20px;
	}

	.lp4-column__cap {
		padding: 5px 20px;
		font-size: 14px;
		margin: 0 0 20px;
	}

	.lp4-column__tit {
		font-size: 22px;
		line-height: 1.64;
		margin: 0 0 16px;
	}

	.lp4-column__txt {
		font-size: 15px;
	}

	.lp4-column__more {
		font-size: 15px;
	}

	.lp4-column__navi {
		gap: 17px;
		margin: 0 0 50px;
	}

	.lp4-column__btn a,
	.lp4-faq__btn a {
		width: 230px;
		height: 70px;
		padding: 0 60px 0 30px;
		font-size: 18px;
	}

	.lp4-column__btn a::before,
	.lp4-faq__btn a::before {
		right: 28px;
	}

	.lp4-faq {
		padding: 100px 0 13.22vw;
	}

	.lp4-faq__flex {
		flex-direction: row;
		align-items: stretch;
		gap: 0;
	}

	.lp4-faq__mess {
		width: 35%;
		gap: 45px;
	}

	.lp4-faq__hd {
		gap: 15px;
	}

	.lp4-faq__eng {
		font-size: 100px;
	}

	.lp4-faq__jps {
		font-size: 18px;
	}

	.lp4-faq__main {
		width: 65%;
		gap: 20px;
	}

	.lp4-faq__box {
		padding: 0 30px;
		border-radius: 20px;
	}

	.lp4-faq__q {
		padding: 35px 50px 35px 0;
		gap: 20px;
	}

	.lp4-faq__q::before {
		width: 30px;
		height: 4px;
		right: 20px;
		border-radius: 4px;
	}

	.lp4-faq__q::after {
		width: 4px;
		height: 30px;
		right: 33px;
		border-radius: 4px;
	}

	.lp4-faq__ico {
		font-size: 40px;
	}

	.lp4-faq__qtxt {
		font-size: 22px;
	}

	.lp4-faq__a {
		margin: 0 0 40px;
		padding: 30px 45px 30px 35px;
		border-radius: 10px;
	}

	.lp4-faq__atxt {
		font-size: 16px;
		line-height: 1.875;
	}

	.lp4-talk {
		padding: 70px 0 40px;
	}

	.lp4-talk__mess {
		margin: 0 0 50px;
		padding-top: 100px;
	}

	.lp4-talk__hd {
		font-size: 48px;
		margin: 0 0 15px;
	}

	.lp4-talk__pop {
		bottom: calc(100% + 24px);
		font-size: 24px;
		width: 133px;
		height: 133px;
		border-width: 3px;
	}

	.lp4-talk__lar {
		font-size: 68px;
	}

	.lp4-talk__dot {
		width: 12px;
		height: 12px;
		top: -14px;
	}

	.lp4-talk__det {
		font-size: 22px;
		margin: 0 0 25px;
	}

	.lp4-talk__item {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 40px;
		padding: 40px 60px;
	}

	.lp4-talk__txt {
		font-size: 16px;
	}

	.lp4-talk__flowtit {
		font-size: 16px;
	}

	.lp4-talk__flowbox li {
		min-height: 80px;
		padding: 10px 40px 10px 20px;
		gap: 20px;
	}

	.lp4-talk__flownum {
		font-size: 26px;
	}

	.lp4-talk__flowtxt {
		font-size: 16px;
	}

	.lp4-talk__link {
		width: 230px;
		height: 230px;
	}

	.lp4-talk__link::before {
		width: 190px;
		height: 190px;
	}

	.lp4-talk__linkin {
		padding: 0 0 55px;
		font-size: 20px;
	}

	.lp4-talk__linkin::before {
		width: 36px;
		height: 36px;
	}

	.lp4-footer {
		padding: 80px 20px 20px;
	}

	.lp4-footer__box {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		padding: 0 0 65px;
	}

	.lp4-footer__mess {
		align-items: flex-start;
		gap: 20px;
	}

	.lp4-footer__cap {
		font-size: 13px;
	}

	.lp4-footer__logo img {
		height: 30px;
	}

	.lp4-footer__link {
		justify-content: flex-end;
		gap: 1.5em 50px;
		font-size: 14px;
	}

	.lp4-footer__other {
		flex-direction: row;
		justify-content: space-between;
		padding: 25px 0;
	}

	.lp4-footer__privacy a {
		font-size: 13px;
	}

	.lp4-page .jm-lp-stickybar {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   PC（1025px〜）: 参照のヘッダー2段構成・強み2×2・流れの矢印
   -------------------------------------------------------------------------- */

@media (min-width: 1025px) {

	.lp4-page--fixed {
		padding-top: 110px;
	}

	.lp4-header__in {
		height: 110px;
		padding: 0 40px 17px;
		align-items: flex-end;
	}

	.lp4-header__brand {
		gap: 10px 25px;
		min-height: 42px;
	}

	.lp4-header__logo {
		width: 180px;
	}

	.lp4-header__cap {
		font-size: 13px;
	}

	.lp4-header__mess {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 10px;
		flex-shrink: 0;
	}

	.lp4-header__up {
		display: flex;
		align-items: center;
		gap: 30px;
	}

	.lp4-header__uplink {
		display: flex;
		align-items: center;
		gap: 30px;
		padding-right: 2px;
	}

	.lp4-header__uplink a {
		display: block;
		color: #888;
		font-size: 13px;
		text-decoration: none;
	}

	.lp4-header__uplink a:hover,
	.lp4-header__lowlink a:hover {
		opacity: 0.5;
	}

	.lp4-header__low {
		display: flex;
		align-items: center;
		gap: 40px;
	}

	.lp4-header__lowlink {
		display: flex;
		align-items: center;
		gap: 30px;
	}

	.lp4-header__lowlink a {
		display: block;
		font-size: 16px;
		color: var(--lp4-ink);
		text-decoration: none;
		font-weight: 500;
	}

	.lp4-header__btn {
		display: flex;
		align-items: center;
		gap: 14px;
	}

	.lp4-header__toggle,
	.lp4-navbar {
		display: none;
	}

	.lp4-advantage__box {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: stretch;
	}

	.lp4-advantage__item {
		width: calc((100% - 30px) / 2);
	}

	.lp4-talk__flow {
		align-items: flex-start;
	}
}

@media (min-width: 1251px) {

	.lp4-talk__flowbox {
		flex-direction: row;
		gap: 20px;
		width: auto;
	}

	.lp4-talk__flowbox li:not(:last-child)::before {
		top: 50%;
		left: calc(100% - 6px);
		transform: translateY(-50%);
	}

	.lp4-talk__flowbox li:not(:last-child)::after {
		width: 18px;
		height: 4px;
		top: 50%;
		left: calc(100% + 2px);
		transform: translateY(-50%);
	}
}

@media (min-width: 1401px) {

	.lp4-future::before {
		width: 130%;
	}
}

@media (min-width: 1025px) and (max-width: 1400px) {

	.lp4-future::before {
		width: 150%;
	}
}
