/* lp.css — recruit.html (採用LP) */
/* LP Nav */
.lp-nav{width:100%;height:72px;background:rgba(10,15,30,.97);border-bottom:1px solid rgba(255,255,255,.10);backdrop-filter:blur(12px);}
.lp-nav-inner{max-width:var(--CW);margin:0 auto;padding:0 var(--PX);height:72px;display:flex;align-items:center;justify-content:space-between;}
.lp-nav-logo{background:var(--W);border-radius:6px;padding:6px 12px;display:flex;align-items:center;}
.lp-nav-logo img{height:30px;width:auto;display:block;}
.lp-nav-right{display:flex;align-items:center;gap:20px;}
.lp-nav-tel-cap{font-size:9px;color:rgba(255,255,255,.4);letter-spacing:.06em;margin-bottom:2px;}
.lp-nav-tel{font-family:var(--mon);font-size:18px;color:var(--W);letter-spacing:.04em;line-height:1;}
.lp-nav-btn{background:var(--GR);color:#fff;font-size:12px;font-weight:700;padding:9px 18px;border-radius:6px;display:flex;align-items:center;gap:6px;text-decoration:none;letter-spacing:.04em;white-space:nowrap;}

/* LP Hero */
.lp-hero{position:relative;overflow:hidden;width:100%;font-size:0;line-height:0;}
.lp-hero-bg{width:100%;height:600px;object-fit:cover;object-position:center 22%;display:block;}
.lp-hero-dim{position:absolute;inset:0;background:rgba(8,22,46,.40);}
/* lp-hero-panel — see KV v3 section below */
.lp-hero-panel::after{content:'';position:absolute;top:0;bottom:0;right:-48px;width:48px;background:linear-gradient(to right,rgba(255,255,255,.93),transparent);pointer-events:none;}
.lp-hero-panel-inner{padding:0 64px;}
.lp-ey{font-family:var(--mon);font-size:9px;color:var(--A2);letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:7px;margin-bottom:14px;}
.lp-ey::before{content:'';display:block;width:14px;height:1.5px;background:var(--A2);flex-shrink:0;}
.lp-h1{font-family:var(--ser);font-size:36px;font-weight:700;color:var(--ink1);line-height:1.25;margin-bottom:6px;}
.lp-h1 .ac{color:var(--A2);}
.lp-catch{font-family:var(--mon);font-size:9px;color:var(--ink3);letter-spacing:.13em;margin-bottom:14px;}
.lp-desc{font-size:13px;color:var(--ink2);line-height:1.95;margin-bottom:17px;max-width:360px;}
.lp-desc strong{color:var(--ink1);font-weight:700;}
.lp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;}
.lp-tag{font-size:10.5px;font-weight:700;color:var(--ink1);background:var(--AL);border:1px solid rgba(40,169,232,.22);padding:4px 11px;border-radius:var(--r1);display:inline-flex;align-items:center;gap:3px;}
.lp-tag::before{content:'✓';color:var(--A2);font-size:9px;}
.lp-cta-wrap{display:flex;flex-direction:column;gap:8px;}
.btn-lp-primary{display:inline-flex;align-items:center;gap:7px;background:var(--GR);color:#fff;font-size:14px;font-weight:700;padding:13px 22px;border-radius:var(--r1);text-decoration:none;letter-spacing:.04em;width:fit-content;box-shadow:0 3px 14px rgba(6,199,85,.28);}
.lp-tel-sm{font-family:var(--mon);font-size:11px;color:var(--ink3);padding-left:2px;}
.lp-tel-sm span{color:var(--ink1);font-weight:500;}

/* LP Stats (navy) */
.lp-stats{width:100%;background:#06090F;border-bottom:1px solid rgba(255,255,255,.06);}
.lp-stats-inner{max-width:var(--CW);margin:0 auto;padding:0 var(--PX);display:grid;grid-template-columns:repeat(4,1fr);}
.lp-sc{padding:24px 28px 28px;border-right:1px solid rgba(255,255,255,.07);position:relative;}
.lp-sc:last-child{border-right:none;}
.lp-sc::after{content:'';position:absolute;top:0;left:28px;width:20px;height:3px;background:var(--A2);}
.lp-sc-lbl{font-family:var(--mon);font-size:8px;color:rgba(255,255,255,.34);letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px;}
.lp-sc-num{font-family:var(--ser);font-size:38px;font-weight:700;color:var(--W);line-height:1;letter-spacing:-.02em;margin-bottom:5px;}
.lp-sc-num .u{font-family:var(--san);font-size:12px;font-weight:400;color:rgba(255,255,255,.45);margin-left:2px;}
.lp-sc-desc{font-size:11px;color:rgba(255,255,255,.42);line-height:1.6;}
.lp-sc-hl{color:#7FD6FF;font-weight:700;}

/* LP Sections */
.lp-s-w{padding:72px 0;background:var(--W);width:100%;}
.lp-s-g{padding:72px 0;background:var(--S1);width:100%;}
.lp-h2{font-family:var(--ser);font-size:30px;font-weight:700;color:var(--ink1);line-height:1.3;margin-bottom:8px;}
.lp-h2 em{font-style:normal;color:var(--A2);}
.lp-lead{font-size:14px;color:var(--ink3);line-height:1.95;max-width:600px;margin-bottom:36px;}

/* Reasons */
.lp-reasons{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.lp-rc{background:var(--W);border:1px solid var(--S3);border-radius:0 0 12px 12px;padding:26px 26px 28px;position:relative;overflow:hidden;}
.lp-rc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ink1),var(--A2));}
.lp-rc-no{font-family:var(--mon);font-size:9px;color:var(--A2);letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px;}
.lp-rc-ico{font-size:24px;margin-bottom:8px;}
.lp-rc-ttl{font-family:var(--ser);font-size:19px;font-weight:700;color:var(--ink1);line-height:1.32;margin-bottom:10px;}
.lp-rc-ttl em{font-style:normal;color:var(--A2);}
.lp-rc-body{font-size:13.5px;color:var(--ink2);line-height:1.95;}
.lp-rc-body strong{color:var(--ink1);font-weight:700;}
.lp-rc-badge{display:inline-flex;align-items:center;gap:4px;margin-top:10px;background:var(--AL);border:1px solid rgba(40,169,232,.22);border-radius:var(--r1);padding:4px 11px;font-family:var(--mon);font-size:10px;color:var(--A2);letter-spacing:.06em;}

/* Work Image */
.lp-ill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.lp-ill-card{background:var(--W);border:1px solid var(--S3);border-radius:var(--r2);overflow:hidden;display:flex;flex-direction:column;}
.lp-ill-top{height:148px;background:var(--AL);display:flex;align-items:center;justify-content:center;padding:14px;border-bottom:1px solid rgba(40,169,232,.15);font-size:0;line-height:0;}
.lp-ill-top img{max-height:116px;max-width:100%;object-fit:contain;display:block;}
.lp-ill-body{padding:16px 18px 22px;flex:1;}
.lp-ill-step{font-family:var(--mon);font-size:8px;color:var(--A2);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;}
.lp-ill-ttl{font-size:14px;font-weight:700;color:var(--ink1);line-height:1.38;margin-bottom:6px;}
.lp-ill-desc{font-size:12.5px;color:var(--ink2);line-height:1.88;}

/* Anxiety Q&A */
.lp-ax-item{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--S3);border-radius:var(--r2);overflow:hidden;margin-bottom:12px;}
.lp-ax-q{padding:28px 30px;background:var(--S1);border-right:1px solid var(--S3);display:flex;flex-direction:column;justify-content:center;}
.lp-ax-no{font-family:var(--mon);font-size:8px;color:var(--ink3);letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px;}
.lp-ax-ico{font-size:20px;margin-bottom:7px;}
.lp-ax-qt{font-family:var(--ser);font-size:17px;font-weight:700;color:var(--ink1);line-height:1.42;}
.lp-ax-a{padding:28px 30px;display:flex;flex-direction:column;justify-content:center;}
.lp-ax-al{font-family:var(--mon);font-size:8px;color:var(--A2);letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px;}
.lp-ax-at{font-size:15px;font-weight:700;color:var(--ink1);margin-bottom:8px;line-height:1.4;}
.lp-ax-ab{font-size:13.5px;color:var(--ink2);line-height:1.95;}
.lp-ax-ab strong{color:var(--ink1);font-weight:700;}

