/* ============================================================
   Luck Field - lp.css
   （変数名は --pink 系のまま残していますが、値はグリーン×クローバーに変更済み）
   ============================================================ */

:root{
	--pink:#1f6e46;
	--pink-deep:#123524;
	--pink-bright:#4f9e74;
	--bg-faint:#f4f7f4;
	--bg-soft:#e3ebe4;
	--ink:#182620;
	--white:#ffffff;
	--footer-bg:#0d1b13;
	--footer-bg-deep:#16301f;
	--maxw:1360px;
	--serif:"Poppins", "Noto Sans JP", -apple-system, sans-serif;   /* 英字見出し・ロゴ・数字 */
	--script:"Poppins", "Noto Sans JP", -apple-system, sans-serif; /* 英字装飾 */
	--sans:"Noto Sans JP", -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; /* 本文・日本語全般（ゴシック） */
	--shadow:0 10px 30px rgba(31,110,70,.12);
	--shadow-sm:0 4px 14px rgba(31,110,70,.12);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	font-family:var(--sans);
	color:var(--ink);
	background:var(--white);
	line-height:1.85;
	font-size:15px;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
body.lf-noscroll{overflow:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,p,ul,ol,dl,figure{margin:0;}
ul,ol{list-style:none;padding:0;}

.lf-container{max-width:var(--maxw);margin-inline:auto;padding-inline:40px;}

/* ---- 共通見出し ---- */
.lf-eyebrow{
	display:block;
	font-family:var(--serif);
	letter-spacing:.18em;
	font-size:13px;
	color:var(--pink);
	margin-bottom:14px;
	font-weight:600;
}
.lf-eyebrow--light{color:rgba(255,255,255,.85);}
.lf-h2{
	font-size:clamp(24px,2.6vw,34px);
	font-weight:700;
	line-height:1.5;
	color:var(--ink);
	letter-spacing:.02em;
}
.lf-h2--light{color:var(--white);}
.lf-arrow{display:inline-block;margin-left:.4em;}

/* ---- ボタン ---- */
.lf-btn{
	display:inline-flex;align-items:center;justify-content:center;
	gap:.2em;
	padding:16px 30px;
	border-radius:6px;
	font-size:14px;font-weight:700;
	letter-spacing:.04em;
	transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
	cursor:pointer;border:none;white-space:nowrap;
}
.lf-btn:hover{transform:translateY(-2px);}
.lf-btn--header{background:var(--white);color:var(--pink);box-shadow:var(--shadow-sm);}
.lf-btn--white{background:var(--white);color:var(--pink);box-shadow:var(--shadow);}
.lf-btn--ghost{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.85);}
.lf-btn--ghost:hover{background:rgba(255,255,255,.15);}
.lf-btn--green{background:var(--pink);color:var(--white);box-shadow:var(--shadow-sm);}
.lf-btn--green:hover{background:var(--pink-deep);}
.lf-btn--green-outline{background:var(--white);color:var(--pink);border:1.5px solid var(--pink);}
.lf-btn--green-outline:hover{background:var(--pink);color:var(--white);}

/* ============================================================
   HEADER
   ============================================================ */
.lf-header{
	position:fixed;inset:0 0 auto 0;z-index:100;
	transition:background .3s ease, box-shadow .3s ease;
}
.lf-header.is-scrolled{
	background:rgba(255,255,255,.92);
	backdrop-filter:blur(8px);
	box-shadow:0 2px 18px rgba(31,110,70,.12);
}
.lf-header__inner{
	max-width:1640px;margin-inline:auto;
	display:flex;align-items:center;gap:24px;
	padding:22px 40px;
}
.lf-logo{display:flex;flex-direction:column;line-height:1.1;color:var(--white);}
.lf-logo__main{font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:.08em;}
.lf-logo__sub{font-size:10px;letter-spacing:.32em;margin-top:2px;}
.lf-header.is-scrolled .lf-logo,
.lf-header.is-scrolled .lf-nav-list a{color:var(--ink);}
.lf-header.is-scrolled .lf-btn--header{background:var(--pink);color:var(--white);}

.lf-nav{margin-left:auto;}
.lf-nav-list{display:flex;gap:26px;align-items:center;}
.lf-nav-list a{
	color:var(--white);font-size:13px;font-weight:500;letter-spacing:.08em;
	position:relative;padding:4px 0;transition:opacity .2s;
}
.lf-nav-list a:hover{opacity:.7;}
.lf-header__cta{margin-left:8px;}

/* ハンバーガー */
.lf-burger{
	display:none;width:44px;height:44px;background:transparent;border:none;
	flex-direction:column;justify-content:center;gap:6px;cursor:pointer;margin-left:auto;
}
.lf-burger span{display:block;height:2px;width:26px;background:var(--white);transition:.3s;}
.lf-header.is-scrolled .lf-burger span{background:var(--ink);}
.lf-burger.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.lf-burger.is-open span:nth-child(2){opacity:0;}
.lf-burger.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

.lf-mobile-nav{
	display:none;position:fixed;inset:0;z-index:90;
	background:linear-gradient(160deg,var(--pink),var(--pink-bright));
	flex-direction:column;align-items:center;justify-content:center;gap:6px;
	opacity:0;pointer-events:none;transition:opacity .3s;
}
.lf-mobile-nav.is-open{opacity:1;pointer-events:auto;}
.lf-mobile-nav__list{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:30px;}
.lf-mobile-nav__list a,.lf-mobile-nav a{color:var(--white);font-size:18px;letter-spacing:.1em;font-family:var(--serif);}
.lf-mobile-nav__cta{margin-top:10px;}

/* ============================================================
   1. HERO
   ============================================================ */
.lf-hero{
	position:relative;
	min-height:760px;
	background:linear-gradient(115deg,var(--pink) 0%,var(--pink-bright) 55%,#dde6dc 100%);
	overflow:hidden;
	display:flex;align-items:center;
}
.lf-hero__inner{
	position:relative;z-index:2;
	max-width:var(--maxw);margin-inline:auto;width:100%;
	padding:150px 40px 80px;
	display:flex;align-items:center;gap:40px;flex-wrap:wrap;
}
.lf-hero__text{max-width:600px;position:relative;z-index:2;flex:1 1 480px;}
.lf-hero__media{
	flex:1 1 360px;display:flex;align-items:center;justify-content:center;
	max-width:440px;margin-inline:auto;position:relative;z-index:2;
}
.lf-hero__media img{
	width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:14px;
	box-shadow:0 20px 50px rgba(18,53,36,.25);
}
.lf-hero__title{
	font-family:var(--serif);
	font-weight:700;
	color:var(--white);
	font-size:clamp(48px,7vw,104px);
	line-height:1.02;
	letter-spacing:.01em;
	text-shadow:0 4px 24px rgba(18,53,36,.25);
	margin-bottom:26px;
}
.lf-hero__sub{
	color:var(--white);
	font-size:clamp(20px,2.4vw,30px);
	font-weight:700;
	margin-bottom:22px;
	letter-spacing:.03em;
}
.lf-hero__body{
	color:rgba(255,255,255,.95);
	font-size:14px;line-height:2;margin-bottom:38px;
}
.lf-hero__btns{display:flex;gap:16px;flex-wrap:wrap;}
.lf-hero__scroll{
	position:absolute;right:46px;bottom:90px;z-index:2;
	writing-mode:vertical-rl;letter-spacing:.3em;font-size:11px;color:rgba(255,255,255,.8);
}
.lf-hero__scroll::after{content:"";position:absolute;left:50%;bottom:-46px;width:1px;height:36px;background:rgba(255,255,255,.7);}

/* ============================================================
   2. ABOUT / 悩み訴求
   ============================================================ */
.lf-about{background:linear-gradient(180deg,var(--bg-faint),#fff);padding:92px 0;}
.lf-about__grid{display:grid;grid-template-columns:0.85fr 1.4fr;gap:50px;align-items:center;}
.lf-about__body{margin-top:22px;font-size:14px;line-height:2.1;}

/* ============================================================
   3. STRENGTH（背景のみ。内側は会社概要ページの .lf-reasons__grid を使用）
   ============================================================ */
.lf-strength{background:var(--bg-faint);padding:80px 0;}

/* ============================================================
   4. FLOW（制作の流れ）
   ============================================================ */
.lf-flow{background:linear-gradient(120deg,var(--pink),var(--pink-deep));padding:74px 0;}
.lf-flow__head{margin-bottom:38px;}
.lf-flow__steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.lf-flow__steps--4{grid-template-columns:repeat(4,1fr);gap:24px;}
.lf-flow__steps--5{grid-template-columns:repeat(5,1fr);gap:18px;}
.lf-step{text-align:center;color:var(--white);position:relative;padding:0 8px;}
.lf-step:not(:last-child)::after{content:"";position:absolute;right:-7px;top:20px;width:14px;height:1px;background:rgba(255,255,255,.5);}
.lf-step__icon{display:block;width:40px;height:40px;margin:0 auto 8px;color:var(--white);}
.lf-step__num{
	display:flex;align-items:center;justify-content:center;
	width:38px;height:38px;margin:0 auto 12px;border-radius:50%;
	background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);
	font-family:var(--serif);font-size:16px;font-weight:700;line-height:1;
}
.lf-step__title{display:block;font-size:14px;font-weight:700;margin-bottom:8px;}
.lf-step__text{font-size:11.5px;line-height:1.7;opacity:.92;}

/* ============================================================
   共通CTA帯
   ============================================================ */
.lf-bottomcta{background:linear-gradient(135deg,var(--pink) 0%,var(--pink) 60%,var(--pink-bright) 130%);padding:54px 0;}
.lf-bottomcta__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.lf-bottomcta__lead{color:var(--white);font-size:clamp(18px,2vw,24px);font-weight:700;}
.lf-bottomcta__sub{color:rgba(255,255,255,.92);font-size:14px;margin-top:4px;}

/* ============================================================
   FOOTER
   ============================================================ */
.lf-footer{background:linear-gradient(160deg,var(--footer-bg-deep),var(--footer-bg));color:var(--white);padding:60px 0 0;}
.lf-footer__inner{max-width:var(--maxw);margin-inline:auto;padding:0 40px 40px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;}
.lf-footer .lf-logo__main{font-family:var(--serif);font-size:24px;font-weight:700;letter-spacing:.08em;display:block;}
.lf-footer .lf-logo__sub{font-size:10px;letter-spacing:.3em;display:block;margin-top:2px;}
.lf-footer__addr{margin-top:18px;font-size:13px;line-height:1.8;opacity:.92;}
.lf-footer__meta{margin-top:12px;font-size:13px;line-height:1.8;opacity:.92;}
.lf-footer__nav .lf-footer__list,.lf-footer__nav ul{display:flex;flex-direction:column;gap:10px;font-size:13px;}
.lf-footer__nav a:hover{opacity:.75;}
.lf-footer__social{display:flex;flex-direction:column;gap:10px;font-size:13px;}
.lf-footer__social a{position:relative;padding-left:0;}
.lf-footer__copy{border-top:1px solid rgba(255,255,255,.25);text-align:center;padding:18px;font-size:11px;letter-spacing:.1em;opacity:.85;}

/* ============================================================
   固定LINE CTA
   ============================================================ */
.lf-fixed-cta{
	position:fixed;right:24px;bottom:24px;z-index:80;
	display:inline-flex;align-items:center;gap:10px;
	background:var(--white);color:var(--pink);
	padding:14px 22px;border-radius:50px;
	box-shadow:0 8px 24px rgba(31,110,70,.35);
	font-weight:700;font-size:14px;
	transition:transform .2s;
}
.lf-fixed-cta:hover{transform:translateY(-3px);}
.lf-fixed-cta__icon{
	background:var(--pink);color:var(--white);font-size:11px;font-weight:700;
	width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.02em;
}

/* ============================================================
   下層ページ（固定ページ・投稿・アーカイブ・検索・404 共通）
   ※ すべて .lf-page / .lf-pagehero など下層専用クラスに限定。
   ※ TOP（front-page）の .lf-hero 等には一切影響しない。
   ============================================================ */

/* ---- 下層Hero（ページタイトルエリア） ---- */
.lf-pagehero{
	position:relative;
	background:linear-gradient(115deg,var(--pink) 0%,var(--pink-bright) 60%,#dde6dc 100%);
	background-size:cover;background-position:center;
	padding:168px 0 64px;
	text-align:center;
	overflow:hidden;
}
.lf-pagehero--image{background-repeat:no-repeat;}
.lf-pagehero__inner{position:relative;z-index:2;}
.lf-pagehero__en{
	display:block;font-family:var(--serif);font-weight:600;
	letter-spacing:.26em;font-size:13px;text-transform:uppercase;
	color:rgba(255,255,255,.9);margin-bottom:14px;
}
.lf-pagehero__title{
	color:var(--white);font-family:var(--serif);font-weight:700;
	font-size:clamp(28px,3.4vw,48px);line-height:1.25;letter-spacing:.04em;
	text-shadow:0 4px 20px rgba(18,53,36,.22);
}
.lf-pagehero__lead{
	color:rgba(255,255,255,.95);font-size:15px;line-height:1.9;
	max-width:680px;margin:18px auto 0;
}

/* ============================================================
   固定ページ Hero（参考画像準拠：左タイトル・右画像／枠なし）
   page.php・single.php・archive.php・search.php・index.php で使用
   ============================================================ */
.page-hero{
	position:relative;
	padding:140px 0 80px;
	background:
		radial-gradient(circle at 18% 22%, rgba(255,255,255,.85), transparent 38%),
		linear-gradient(120deg, #f8faf8 0%, #e3ebe4 50%, #f1faf3 100%);
	overflow:hidden;
}
.page-hero__inner{
	width:min(1180px, calc(100% - 48px));
	margin:0 auto;
	display:grid;
	grid-template-columns:0.9fr 1.1fr;
	gap:56px;
	align-items:center;
}
.page-hero__title{
	margin:0;
	font-family:var(--sans); /* Noto Serif JP（日本語タイトル） */
	font-weight:500;
	font-size:clamp(34px,5vw,60px);
	line-height:1.4;
	letter-spacing:.08em;
	color:var(--ink);
}
.page-hero__lead{
	margin:20px 0 0;
	font-family:var(--sans);
	font-size:16px;line-height:2;color:#3d4a42;
	max-width:40em;
}
.page-hero__visual{
	position:relative;
	width:100%;
	max-width:560px;
	margin-left:auto;
}
.page-hero__visual::before{
	content:"";position:absolute;inset:24px -24px -24px 24px;
	background:rgba(35,122,53,.12);z-index:0;border-radius:4px;
}
.page-hero__visual img{
	position:relative;z-index:1;
	width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;
	border-radius:4px;box-shadow:0 20px 50px rgba(31,110,70,.14);
}
/* アイキャッチ未設定時：文字なしの装飾パネル（ダミー画像は使わない） */
.page-hero__visual--blank{
	position:relative;z-index:1;
	width:100%;aspect-ratio:4 / 3;border-radius:4px;
	background:linear-gradient(135deg,#dee6dd 0%,#6f8a78 55%,#51cf66 100%);
	box-shadow:0 20px 50px rgba(31,110,70,.14);
}
@media (max-width:768px){
	.page-hero{padding:104px 0 56px;}
	.page-hero__inner{grid-template-columns:1fr;gap:28px;}
	.page-hero__title{font-size:clamp(28px,8vw,40px);text-align:center;}
	.page-hero__visual{margin-left:0;max-width:100%;}
	.page-hero__visual::before{inset:16px -12px -12px 12px;}
}

/* ---- パンくず ---- */
.lf-breadcrumb{background:var(--bg-faint);}
.lf-breadcrumb__inner{
	display:flex;flex-wrap:wrap;align-items:center;
	padding-top:14px;padding-bottom:14px;font-size:12px;color:#71837a;
}
.lf-breadcrumb a{color:var(--pink);}
.lf-breadcrumb a:hover{text-decoration:underline;}
.lf-breadcrumb__sep{margin:0 8px;color:#aab8ac;}
.lf-breadcrumb__current{color:#71837a;}

/* ---- 本文エリア（枠なし・白背景でシンプルに） ---- */
.lf-pagebody{background:var(--white);padding:80px 0;}
.lf-pagebody__inner{
	max-width:960px;margin-inline:auto;
}

/* ============================================================
   本文タイポグラフィ（the_content 出力 / ブロックエディター対応）
   .lf-page .lf-prose 配下に限定
   ============================================================ */
.lf-page .lf-prose{color:var(--ink);font-size:16px;line-height:2;}
.lf-page .lf-prose > *:first-child{margin-top:0;}
.lf-page .lf-prose > *:last-child{margin-bottom:0;}

.lf-page .lf-prose h2{
	position:relative;font-family:var(--serif);font-weight:700;
	font-size:clamp(23px,2.6vw,32px);line-height:1.5;color:var(--ink);
	margin:2.4em 0 .9em;padding-bottom:.5em;
}
.lf-page .lf-prose h2::after{
	content:"";position:absolute;left:0;bottom:0;
	width:64px;height:3px;border-radius:999px;background:var(--pink);
}
.lf-page .lf-prose h3{
	font-weight:700;font-size:clamp(19px,2.2vw,23px);line-height:1.6;color:var(--ink);
	margin:2em 0 .8em;padding-left:16px;border-left:4px solid var(--pink);
}
.lf-page .lf-prose h4{
	font-weight:700;font-size:17px;color:var(--pink);margin:1.8em 0 .6em;
}
.lf-page .lf-prose h5,
.lf-page .lf-prose h6{font-weight:700;font-size:15px;color:var(--ink);margin:1.6em 0 .5em;}

.lf-page .lf-prose p{margin:0 0 1.5em;}
.lf-page .lf-prose a{color:var(--pink);text-decoration:underline;text-underline-offset:2px;}
.lf-page .lf-prose a:hover{color:var(--pink-deep);}
.lf-page .lf-prose strong,
.lf-page .lf-prose b{font-weight:700;color:var(--ink);}
.lf-page .lf-prose em{font-style:italic;}
.lf-page .lf-prose mark{background:var(--bg-soft);color:var(--pink-deep);padding:.1em .3em;border-radius:4px;}

.lf-page .lf-prose ul,
.lf-page .lf-prose ol{margin:0 0 1.6em;padding-left:1.4em;}
.lf-page .lf-prose ul{list-style:disc;}
.lf-page .lf-prose ol{list-style:decimal;}
.lf-page .lf-prose li{margin-bottom:.5em;line-height:1.9;}
.lf-page .lf-prose li::marker{color:var(--pink);}
.lf-page .lf-prose li > ul,
.lf-page .lf-prose li > ol{margin:.5em 0 .5em;}

.lf-page .lf-prose blockquote{
	margin:1.8em 0;padding:18px 24px;
	background:var(--bg-faint);border-left:4px solid var(--pink-bright);
	border-radius:0 10px 10px 0;color:#3d4a42;
}
.lf-page .lf-prose blockquote p:last-child{margin-bottom:0;}

/* 画像・figure・wp-block-image */
.lf-page .lf-prose img{height:auto;border-radius:12px;}
.lf-page .lf-prose p > img,
.lf-page .lf-prose figure img{box-shadow:var(--shadow-sm);}
.lf-page .lf-prose figure{margin:1.8em 0;}
.lf-page .lf-prose figure img{margin:0;}
.lf-page .lf-prose figcaption{font-size:12px;color:#71837a;text-align:center;margin-top:8px;}
.lf-page .lf-prose .wp-block-image{margin:1.8em 0;}
.lf-page .lf-prose .wp-block-image img{border-radius:12px;box-shadow:var(--shadow-sm);}

/* テーブル（横スクロール対応） */
.lf-page .lf-prose .wp-block-table,
.lf-page .lf-prose .lf-tablewrap{margin:1.8em 0;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.lf-page .lf-prose table{
	width:100%;border-collapse:collapse;margin:1.8em 0;font-size:14px;background:var(--white);
}
.lf-page .lf-prose .wp-block-table table,
.lf-page .lf-prose .lf-tablewrap table{margin:0;}
.lf-page .lf-prose th,
.lf-page .lf-prose td{
	border:1px solid #d2ddd0;padding:14px 16px;text-align:left;line-height:1.7;vertical-align:top;
}
.lf-page .lf-prose th{background:var(--bg-faint);color:var(--ink);font-weight:700;white-space:nowrap;}

/* ボタン（wp-block-button → TOPのCTAと同じ質感） */
.lf-page .lf-prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:1.8em 0;}
.lf-page .lf-prose .wp-block-button{margin:0;}
.lf-page .lf-prose .wp-block-button__link{
	display:inline-flex;align-items:center;justify-content:center;
	background:var(--pink);color:var(--white);
	padding:14px 32px;border-radius:6px;font-weight:700;font-size:14px;letter-spacing:.04em;
	text-decoration:none;box-shadow:var(--shadow-sm);
	transition:transform .2s ease, background .2s ease;
}
.lf-page .lf-prose .wp-block-button__link:hover{background:var(--pink-deep);transform:translateY(-2px);}
.lf-page .lf-prose .is-style-outline .wp-block-button__link,
.lf-page .lf-prose .wp-block-button.is-style-outline .wp-block-button__link{
	background:transparent;color:var(--pink);border:1.5px solid var(--pink);box-shadow:none;
}
.lf-page .lf-prose .is-style-outline .wp-block-button__link:hover{background:var(--pink);color:var(--white);}

/* カラム */
.lf-page .lf-prose .wp-block-columns{display:flex;flex-wrap:wrap;gap:24px;margin:1.8em 0;}
.lf-page .lf-prose .wp-block-column{flex:1 1 240px;min-width:0;}
.lf-page .lf-prose .wp-block-column > *:first-child{margin-top:0;}

/* 区切り線・コード */
.lf-page .lf-prose hr,
.lf-page .lf-prose .wp-block-separator{border:none;border-top:1px solid #cdd6cc;margin:2.4em 0;}
.lf-page .lf-prose code{background:var(--bg-faint);padding:.15em .4em;border-radius:4px;font-size:.9em;}
.lf-page .lf-prose pre{background:#f1faf3;padding:18px;border-radius:10px;overflow-x:auto;font-size:13px;}

/* ============================================================
   一覧（アーカイブ・検索・index）／投稿詳細／404
   ============================================================ */
.lf-entry{margin-bottom:34px;padding-bottom:28px;border-bottom:1px solid var(--bg-soft);}
.lf-archive .lf-entry:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.lf-entry__title{font-size:20px;font-weight:700;line-height:1.5;margin-bottom:8px;}
.lf-entry__title a{color:var(--ink);}
.lf-entry__title a:hover{color:var(--pink);}
.lf-entry__meta{font-size:12px;color:#71837a;letter-spacing:.06em;margin-bottom:10px;}
.lf-entry__content{font-size:14px;line-height:1.9;}

.lf-single__meta{font-size:12px;color:#71837a;letter-spacing:.08em;margin-bottom:22px;}
.lf-single__cat{margin-left:12px;}
.lf-single__cat a{color:var(--pink);}

.lf-postnav{display:flex;justify-content:space-between;gap:16px;margin-top:36px;padding-top:24px;border-top:1px solid var(--bg-soft);font-size:13px;}
.lf-postnav a{color:var(--pink);}
.lf-postnav__next{margin-left:auto;text-align:right;}

.lf-noposts{font-size:15px;line-height:1.9;color:var(--ink);}

.lf-404{text-align:center;}
.lf-404__text{font-size:15px;line-height:2;margin-bottom:28px;}
.lf-404__btn{margin-bottom:8px;}
.lf-404__search{max-width:420px;margin:28px auto 0;}

/* 検索フォーム */
.lf-searchform{margin-bottom:32px;}
.lf-searchform .search-form,
.lf-searchform form{display:flex;gap:10px;flex-wrap:wrap;}
.lf-searchform .search-field,
.lf-searchform input[type="search"],
.lf-searchform input[type="text"]{
	flex:1 1 200px;min-width:0;padding:12px 16px;border:1px solid #cdd6cc;border-radius:6px;font-size:14px;color:var(--ink);
}
.lf-searchform .search-field:focus,
.lf-searchform input[type="search"]:focus{outline:2px solid var(--pink-bright);border-color:var(--pink-bright);}
.lf-searchform .search-submit,
.lf-searchform input[type="submit"],
.lf-searchform button[type="submit"]{
	background:var(--pink);color:var(--white);border:none;border-radius:6px;
	padding:12px 26px;font-weight:700;font-size:14px;cursor:pointer;transition:background .2s;
}
.lf-searchform .search-submit:hover{background:var(--pink-deep);}

/* ページネーション */
.lf-pagination{margin-top:34px;text-align:center;}
.lf-pagination .nav-links{display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:center;}
.lf-pagination a,
.lf-pagination .current,
.lf-pagination .page-numbers{
	padding:8px 14px;border:1px solid #cdd6cc;border-radius:6px;display:inline-block;
	font-size:13px;color:var(--ink);text-decoration:none;
}
.lf-pagination a:hover{background:var(--bg-faint);}
.lf-pagination .current{background:var(--pink);color:var(--white);border-color:var(--pink);}

/* ---- 下層ページ レスポンシブ ---- */
@media (max-width:768px){
	.lf-pagehero{padding:128px 0 48px;}
	.lf-pagebody{padding:48px 0;}
	.lf-page .lf-prose{font-size:15px;}
	.lf-page .lf-prose h2{margin-top:1.9em;}
	.lf-page .lf-prose table{white-space:nowrap;}
	.lf-postnav{flex-direction:column;}
	.lf-postnav__next{margin-left:0;text-align:left;}
}

/* ============================================================
   レスポンシブ：タブレット 〜900px
   ============================================================ */
@media (max-width:900px){
	.lf-container{padding-inline:24px;}
	.lf-nav,.lf-header__cta{display:none;}
	.lf-burger{display:flex;}
	.lf-mobile-nav{display:flex;}

	.lf-hero{min-height:auto;}
	.lf-hero__scroll{display:none;}
	.lf-hero__media{max-width:320px;}

	.lf-about{padding:64px 0;}
	.lf-about__grid{grid-template-columns:1fr;gap:32px;}

	.lf-flow__steps,.lf-flow__steps--4,.lf-flow__steps--5{grid-template-columns:1fr;gap:24px;}
	.lf-step:not(:last-child)::after{display:none;}
	.lf-step{display:grid;grid-template-columns:54px 50px 1fr;align-items:center;text-align:left;gap:12px;}
	.lf-step__icon{margin:0;}
	.lf-step__num{margin:0;}
	.lf-step__title{grid-column:3;}
	.lf-step__text{grid-column:3;}

	.lf-faq__cols{grid-template-columns:1fr;}

	.lf-footer__inner{grid-template-columns:1fr;gap:28px;}

	.lf-bottomcta__inner{flex-direction:column;text-align:center;}
}

/* ============================================================
   レスポンシブ：スマホ 〜600px
   ============================================================ */
@media (max-width:600px){
	body{font-size:14px;}
	.lf-container{padding-inline:18px;}

	.lf-hero__inner{padding:120px 18px 40px;}
	.lf-hero__title{font-size:clamp(38px,12vw,52px);}
	.lf-hero__sub{font-size:19px;}
	.lf-hero__btns{flex-direction:column;}
	.lf-hero__btns .lf-btn{width:100%;}

	/* 固定CTA：下部横長 */
	.lf-fixed-cta{
		left:12px;right:12px;bottom:12px;justify-content:center;
		border-radius:10px;padding:15px;
	}
}

/* ============================================================
   アクセシビリティ
   ============================================================ */
a:focus-visible,button:focus-visible,summary:focus-visible{
	outline:3px solid var(--pink-deep);outline-offset:2px;border-radius:4px;
}
@media (prefers-reduced-motion:reduce){
	*{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}

/* ============================================================
スマホ・タブレット ハンバーガー＆モバイルナビ修正
============================================================ */

/* スクロール後のハンバーガーボタンを確実に表示 */
@media (max-width:900px){
  /* is-scrolled時もハンバーガーを表示 */
  .lf-header.is-scrolled .lf-burger{
    display:flex;
  }
  /* モバイルナビのz-indexをヘッダーより上に */
  .lf-mobile-nav{
    z-index:200;
  }
  /* ハンバーガーのz-indexをモバイルナビより上に（閉じるために） */
  .lf-header{
    z-index:300;
  }
  .lf-burger{
    z-index:310;
    position:relative;
  }
}

/* ============================================================
モバイルナビ 閉じる（×）ボタン
============================================================ */
.lf-mobile-close{
  display:block;
  position:absolute;
  top:24px;
  right:24px;
  width:44px;
  height:44px;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:28px;
  color:var(--white);
  line-height:1;
  z-index:10;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0.9;
  transition:opacity .2s;
}
.lf-mobile-close:hover{
  opacity:1;
}

/* ============================================================
   TOP（front-page）専用の追加スタイル
   ※ 下層ページ(.lf-page)には影響しない。
   ============================================================ */

/* Hero：日本語メインコピー（英字用の巨大サイズを抑える） */
.lf-hero__title--jp{
	font-family:var(--sans);
	font-weight:700;
	font-size:clamp(30px,4.4vw,52px);
	line-height:1.3;
	letter-spacing:.01em;
}

/* ABOUT：悩みチェックリスト */
.lf-checklist{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;}
.lf-checkitem{
	position:relative;
	background:linear-gradient(180deg,#fff,var(--bg-faint));
	border:1px solid #dde6dc;border-radius:10px;
	padding:15px 18px 15px 48px;font-size:14px;line-height:1.7;font-weight:500;
	box-shadow:var(--shadow-sm);
}
.lf-checkitem::before{
	content:"\2713";position:absolute;left:15px;top:14px;
	width:22px;height:22px;border-radius:50%;background:var(--pink);color:#fff;
	font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;
}

/* SERVICES：提供サービス一覧（7つ） */
.lf-services{background:linear-gradient(180deg,var(--bg-faint),#fff);padding:88px 0;}
.lf-services__head{text-align:center;margin-bottom:42px;}
.lf-services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;}
.lf-scard{
	display:flex;align-items:flex-start;gap:16px;
	background:#fff;border:1px solid #dde6dc;border-radius:16px;
	padding:30px 26px;box-shadow:var(--shadow-sm);
}
.lf-scard__main{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;}
.lf-scard__icon{
	flex:0 0 auto;width:48px;height:48px;border-radius:12px;
	background:var(--bg-faint);display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.lf-scard__icon img{width:100%;height:100%;object-fit:contain;padding:8px;}
.lf-scard__num{font-family:var(--serif);font-size:13px;font-weight:700;color:var(--pink);letter-spacing:.1em;margin-bottom:10px;}
.lf-scard__name{font-size:18px;font-weight:700;line-height:1.4;color:var(--ink);margin-bottom:4px;}
.lf-scard__en{display:block;font-family:var(--serif);font-size:11px;color:#7e8f84;letter-spacing:.06em;margin-bottom:14px;}
.lf-scard__body{font-size:13px;line-height:1.8;color:#3d4a42;margin-bottom:16px;}
.lf-scard__tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 16px;padding:0;}
.lf-scard__tags li{font-size:11px;color:var(--pink-deep);background:var(--bg-faint);border-radius:999px;padding:4px 10px;}
.lf-scard__link{margin-top:auto;font-weight:700;font-size:13px;color:var(--pink);}
.lf-scard__link:hover{color:var(--pink-deep);}
.lf-services__note{margin-top:40px;text-align:center;}
.lf-services__note p{font-size:14px;color:#3d4a42;margin-bottom:16px;}

/* 会社概要：選ばれる理由 / Strengths（3つ。.lf-reasons__grid + .lf-rcard を使用） */
.lf-reasons__head{text-align:center;margin-bottom:42px;}
.lf-reasons__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.lf-strengths__head{text-align:center;margin-bottom:42px;}
.lf-strengths__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.lf-rcard{background:#fff;border:1px solid #dde6dc;border-radius:14px;padding:28px 24px;box-shadow:var(--shadow-sm);}
.lf-rcard__num{display:inline-block;font-family:var(--serif);font-size:30px;font-weight:700;color:var(--pink);line-height:1;margin-bottom:14px;}
.lf-rcard__num::before{content:"No.";font-size:13px;margin-right:2px;}
.lf-rcard__title{font-size:17px;font-weight:700;line-height:1.5;color:var(--ink);margin-bottom:12px;}
.lf-rcard__text{font-size:13px;line-height:1.85;}

/* VOICES：お客様の声（3件） */
.lf-voicesection{background:linear-gradient(180deg,#fff,var(--bg-faint));padding:84px 0;}
.lf-voicesection__head{text-align:center;margin-bottom:42px;}
.lf-voicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.lf-voicecard{
	position:relative;background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);
	padding:32px 26px;display:flex;flex-direction:column;
}
.lf-voicecard__icon{
	display:flex;align-items:center;justify-content:center;
	width:56px;height:56px;border-radius:50%;margin-bottom:16px;
	background:var(--bg-faint);color:var(--pink);overflow:hidden;
}
.lf-voicecard__icon img{width:100%;height:100%;object-fit:cover;}
.lf-voicecard__icon svg{width:26px;height:26px;}
.lf-voicecard__quote{font-family:var(--serif);font-size:44px;color:var(--pink-bright);line-height:.6;opacity:.5;margin-bottom:8px;}
.lf-voicecard__text{font-size:13.5px;line-height:1.9;color:#3d4a42;margin-bottom:16px;}
.lf-voicecard__name{margin-top:auto;font-size:12.5px;font-weight:700;color:var(--pink);}

/* HERO / 共通CTA：安心バッジ（信頼性チェックリスト） */
.lf-hero__trust{
	display:flex;flex-wrap:wrap;gap:10px 18px;margin:0;padding:0;list-style:none;
}
.lf-hero__trust li{
	position:relative;padding-left:20px;font-size:12.5px;color:var(--white);
	letter-spacing:.02em;
}
.lf-hero__trust li::before{content:"\2713";position:absolute;left:0;top:0;font-weight:700;}
.lf-hero__trust--center{justify-content:center;margin-top:18px;}

/* HERO：クローバー装飾 */
.lf-hero__clover{
	display:flex;align-items:center;justify-content:center;
	width:100%;aspect-ratio:4 / 3;border-radius:14px;
	background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);
	font-size:120px;line-height:1;pointer-events:none;
}

/* ナビ：サブメニュー（サービス） */
.lf-nav-list{position:relative;}
.lf-nav-list .menu-item-has-children{position:relative;}
.lf-nav-list .sub-menu{
	display:none;position:absolute;top:100%;left:0;min-width:220px;
	background:#fff;border-radius:10px;box-shadow:var(--shadow);
	padding:10px;margin:8px 0 0;list-style:none;z-index:50;
}
.lf-nav-list .menu-item-has-children:hover .sub-menu,
.lf-nav-list .menu-item-has-children:focus-within .sub-menu{display:block;}
.lf-nav-list .sub-menu li{padding:0;}
.lf-nav-list .sub-menu a{
	display:block;color:var(--ink) !important;padding:9px 12px;border-radius:6px;font-size:13px;
}
.lf-nav-list .sub-menu a:hover{background:var(--bg-faint);opacity:1;}
.lf-mobile-nav__list .sub-menu{
	list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;
}
.lf-mobile-nav__list .sub-menu a{font-size:14px;opacity:.85;}

/* ============================================================
   会社概要ページ：MISSION
   ============================================================ */
.lf-mission{background:var(--white);padding:84px 0;}
.lf-mission__inner{max-width:760px;margin:0 auto;text-align:center;}
.lf-mission__body{margin-top:22px;font-size:14.5px;line-height:2.1;color:#3d4a42;}
.lf-mission__tagline{
	margin-top:28px;font-family:var(--serif);font-weight:700;font-size:18px;color:var(--pink);
}

/* ============================================================
   会社概要ページ：会社情報テーブル
   ============================================================ */
.lf-companyinfo{display:grid;grid-template-columns:160px 1fr;gap:0;border-top:1px solid var(--bg-soft);}
.lf-companyinfo dt,.lf-companyinfo dd{
	padding:18px 0;border-bottom:1px solid var(--bg-soft);margin:0;
}
.lf-companyinfo dt{font-weight:700;color:var(--pink);font-size:13px;letter-spacing:.04em;}
.lf-companyinfo dd{font-size:14px;line-height:1.8;color:var(--ink);}
.lf-companyinfo dd a{color:var(--pink);}
.lf-companyinfo__list{margin:0;padding:0;list-style:none;}
.lf-companyinfo__list li{margin-bottom:4px;}

/* ============================================================
   お問い合わせページ
   ============================================================ */
.lf-contact__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start;}
.lf-contact__side{
	background:var(--bg-faint);border-radius:14px;padding:28px 26px;
}
.lf-contact__sidehead{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:16px;}
.lf-contact__sideitem{display:flex;flex-direction:column;gap:2px;font-size:14px;margin-bottom:14px;}
.lf-contact__sideitem:last-child{margin-bottom:0;}
.lf-contact__sidelabel{font-size:11px;color:#7e8f84;letter-spacing:.06em;}
.lf-contact__sideitem a{color:var(--pink);font-weight:700;}

/* 新セクション レスポンシブ */
@media (max-width:900px){
	.lf-services{padding:64px 0;}
	.lf-services__grid{grid-template-columns:1fr 1fr;}
	.lf-reasons__grid,.lf-strengths__grid{grid-template-columns:1fr;}
	.lf-voicegrid{grid-template-columns:1fr;}
	.lf-companyinfo{grid-template-columns:1fr;}
	.lf-companyinfo dt{padding-bottom:4px;border-bottom:none;}
	.lf-contact__grid{grid-template-columns:1fr;}
	.lf-hero__inner{padding-top:130px;}
}
@media (max-width:600px){
	.lf-services__grid{grid-template-columns:1fr;}
	.lf-hero__title--jp{font-size:clamp(26px,8vw,34px);}
	.lf-flow__steps--4,.lf-flow__steps--5{grid-template-columns:1fr;gap:24px;}
}
