@charset "UTF-8";

/*
Theme Name: セキュリティハウス
*/
/*-----------------------------------------
default
-----------------------------------------*/

/* ============================================================
   Active System LP - active-lp.css
   Breakpoints: 1280px / 1024px / 896px / 640px
   ※ @media はファイル末尾「Responsive」セクションに集約
   ============================================================ */

/* ============================================================
   Responsive Helper Classes (PC-first / max-width)
   W-XXXX      → display: block at ≥XXXX px, hidden below
   W-XXXXnone  → display: none  at ≥XXXX px, shown below
   ============================================================ */
.W-1280 {
	display: block;
}

.W-1024 {
	display: block;
}

.W-896 {
	display: block;
}

.W-640 {
	display: block;
}

/* flex 表示用バリアント */
.W-1280--flex {
	display: flex;
}

.W-1024--flex {
	display: flex;
}

.W-896--flex {
	display: flex;
}

.W-640--flex {
	display: flex;
}

/* PC幅で非表示にするヘルパー（モバイル幅で各要素本来の display に戻す） */
.W-1280none {
	display: none;
}

.W-1024none {
	display: none;
}

.W-896none {
	display: none;
}

.W-640none {
	display: none;
}

/* ============================================================
   Base
   ============================================================ */
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}

body {
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	color: #222222;
	background: #FFFFFF;
	overflow-x: hidden;
	position: relative;
}

body.active-lp img {
	display: block;
	max-width: 100%;
}

/* ============================================================
   Common Helpers
   ============================================================ */
.lp-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.lp-inner--wide {
	max-width: 1440px;
	margin-inline: auto;
}

.lp-inner--narrow {
	max-width: 1100px;
	margin-inline: auto;
	padding-inline: 2rem;
}

.center {
	text-align: center;
}

a:hover {
	opacity: 0.8;
}

img {
	max-width: 100%;
	height: auto;
}

/* ============================================================
   HEADER
   ============================================================ */
.lp-header {
	background: #FFFFFF;
	border-bottom: 0.1rem solid #eee;
	position: sticky;
	top: 0;
	z-index: 100;
}

.lp-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.7rem 3rem;
}

.lp-header__logo {
	max-width: 100%;
	width: 36rem;
}

.lp-header__active-text {
	font-family: 'Roboto', sans-serif;
	font-weight: 900;
	font-size: 3.2rem;
	color: #004EA2;
	letter-spacing: -0.128rem;
	line-height: 1;
	padding-bottom: 0.2rem;
}

.lp-header__right--flex {
	display: flex;
	align-items: center;
	gap: 1.6rem;
}

.lp-header__nav {
	font-weight: 700;
	font-size: 1.4rem;
	color: #222222;
	white-space: nowrap;
}

.lp-header__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 2.4rem;
}

.lp-header__nav a:hover {
	color: #07328C;
}


.lp-header__nav a {
	position: relative;
	display: inline-block;
}

.lp-header__nav a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -0.6rem;
	width: 100%;
	height: 0.2rem;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.28s ease;
}


.lp-header__nav a:hover::after {
	transform: scaleX(1);
}

.lp-header__cta {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	background: #FFEE00;
	border-radius: 5rem;
	padding: 1rem 3rem;
	font-weight: 700;
	font-size: 1.8rem;
	color: #222222;
	white-space: nowrap;
	flex-shrink: 0;
	letter-spacing: -0.036rem;
}

.lp-header__cta-icon {
	background: #FFFFFF;
	border-radius: 5rem;
	width: 3rem;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.lp-header__cta-icon img {
	width: 100%;
}

/* hamburger (mobile) */
.lp-header__hamburger {
	background: none;
	border: none;
	cursor: pointer;
	flex-shrink: 0;
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem;
	width: 4rem;
	height: 4rem;
	box-sizing: border-box;
}

.lp-header__hamburger span {
	display: block;
	width: 2.4rem;
	height: 0.2rem;
	background-color: #222222;
	border-radius: 0.1rem;
	transform-origin: center;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.lp-header__hamburger[aria-expanded='true'] span:nth-child(1) {
	transform: translateY(calc(0.5rem + 0.2rem)) rotate(45deg);
}

.lp-header__hamburger[aria-expanded='true'] span:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}

.lp-header__hamburger[aria-expanded='true'] span:nth-child(3) {
	transform: translateY(calc(-1 * (0.5rem + 0.2rem))) rotate(-45deg);
}

/* mobile menu（レイアウトを押し下げない／右からスライド） */
body.lp-mobile-menu-open {
	overflow: hidden;
}

/* オーバーレイ・ドロワーより手前にヘッダーを載せる（ページ全体での重なり順） */
body.lp-mobile-menu-open .lp-header {
	z-index: 210;
}

/* backdrop/panel はヘッダー内にあり z-index 198/199 を持つため、
   z-index:auto の inner は常にその下に描画される。開いたときだけ inner を前面に */
body.lp-mobile-menu-open .lp-header__inner {
	position: relative;
	z-index: 220;
}

/* ヘッダー行のお問い合わせは開いたとき非表示でよい（ドロワー内のCTAは別要素） */
body.lp-mobile-menu-open .lp-header__inner .lp-header__cta {
	visibility: hidden;
	pointer-events: none;
}

.lp-mobile-menu__backdrop {
	position: fixed;
	inset: 0;
	z-index: 198;
	background: rgba(0, 0, 0, 0.35);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0.35s ease;
	pointer-events: none;
}

.lp-mobile-menu__backdrop.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.lp-mobile-menu {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(36rem, 100%);
	max-width: 100%;
	z-index: 199;
	margin: 0;
	background: #FFFFFF;
	box-shadow: -0.4rem 0 2.4rem rgba(0, 0, 0, 0.12);
	padding: calc(13rem + env(safe-area-inset-top, 0px)) 3rem calc(3rem + env(safe-area-inset-bottom, 0px));
	overflow-y: auto;
	overscroll-behavior: contain;
	transform: translateX(100%);
	visibility: hidden;
	transition: transform 0.35s ease, visibility 0.35s ease;
	pointer-events: none;
}

.lp-mobile-menu.is-open {
	transform: translateX(0);
	visibility: visible;
	pointer-events: auto;
}

.lp-mobile-menu__nav {
	font-weight: 700;
	font-size: 1.5rem;
	margin-bottom: 2rem;
}

.lp-mobile-menu__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2.4rem;
}

