/* LP専用CSS（page-lp.php を使ったページだけで読み込まれる） */

*,
*::before,
*::after { box-sizing: border-box; }

body.lp {
	margin: 0;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.8;
}
.lp img { max-width: 100%; height: auto; vertical-align: middle; }

.lp-inner { max-width: 1000px; margin: 0 auto; padding: 0 20px; }

.lp-hero { padding: 120px 0; background: #f4f1ec; text-align: center; }
.lp-hero__title { margin: 0 0 16px; font-size: clamp(28px, 5vw, 48px); line-height: 1.4; }
.lp-hero__lead { margin: 0 0 32px; }

.lp-section { padding: 80px 0; }
.lp-section__title { margin: 0 0 32px; font-size: clamp(22px, 3.5vw, 32px); text-align: center; }

.lp-cta { background: #f4f1ec; text-align: center; }

.lp-btn {
	display: inline-block;
	padding: 16px 48px;
	border-radius: 999px;
	background: #333;
	color: #fff;
	text-decoration: none;
	transition: opacity .2s;
}
.lp-btn:hover { opacity: .8; }

.lp-footer { padding: 24px 0; background: #333; color: #fff; text-align: center; }

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#123f35;font-family:"Noto Sans JP",sans-serif;line-height:1.7;background:#fff}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{height:76px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e7eee9}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px}.logo small{display:block;font-size:7px;letter-spacing:.08em;color:#789087}.logo b{color:#cad8d2}.logo strong{font-size:17px}.logo-mark{font-size:28px}.nav{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:700}.nav a{transition:.2s}.nav a:hover{color:#bd8a25}.nav-cta{background:#0b5744;color:#fff;padding:10px 15px;border-radius:999px}.menu-btn{display:none;border:0;background:none;font-size:26px}.hero{position:relative;overflow:hidden;background:#063f31;color:#fff}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,55,43,.98) 0%,rgba(2,55,43,.83) 46%,rgba(2,55,43,.18) 100%)}.hero-grid{min-height:610px;display:grid;grid-template-columns:48% 52%;align-items:center;position:relative}.hero-copy{padding:70px 0}.eyebrow{font-size:15px;font-weight:700;margin:0 0 16px}.hero h1{font-size:clamp(42px,5vw,72px);line-height:1.08;margin:0 0 18px;letter-spacing:.02em}.hero h1 em{color:#e6bd58;font-style:normal}.lead{font-size:20px;font-weight:700;line-height:1.6}.badges{display:flex;gap:12px;margin:26px 0;flex-wrap:wrap}.badges span{border:1px solid #d7b44e;border-radius:999px;padding:9px 16px;text-align:center;font-size:11px;line-height:1.4}.badges b{color:#f3d477}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:999px;padding:16px 28px;font-weight:800;transition:.25s;box-shadow:0 8px 24px #0002}.btn:hover{transform:translateY(-2px)}.btn-gold{background:#e7bc56;color:#123f35}.btn span{font-size:20px}.hero-visual{height:100%;padding:35px 0}.before-after{height:100%;min-height:540px;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.ba-panel{position:relative;overflow:hidden}.ba-panel img{width:100%;height:100%;object-fit:cover}.ba-panel span{position:absolute;top:20px;left:20px;background:#173f35;color:#fff;padding:4px 12px;font-weight:800}.ba-panel.after span{left:auto;right:20px;background:#08714f}.ba-caption{position:absolute;right:24px;bottom:22px;text-align:right;text-shadow:0 2px 8px #000}.ba-caption strong{font-size:28px;line-height:1.3;display:block}.ba-caption small{font-size:12px}.section{padding:90px 0}.section-kicker{font-size:13px;font-weight:800;letter-spacing:.12em;color:#2b8065;margin-bottom:8px}.section-kicker.light{color:#cce8da}.section h2{font-size:clamp(30px,4vw,48px);line-height:1.35;margin:0 0 22px}.pain{background:#f5faf7}.pain-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}.pain-grid p{color:#55746a}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.audience-grid article{background:#fff;border:1px solid #dce8e2;border-radius:12px;padding:24px;box-shadow:0 7px 20px #0b57440d}.audience-grid b{display:block;font-size:16px;margin-bottom:8px}.audience-grid span{font-size:12px;color:#647d74}.about-product{padding-top:0}.split{display:grid;grid-template-columns:38% 62%;min-height:500px}.dark-card{background:#07513e;color:#fff;padding:58px;border-radius:0 0 0 20px}.dark-card h2{font-size:38px}.dark-card p{color:#d2e7de;font-size:14px}.big-stat{border:1px solid #e7c35e;border-radius:12px;padding:16px 20px;margin-top:28px}.big-stat small{display:block;font-size:11px}.big-stat strong{font-size:40px;color:#f0c95c;display:block;line-height:1.2}.product-area{padding:10px 0 10px 38px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.product-card{border:1px solid #dbe7e1;border-radius:12px;overflow:hidden;padding-bottom:18px;background:#fff}.product-card img{height:140px;width:100%;object-fit:cover}.product-card h3{font-size:16px;margin:16px 16px 0}.product-card>small{margin:0 16px;color:#70857e}.product-card p,.product-card ul{font-size:12px;margin:12px 16px;color:#526e65;padding-left:18px}.reasons{background:#063f31;color:#fff}.light-heading{display:flex;align-items:baseline;gap:15px}.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.reason-grid article{background:#fff;color:#173f35;border-radius:12px;padding:24px;min-height:300px;position:relative}.reason-grid article>span,.op-grid article>span{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:#e8c35e;color:#173f35;font-weight:900}.reason-grid h3{font-size:18px;margin:16px 0 8px}.reason-grid p{font-size:12px;color:#587068}.mini-cert{font-size:11px;border:1px solid #d9e6df;padding:9px;border-radius:8px}.green-pill{display:inline-block;background:#d8eee2;color:#17614c;padding:7px 12px;border-radius:999px;font-size:12px}.case-top{display:grid;grid-template-columns:38% 62%;gap:35px;align-items:center}.cases h2 strong{font-size:48px}.case-main{position:relative}.case-main img{width:100%;height:340px;object-fit:cover;border-radius:14px}.case-main>div{position:absolute;right:20px;bottom:20px;background:#fff;padding:15px 20px;border-radius:10px;box-shadow:0 8px 25px #0002}.case-main b{display:block;font-size:19px;line-height:1.4}.case-main small{color:#6b7d77}.case-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.case-strip div{padding:20px;background:#f1f7f4;border:1px solid #dce8e2;border-radius:10px;text-align:center;font-size:13px}.opportunities{background:#f5faf7}.op-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.op-grid article{background:#fff;border:1px solid #dce8e2;padding:24px;border-radius:12px}.op-grid h3{font-size:17px}.op-grid p{font-size:12px;color:#60776f}.partner{background:#0b4d3b;color:#fff}.partner-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.partner-grid img{border-radius:14px}.partner p{color:#d3e8df;max-width:620px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px}table{border-collapse:collapse;width:100%;font-size:13px;border:1px solid #dce8e2}th,td{padding:15px;border-bottom:1px solid #e2ebe7;text-align:left}th{width:42%;background:#f1f7f4}.steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px}.steps article{background:#f5faf7;border:1px solid #dce8e2;padding:20px;border-radius:10px}.steps span{display:block;font-size:10px;color:#2b8065;font-weight:800}.steps b{display:block;margin:7px 0;font-size:13px}.steps p{font-size:11px;color:#647a72;margin:0}.steps i{font-style:normal;color:#c09535;font-size:22px}.cta{background:linear-gradient(90deg,#063f31,#0c644c);color:#fff;padding:65px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-size:clamp(28px,4vw,44px)}.cta p{color:#d0e5dc}.footer{background:#06362c;color:#fff;padding:40px 0 18px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.footer-logo{font-size:22px;font-weight:900}.footer p{font-size:11px;color:#b8d0c7}.copyright{border-top:1px solid #ffffff25;margin-top:25px;padding-top:15px;text-align:right;font-size:10px;color:#9eb8ae}.reveal{opacity:0;transform:translateY(18px);transition:.7s}.reveal.visible{opacity:1;transform:none}@media(max-width:980px){.nav{gap:12px}.nav a:not(.nav-cta){display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:55px 0 25px}.hero-visual{padding:0 0 40px}.before-after{min-height:400px}.pain-grid,.split,.case-top,.two-col,.partner-grid{grid-template-columns:1fr}.dark-card{border-radius:0;padding:45px 35px}.product-area{padding:40px 0 0}.reason-grid,.op-grid{grid-template-columns:1fr 1fr}.case-main img{height:300px}.steps{grid-template-columns:1fr}.steps i{transform:rotate(90deg);justify-self:center}.cta-inner{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.site-header{height:64px}.logo{font-size:15px}.logo strong{font-size:13px}.nav{position:absolute;top:64px;left:0;right:0;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:14px;border-bottom:1px solid #dce8e2;box-shadow:0 10px 20px #0001}.nav.open{display:flex}.nav a:not(.nav-cta){display:block;padding:12px}.menu-btn{display:block}.hero-copy{padding:42px 0 20px}.hero h1{font-size:42px}.lead{font-size:16px}.badges{gap:7px}.badges span{padding:7px 9px;font-size:9px}.btn{width:100%;padding:14px 18px}.before-after{min-height:300px}.ba-caption{right:12px;bottom:12px}.ba-caption strong{font-size:18px}.section{padding:62px 0}.section h2{font-size:31px}.audience-grid,.product-grid,.reason-grid,.op-grid,.case-strip{grid-template-columns:1fr}.product-card img{height:170px}.dark-card h2{font-size:30px}.light-heading{display:block}.case-top{gap:25px}.case-main img{height:250px}.case-main>div{left:12px;right:12px;bottom:12px}.case-main b{font-size:15px}.footer-grid{grid-template-columns:1fr}.copyright{text-align:left}.cta .btn{width:auto}.steps article{padding:16px}}

.header_logo_kofu{width:50px}
.header_logo_bp{width:130px}
.header_logo_bpb{width:190px}

/* ===== ヘッダー：ロゴ3つとナビのレスポンシブ調整 ===== */
.header-inner { gap: 16px; }
.logo { flex: 0 1 auto; min-width: 0; }
.logo span, .logo b { white-space: nowrap; }
.logo img { flex: 0 1 auto; min-width: 0; height: auto; }
.nav { flex: none; white-space: nowrap; }
.menu-btn { flex: none; cursor: pointer; }

/* ロゴとナビが並びきらない幅：ナビを詰める＋ロゴを少し小さく */
@media (max-width: 1240px) {
	.nav { gap: 14px; }
	.header_logo_kofu { width: 42px; }
	.header_logo_bp { width: 110px; }
	.header_logo_bpb { width: 160px; }
}

/* ナビをハンバーガーメニューに切り替え */
@media (max-width: 1080px) {
	.nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 14px;
		background: #fff;
		border-bottom: 1px solid #dce8e2;
		box-shadow: 0 10px 20px #0001;
	}
	.nav.open { display: flex; }
	.nav a:not(.nav-cta) { display: block; padding: 12px; }
	.nav-cta { margin-top: 8px; text-align: center; }
	.menu-btn { display: block; }
}

/* スマホ：社名テキストと区切り線を隠し、ロゴ3つを幅に合わせて縮小 */
@media (max-width: 640px) {
	.logo { gap: 8px; }
	.logo span, .logo b { display: none; }
	.header_logo_kofu { width: 34px; }
	.header_logo_bp { width: 96px; }
	.header_logo_bpb { width: 146px; }
}

/* ===== ヒーロー：見出し「販売代理店・取扱店」を画面幅に合わせて1行に収める ===== */
/* 見出しのブロック幅（cqi）を基準に文字サイズを決める。9文字＋字間で約9.2文字分の幅 */
.hero-copy { container-type: inline-size; }
.hero h1 { font-size: min(72px, 10cqi); white-space: nowrap; }

/* ===== 「他社と差別化できる商材」を、〜：見出しを横幅に合わせて1行に収める ===== */
/* 1行目が15文字なので、ブロック幅÷約15.5文字分を文字サイズにする */
.pain-copy { container-type: inline-size; }
.pain-copy h2 { font-size: min(48px, 6.4cqi); white-space: nowrap; }
/* PC幅：左の見出し側を広く、右のカード側を狭くして、見出しを大きく見せる */
@media (min-width: 981px) {
	.pain-grid { grid-template-columns: 1.2fr 1fr; gap: 50px; }
}
/* カード2列だと文字が折り返してしまう幅では、カードを縦1列に並べる */
@media (min-width: 981px) and (max-width: 1219px) {
	.audience-grid { grid-template-columns: 1fr; gap: 10px; }
	.audience-grid article { padding: 16px 22px; }
	.audience-grid b { margin-bottom: 2px; }
}

/* ===== 改行位置の指定：.nobr で囲んだ部分の途中では改行せず、入りきらないときは囲みの切れ目で改行する ===== */
.nobr { display: inline-block; }

/* ===== 「樹木の「根」に働きかける、」：「樹木の「根」に」が1行に入るよう、カード幅に合わせて文字サイズを縮める ===== */
.dark-card { container-type: inline-size; }
.dark-card h2 { font-size: min(38px, 13.5cqi); }
@media (max-width: 640px) {
	.dark-card h2 { font-size: min(30px, 13.5cqi); }
}

/* ===== 「※試験データあり 詳細はこちら」のリンクを白にする ===== */
.big-stat a,
.big-stat a:visited { color: #fff; text-decoration: underline; }
.big-stat a:hover { opacity: .7; }

/* ===== ボタンのメールアイコン（SVG・線のアイコン。色はボタンの文字色に合わせる） ===== */
/* .btn の gap（18px）だとアイコンと文字が離れすぎるので詰める */
.btn .btn-icon { flex: none; margin-right: -8px; }

/* ===== 代理店になるまでの流れ：STEPの箱の高さを揃える（矢印は縦中央のまま） ===== */
.steps { align-items: stretch; }
.steps i { align-self: center; }

/* ===== フッター：ヘッダーと同じ「ロゴ＋社名」表示にする ===== */
.footer-grid { grid-template-columns: 1fr auto auto; column-gap: 48px; } /* サイトリンク2列は中身の幅だけにして、3列を横に並べる */
.footer-logo { display: flex; align-items: center; gap: 9px; font-size: 18px; font-weight: 800; margin-bottom: 6px; }
.footer-logo small { display: block; font-size: 7px; letter-spacing: .08em; color: #b8d0c7; }
.footer_logo_kofu { width: 54px; padding: 0; background: #fff; border-radius: 50%; } /* 濃い背景でもロゴが見えるよう白地を敷く */
.footer p a,
.footer p a:visited { color: #fff; }
.footer p a:hover { text-decoration: underline; }
@media (max-width: 640px) {
	.footer-grid { grid-template-columns: 1fr; }
}
