/* 掲載団体募集 LP（/for-orgs/・2026-10-23）— body.html の .lp と build_page.py の lp モードで使う */
/* ===== 掲載団体募集 LP（モック 2026-10-23）— サイトの site.css の上に重ねる ===== */
.lp{--g:#35C02F;--gd:#25861F;--nv:#1E2E88;--y:#FFD23F;--pale:#F2FAF0;--soft:#D8F2D3;--cream:#FFF6D6;--ink:#232623;--mute:#5F6660;line-height:1.8}
.lp *{box-sizing:border-box}
.lp .wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.lp section{padding:72px 0}
.lp h2{font-size:2rem;line-height:1.3;color:var(--nv);margin:0 0 12px;letter-spacing:.01em}
.lp h2 b{color:var(--gd)}
.lp .kick{display:inline-block;background:var(--nv);color:#fff;font-weight:700;font-size:.9rem;padding:4px 16px;border-radius:999px;margin-bottom:14px}
.lp .kick.y{background:var(--y);color:var(--nv)}
.lp .sub{font-size:1.05rem;color:var(--mute);margin:0 0 36px;max-width:720px}
.lp .btn-main{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--g);color:#fff;font-weight:700;font-size:1.15rem;padding:14px 32px;min-width:280px;min-height:60px;border:3px solid transparent;border-radius:999px;text-decoration:none;box-shadow:0 6px 0 #25861F;transition:transform .1s}
.lp .btn-main:hover{transform:translateY(2px);box-shadow:0 4px 0 #25861F}
.lp .btn-sub{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--nv);border:3px solid var(--nv);font-weight:700;font-size:1.15rem;padding:14px 32px;min-width:280px;min-height:60px;border-radius:999px;text-decoration:none}
.lp .btn-sub:hover{background:#EEF1FF}
.lp .acts{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.lp .note{font-size:.9rem;color:var(--mute)}
/* hero */
.lp .hero{background:var(--g);color:#fff;padding:56px 0 0;overflow:hidden;position:relative}
.lp .hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:end}
.lp .hero .tag{display:inline-block;background:var(--y);color:var(--nv);font-weight:700;padding:6px 18px;border-radius:999px;font-size:1rem}
.lp .hero h1{font-size:3.2rem;line-height:1.18;margin:18px 0 14px;letter-spacing:.01em;color:#fff}
.lp .hero h1 em{font-style:normal;color:var(--y)}
.lp .hero .hlead{font-size:1.15rem;line-height:1.8;font-weight:700;color:#F2FFEF;margin:0 0 26px;max-width:560px}
.lp .hero .acts .btn-main{background:#fff;color:var(--gd);box-shadow:0 6px 0 #1E7A2A}
.lp .hero .acts .btn-sub{background:transparent;color:#fff;border-color:#fff}
.lp .hero .acts .btn-sub:hover{background:rgba(255,255,255,.15)}
.lp .hero .free{position:absolute;right:calc(50% - 540px + 10px);top:28px;width:112px;height:112px;border-radius:50%;background:var(--y);color:var(--nv);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;line-height:1.1;transform:rotate(8deg)}
.lp .hero .free small{font-size:.85rem}.lp .hero .free b{font-size:1.9rem}
.lp .hero .vis{position:relative;height:420px}
.lp .phone{background:#1F2A33;border-radius:40px;padding:12px;box-shadow:0 14px 0 rgba(0,0,0,.12)}
.lp .phone .scr{border-radius:30px;overflow:hidden;background:#fff}
.lp .phone .scr img{display:block;width:100%;height:auto}
.lp .hero .phone{position:absolute;left:-10px;bottom:-120px;width:280px;transform:rotate(-5deg);transform-origin:bottom left}
.lp .hero .phone .scr{height:430px}
.lp .hero .chara{position:absolute;right:0;bottom:0;width:230px}
.lp .hero .chara img{width:100%;display:block}
.lp .hero .bubble{position:absolute;right:10px;bottom:250px;background:#fff;color:var(--nv);border-radius:18px;padding:10px 18px;font-weight:700;line-height:1.4;white-space:nowrap;text-align:center}
.lp .hero .bubble::after{content:"";position:absolute;left:50%;bottom:-14px;margin-left:-9px;border:9px solid transparent;border-top:16px solid #fff;border-bottom:0}
.lp .trust{background:var(--nv);color:#fff}
.lp .trust .wrap{display:flex;flex-wrap:wrap;justify-content:space-around;gap:10px 24px;padding:18px 20px}
.lp .trust .t{display:flex;align-items:baseline;gap:8px;font-weight:700}
.lp .trust .t b{font-size:1.9rem;color:var(--y);line-height:1}
.lp .trust .t span{font-size:.95rem}
.lp section{position:relative}
.lp .deco{position:absolute;pointer-events:none;z-index:1}
.lp .deco img{width:100%;display:block}
/* 悩み */
.lp .pain{background:var(--pale)}
.lp .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lp .card{background:#fff;border-radius:18px;padding:26px 24px;border:2px solid var(--soft)}
.lp .card h3{margin:0 0 8px;font-size:1.15rem;color:var(--nv)}
.lp .card p{margin:0;color:var(--mute);font-size:.98rem}
.lp .card .ic{width:52px;height:52px;border-radius:50%;background:var(--soft);display:grid;place-items:center;margin-bottom:14px;color:var(--gd);font-weight:900;font-size:1.3rem}
.lp .answer{margin-top:36px;background:var(--nv);color:#fff;border-radius:22px;padding:30px 36px;font-size:1.2rem;font-weight:700;line-height:1.7;display:flex;gap:24px;align-items:center}
.lp .answer em{font-style:normal;color:var(--y)}
.lp .answer img{width:110px;flex:none}
/* ベネフィット */
.lp .benefit .wrap{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:stretch}
.lp .blist{display:flex;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none}
.lp .blist li{display:flex;gap:18px;align-items:flex-start;background:var(--pale);border-radius:18px;padding:20px 22px}
.lp .blist i{flex:none;width:40px;height:40px;border-radius:50%;background:var(--g);position:relative;margin-top:2px}
.lp .blist i::after{content:"";position:absolute;left:12px;top:11px;width:14px;height:8px;border-left:4px solid #fff;border-bottom:4px solid #fff;transform:rotate(-45deg)}
.lp .blist b{display:block;font-size:1.15rem;color:var(--nv)}
.lp .blist span{color:var(--mute);font-size:.95rem}
.lp .exbox{background:var(--soft);border-radius:28px;padding:30px 30px 0;position:relative;overflow:hidden;min-height:620px}
.lp .exbox .ex{position:absolute;left:0;top:0;background:var(--nv);color:#fff;font-size:.85rem;font-weight:700;padding:6px 16px;border-radius:28px 0 14px 0}
.lp .exbox .phone{width:300px;margin:20px auto 0;position:absolute;left:60px;top:50px;bottom:-40px}
.lp .exbox .phone .scr{height:100%}
.lp .exbox .pin{position:absolute;background:#fff;color:var(--nv);font-weight:700;font-size:.85rem;padding:6px 12px;border-radius:999px;box-shadow:0 3px 0 rgba(0,0,0,.1);white-space:nowrap}
/* COMUGICOとは */
.lp .about{background:var(--pale)}
.lp .about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.lp .nums{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 22px}
.lp .num{background:#fff;border-radius:16px;padding:18px 10px;text-align:center;border:2px solid var(--soft)}
.lp .num b{display:block;font-size:2rem;color:var(--nv);line-height:1.1}
.lp .num b small{font-size:1rem}
.lp .num span{font-size:.85rem;color:var(--gd);font-weight:700}
.lp .chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.lp .chips span{background:#fff;border:2px solid var(--soft);border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:700;color:var(--gd)}
.lp .ways{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.lp .ways li{background:#fff;border-radius:14px;padding:14px 18px;border:2px solid var(--soft)}
.lp .ways b{color:var(--nv)}
.lp .ways small{display:block;color:var(--mute)}
/* 対象 */
.lp .who .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lp .who .g{background:var(--pale);border-radius:18px;padding:22px}
.lp .who .g b{display:block;font-size:1.1rem;color:var(--nv)}
.lp .who .g span{color:var(--mute);font-size:.95rem}
.lp .quote{margin-top:28px;background:var(--nv);color:#fff;border-radius:22px;padding:26px 32px;font-size:1.15rem;font-weight:700;line-height:1.7}
.lp .quote em{font-style:normal;color:var(--y)}
/* 流れ */
.lp .flow{background:var(--pale)}
.lp .steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:st}
.lp .steps li{background:#fff;border-radius:18px;padding:22px 18px;border:2px solid var(--soft);position:relative}
.lp .steps li::before{counter-increment:st;content:counter(st);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--g);color:#fff;font-weight:700;font-size:1.3rem;margin-bottom:12px}
.lp .steps b{display:block;color:var(--nv);font-size:1.05rem;margin-bottom:4px}
.lp .steps span{color:var(--mute);font-size:.9rem}
.lp .steps em{font-style:normal;color:var(--gd);font-weight:700}
.lp .must{margin-top:28px;background:var(--cream);border-radius:18px;padding:20px 26px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.lp .must b{color:var(--nv);font-size:1.1rem}
.lp .must span{color:var(--ink)}
/* 費用・基準 */
.lp .cost .two{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.lp .cost table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}
.lp .cost th,.lp .cost td{padding:12px 16px;border-bottom:1px solid var(--soft);text-align:left}
.lp .cost th{width:46%;color:var(--mute);font-weight:700;background:var(--pale)}
.lp .cost td b{color:var(--gd)}
.lp .rule{background:#fff;border:2px solid var(--soft);border-radius:18px;padding:22px 26px}
.lp .rule ul{margin:8px 0 0;padding-left:1.2em;color:var(--ink)}
.lp .rule li{margin:4px 0}
/* FAQ */
.lp .qa details{background:#fff;border:2px solid var(--soft);border-radius:14px;padding:0 20px;margin-bottom:10px}
.lp .qa summary{cursor:pointer;font-weight:700;color:var(--nv);padding:16px 0;list-style:none;position:relative;padding-right:36px}
.lp .qa summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.5rem;color:var(--gd)}
.lp .qa details[open] summary::after{content:"−"}
.lp .qa summary::-webkit-details-marker{display:none}
.lp .qa details p{margin:0 0 16px;color:var(--ink)}
/* 応援（ついで） */
.lp .support{background:var(--nv);color:#fff}
.lp .support h2{color:#fff}.lp .support h2 b{color:var(--y)}
.lp .support .sub{color:#DCE4FF}
.lp .sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lp .s{background:#fff;color:var(--ink);border-radius:18px;padding:22px}
.lp .s b{display:block;color:var(--nv);font-size:1.1rem}
.lp .s .pr{display:inline-block;background:var(--cream);color:var(--nv);font-weight:700;border-radius:999px;padding:2px 12px;font-size:.85rem;margin:6px 0 8px}
.lp .s .pr.f{background:var(--soft);color:var(--gd)}
.lp .s p{margin:0;font-size:.92rem;color:var(--mute)}
.lp .s a{display:inline-block;margin-top:10px;color:var(--gd);font-weight:700}
/* 最後のCTA */
.lp .final{background:var(--g);color:#fff;text-align:center;padding:72px 0 80px}
.lp .final h2{color:#fff;font-size:2.2rem}
.lp .final p{color:#F2FFEF;font-weight:700;font-size:1.1rem;margin:0 0 26px}
.lp .final .acts{justify-content:center}
.lp .final .btn-main{background:#fff;color:var(--gd);box-shadow:0 6px 0 #1E7A2A}
.lp .final .btn-sub{background:transparent;color:#fff;border-color:#fff}
.lp .final .already{margin-top:30px;font-size:.95rem;color:#F2FFEF}
.lp .final .already a{color:#fff;text-decoration:underline}
/* スマホ */
@media (max-width:860px){
  .lp .btn-main,.lp .btn-sub{width:100%;min-width:0}
  .lp .deco{width:72px!important;top:16px!important;right:16px!important;bottom:auto!important;left:auto!important}
  .lp .final .deco{display:none}
  .lp .quote{padding-right:32px!important}
  .lp .exbox .phone{left:50%;transform:translateX(-50%);width:260px}
  .lp section{padding:52px 0}
  .lp h2{font-size:1.5rem}
  .lp .hero .wrap{grid-template-columns:1fr}
  .lp .hero h1{font-size:1.95rem}
  .lp .hero .free{right:16px;top:16px;width:96px;height:96px}.lp .hero .free b{font-size:1.5rem}.lp .hero .free small{font-size:.75rem}
  .lp .hero .vis{height:320px;margin-top:10px}
  .lp .hero .phone{width:190px;bottom:-40px}.lp .hero .phone .scr{height:300px}
  .lp .hero .chara{width:150px}
  .lp .hero .bubble{right:12px;bottom:215px;font-size:.85rem;padding:8px 12px}
  .lp .hero .wrap>*{min-width:0;max-width:100%}
  .lp .hero .vis{width:100%;overflow:visible}
  .lp .hero .phone{left:-10px}
  .lp .cards3,.lp .who .grid,.lp .sgrid,.lp .cost .two,.lp .about .wrap,.lp .benefit .wrap{grid-template-columns:1fr}
  .lp .steps{grid-template-columns:1fr 1fr}
  .lp .exbox{height:520px}.lp .exbox .phone{width:260px}.lp .exbox .phone .scr{height:500px}
  .lp .answer{flex-direction:column;font-size:1.05rem;padding:24px}
  .lp .trust .t b{font-size:1.5rem}.lp .trust .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lp .trust .t{flex-direction:column;gap:2px;align-items:center;text-align:center}
}