/* ============================================================
   MV (Main Visual / Hero)
   ============================================================ */
.lp-mv {
	background: #07328C;
	overflow: hidden;
	position: relative;
}

.lp-mv__triangle-wrap {
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	pointer-events: none;
	z-index: 0;
	line-height: 0;
}

.lp-mv__triangle {
	display: block;
	height: auto;
	max-width: none;
}

.lp-mv__announce {
	background: #222222;
	padding: 2rem 3rem;
	text-align: center;
	position: relative;
	z-index: 1;
}

.lp-mv__announce p {
	font-weight: 700;
	font-size: 3.4rem;
	color: #FFFFFF;
	letter-spacing: 0.17rem;
	white-space: nowrap;
}

.lp-mv__announce strong.yellow {
	color: #FFEE00;
	font-weight: 900;
	font-size: 4.2rem;
}

.lp-mv__content {
	--lp-mv-corner-inset: 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6rem 6rem 10rem;
	position: relative;
	z-index: 1;
	min-height: 80vh;
	gap: 2.4rem;
	background-image:
		url("image/left-top.svg"),
		url("image/right-top.svg"),
		url("image/left-bottom.svg"),
		url("image/right-bottom.svg");
	background-repeat: no-repeat;
	background-position:
		left var(--lp-mv-corner-inset) top var(--lp-mv-corner-inset),
		right var(--lp-mv-corner-inset) top var(--lp-mv-corner-inset),
		left var(--lp-mv-corner-inset) bottom var(--lp-mv-corner-inset),
		right var(--lp-mv-corner-inset) bottom var(--lp-mv-corner-inset);
	background-size: clamp(5rem, 11vw, 15rem);
}

.lp-mv__text {
	flex: 0 0 auto;
	max-width: 71rem;
}

.lp-mv__catchcopy-row {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin-bottom: 0.8rem;
}

.lp-mv__red-ellipse {
	flex-shrink: 0;
	width: 3.4rem;
	height: 3.4rem;
}

.lp-mv__catchcopy {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-size: 3rem;
	font-weight: 700;
	color: #FFFFFF;
	letter-spacing: 0.168rem;
	line-height: 1.5;
}

.lp-mv__tagline {
	font-size: 2.4rem;
	font-weight: 700;
	color: #FFFFFF;
	line-height: 1.5;
	margin-bottom: 7.7rem;
}

.lp-mv__tagline .accent {
	color: #FFEE00;
}

.lp-mv__heading {
	font-weight: 700;
	line-height: 1;
}

.lp-mv__heading-sub {
	display: block;
	font-size: 4.7rem;
	color: #FFFFFF;
	letter-spacing: 0.141rem;
	margin-bottom: 1rem;
}

.lp-mv__heading-sub em {
	font-size: 3.2rem;
	font-style: normal;
}

.lp-mv__heading-main {
	display: block;
}

.lp-mv__heading-main .accent {
	font-size: 12rem;
	color: #FFEE00;
	letter-spacing: 0.36rem;
}

.lp-mv__heading-main .white {
	font-size: 7rem;
	color: #FFFFFF;
	letter-spacing: 0.21rem;
}

.lp-mv__image {
	flex: 0 0 59rem;
}

.lp-mv__image-circle {
	border-radius: 50%;
	margin-bottom: -14.3rem;
}

.lp-mv__image-circle img {
	width: 100%;
	object-fit: cover;
}

.lp-mv__deco-circles {
	display: flex;
	gap: 1.6rem;
	margin-top: 1.6rem;
	justify-content: flex-end;
}

.lp-mv__deco-circle {
	border-radius: 50%;
	overflow: hidden;
	border: 0.3rem solid rgba(245, 245, 245, 0.5);
}

.lp-mv__deco-circle img {
	width: 100%;
	object-fit: cover;
}

/* ============================================================
   to top
   ============================================================ */




/* ============================================================
   Banner (Yellow)
   ============================================================ */
.lp-banner-wrap {
	position: relative;
	z-index: 2;
}

.lp-banner {
	background: #FFEE00;
	overflow: visible;
	padding: 2rem;
	text-align: center;
	position: relative;
}

.lp-banner__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4rem;
	max-width: 110rem;
	margin-inline: auto;
}

.lp-banner__left {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 12rem;
	padding-left: 14rem;
}

.lp-banner__left-img {
	background-image: url(image/banner_cta.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center bottom;
	width: 47rem;
	height: 19rem;
	position: absolute;
	left: -210px;
	bottom: -2rem;
	z-index: 2;
	pointer-events: none;
}

.lp-banner__left-text,
.lp-banner__right-text {
	font-size: 2.2rem;
	font-weight: bold;
	color: #07328C;
	margin-bottom: .8rem;
}

.lp-banner__left-text {
	text-align: left;
	line-height: 1.45;
	margin-bottom: 0;
}

.lp-banner__right-text {
	font-size: 2rem;
}

.lp-banner__right {
	flex-shrink: 0;
	text-align: center;
}

.lp-btn {
	font-size: 2.4rem;
	font-weight: bold;
	background-color: #DF3101;
	color: #FFFFFF;
	padding: 2rem 8rem 2rem 6rem;
	border-radius: 5rem;
	text-decoration: none;
	display: inline-block;
	margin-top: 1rem;
	transition: all 0.3s ease;
	box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.1);
	position: relative;
}