/* Photo strip */
.lp-ps{position:relative;overflow:hidden;width:100%;font-size:0;line-height:0;}
.lp-ps-img{width:100%;height:280px;object-fit:cover;object-position:center 38%;display:block;}
.lp-ps-ov{position:absolute;inset:0;background:linear-gradient(to right,rgba(6,43,96,.90) 0%,rgba(6,43,96,.78) 35%,rgba(6,43,96,.28) 65%,transparent 100%);display:flex;align-items:center;}
.lp-ps-ov-inner{max-width:var(--CW);margin:0 auto;padding:0 var(--PX);width:100%;}
.lp-ps-quote{font-family:var(--ser);font-size:20px;font-weight:700;color:var(--W);line-height:1.72;max-width:400px;}
.lp-ps-quote em{font-style:normal;color:#7FD6FF;}

/* Salary */
.lp-sal-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.lp-sal-card{background:var(--ink1);border-radius:var(--r2);padding:28px 30px 30px;margin-bottom:16px;}
.lp-sal-lbl{font-family:var(--mon);font-size:9px;color:rgba(255,255,255,.38);letter-spacing:.14em;margin-bottom:6px;}
.lp-sal-price{font-family:var(--ser);font-size:52px;font-weight:700;color:#7FD6FF;line-height:1;}
.lp-sal-price sub{font-size:16px;font-weight:400;color:rgba(255,255,255,.36);vertical-align:baseline;}
.lp-sal-caption{font-size:11px;color:rgba(255,255,255,.26);margin-top:6px;line-height:1.6;}
.lp-sal-note{font-size:13px;color:var(--ink3);line-height:1.9;padding-top:14px;border-top:1px solid var(--S3);}
.lp-tbl{width:100%;border:1px solid var(--S3);border-radius:var(--r2);overflow:hidden;}
.lp-tbl-row{display:grid;grid-template-columns:1fr 1fr 1.1fr;border-bottom:1px solid var(--S3);}
.lp-tbl-row:last-child{border:none;}
.lp-tbl-row.hd{background:var(--ink1);}
.lp-tc{padding:12px 14px;border-right:1px solid var(--S3);display:flex;align-items:center;font-size:12.5px;color:var(--ink2);}
.lp-tc:last-child{border:none;}
.lp-tc.th{font-family:var(--mon);font-size:8.5px;color:rgba(255,255,255,.44);letter-spacing:.1em;text-transform:uppercase;border-right-color:rgba(255,255,255,.07);}
.lp-tc.th:last-child{border:none;}
.lp-tc.pat{font-weight:700;color:var(--ink1);font-size:12px;line-height:1.5;}
.lp-tc.amt{font-family:var(--ser);font-size:23px;color:var(--ink1);font-weight:700;}
.lp-tc.amt small{font-size:11px;font-weight:400;}
.lp-tbl-note{margin-top:10px;font-size:10.5px;color:var(--ink3);line-height:1.75;}

/* Daily flow */
.lp-flow-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.lp-flow-illbox{background:var(--W);border:1px solid var(--S3);border-radius:var(--r2);overflow:hidden;font-size:0;line-height:0;}
.lp-flow-illtop{background:var(--S1);padding:28px 24px 22px;border-bottom:1px solid var(--S3);display:flex;align-items:center;justify-content:center;font-size:0;line-height:0;}
.lp-flow-illtop img{max-height:200px;max-width:100%;object-fit:contain;}
.lp-flow-illcap{padding:16px 20px 18px;font-size:14px;line-height:1.8;}
.lp-flow-illcap strong{color:var(--ink1);font-weight:700;display:block;margin-bottom:4px;font-size:13px;}
.lp-flow-illcap span{font-size:12px;color:var(--ink3);line-height:1.8;}
.lp-fi{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--S3);}
.lp-fi:last-child{border:none;padding-bottom:0;}
.lp-fi-t{font-family:var(--mon);font-size:11px;font-weight:500;color:var(--ink1);width:46px;flex-shrink:0;padding-top:2px;}
.lp-fi-ttl{font-size:13px;font-weight:700;color:var(--ink1);margin-bottom:2px;}
.lp-fi-dsc{font-size:11.5px;color:var(--ink2);line-height:1.8;}

/* FAQ */
.lp-faq{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.lp-fc{border:1px solid var(--S3);border-radius:var(--r2);overflow:hidden;}
.lp-fq{padding:15px 18px;background:var(--S1);border-bottom:1px solid var(--S3);display:flex;gap:10px;align-items:flex-start;}
.lp-fqm{font-family:var(--ser);font-size:20px;font-weight:700;color:var(--ink1);line-height:1;flex-shrink:0;}
.lp-fqt{font-size:14px;font-weight:700;color:var(--ink1);line-height:1.6;padding-top:2px;}
.lp-fa{padding:13px 18px;display:flex;gap:10px;align-items:flex-start;}
.lp-fam{font-family:var(--ser);font-size:20px;font-weight:700;color:var(--A2);line-height:1;flex-shrink:0;}
.lp-fat{font-size:13.5px;color:var(--ink2);line-height:1.9;padding-top:2px;}

/* CTA section */
.lp-cta-sec{width:100%;background:var(--ink);}
.lp-cta-inner{max-width:var(--CW);margin:0 auto;padding:60px var(--PX);display:flex;align-items:center;gap:52px;}
.lp-cta-ill{flex-shrink:0;width:210px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r2);padding:22px 18px 18px;text-align:center;}
.lp-cta-ill img{max-height:160px;max-width:100%;object-fit:contain;margin:0 auto 12px;}
.lp-cta-ill-cap{font-size:11.5px;color:rgba(255,255,255,.44);line-height:1.6;}
.lp-cta-col{flex:1;}
.lp-cta-ey{font-family:var(--mon);font-size:8.5px;color:rgba(127,214,255,.6);letter-spacing:.22em;text-transform:uppercase;display:flex;align-items:center;gap:7px;margin-bottom:12px;}
.lp-cta-ey::before{content:'';display:block;width:13px;height:1.5px;background:var(--A2);}
.lp-cta-h{font-family:var(--ser);font-size:26px;font-weight:700;color:var(--W);line-height:1.42;margin-bottom:12px;}
.lp-cta-h em{font-style:normal;color:#7FD6FF;}
.lp-cta-desc{font-size:12.5px;color:rgba(255,255,255,.46);line-height:1.9;margin-bottom:20px;}
.lp-cm-list{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.lp-cm{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:var(--r1);}
.lp-cm-ico{font-size:14px;flex-shrink:0;}
.lp-cm-lbl{font-family:var(--mon);font-size:8px;color:rgba(255,255,255,.3);letter-spacing:.07em;margin-bottom:2px;}
.lp-cm-val{font-family:var(--mon);font-size:14px;font-weight:500;color:var(--W);letter-spacing:.03em;}
.lp-notes{display:flex;flex-wrap:wrap;gap:14px;}
.lp-note{font-size:11.5px;color:rgba(255,255,255,.36);display:flex;align-items:center;gap:4px;}
.lp-note::before{content:'✓';color:var(--A2);font-size:10px;}

/* Job cards */
.lp-job-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;}
.lp-jc{background:var(--W);border:1px solid var(--S3);border-radius:var(--r2);overflow:hidden;}
.lp-jc-hd{background:var(--ink1);padding:11px 16px;display:flex;align-items:center;gap:7px;}
.lp-jc-ico{font-size:12px;}
.lp-jc-ttl{font-family:var(--mon);font-size:8.5px;color:rgba(255,255,255,.54);letter-spacing:.14em;text-transform:uppercase;}
.lp-jc-body{padding:13px 15px;}
.lp-ji{display:flex;align-items:flex-start;gap:6px;padding:7px 0;border-bottom:1px solid var(--S3);font-size:13px;color:var(--ink2);line-height:1.7;}
.lp-ji:last-child{border:none;}
.lp-ji::before{content:'▸';color:var(--A2);font-size:9px;flex-shrink:0;margin-top:4px;}
.lp-ji strong{color:var(--ink1);font-weight:700;}
.lp-welcome{background:var(--AL);border:1px solid rgba(40,169,232,.15);border-radius:var(--r2);padding:16px 20px;}
.lp-welcome-ttl{font-size:12px;font-weight:700;color:var(--ink1);margin-bottom:10px;}
.lp-welcome-tags{display:flex;flex-wrap:wrap;gap:7px;}
.lp-wt{font-size:12px;font-weight:700;color:var(--ink1);background:var(--W);border:1px solid rgba(40,169,232,.25);padding:5px 12px;border-radius:var(--r1);display:inline-flex;align-items:center;gap:3px;}
.lp-wt::before{content:'✅';font-size:9px;}

/* LP Footer */
.lp-footer{width:100%;background:#06090F;border-top:1px solid rgba(255,255,255,.08);}
.lp-footer-inner{max-width:var(--CW);margin:0 auto;padding:24px var(--PX);display:flex;align-items:center;justify-content:space-between;gap:32px;}
.lp-footer-left{display:flex;align-items:center;gap:28px;}
.lp-footer-logo{background:var(--W);border-radius:var(--r1);padding:8px 14px;}
.lp-footer-logo img{height:28px;width:auto;display:block;}
.lp-footer-info{padding-left:24px;border-left:1px solid rgba(255,255,255,.1);font-family:var(--mon);font-size:10px;color:rgba(255,255,255,.3);line-height:1.8;}
.lp-footer-info strong{color:rgba(255,255,255,.52);display:block;font-size:10.5px;margin-bottom:2px;}
.lp-footer-right{text-align:right;}
.lp-footer-tel{font-family:var(--mon);font-size:15px;font-weight:500;color:var(--W);letter-spacing:.04em;line-height:1;margin-bottom:4px;}
.lp-footer-mail{font-family:var(--mon);font-size:9.5px;color:rgba(255,255,255,.36);}
.lp-footer-copy{max-width:var(--CW);margin:0 auto;padding:12px var(--PX);font-family:var(--mon);font-size:9px;color:rgba(255,255,255,.12);text-align:center;letter-spacing:.06em;border-top:1px solid rgba(255,255,255,.05);}

/* LP Hamburger */
.lp-nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;cursor:pointer;padding:4px;background:none;border:none;}
.lp-nav-hamburger span{display:block;width:24px;height:2px;background:rgba(255,255,255,.7);border-radius:2px;transition:all .3s;}
.lp-nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.lp-nav-hamburger.open span:nth-child(2){opacity:0;}
.lp-nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.lp-nav-mobile{display:none;position:fixed;top:60px;left:0;right:0;background:var(--ink1);border-bottom:2px solid rgba(255,255,255,.1);padding:16px var(--PX-SP) 20px;z-index:99;flex-direction:column;}
.lp-nav-mobile.open{display:flex;}
.lp-nav-mobile .nm-link{font-size:15px;font-weight:500;color:rgba(255,255,255,.8);padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none;display:block;}
.lp-nav-mobile .nm-cta{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--GR);color:#fff;font-size:14px;font-weight:700;padding:14px;border-radius:var(--r1);margin-top:14px;text-decoration:none;}

/* MOBILE 768px — LP */
@media(max-width:768px){
  /* Nav */
  .lp-nav{height:60px;}
  .lp-nav-inner{height:60px;padding:0 var(--PX-SP);}
  .lp-nav-logo img{height:24px;}
  .lp-nav-right .lp-nav-tel-wrap,.lp-nav-right .lp-nav-btn{display:none;}
  .lp-nav-hamburger{display:flex;}

  /* Hero — KV v3 縦積みレイアウトを維持（.lp-hero の overflow:visible は別ブロックで設定済み）*/
  /* .lp-hero-bg の height は KV v3 mobileブロックで260px設定済み */

  /* Stats band */
  .lp-stats-inner{grid-template-columns:1fr 1fr;padding:0 var(--PX-SP);}
  .lp-sc{padding:18px 16px 20px;border-bottom:1px solid rgba(255,255,255,.07);}
  .lp-sc:nth-child(2),.lp-sc:nth-child(4){border-right:none;}
  .lp-sc:nth-child(3),.lp-sc:nth-child(4){border-bottom:none;}
  .lp-sc-num{font-size:32px;}

  /* Sections */
  .lp-s-w,.lp-s-g{padding:52px 0;}
  .lp-h2{font-size:24px;line-height:1.3;}
  .lp-lead{font-size:13.5px;margin-bottom:28px;}

  /* Reason cards */
  .lp-reasons{grid-template-columns:1fr;gap:12px;}
  .lp-rc{padding:22px 22px 24px;}
  .lp-rc-ttl{font-size:17px;}
  .lp-rc-body{font-size:13px;}

  /* Work Image (slideshow) */
  .lp-slide-img-area{padding:32px 20px 20px;min-height:240px;}
  .lp-slide-img-area img{max-height:190px;}
  .lp-slide-caption{padding:18px 20px 22px;}
  .lp-slide-ttl{font-size:17px;}
  .lp-slide-desc{font-size:13px;}
  .lp-slide-arrow{width:40px;height:40px;}
  .lp-slide-arrow.prev{left:8px;}
  .lp-slide-arrow.next{right:8px;}

  /* Anxiety Q&A */
  .lp-ax-item{grid-template-columns:1fr;}
  .lp-ax-q{border-right:none;border-bottom:1px solid var(--S3);padding:22px 22px 18px;}
  .lp-ax-a{padding:18px 22px 22px;}
  .lp-ax-qt{font-size:15px;}
  .lp-ax-at{font-size:14px;}
  .lp-ax-ab{font-size:13px;}

  /* Photo strip */
  .lp-ps-img{height:200px;}
  .lp-ps-ov-inner{padding:0 var(--PX-SP);}
  .lp-ps-quote{font-size:16px;}

  /* Salary */
  .lp-sal-layout{grid-template-columns:1fr;gap:28px;}
  .lp-sal-price{font-size:46px;}

  /* Job detail */
  .lp-job-grid{grid-template-columns:1fr;gap:12px;}

  /* Daily flow */
  .lp-flow-layout{grid-template-columns:1fr;gap:28px;}

  /* FAQ */
  .lp-faq{grid-template-columns:1fr;gap:10px;}
  .lp-fqt{font-size:13.5px;}
  .lp-fat{font-size:13px;}

  /* CTA section */
  .lp-cta-inner{flex-direction:column;align-items:flex-start;gap:28px;padding:48px var(--PX-SP);}
  .lp-cta-ill{width:100%;max-width:200px;margin:0 auto;}
  .lp-cta-h{font-size:22px;}
  .lp-cta-desc{font-size:13px;}
  .lp-cm-val{font-size:13px;}

  /* Footer */
  .lp-footer-inner{flex-direction:column;align-items:flex-start;gap:20px;padding:20px var(--PX-SP);}
  .lp-footer-right{text-align:left;}
  .lp-footer-left{flex-direction:column;align-items:flex-start;gap:14px;}
  .lp-footer-info{padding-left:0;border-left:none;}
  .lp-footer-copy{padding:10px var(--PX-SP);}

  /* LP mobile menu */
  .lp-nav-mobile{top:60px;}
}

/* ============================================================
   HOVER EFFECTS — LP
   ============================================================ */

/* LP CTA button (LINE green) */
.btn-lp-primary { transition: background .2s, transform .15s, box-shadow .2s; border-radius:var(--r1); }
.btn-lp-primary:hover { background: #04b344; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(6,199,85,.38); }

/* LP nav btn */
.lp-nav-btn { transition: background .2s, transform .15s; }
.lp-nav-btn:hover { background: #04b344; transform: translateY(-1px); }

/* Reason cards */
.lp-rc { transition: transform .22s, box-shadow .22s; }
.lp-rc:hover { transform: translateY(-4px); box-shadow: 0 10px 32px rgba(6,43,96,.12); }

/* Illustration cards */
.lp-ill-card { transition: transform .22s, box-shadow .22s; }
.lp-ill-card:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(6,43,96,.11); }
.lp-ill-top img { transition: transform .4s ease; }
.lp-ill-card:hover .lp-ill-top img { transform: scale(1.08); }

/* FAQ cards */
.lp-fc { transition: border-color .2s, box-shadow .2s; }
.lp-fc:hover { border-color: var(--A2); box-shadow: 0 4px 16px rgba(40,169,232,.12); }

/* Job cards */
.lp-jc { transition: border-color .2s, box-shadow .2s; }
.lp-jc:hover { border-color: var(--A2); box-shadow: 0 4px 16px rgba(40,169,232,.1); }

/* Anxiety items */
.lp-ax-item { transition: box-shadow .2s; }
.lp-ax-item:hover { box-shadow: 0 4px 20px rgba(6,43,96,.08); }

/* CTA contact rows */
.lp-cm { transition: background .2s, border-color .2s; }
.lp-cm:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.18); }

/* ============================================================
   LP KV v3 — 都市写真 + グラスモーフィズムパネル
   バッジ削除 / 半透明パネル / クリエイティブ刷新
   ============================================================ */

.lp-hero {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: 680px;
}
.lp-hero-bg {
  width: 100%;
  height: 680px;
  object-fit: cover;
  object-position: 30% 55%;
  display: block;
}

/* 写真上の繊細なスクリム — 都市写真の明るさを整える */
.lp-hero-dim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right,
      rgba(6,30,70,.04) 0%,
      rgba(6,30,70,.00) 42%,
      rgba(6,30,70,.14) 72%,
      rgba(6,30,70,.32) 100%
    ),
    linear-gradient(to bottom,
      rgba(6,30,70,.04) 0%,
      transparent 50%,
      rgba(6,30,70,.10) 100%
    );
}

