/* 募集ページ（告知LP）専用スタイル。base.css のトークンを使用。 */

/* --- LIGHT UP 調の上書き（中央見出し・四角ボタン・白基調） --- */
.lp-h2{text-align:center;font-size:19px;font-weight:700;letter-spacing:.1em;color:var(--ink)}
.lp-body{margin-left:auto;margin-right:auto;text-align:left}
.lp-legal{max-width:760px;margin:30px auto 0;font-size:11.5px;color:var(--muted);
  line-height:1.85;text-align:center;padding:0 6px}
.lp-cta{border-radius:2px;letter-spacing:.06em}
.lp-story-card,.lp-benefit,.lp-fee,.lp-flow-step,.lp-card-lg,.lp-faq,.lp-photo,.lp-map,
.lp-price,.lp-member,.lp-video,.lp-contact{border-radius:2px}
.lp-hero{border-radius:0}
.lp-eyebrow{color:#EAD9B8}
.lp-fees-h,.lp-note-inline{text-align:center}
.lp-chips{justify-content:center}
.mapmeta{justify-content:center}

/* メンバー */
.lp-members{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lp-member{background:var(--surface);border:1px solid var(--line);padding:20px 18px;text-align:center;box-shadow:var(--shadow)}
.lp-member .av{width:84px;height:84px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block;background:#eee}
.lp-member .av-ph{width:84px;height:84px;border-radius:50%;margin:0 auto 12px;background:#f0ede7;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px}
.lp-member .mn{font-weight:700;color:var(--ink);font-size:15px}
.lp-member .mr{font-size:12px;color:var(--coffee);margin:3px 0 8px;letter-spacing:.02em}
.lp-member .mb{font-size:12.5px;color:#5b5648;line-height:1.75}
@media(max-width:720px){.lp-members{grid-template-columns:1fr}}

/* 動画 */
.lp-video{background:#111;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;
  color:#fff;overflow:hidden}
.lp-video iframe{width:100%;height:100%;border:0}
.lp-video .vph{color:#cfcfcf;font-size:13px;text-align:center;padding:20px}

/* ブランド／直営店 */
.lp-brand{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center;
  background:var(--surface2);border:1px solid var(--line);padding:24px;border-radius:2px}
.lp-brand h3{margin:0 0 8px;font-size:18px;color:var(--ink)}
.lp-brand p{margin:0 0 8px;font-size:13.5px;color:#5b5648;line-height:1.9}
.lp-brand .lp-photo{margin:0}
@media(max-width:720px){.lp-brand{grid-template-columns:1fr}}

/* 問い合わせフォーム */
.lp-contact{background:var(--surface);border:1px solid var(--line);padding:24px;box-shadow:var(--shadow);max-width:620px;margin:0 auto}
.lp-contact label{display:block;font-size:12.5px;color:var(--coffee);font-weight:700;margin:12px 0 5px}
.lp-contact input,.lp-contact textarea{width:100%;border:1px solid var(--line);border-radius:2px;
  padding:11px 12px;font:inherit;font-size:14px;color:var(--ink);background:#fff}
.lp-contact textarea{min-height:120px;resize:vertical}
.lp-contact .cbtn{margin-top:16px;background:var(--ink);color:#fff;border:0;border-radius:2px;
  font-weight:700;font-size:14px;letter-spacing:.06em;padding:12px 26px;cursor:pointer}
.lp-contact .cnote{font-size:11.5px;color:var(--muted);margin-top:10px;text-align:center}


.lp-hero{background:linear-gradient(135deg,#2E5D4B,#22463a);color:#fff;
  padding:54px 0 46px;box-shadow:var(--shadow)}
.lp-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:#EAD9B8;margin-bottom:14px}
.lp-title{font-size:32px;line-height:1.4;margin:0 0 16px;font-weight:700}
.lp-lead{font-size:15px;line-height:1.95;color:rgba(255,255,255,.92);max-width:680px;margin:0 0 24px}
.lp-cta{display:inline-block;background:var(--cherry);color:#fff;font-weight:700;font-size:15px;
  padding:13px 30px;border-radius:2px;text-decoration:none;box-shadow:0 4px 14px rgba(192,57,43,.3)}
.lp-cta:hover{filter:brightness(1.05)}
.lp-cta-note{font-size:12px;color:rgba(255,255,255,.7);margin-top:10px}
@media(max-width:720px){.lp-title{font-size:25px}.lp-hero{padding:40px 0 34px}}

.lp{padding-bottom:56px}
.lp-sec{margin-top:44px}
.lp-h2{font-size:20px;color:var(--green);margin:0 0 8px;letter-spacing:.02em}
.lp-note-inline{font-size:13px;color:var(--muted);margin:0 0 16px}

.lp-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.lp-story-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:20px 20px;box-shadow:var(--shadow);border-top:4px solid var(--coffee)}
.lp-story-card h3{margin:0 0 8px;font-size:16px;color:var(--ink)}
.lp-story-card p{margin:0;font-size:13.5px;color:#5b5648;line-height:1.85}

.lp-chips{display:flex;flex-wrap:wrap;gap:9px}
.lp-chip{background:var(--surface2);border:1px solid var(--line);border-radius:100px;
  padding:6px 14px;font-size:12.5px;color:var(--ink)}

.lp-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lp-benefit{background:var(--surface);border:1px solid var(--line);border-radius:13px;
  padding:18px 18px;box-shadow:var(--shadow)}
.lp-benefit .bi{font-size:24px;line-height:1}
.lp-benefit .bh{font-weight:700;color:var(--green);margin:9px 0 5px;font-size:14.5px}
.lp-benefit .bp{font-size:12.5px;color:#5b5648;line-height:1.7}

/* 1年の流れ：スライドではなく縦タイムライン */
.lp-flow{display:flex;flex-direction:column;gap:18px;margin-left:6px;
  border-left:2px solid var(--line);padding-left:22px}
.lp-flow-step{position:relative}
.lp-flow-step::before{content:"";position:absolute;left:-29px;top:3px;width:12px;height:12px;
  border-radius:50%;background:var(--leaf);border:2px solid var(--cream)}
.lp-flow-step .fm{font-size:12px;color:var(--coffee);font-weight:700}
.lp-flow-step .ft{font-size:15.5px;color:var(--ink);font-weight:700;margin-top:2px;line-height:1.4}
.lp-flow-step .fn{font-size:12.5px;color:#5b5648;margin-top:3px;line-height:1.65}

/* 本文 */
.lp-body{font-size:14.5px;color:#4d4941;line-height:1.95;margin:0 0 16px;max-width:720px}

/* 位置マップ（Leaflet） */
.lp-map{height:360px;border-radius:14px;overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow);background:#e7e2d5}
.lp-map .leaflet-container{font-family:inherit}

/* いまの畑：3カラム */
.lp-gallery-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:720px){.lp-gallery-3{grid-template-columns:1fr 1fr}}

/* 参加費の使いみち */
.lp-fees-h{font-size:12.5px;color:var(--green);font-weight:700;letter-spacing:.03em;margin:6px 0 10px}
.lp-fees{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.lp-fee{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--leaf);
  border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}
.lp-fee .fi{font-size:22px;line-height:1}
.lp-fee .fh{font-weight:700;color:var(--green);margin:7px 0 4px;font-size:14.5px}
.lp-fee .fp{font-size:12.5px;color:#5b5648;line-height:1.6}
@media(max-width:720px){.lp-fees{grid-template-columns:1fr}}

/* 目指す農園の姿 */
.lp-aspiration{margin:0}
.lp-aspiration figcaption{font-size:12px;color:var(--muted);margin-top:8px;text-align:center}

.lp-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lp-card-lg{background:linear-gradient(135deg,#fff,#FCF7EC);border:1px solid var(--line);
  border-radius:14px;padding:22px 24px;box-shadow:var(--shadow)}
.lp-kicker{font-size:12px;font-weight:700;color:var(--coffee);letter-spacing:.03em}
.lp-card-lg h3{margin:8px 0 8px;font-size:18px;color:var(--ink)}
.lp-card-lg p{margin:0;font-size:13.5px;color:#5b5648;line-height:1.9}

.lp-price{background:var(--green);color:#fff;border-radius:16px;padding:34px 24px;text-align:center;
  box-shadow:var(--shadow)}
.lp-price-h{font-size:13px;font-weight:700;letter-spacing:.08em;color:#EAD9B8}
.lp-price-amount{font-size:38px;font-weight:700;margin:6px 0 10px}
.lp-price-note{font-size:12.5px;color:rgba(255,255,255,.85);max-width:560px;margin:0 auto 20px;line-height:1.85}
.lp-price-unit{font-size:16px;font-weight:700;margin-left:6px;color:rgba(255,255,255,.85)}
.lp-price .lp-cta{background:#fff;color:var(--green)}
.lp-price .lp-cta-note{color:rgba(255,255,255,.7)}

/* 現地写真ギャラリー */
.lp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lp-photo{margin:0;border-radius:13px;overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow);background:var(--surface);position:relative}
.lp-photo img{display:block;width:100%;height:190px;object-fit:cover}
.lp-photo figcaption{font-size:12px;color:#5b5648;padding:9px 12px;line-height:1.5}
.lp-photo-ph .ph{height:190px;display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:12.5px;background:#F3ECDD;border-bottom:1px dashed #D6CCB6}
@media(max-width:720px){.lp-gallery{grid-template-columns:1fr 1fr}.lp-photo img,.lp-photo-ph .ph{height:150px}}
@media(max-width:440px){.lp-gallery{grid-template-columns:1fr}}

.lp-faq{background:var(--surface);border:1px solid var(--line);border-radius:12px;
  padding:15px 18px;box-shadow:var(--shadow);margin-bottom:10px}
.lp-faq .fq{font-weight:700;color:var(--green);font-size:14px}
.lp-faq .fa{font-size:13px;color:#5b5648;margin-top:6px;line-height:1.8}

@media(max-width:720px){
  .lp-stories{grid-template-columns:1fr}
  .lp-benefits{grid-template-columns:1fr 1fr}
  .lp-two{grid-template-columns:1fr}
}
@media(max-width:440px){.lp-benefits{grid-template-columns:1fr}}

/* LIGHT UP：カード類を四角に（元定義より後で確実に上書き） */
.lp .lp-story-card,.lp .lp-benefit,.lp .lp-fee,.lp .lp-card-lg,.lp .lp-faq,
.lp .lp-photo,.lp .lp-map,.lp .lp-member,.lp .lp-video,.lp .lp-contact,
.lp-price,.lp-hero .lp-cta,.lp-chip{border-radius:2px}

/* 本文は中央寄せの読みやすい列幅に（左詰め・幅制限） */
.lp .lp-body{max-width:640px;margin:0 auto 18px;text-align:left}

/* ひとめでわかる制度サマリ（ヒーロー直下・どーん） */
.lp-overview{margin-top:40px;text-align:center}
.ov-lead{font-size:23px;font-weight:700;line-height:1.65;color:var(--ink);
  max-width:760px;margin:0 auto 26px;letter-spacing:.01em}
.ov-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:760px;margin:0 auto}
.ov-point{display:flex;align-items:center;gap:11px;justify-content:flex-start;
  background:var(--surface);border:1px solid var(--line);border-radius:2px;
  padding:14px 16px;box-shadow:var(--shadow)}
.ov-i{font-size:22px;line-height:1;flex:none}
.ov-t{font-size:14.5px;font-weight:700;color:var(--ink);text-align:left;line-height:1.35}
.ov-price{margin:26px 0 18px}
.ov-price-amt{font-size:26px;font-weight:700;color:var(--ink)}
.ov-price-sub{display:inline-block;margin-left:10px;font-size:13px;color:var(--muted)}
@media(max-width:720px){
  .ov-lead{font-size:19px}
  .ov-points{grid-template-columns:1fr 1fr;gap:10px}
  .ov-point{flex-direction:column;text-align:center;gap:7px}
  .ov-t{text-align:center;font-size:12.5px}
}

/* ===== メリハリ：セクションの帯（白／薄グレー／濃色）＋見出し強化 ===== */
html,body{overflow-x:hidden}
.lp .lp-sec{margin-top:60px}
.lp .lp-h2{font-size:22px;margin-bottom:16px}

/* 全幅バンド（要素そのものを100vwに広げ、内側パディングで中央列に揃える） */
.lp-sec.band-tint,.lp-sec.band-dark{margin-top:0;width:100vw;position:relative;left:50%;
  margin-left:-50vw;margin-right:-50vw;padding:58px max(18px, calc(50vw - 482px))}
.lp-sec.band-tint{background:#f6f4ef}
.lp-sec.band-dark{background:#26332b}

/* 濃色バンド内の文字を反転 */
.band-dark .lp-h2{color:#fff}
.band-dark .lp-body{color:rgba(255,255,255,.9)}
.band-dark .lp-fees-h{color:#EAD9B8}
.band-dark .lp-note-inline{color:rgba(255,255,255,.7)}
.band-dark .lp-aspiration figcaption{color:rgba(255,255,255,.72)}
.band-dark .lp-provisional::after{background:rgba(255,255,255,.9);color:#333}

/* 運営者（川野）プロフィール */
.lp-operator{display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:center;
  max-width:760px;margin:0 auto}
.op-photo{border-radius:2px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.op-photo img{display:block;width:100%;height:100%;object-fit:cover}
.op-photo-ph{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;
  background:#f0ede7;color:var(--muted);font-size:12px}
.op-name{font-size:19px;font-weight:700;color:var(--ink)}
.op-role{font-size:12.5px;color:var(--coffee);font-weight:700;letter-spacing:.02em;margin:4px 0 12px}
.op-bio{font-size:13.5px;color:#5b5648;line-height:1.95;margin:0}
@media(max-width:720px){
  .lp-operator{grid-template-columns:1fr;gap:16px;text-align:center}
  .op-photo{max-width:220px;margin:0 auto}
}

/* 運営・現地パートナー（2人） */
.lp-team{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:820px;margin:0 auto}
.op-card{background:var(--surface);border:1px solid var(--line);border-radius:2px;
  padding:22px 20px;box-shadow:var(--shadow);text-align:center}
.op-card .op-photo{max-width:210px;margin:0 auto 14px;aspect-ratio:3/2}
.op-card .op-photo img{width:100%;height:100%;object-fit:cover}
.op-card .op-name{font-size:17px}
.op-card .op-role{margin:4px 0 10px}
.op-card .op-bio{font-size:13px;text-align:left}
@media(max-width:720px){.lp-team{grid-template-columns:1fr}.op-card .op-bio{text-align:center}}

/* オーナーの体験（どんな1年か） */
.lp-xp{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.xp-step{display:flex;gap:16px;align-items:flex-start;background:var(--surface);
  border:1px solid var(--line);border-radius:2px;padding:18px 20px;box-shadow:var(--shadow)}
.xp-n{flex:none;width:32px;height:32px;border-radius:50%;background:var(--cherry);color:#fff;
  font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center}
.xp-t{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:4px}
.xp-d{margin:0;font-size:13.5px;color:#5b5648;line-height:1.85}