.lp-btn::after {
	content: '';
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	height: 2rem;
	background-image: url("image/arrow_right.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}


/* ============================================================
   Section Common
   ============================================================ */
.lp-sec {
	padding-block: 13rem;
	padding-inline: 4%;
}

.lp-sec__head {
	position: relative;
	text-align: center;
	margin-bottom: 6rem;
}

.lp-sec__en {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 13rem;
	color: #D8ECF3;
	letter-spacing: 2.4rem;
	mix-blend-mode: multiply;
	opacity: 0.3;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
}

.lp-sec__title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	font-weight: 900;
	font-size: 5.4rem;
	color: #07328C;
	text-align: center;
	letter-spacing: 0.27rem;
	line-height: 1.3;
}

.lp-sec__title em {
	font-style: normal;
	color: #222222;
	font-size: 3.6rem;
	letter-spacing: 0.18rem;
}

/* ============================================================
   SECTION 1: こんなお悩みありませんか？
   ============================================================ */
.lp-sec1 {
	background: #07328C;
	overflow: hidden;
	position: relative;
	padding-bottom: 0;
}

.lp-sec1__bg-wrap {
	position: absolute;
	inset: 0;
	overflow: hidden;
	opacity: 0.3;
	pointer-events: none;
	z-index: 0;
}

.lp-sec1__bg-img {
	position: absolute;
	left: -0.92%;
	top: 6.18%;
	width: 101.84%;
	height: auto;
}

.lp-sec1>.lp-inner {
	position: relative;
	z-index: 1;
}

.lp-sec1 .lp-sec__title {
	color: #FFEE00;
}

.lp-sec1 .lp-sec__title em {
	color: #FFFFFF;
	font-size: 4rem;
}

.lp-sec1 .lp-sec__head {
	margin-bottom: 3.2rem;
}

.lp-sec1 .lp-sec__head .lp-sec__title {
	position: static;
	transform: none;
	inset: auto;
	width: 100%;
}

.lp-sec1__cards-wrap {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.4rem;
	padding-top: clamp(34rem, 22vw, 16rem);
}

.lp-sec1__cards-row {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 6.4rem;
	gap: 2.4rem;
}

.lp-sec1__card {
	background: rgba(255, 255, 255, 0.8);
	border: 0.3rem solid #FFEE00;
	border-radius: 0.6rem;
	padding: 3.6rem 2.6rem;
	width: 32rem;
	font-weight: 700;
	font-size: 2rem;
	color: #07328C;
	text-align: center;
	line-height: 1.8;
}

.lp-sec1__center-img {
	position: absolute;
	left: 50%;
	top: 13rem;
	z-index: 0;
	width: min(40rem, 80vw);
	aspect-ratio: 1;
	border-radius: 50%;
	overflow: hidden;
	transform: translate(-50%, -18%);
	pointer-events: none;
}

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

.lp-sec1__desc {
	font-weight: 700;
	font-size: 1.8rem;
	color: #FFFFFF;
	text-align: center;
	line-height: 2;
	margin-bottom: 6rem;
}

.lp-sec1__damages {
	display: flex;
	gap: 2.4rem;
	justify-content: center;
	flex-wrap: nowrap;
	border-radius: 0;
	margin-inline: -4rem;
	padding: 0 3.2rem;
}

.lp-sec1__damages--bg {
	background-color: #021C53;
	padding: 4rem 0 7rem;
	padding-left: 4%;
	padding-right: 4%;
}

.lp-sec1__damage-circle {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #FFEE00;
	border-radius: 50%;
	width: 16rem;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: 900;
	font-size: 2rem;
	color: #07328C;
	line-height: 1.3;
}

.lp-sec1__damage-img-wrap {
	position: relative;
	border-radius: 2.4rem;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lp-sec1__damage-img-wrap img {
	border-radius: 2.4rem;
}

/* ============================================================
   SECTION 2: 最適な防犯システムをご提案
   ============================================================ */
.lp-sec2 {
	background: #F5F5F5;
	overflow: hidden;
	position: relative;
}

.lp-sec2__triangle-wrap {
	position: absolute;
	bottom: 0;
	right: 0;
	left: auto;
	top: auto;
	pointer-events: none;
	z-index: 0;
	line-height: 0;
}

.lp-sec2__triangle {
	display: block;
	height: auto;
	max-width: none;
}

.lp-sec2>.lp-inner {
	position: relative;
	z-index: 1;
}

.lp-sec2__header {
	display: flex;
	justify-content: center;
	margin-bottom: 6rem;
}

.lp-sec2__title {
	font-weight: 900;
	font-size: 3.6rem;
	color: #222222;
	letter-spacing: 0.18rem;
	line-height: 1.3;
	margin-bottom: 2.4rem;
}

.lp-sec2__title span {
	font-size: 5.4rem;
	color: #07328C;
	letter-spacing: 0.27rem;
}

.lp-sec2__text {
	font-weight: 500;
	font-size: 1.6rem;
	color: #222222;
	line-height: 1.8;
	letter-spacing: 0.048rem;
}

.lp-sec2__header-img {
	flex: 0 0 34.9rem;
	border-radius: 50%;
	overflow: hidden;
	aspect-ratio: 1;
}

.lp-sec2__header-img img {
	width: 100%;
	object-fit: cover;
}

.lp-sec2__products {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 1.2rem;
	flex-wrap: wrap;
}

.lp-sec2__product {
	background: #FFFFFF;
	border-radius: 2.4rem;
	box-shadow: -1.7rem 1.7rem 2.09rem 0 rgba(0, 0, 0, 0.1);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	padding: 2rem 6.3rem;
	min-width: 26rem;
}

.lp-sec2__product-img {
	width: 16.4rem;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lp-sec2__product-img img {
	width: 100%;
	object-fit: contain;
}

.lp-sec2__product-name {
	font-weight: 700;
	font-size: 2rem;
	color: #222222;
	text-align: center;
	white-space: nowrap;
}

/* ============================================================
   SECTION 3: 選ばれる理由
   ============================================================ */
.lp-sec3 {
	background: #DCF6FF;
}

.lp-sec3__list {
	display: flex;
	flex-direction: column;
	gap: 10rem;
	margin-top: 8rem;
}

/* odd: ブロック全体を右寄せ／テキストは画像の左上に重ねる */
/* even: ブロック全体を左寄せ／テキストは画像の右上に重ねる */
.lp-sec3__item {
	display: flex;
	justify-content: flex-end;
}

.lp-sec3__item--even {
	justify-content: flex-start;
}

.lp-sec3__item-inner {
	position: relative;
	flex: 0 1 80rem;
	max-width: min(100%, 80rem);
	min-width: 0;
}

.lp-sec3__item-text {
	position: absolute;
	top: 0;
	z-index: 1;
	width: min(67rem, 92%);
	max-width: calc(100% - 2.4rem);
	background: #DCF6FF;
	border-radius: 0 0 4.2rem 0;
	padding: 4.2rem 5rem;
	box-sizing: border-box;
}

.lp-sec3__item--odd .lp-sec3__item-text {
	left: -43rem;
	right: auto;
}

.lp-sec3__item--even .lp-sec3__item-text {
	right: -43rem;
	left: auto;
	border-radius: 0 0 0 4.2rem;
}

.lp-sec3__flex {
	display: flex;
	gap: 2.4rem;
}

.lp-sec3__feature-badge {
	display: flex;
	align-items: center;
}

.lp-sec3__feature-badge img {
	width: 11rem;
}

.lp-sec3__item-title {
	font-weight: 900;
	font-size: 3.4rem;
	color: #222222;
	line-height: 1.3;
	margin-bottom: 2rem;
}

.lp-sec3__item-title strong {
	font-size: 4.2rem;
	color: #07328C;
	font-weight: 900;
}

.lp-sec3__item-desc {
	font-weight: 500;
	font-size: 1.6rem;
	color: #222222;
	line-height: 1.8;
}

.lp-sec3__item-img {
	width: 100%;
	border-radius: 0 0 0 4.2rem;
	overflow: hidden;
}

.lp-sec3__item--even .lp-sec3__item-img {
	border-radius: 0 0 4.2rem 0;
}

.lp-sec3__item-img img {
	width: 100%;
	object-fit: cover;
}

/* ============================================================
   SECTION 4: こんなイメージ（アコーディオン）
   ============================================================ */
.lp-sec4 {
	background: #F5F5F5;
}

.lp-sec4__accordion {
	max-width: 110rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.lp-sec4__item {
	border-radius: 1.6rem;
	overflow: hidden;
}

.lp-sec4__item.is-open {
	display: block;
}

.lp-sec4__toggle {
	width: 100%;
	background: #DCF6FF;
	border: 0.1rem solid #07328C;
	border-radius: 1.6rem 1.6rem 0 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 2.4rem 4rem;
	cursor: pointer;
	text-align: left;
	gap: 2rem;
}

.lp-sec4__toggle-title {
	font-weight: 700;
	font-size: 2.4rem;
	color: #222222;
	letter-spacing: 0.08rem;
	flex: 1;
	text-align: center;
}

.lp-sec4__toggle-title strong {
	color: #07328C;
}

.lp-sec4__icon {
	font-size: 2.4rem;
	color: #07328C;
	font-weight: 700;
	flex-shrink: 0;
	transition: transform 0.3s ease;
	line-height: 1;
}

.lp-sec4__item.active .lp-sec4__icon {
	transform: rotate(180deg);
}

.lp-sec4__content {
	border: 0.1rem solid #07328C;
	border-top: none;
	border-radius: 0 0 1.6rem 1.6rem;
	overflow: hidden;
	background: #FFFFFF;
}

.lp-sec4__content img {
	width: 100%;
	object-fit: contain;
}

.lp-sec4__item.active .lp-sec4__content {
	display: block;
}

.lp-sec4__item.active .lp-sec4__toggle {
	border-radius: 1.6rem 1.6rem 0 0;
}



/* ============================================================
   SECTION 5: 導入までの流れ
   ============================================================ */
.lp-sec5 {
	background: #FFFFFF;
}

.lp-sec5__steps-wrap {
	background: #F5F5F5;
	border-radius: 4.2rem;
	padding: 8rem 10rem;
	max-width: 120rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: 4rem;
}

.lp-sec5__step {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3rem;
}

.lp-sec5__step-img {
	flex: 0 0 23rem;
	border-radius: 50%;
	overflow: hidden;
	aspect-ratio: 1;
}

.lp-sec5__step-img img {
	width: 100%;
	object-fit: cover;
}

.lp-sec5__step-content {
	flex: 1;
	display: flex;
	align-items: flex-start;
	gap: 2rem;
}

.lp-sec5__step-label {
	background: #FFEE00;
	border-radius: 0.8rem;
	padding: 0.3rem 3rem;
	display: flex;
	align-items: center;
	font-weight: 700;
	flex-shrink: 0;
	gap: 0.8rem;
	position: relative;
}

.lp-sec5__step:not(:last-child) .lp-sec5__step-label::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	width: 0.1rem;
	height: 27rem;
	background-color: #07328C;
	pointer-events: none;
}

.lp-sec5__step-label-text {
	font-size: 1.2rem;
	color: #222222;
}

.lp-sec5__step-label-num {
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 3.2rem;
	color: #07328C;
	line-height: 1;
}

.lp-sec5__step-text {
	background: #FFFFFF;
	border-radius: 0.8rem;
	padding: 3rem 4rem;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	min-height: 26rem;
}

.lp-sec5__step-heading {
	font-weight: 900;
	font-size: 2.4rem;
	color: #07328C;
	padding-bottom: 0.8rem;
	border-bottom: 0.3rem solid #F5F5F5;
}

.lp-sec5__step-desc {
	font-weight: 500;
	font-size: 1.6rem;
	color: #222222;
	line-height: 1.8;
}

/* ============================================================
   FAQ
   ============================================================ */
.lp-faq {
	background: #DCF6FF;
}

.lp-faq__title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	font-weight: 700;
	font-size: 3.6rem;
	color: #222222;
	text-align: center;
	line-height: 1.5;
	letter-spacing: -0.072rem;
	max-width: 86.2rem;
}

.lp-faq__list {
	max-width: 100rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
}

.lp-faq__q {
	display: flex;
	align-items: center;
	gap: 2.4rem;
	padding: 2rem 4rem;
	cursor: pointer;
	border-bottom: 0.1rem solid #07328C;
	position: relative;
}

.lp-faq__q::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 3.5rem;
	z-index: 1;
	width: 1.5rem;
	height: 0.2rem;
	background: #07328C;
}

.lp-faq__q::before {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 4.1rem;
	z-index: 1;
	width: 0.2rem;
	height: 1.5rem;
	background: #07328C;
	transition: transform 0.3s ease;
}

.lp-faq__q.active::before {
	transform: translateY(-50%) rotate(90deg);
	transition: transform 0.3s ease;
}

.lp-faq__q-mark {
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: 3rem;
	color: #07328C;
	flex-shrink: 0;
	letter-spacing: 0.0015rem;
}

.lp-faq__q-text {
	font-weight: 700;
	font-size: 1.8rem;
	color: #222222;
	letter-spacing: -0.018rem;
	flex: 1;
}

.lp-faq__q-icon {
	font-size: 2rem;
	color: #07328C;
	font-weight: 700;
	flex-shrink: 0;
	line-height: 1;
	transition: transform 0.3s ease;
}

.lp-faq__q.active .lp-faq__q-icon {
	transform: rotate(180deg);
}

.lp-faq__a {
	box-sizing: border-box;
	align-items: flex-start;
	gap: 2.4rem;
	background: #FFFFFF;
	border: 0.1rem solid #F5F5F5;
	border-radius: 2.4rem;
	padding: 2rem 4rem 2.4rem;
	margin-top: 0;
	display: none;
}

.lp-faq__a-mark {
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: 3rem;
	color: #DF3101;
	flex-shrink: 0;
	letter-spacing: 0.0015rem;
	line-height: 5.1rem;
}

.lp-faq__a-text {
	font-weight: 500;
	font-size: 1.6rem;
	color: #222222;
	line-height: 1.8;
	flex: 1;
}

.lp-faq__q.active {
	border-bottom: none;
}

.lp-faq__a-inner {
	display: flex;
	align-items: center;
	gap: 2.4rem;
}


/* ============================================================
   CONTACT
   ============================================================ */
.lp-contact {
	background: #FFFFFF;
}

.lp-contact__intro {
	font-weight: 500;
	font-size: 1.6rem;
	color: #222222;
	text-align: center;
	line-height: 1.8;
	margin-bottom: 6rem;
}

.lp-contact__form {
	max-width: 110rem;
	margin-inline: auto;
}

.lp-contact__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 3rem 4rem;
	border-top: 0.1rem solid #ddd;
	gap: 2.4rem;
}