/* グラスモーフィズムパネル — 写真が透けて見える上品な半透明 */
.lp-hero-panel {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 54%;
  padding-top: 8px;
  /* frosted glass */
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* backdrop-filter非対応ブラウザ用フォールバック */
}
@supports not (backdrop-filter: blur(1px)) {
  .lp-hero-panel { background: rgba(248,252,255,.92); }
}

/* 上部 navy→blue アクセントライン */
.lp-hero-panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--ink1) 0%, var(--A2) 60%, rgba(40,169,232,0) 100%);
}

/* 右端フェード（写真との境界をなめらかに） */
.lp-hero-panel::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0; right: -64px;
  width: 64px;
  background: linear-gradient(to right, rgba(255,255,255,.82), transparent);
  pointer-events: none;
}

.lp-hero-panel-inner {
  padding: 0 52px;
  position: relative;
}

/* Eyebrow */
.lp-ey {
  font-family: var(--mon);
  font-size: 9px;
  color: var(--A);
  letter-spacing: .22em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
.lp-ey::before {
  content: '';
  display: block;
  width: 16px; height: 1.5px;
  background: var(--A);
  flex-shrink: 0;
}

/* Headline */
.lp-h1 {
  font-family: var(--ser);
  font-size: 52px;
  font-weight: 700;
  color: var(--ink1);
  line-height: 1.16;
  margin-bottom: 12px;
  letter-spacing: -.025em;
}
.lp-h1 .ac { color: var(--A2); }

.lp-catch {
  font-family: var(--mon);
  font-size: 9px;
  color: var(--A2);
  letter-spacing: .14em;
  margin-bottom: 18px;
  opacity: .8;
}

.lp-desc {
  font-size: 13.5px;
  color: var(--ink2);
  line-height: 1.95;
  margin-bottom: 22px;
  max-width: 380px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(6,43,96,.18);
}
.lp-desc strong { color: var(--ink1); font-weight: 700; }

.lp-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
.lp-tag {
  font-size: 10.5px; font-weight: 700; color: var(--ink1);
  background: rgba(235,246,253,.85);
  border: 1px solid rgba(40,169,232,.24);
  padding: 4px 11px; border-radius: 4px;
  display: inline-flex; align-items: center; gap: 3px;
  transition: background .2s;
  backdrop-filter: blur(4px);
}
.lp-tag:hover { background: rgba(40,169,232,.18); }
.lp-tag::before { content: '✓'; color: var(--A2); font-size: 9px; }

.lp-cta-wrap { display: flex; flex-direction: column; gap: 10px; margin-bottom: 0; }
.btn-lp-primary {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--GR); color: #fff;
  font-size: 15px; font-weight: 700;
  padding: 14px 28px; border-radius: var(--r1);
  text-decoration: none; letter-spacing: .04em;
  width: fit-content;
  box-shadow: 0 5px 22px rgba(6,199,85,.35);
}
.lp-tel-sm { font-family: var(--mon); font-size: 11px; color: var(--ink2); padding-left: 2px; }
.lp-tel-sm span { color: var(--ink1); font-weight: 600; }