.lp-contact__row:last-of-type {
	border-bottom: 0.1rem solid #ddd;
}

.lp-contact__label-wrap {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	flex-shrink: 0;
}

.lp-contact__label {
	font-weight: 500;
	font-size: 1.7rem;
	color: #222222;
	white-space: nowrap;
}

.lp-contact__required {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0.1rem solid #DF3101;
	border-radius: 0.6rem;
	padding: 0.2rem 0.8rem;
	font-size: 1.4rem;
	font-weight: 500;
	color: #DF3101;
	white-space: nowrap;
}

.lp-contact__input,
.lp-contact__textarea {
	border: 0.1rem solid #ddd;
	border-radius: 0.6rem;
	background: transparent;
	padding: 1rem 1.4rem;
	font-size: 1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
	color: #222222;
	width: 73.3rem;
	flex-shrink: 0;
}

.lp-contact__textarea {
	min-block-size: 14rem;
	resize: vertical;
}

.lp-contact__row--textarea {
	align-items: flex-start;
}

.lp-contact__privacy {
	text-align: center;
	margin-top: 4rem;
	font-weight: 500;
	font-size: 1.7rem;
	color: #222222;
	line-height: 1.6;
	margin-bottom: 4rem;
}

.lp-contact__privacy a {
	text-decoration: underline;
}

/*
.lp-contact__agree-checkbox {
  width: 1.4rem;
  aspect-ratio: 1;
  border: 0.1rem solid #222222;
  border-radius: 0;
  cursor: pointer;
}
*/

.lp-contact__agree {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.2rem;
	margin-top: 1.2rem;
}

/* CF7が生成するwrapperを素のインライン要素にリセット */
.lp-contact__agree .wpcf7-form-control-wrap,
.lp-contact__agree .wpcf7-acceptance,
.lp-contact__agree .wpcf7-list-item {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

.lp-contact__agree {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 1.2rem;
}

/* CF7 ラッパーをリセット */
.lp-contact__agree .wpcf7-form-control-wrap,
.lp-contact__agree .wpcf7-acceptance,
.lp-contact__agree .wpcf7-list-item {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}

/* CF7内部の <label> を有効なクリック領域として扱う */
.lp-contact__agree .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	cursor: pointer;
	margin: 0;
}

/* CF7自動生成の空 .wpcf7-list-item-label は今回テキストを入れているので非表示にしない */
.lp-contact__agree .wpcf7-list-item-label {
	display: inline;
}

/* チェックボックス本体 */
.lp-contact__agree input[type="checkbox"] {
	-webkit-appearance: checkbox;
	appearance: checkbox;
	display: inline-block;
	width: 1.8rem;
	height: 1.8rem;
	margin: 0;
	padding: 0;
	opacity: 1;
	visibility: visible;
	position: static;
	cursor: pointer;
	accent-color: #07328C;
	flex-shrink: 0;
}