/* KV内ミニ実績バー */
.lp-kv-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(213,229,242,.5);
  border: 1px solid rgba(213,229,242,.6);
  border-radius: var(--r1);
  overflow: hidden;
  backdrop-filter: blur(8px);
}
.lp-kv-stat {
  background: rgba(255,255,255,.65);
  padding: 11px 12px 12px;
  text-align: center;
  transition: background .2s;
}
.lp-kv-stat:hover { background: rgba(255,255,255,.85); }
.lp-kv-stat-num {
  font-family: var(--ser);
  font-size: 22px; font-weight: 700;
  color: var(--ink1); line-height: 1;
  margin-bottom: 3px;
  letter-spacing: -.02em;
}
.lp-kv-stat-num .u { font-family: var(--san); font-size: 11px; font-weight: 400; color: var(--ink3); }
.lp-kv-stat-lbl { font-family: var(--mon); font-size: 8px; color: var(--ink3); letter-spacing: .12em; text-transform: uppercase; }

/* ── Mobile KV — 縦積みレイアウト（写真上・白パネル下）── */
@media (max-width: 768px) {

  /* ヒーロー全体: overflow解除して自然なフローに */
  .lp-hero {
    overflow: visible;
    min-height: auto;
    display: block;
  }

  /* 写真: 上部に固定高さで表示 */
  .lp-hero-bg {
    height: 260px;
    object-position: 35% 42%;
    display: block;
    position: relative;
    z-index: 0;
  }

  /* スクリム: 写真エリアのみに限定 */
  .lp-hero-dim {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 260px;
    bottom: auto;
    background: linear-gradient(
      to bottom,
      rgba(6,30,70,.06) 0%,
      rgba(6,30,70,.16) 100%
    );
  }

  /* パネル: 写真の下に自然に流す（absolute → relative）*/
  .lp-hero-panel {
    position: relative;
    width: 100%;
    top: auto; bottom: auto; left: auto; right: auto;
    height: auto;
    background: var(--W);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding-top: 0;
  }
  .lp-hero-panel::after { display: none; }

  /* パネル内余白 */
  .lp-hero-panel-inner {
    padding: 28px var(--PX-SP) 36px;
  }

  /* 見出し */
  .lp-h1 {
    font-size: 30px;
    letter-spacing: -.015em;
    margin-bottom: 10px;
  }

  /* キャッチコピー */
  .lp-catch {
    font-size: 8px;
    margin-bottom: 14px;
  }

  /* 説明文 */
  .lp-desc {
    font-size: 13px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    max-width: 100%;
  }

  /* 条件グリッド */
  .lp-kv-conditions {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 22px;
  }
  .lp-kv-cond { padding: 11px 12px; gap: 9px; border-radius: var(--r1); }
  .lp-kv-cond-ico { font-size: 22px; }
  .lp-kv-cond-label { font-size: 13px; margin-bottom: 4px; }
  .lp-kv-cond-sub { font-size: 10.5px; }

  /* CTAボタン: 全幅 */
  .btn-lp-primary {
    width: 100%;
    justify-content: center;
    font-size: 14px;
    padding: 15px 20px;
  }
  .lp-tel-sm { font-size: 11px; }
}