/* テキスト部 */
.lp-contact__agree-text {
	font-weight: 500;
	font-size: 1.7rem;
	color: #222222;
}

.lp-contact__agree-text a {
	text-decoration: underline;
}


.lp-contact__submit-wrap {
	text-align: center;
	margin-top: 2.4rem;
}

.lp-contact__submit-wrap .wpcf7-spinner {
	display: block;
}

.lp-contact__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #FFEE00;
	border: none;
	border-radius: 0.6rem;
	padding: 3rem 17rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 2.8rem;
	color: #07328C;
	letter-spacing: 0.56rem;
	cursor: pointer;
}

.lp-contact__submit:hover {
	opacity: 0.9;
}

.turnstile-wrap {
	text-align: center;
	margin-bottom: 4rem;
}


/* ============================================================
   FOOTER
   ============================================================ */
.lp-footer {
	border-top: 0.1rem solid #F5F5F5;
	padding-top: 7rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	/* gap: 3.5rem; */
}

.lp-footer__logo {
	width: 37rem;
}

.lp-footer__logo img {
	width: 100%;
	margin-bottom: 2.4rem;
}

.lp-footer__copy {
	background: #07328C;
	width: 100%;
	text-align: center;
	padding: 0.4rem 0;
	font-size: 1.4rem;
	color: #FFFFFF;
	letter-spacing: 0.042rem;
	line-height: 2.7rem;
}

.lp-footer__rink {
	margin-bottom: 3.2rem;
	display: flex;
	gap: 0.6rem;
	text-decoration: none;
}

.lp-footer__rink:hover {
	text-decoration: underline;
}


/* ============================================================
   PAGE TOP
   ============================================================ */
.lp-pagetop-anchor {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	pointer-events: none;
}

.lp-pagetop {
	position: fixed;
	inset: auto 2.4rem 2.4rem auto;
	z-index: 150;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.2rem;
	width: 6rem;
	height: 6rem;
	margin: 0;
	background: #07328C;
	color: #FFFFFF;
	border-radius: 50%;
	text-decoration: none;
	box-shadow: 0 0.4rem 1.2rem rgba(7, 50, 140, 0.35);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(1rem);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background 0.3s ease;
}

.lp-pagetop.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.lp-pagetop.is-visible:hover {
	background: #004EA2;
	transform: translateY(-0.3rem);
}

.lp-pagetop__icon {
	display: block;
	width: 1rem;
	height: 1rem;
	border-top: 0.25rem solid currentColor;
	border-right: 0.25rem solid currentColor;
	transform: rotate(-45deg) translateY(0.2rem);
}

.lp-pagetop__text {
	font-family: 'Roboto', sans-serif;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05rem;
}

/* ============================================================
   Responsive — メディアクエリ（同一ブレークポイントごとに集約）
   ============================================================ */

@media (max-width: 1280px) {
	.W-1280--flex {
		display: none;
	}
}

@media (max-width: 1279px) {
	.W-1280 {
		display: none;
	}

	.W-1280none {
		display: block;
	}

	/* W-1280none より後に書くことで flex レイアウトを維持 */
	.lp-header__hamburger {
		display: flex;
	}
}

@media (max-width: 1023px) {
	.W-1024 {
		display: none;
	}

	.W-1024none {
		display: block;
	}

	.W-1024--flex {
		display: none;
	}
}

@media (max-width: 895px) {
	.W-896 {
		display: none;
	}

	.W-896none {
		display: block;
	}

	.W-896--flex {
		display: none;
	}
}

@media (max-width: 639px) {
	.W-640 {
		display: none;
	}

	.W-640none {
		display: block;
	}

	.W-640--flex {
		display: none;
	}
}

@media (max-width: 1280px) {
	.lp-header__nav {
		display: none;
	}

	.lp-header__cta {
		font-size: 1.4rem;
		padding: 0.8rem 2rem;
	}

	.lp-header__active-text {
		font-size: 2.4rem;
	}

	.lp-header__logo {
		width: 20rem;
	}

	.lp-mv__announce p {
		font-size: 2.4rem;
	}

	.lp-mv__announce strong.yellow {
		font-size: 3rem;
	}

	.lp-mv__content {
		padding: 5rem 4rem;
	}

	.lp-mv__heading-main .accent {
		font-size: 8rem;
	}

	.lp-mv__heading-main .white {
		font-size: 5rem;
	}

	.lp-mv__heading-sub {
		font-size: 3.6rem;
	}

	.lp-mv__image {
		flex-basis: 38rem;
	}

	.lp-sec {
		padding-block: 8rem;
	}

	.lp-sec__en {
		font-size: 8rem;
	}

	.lp-sec__title {
		font-size: 4rem;
	}

	.lp-sec__title em {
		font-size: 2.8rem;
	}

	.lp-sec1__card {
		width: 28rem;
		font-size: 1.7rem;
		padding: 3rem 2rem;
	}

	.lp-sec1__damage-circle {
		width: 14rem;
		font-size: 1.7rem;
	}

	.lp-sec2__header-img {
		flex-basis: 26rem;
	}

	.lp-sec2__title {
		font-size: 2.8rem;
	}

	.lp-sec2__title span {
		font-size: 4rem;
	}

	.lp-sec3__item-title {
		font-size: 2.6rem;
	}

	.lp-sec3__item-title strong {
		font-size: 3.2rem;
	}

	.lp-mv__image {
		flex: 0 0 44rem;
	}

	.lp-sec3__item--odd .lp-sec3__item-text {
		left: -30rem;
	}

	.lp-sec3__item--even .lp-sec3__item-text {
		right: -30rem;
	}

	.lp-sec5__steps-wrap {
		padding: 6rem 6rem;
	}

	.lp-sec5__step-img {
		flex-basis: 18rem;
	}

	.lp-contact__input,
	.lp-contact__textarea {
		width: 60rem;
	}
}