/* ============================================================
   LP KV — 条件グリッド（タグをリッチUIに刷新）
   ============================================================ */
.lp-kv-conditions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 26px;
}
.lp-kv-cond {
  background: rgba(255,255,255,.68);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(40,169,232,.22);
  border-radius: var(--r1);
  padding: 14px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: background .2s;
}
.lp-kv-cond:hover { background: rgba(255,255,255,.88); }
.lp-kv-cond.full { grid-column: 1 / -1; }
.lp-kv-cond-ico {
  font-size: 28px;
  flex-shrink: 0;
  line-height: 1;
}
.lp-kv-cond-label {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink1);
  display: block;
  line-height: 1.3;
  margin-bottom: 6px;
}
.lp-kv-cond-sub {
  font-size: 12px;
  color: var(--ink3);
  font-family: var(--mon);
  letter-spacing: .04em;
  display: block;
  line-height: 1.4;
}

/* ============================================================
   LP Slideshow — スライドショー
   ============================================================ */
.lp-slideshow-wrap {
  position: relative;
  background: var(--S1);
  border-radius: var(--r3);
  overflow: hidden;
  user-select: none;
}

/* Slides container */
.lp-slides-track {
  display: flex;
  transition: transform .52s cubic-bezier(.4, 0, .2, 1);
  will-change: transform;
}
.lp-slide {
  min-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Image area */
.lp-slide-img-area {
  width: 100%;
  background: var(--S1);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 52px 48px 36px;
  position: relative;
  min-height: 340px;
}
.lp-slide-img-area img {
  max-height: 260px;
  max-width: 100%;
  object-fit: contain;
  display: block;
  image-rendering: -webkit-optimize-contrast;
}

/* Slide number badge */
.lp-slide-badge {
  position: absolute;
  top: 20px; left: 24px;
  font-family: var(--mon);
  font-size: 10px;
  color: var(--ink3);
  letter-spacing: .12em;
  background: rgba(255,255,255,.8);
  border: 1px solid var(--S3);
  border-radius: var(--r3);
  padding: 4px 12px;
  backdrop-filter: blur(4px);
}
.lp-slide-badge .cur { color: var(--A); font-weight: 700; }

/* Caption area */
.lp-slide-caption {
  width: 100%;
  background: var(--W);
  border-top: 1px solid var(--S3);
  padding: 22px 36px 28px;
  text-align: center;
}
.lp-slide-ttl {
  font-family: var(--ser);
  font-size: 20px;
  font-weight: 700;
  color: var(--ink1);
  margin-bottom: 6px;
  line-height: 1.4;
}
.lp-slide-ttl em { font-style: normal; color: var(--A); }
.lp-slide-desc {
  font-size: 14px;
  color: var(--ink3);
  line-height: 1.85;
  max-width: 480px;
  margin: 0 auto;
}

/* Navigation arrows */
.lp-slide-arrow {
  position: absolute;
  top: calc(50% - 30px);
  transform: translateY(-50%);
  width: 48px; height: 48px;
  background: var(--W);
  border: 1.5px solid var(--S3);
  border-radius: 50%;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  z-index: 10;
  transition: background .2s, border-color .2s, box-shadow .2s;
  box-shadow: 0 2px 10px rgba(6,43,96,.08);
}
.lp-slide-arrow:hover {
  background: var(--A);
  border-color: var(--A);
  box-shadow: 0 4px 16px rgba(24,97,168,.22);
}
.lp-slide-arrow:hover svg { stroke: #fff; }
.lp-slide-arrow svg { stroke: var(--ink1); transition: stroke .2s; }
.lp-slide-arrow.prev { left: 16px; }
.lp-slide-arrow.next { right: 16px; }

/* Dots */
.lp-slide-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 14px 0 4px;
  background: transparent;
}
.lp-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--S3);
  cursor: pointer;
  transition: background .25s, transform .25s, width .25s;
}
.lp-dot.active {
  background: var(--A);
  width: 24px;
  border-radius: 4px;
  transform: none;
}

/* Mobile */
@media (max-width: 768px) {
  .lp-kv-conditions { grid-template-columns: 1fr 1fr; gap: 6px; }
  .lp-kv-cond { padding: 8px 10px; gap: 7px; }
  .lp-kv-cond-ico { font-size: 18px; }
  .lp-kv-cond-label { font-size: 12px; }
  .lp-kv-cond-sub { font-size: 9px; }
  .lp-slide-img-area { padding: 36px 24px 24px; min-height: 260px; }
  .lp-slide-img-area img { max-height: 200px; }
  .lp-slide-caption { padding: 16px 20px 20px; }
  .lp-slide-ttl { font-size: 16px; }
  .lp-slide-desc { font-size: 12px; }
  .lp-slide-arrow { width: 40px; height: 40px; }
  .lp-slide-arrow.prev { left: 8px; }
  .lp-slide-arrow.next { right: 8px; }
}