@media (max-width: 1024px) {
	.lp-mv__announce p {
		font-size: 1.8rem;
		white-space: normal;
	}

	.lp-mv__content {
		padding: 4rem 3rem;
	}

	.lp-mv__image {
		flex-basis: auto;
		max-width: 32rem;
	}

	.lp-mv__heading-main .accent {
		font-size: 6.4rem;
	}

	.lp-mv__heading-main .white {
		font-size: 4rem;
	}

	.lp-mv__heading-sub {
		font-size: 2.8rem;
	}

	.lp-sec__en {
		font-size: 6rem;
	}

	.lp-sec__title {
		font-size: 3.2rem;
	}

	.lp-sec__title em {
		font-size: 2.2rem;
	}

	.lp-sec1__card {
		width: 26rem;
		font-size: 1.5rem;
	}

	.lp-sec1__damages {
		margin-inline: -2rem;
	}

	.lp-sec1__desc {
		font-size: 1.5rem;
	}

	.lp-sec2__header {
		flex-direction: column;
		align-items: center;
	}

	.lp-sec2__header-img {
		flex-basis: auto;
		width: 20rem;
	}

	.lp-sec2__product {
		max-width: 20rem;
		padding: 2rem 4rem;
	}

	.lp-sec3__item,
	.lp-sec3__item--even {
		justify-content: stretch;
	}

	.lp-sec3__item-inner {
		width: 100%;
		max-width: none;
		display: flex;
		gap: 2.4rem;
	}

	.lp-sec3__item-text {
		position: static;
		width: 100%;
		max-width: none;
		border-radius: 0 0 4.2rem 4.2rem;
	}

	.lp-sec3__item--even .lp-sec3__item-text {
		border-radius: 0 0 4.2rem 4.2rem;
	}

	.lp-sec3__item-img {
		border-radius: 0;
	}

	.lp-sec3__item-img img {
		border-radius: 0;
	}

	.lp-sec3__flex {
		align-items: flex-start;
	}

	.lp-sec3__list {
		gap: 6rem;
	}

	.lp-sec4__toggle {
		padding: 2rem 2.4rem;
	}

	.lp-sec4__toggle-title {
		font-size: 1.8rem;
	}

	.lp-sec5__steps-wrap {
		padding: 5rem 3rem;
		border-radius: 2.4rem;
	}

	.lp-sec5__step {
		flex-direction: column;
	}

	.lp-sec5__step-img {
		flex-basis: auto;
		width: 16rem;
	}

	.lp-sec3__item-text {
		padding: 0;
	}

	.lp-sec5__step-content {
		width: 100%;
	}

	.lp-faq__title {
		font-size: 2.6rem;
	}

	.lp-faq__q {
		padding: 1.6rem 2.4rem;
	}

	.lp-faq__a {
		padding: 1.6rem 2.4rem 2rem;
	}

	.lp-contact__row {
		align-items: flex-start;
		padding: 2rem 2.4rem;
	}

	.lp-contact__row--textarea {
		align-items: flex-start;
	}

	.lp-contact__submit {
		padding: 2rem 8rem;
		font-size: 2rem;
	}

	.lp-sec5__step:not(:last-child) .lp-sec5__step-label::after {
		height: 47rem;
	}

	.lp-sec3__item-img img {
		border-radius: 2.4rem;
	}
}

@media (max-width: 896px) {
	.lp-banner__inner {
		gap: 2rem;
	}

	.lp-banner__left {
		padding-left: 10rem;
		min-height: 10rem;
	}

	.lp-banner__left-img {
		width: 9rem;
		height: 11rem;
	}

	.lp-banner__left-text {
		font-size: 1.8rem;
	}

	.lp-banner__right-text {
		font-size: 1.7rem;
	}

	.lp-btn {
		font-size: 2rem;
		padding: 1.6rem 6rem 1.6rem 4rem;
	}

	.lp-header__cta {
		display: none;
	}

	.lp-mv__catchcopy {
		font-size: 1.6rem;
	}

	.lp-mv__tagline {
		font-size: 2rem;
	}

	.lp-mv__heading-main .accent {
		font-size: 5.2rem;
	}

	.lp-mv__heading-main .white {
		font-size: 3.2rem;
	}

	.lp-mv__heading-sub {
		font-size: 2rem;
	}

	.lp-mv__tagline {
		margin-bottom: 3.7rem;
	}

	.lp-mv__image {
		flex: 0 0 24rem;
	}

	.lp-sec__en {
		font-size: 4rem;
		letter-spacing: 1rem;
	}

	.lp-sec__title {
		font-size: 2.6rem;
	}

	.lp-sec1__card {
		width: 100%;
		max-width: 36rem;
	}

	.lp-sec1__damage-circle {
		width: 12rem;
	}

	.lp-sec1__damages {
		gap: 2.4rem;
	}

	.lp-sec3__item-img img {
		width: 100%;
	}

	.lp-sec2__product {
		width: 20rem;
		padding: 2rem 2.4rem;
	}

	.lp-sec2__product-name {
		font-size: 1.6rem;
	}

	.lp-contact__row {
		flex-direction: column;
	}

	.lp-contact__input,
	.lp-contact__textarea {
		width: 100%;
	}

	.lp-sec5__step:not(:last-child) .lp-sec5__step-label::after {
		content: none;
	}

	.lp-sec5__step-text {
		margin-bottom: 2rem;
	}

	.wpcf7-form-control-wrap {
		display: contents;
	}

	.lp-mv__content {
		gap: 6rem;
	}
}

@media (max-width: 640px) {
	.lp-mv__announce {
		display: none;
	}

	.lp-mv__content {
		padding: 3rem 2rem;
	}

	.lp-mv__heading {
		margin-bottom: 2rem;
	}

	.lp-mobile-menu {
		width: 100%;
	}

	.lp-mv__heading-main .accent {
		font-size: 4rem;
	}

	.lp-mv__heading-main .white {
		font-size: 2.4rem;
	}

	.lp-mv__heading-sub {
		font-size: 1.6rem;
	}

	.lp-mv__content {
		--lp-mv-corner-inset: 3rem;
		flex-direction: column;
	}

	.lp-mv__text {
		margin-top: 4rem;
	}

	.lp-mv__image-circle {
		text-align: center;
	}

	.lp-mv__image-circle img {
		width: 90%;
	}

	.lp-mv__image {
		margin-bottom: 4rem;
	}

	.lp-mv__heading-sub em {
		font-size: 2.2rem;
	}

	.lp-mv__catchcopy-row {
		margin-bottom: 1.8rem;
	}

	.lp-mv__triangle {
		width: 110%;
	}

	.lp-mv__heading-main .accent {
		font-size: 5.5rem;
	}

	.lp-header__inner {
		padding: 1.7rem 2rem;
	}

	.lp-banner {
		padding: 1.6rem 2rem;
	}

	.lp-banner__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.2rem;
	}

	.lp-banner__left {
		padding-left: 8rem;
		min-height: 8.4rem;
	}

	.lp-banner__left-img {
		width: 100%;
		height: 8.8rem;
		bottom: -1rem;
		left: -114px;
	}

	.lp-banner__left-text,
	.lp-banner__right-text {
		font-size: 1.4rem;
		text-align: left;
	}

	.lp-banner__left-text {
		margin-right: 1rem;
		margin-left: 2rem;
		font-size: 1.2rem;
	}

	.lp-banner__right {
		width: 100%;
		flex-shrink: 0;
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}


	.lp-btn {
		font-size: 1.6rem;
		margin-top: 0.8rem;
	}

	.lp-btn::after {
		width: 1.6rem;
		height: 1.6rem;
		right: 1.6rem;
	}

	.lp-sec3__item-inner {
		flex-direction: column;
	}


	.lp-sec__title {
		font-size: 2.2rem;
	}

	.lp-sec1__desc {
		font-size: 1.3rem;
	}

	.lp-sec1__card {
		font-size: 1.4rem;
		padding: 2.4rem 1.6rem;
	}

	.lp-sec1__damages {
		flex-direction: column;
	}

	.lp-sec1__cards-row {
		flex-direction: column;
		align-items: center;
	}

	.lp-sec1__cards-row:nth-of-type(1) {
		margin-bottom: 0;
	}

	.lp-sec1__center-img {
		top: 5rem;
	}

	.lp-sec2__title {
		font-size: 2.2rem;
	}

	.lp-sec2__title span {
		font-size: 2.8rem;
	}

	.lp-sec2__products {
		gap: 1.6rem;
	}

	.lp-sec2__product {
		width: calc(50% - 1.6rem);
		padding: 1.6rem;
	}

	.lp-sec3__item-title {
		font-size: 1.6rem;
	}

	.lp-sec3__item-title strong {
		font-size: 2.4rem;
	}

	.lp-sec3__item-text {
		padding: 0 0 1.6rem;
	}

	.lp-sec3__feature-badge img {
		width: 8rem;
	}

	.lp-sec3__flex {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.6rem;
	}

	.lp-sec3__list {
		gap: 4rem;
		margin-top: 4rem;
	}

	.lp-sec4__toggle-title {
		font-size: 1.5rem;
	}

	.lp-sec4__toggle {
		padding: 1.6rem 1.6rem;
	}

	.lp-sec5__steps-wrap {
		padding: 3rem 1.6rem;
	}

	.lp-sec5__step-content {
		flex-direction: column;
		align-items: center;
	}

	.lp-sec5__step-text {
		padding: 2rem 2rem;
	}

	.lp-sec5__step-heading {
		font-size: 1.8rem;
	}

	.lp-sec5__step {
		align-items: center;
		gap: 2rem;
	}

	.lp-faq__title {
		font-size: 2rem;
	}

	.lp-faq__q-text {
		font-size: 1.4rem;
	}

	.lp-faq__q {
		padding: 2rem 1.4rem;
		gap: 1.2rem;
	}

	.lp-faq__q-mark,
	.lp-faq__a-mark {
		font-size: 2.2rem;
	}

	.lp-faq__a {
		padding: 1.2rem 1.6rem 1.6rem;
		gap: 1.2rem;
	}

	.lp-faq__q::before {
		right: 1.1rem;
	}

	.lp-faq__q::after {
		right: 0.5rem;
	}

	.lp-contact__submit {
		padding: 1.6rem 4rem;
		font-size: 1.6rem;
		letter-spacing: 0.3rem;
	}

	.lp-contact__row {
		padding: 2rem 0;
	}

	.lp-footer__logo {
		width: 24rem;
	}

	.lp-footer {
		padding-top: 4rem;
	}

	.lp-sec4__toggle::before {
		height: 1.5rem;
	}

	.lp-sec4__toggle::after {
		width: 1.5rem;
		right: 3.7rem;
	}

	.lp-pagetop {
		inset: auto 1.6rem 1.6rem auto;
		width: 5.2rem;
		height: 5.2rem;
	}

	.lp-pagetop__text {
		font-size: 1rem;
	}
}