:root{
      --clr-primary:#06c755; --clr-primary-dark:#049a42; --clr-accent:#ff7a1a; --clr-bg:#f6fff9; --clr-text:#17212b; --clr-muted:#667085; --clr-border:#d9efe2; --radius:22px; --shadow:0 20px 55px rgba(4,154,66,.16); --shadow-sm:0 10px 24px rgba(16,24,40,.08);
    }
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:'Inter','Noto Sans JP',sans-serif;color:var(--clr-text);background:#fff;line-height:1.75} a{color:inherit;text-decoration:none} .container{width:min(1120px,92%);margin:auto}.text-gradient{background:linear-gradient(135deg,var(--clr-primary),#13b5ff);-webkit-background-clip:text;background-clip:text;color:transparent}.section-padding{padding:92px 0}.bg-light{background:linear-gradient(180deg,#f6fff9,#ffffff)}
    .header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(217,239,226,.8)}.header-container{width:min(1180px,94%);height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.4rem}.logo-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--clr-primary);color:white}.nav-links{display:flex;gap:22px;font-weight:700;font-size:.92rem;color:#344054}.nav-links a:hover{color:var(--clr-primary-dark)}.mobile-menu-btn{display:none;border:0;background:white;font-size:1.7rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;font-weight:900;box-shadow:var(--shadow-sm);transition:.25s transform,.25s box-shadow}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn-accent{background:linear-gradient(135deg,var(--clr-accent),#ffb000);color:white}.btn-primary{background:linear-gradient(135deg,var(--clr-primary),#19d974);color:white}.btn-lg{padding:17px 30px;font-size:1.05rem}.tag{display:inline-flex;align-items:center;border-radius:999px;padding:8px 14px;font-weight:900;font-size:.86rem}.tag-primary{background:#e8fff1;color:var(--clr-primary-dark);border:1px solid #b9f4cf}.tag-accent{background:#fff3e9;color:#b84a00;border:1px solid #ffd8b9}
    .hero{position:relative;overflow:hidden;padding:18px 0 48px;background:radial-gradient(circle at 85% 15%,#dfffee 0,transparent 28%),linear-gradient(135deg,#f6fff9 0,#fff 55%,#eefbf3 100%)}.hero:before{content:"";position:absolute;inset:auto -120px -180px auto;width:520px;height:520px;border-radius:50%;background:rgba(6,199,85,.12)}.hero-content{position:relative;display:grid;grid-template-columns:0.9fr 1.1fr;align-items:start;gap:64px}
    .hero-title{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.1;margin:0 0 22px;font-weight:900;letter-spacing:-.05em;max-width:18ch}
    .hero-desc{font-size:1.13rem;color:#475467;max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
    .hero-panel{position:relative;border-radius:32px;padding:28px;background:rgba(255,255,255,.82);border:1px solid rgba(217,239,226,.9);box-shadow:var(--shadow)}.mock-browser{background:#111827;border-radius:24px;overflow:hidden;color:white;box-shadow:0 24px 60px rgba(17,24,39,.28)}.mock-top{height:42px;display:flex;align-items:center;gap:8px;padding:0 16px;background:#1f2937}.dot{width:10px;height:10px;border-radius:50%;background:#667085}.mock-body{padding:28px;background:linear-gradient(135deg,#0f172a,#14532d)}.line-card{background:white;color:var(--clr-text);border-radius:18px;padding:18px;margin:14px 0;box-shadow:var(--shadow-sm)}.line-bubble{display:inline-block;background:#06c755;color:white;border-radius:18px 18px 4px 18px;padding:12px 16px;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.metric{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:14px}.metric strong{display:block;font-size:1.35rem}.float-badge{position:absolute;background:#fff;border:1px solid var(--clr-border);border-radius:18px;padding:12px 16px;box-shadow:var(--shadow-sm);font-weight:900}.badge-a{top:-18px;right:18px}.badge-b{bottom:-18px;left:18px}
    .section-header{text-align:center;margin-bottom:44px}.section-title{font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.25;margin:0 0 14px;font-weight:900;letter-spacing:-.04em}.section-subtitle{color:var(--clr-muted);font-size:1.05rem;max-width:780px;margin:0 auto}.pain-points{padding:28px;border-radius:var(--radius);background:#fff8f3;border:1px solid #ffe0c7;box-shadow:var(--shadow-sm);margin-bottom:46px}.pain-grid,.feature-grid,.tech-grid,.pricing-cards,.case-grid,.support-grid{display:grid;gap:24px}.pain-grid{grid-template-columns:repeat(3,1fr)}.pain-item,.feature-card,.tech-card,.pricing-card,.case-card,.support-item,.contact-form,.contact-text{background:white;border:1px solid var(--clr-border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}.pain-item strong{color:#c2410c}.feature-grid{grid-template-columns:repeat(3,1fr)}.feature-card{position:relative;overflow:hidden}.feature-num{font-size:3.2rem;font-weight:900;color:#d9f8e5;line-height:1}.feature-card h3,.tech-card h3,.case-card h3{font-size:1.35rem;line-height:1.45;margin:6px 0 12px}.feature-card p,.tech-card p,.case-card p,.support-item p{color:var(--clr-muted);margin:0}
    .tech-features{background:#0f172a;color:white}.tech-features .section-subtitle,.tech-card p{color:#cbd5e1}.tech-grid{grid-template-columns:repeat(4,1fr)}.tech-card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.13);box-shadow:none}.tech-icon,.support-icon{font-size:2.2rem}.pricing-cards{grid-template-columns:repeat(4,1fr)}.pricing-card{text-align:center;position:relative}.pricing-card.popular{border:2px solid var(--clr-primary);transform:translateY(-8px)}.popular-badge{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--clr-primary);color:white;border-radius:999px;padding:5px 14px;font-weight:900;font-size:.8rem}.price{font-size:2.1rem;font-weight:900;margin:14px 0;color:var(--clr-primary-dark)}.price small{font-size:.9rem;color:var(--clr-muted)}.pricing-card ul{list-style:none;padding:0;margin:16px 0 0}.pricing-card li{padding:8px 0;border-top:1px solid var(--clr-border)}.flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step{position:relative;padding:28px;border-radius:var(--radius);background:#fff;border:1px solid var(--clr-border);box-shadow:var(--shadow-sm)}
    .step-num{
  width:52px;
  height:52px;
  border-radius:16px;   /* ← 丸から角丸四角へ */
  display:grid;
  place-items:center;
  background:var(--clr-primary);
  color:#fff;
  font-weight:900;
  font-size:1rem;
  box-shadow:0 8px 18px rgba(6,199,85,.18);
}
    .case-grid{grid-template-columns:repeat(2,1fr)}.case-problem{background:#fff7ed;border-left:5px solid var(--clr-accent);padding:14px;border-radius:12px;margin:16px 0}.case-solution{background:#ecfdf3;border-left:5px solid var(--clr-primary);padding:14px;border-radius:12px}.faq-list{max-width:900px;margin:auto}.faq-item{background:white;border:1px solid var(--clr-border);border-radius:16px;padding:18px 22px;margin-bottom:12px;box-shadow:var(--shadow-sm)}summary{font-weight:900;cursor:pointer}.contact-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-group.full{grid-column:1/-1}label{font-weight:900;display:block;margin-bottom:8px}.required{font-size:.75rem;background:#fee2e2;color:#b91c1c;border-radius:999px;padding:3px 8px}input,textarea{width:100%;border:1px solid var(--clr-border);border-radius:14px;padding:14px 15px;font:inherit}textarea{resize:vertical}.footer{background:#07130d;color:#d1fae5;padding:48px 0 24px}.footer-content{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer a{color:#d1fae5}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;color:#a7f3d0}
    
.hero-photo-simple{position:relative;overflow:hidden;border-radius:32px;border:1px solid var(--clr-border);box-shadow:var(--shadow);background:radial-gradient(circle at top right,#dfffee 0%,transparent 40%),linear-gradient(135deg,#f6fff9,#eefbf3);min-height:560px}
.hero-photo-simple img{width:100%;height:560px;display:block;object-fit:contain;object-position:center}
.hero-badge-simple{position:absolute;top:12px;left:18px;background:#e8fff1;color:var(--clr-primary-dark);border:1px solid #b9f4cf;padding:10px 16px;border-radius:999px;font-weight:900;box-shadow:var(--shadow-sm)}
.hero-trust-badges{position:absolute;top:18px;right:18px;display:flex;flex-direction:column;gap:10px}
.hero-trust-badge{background:rgba(255,255,255,.95);padding:10px 14px;border-radius:999px;font-weight:900;box-shadow:var(--shadow-sm)}
.hero-overlay-card{position:absolute;left:20px;right:20px;bottom:20px;background:rgba(255,255,255,.92);padding:18px;border-radius:20px}
.hero-mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.hero-mini-metric{background:#ecfdf3;border:1px solid #b9f4cf;border-radius:14px;padding:12px;text-align:center;font-weight:900}

@media(max-width:920px){.nav-links,.header-cta{display:none}.mobile-menu-btn{display:block}.nav-links.active{position:absolute;display:flex;flex-direction:column;top:74px;left:0;right:0;background:white;padding:20px;border-bottom:1px solid var(--clr-border)}.hero-content,.contact-split{grid-template-columns:1fr}.pain-grid,.feature-grid,.tech-grid,.pricing-cards,.flow-steps,.case-grid{grid-template-columns:1fr 1fr}.pricing-card.popular{transform:none}}@media(max-width:640px){.section-padding{padding:64px 0}.pain-grid,.feature-grid,.tech-grid,.pricing-cards,.flow-steps,.case-grid,.metric-grid,.form-grid{grid-template-columns:1fr}.hero{padding-top:16px}.float-badge{position:static;margin:12px 0}.hero-actions .btn{width:100%}}
  
@media(max-width:640px){
  .hero-photo-simple{min-height:auto}
  .hero-photo-simple img{height:auto}
  .hero-badge-simple{font-size:.8rem;top:12px;left:12px;padding:8px 12px}
  .hero-trust-badges{top:12px;right:12px;gap:6px}
  .hero-trust-badge{font-size:.75rem;padding:7px 10px}
  .hero-overlay-card{left:12px;right:12px;bottom:12px;padding:12px}
  .hero-mini-metrics{gap:6px}
  .hero-mini-metric{font-size:.75rem;padding:8px 6px}
}

  
.hero-label-big{
  display:inline-block;
  background:linear-gradient(135deg,#06c755,#19d974);
  color:#fff;
  padding:12px 20px;
  border-radius:999px;
  font-size:1rem;
  font-weight:900;
  letter-spacing:.05em;
  margin-bottom:18px;
  box-shadow:0 8px 24px rgba(6,199,85,.25);
}
.nowrap{white-space:nowrap}
@media(max-width:640px){
  .hero-label-big{
    font-size:.88rem;
    padding:10px 15px;
    margin-bottom:14px;
  }
}

  
.hero-label{
  display:inline-block;
  margin-bottom:14px;
  font-size:1rem;
  font-weight:900;
  letter-spacing:.08em;
  color:var(--clr-primary-dark);
}
.hero-label::before{
  content:"";
  display:inline-block;
  width:36px;
  height:3px;
  background:var(--clr-primary);
  margin-right:10px;
  vertical-align:middle;
}
@media(max-width:640px){
  .hero-label{
    font-size:.9rem;
    margin-bottom:12px;
  }
  .hero-label::before{
    width:28px;
    margin-right:8px;
  }
}

  
.hero-visual-panel{
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.hero-photo-redesign{
  position:relative;
  min-height:560px;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(185,244,207,.55);
  box-shadow:0 28px 70px rgba(4,154,66,.18);
  background:
    radial-gradient(circle at 18% 18%,rgba(6,199,85,.18),transparent 34%),
    radial-gradient(circle at 88% 12%,rgba(19,181,255,.14),transparent 28%),
    linear-gradient(135deg,#f6fff9 0%,#eafff2 58%,#ffffff 100%);
}
.hero-photo-redesign img{
  position:relative;
  z-index:2;
  width:100%;
  height:560px;
  display:block;
  object-fit:contain;
  object-position:center top;
  transform:translateY(28px);
  filter:drop-shadow(0 18px 28px rgba(16,24,40,.16));
}
.hero-photo-bg-shape{
  position:absolute;
  z-index:1;
  border-radius:999px;
  pointer-events:none;
}
.hero-photo-bg-shape.shape-a{
  width:360px;
  height:360px;
  right:-100px;
  top:64px;
  background:rgba(6,199,85,.12);
}
.hero-photo-bg-shape.shape-b{
  width:220px;
  height:220px;
  left:-70px;
  bottom:78px;
  background:rgba(19,181,255,.10);
}
.hero-photo-redesign .hero-badge-simple{
  z-index:4;
  background:#e8fff1;
  color:var(--clr-primary-dark);
  border:1px solid #b9f4cf;
  box-shadow:0 12px 28px rgba(4,154,66,.14);
}
.hero-message-card{
  z-index:4;
  left:22px;
  right:22px;
  bottom:22px;
  padding:18px 20px;

  background:rgba(255,255,255,.55);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);

  border:1px solid rgba(255,255,255,.45);
  box-shadow:
    0 18px 44px rgba(16,24,40,.12),
    inset 0 1px 0 rgba(255,255,255,.5);
}
.hero-message-card strong{
  display:block;
  font-size:1.18rem;
  line-height:1.45;
  letter-spacing:-.02em;
}
.hero-message-card p{
  margin:8px 0 0;
  color:var(--clr-muted);
  font-size:.92rem;
  line-height:1.65;
}
.hero-message-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:20px;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.45) 0%,
    rgba(255,255,255,0) 45%
  );
  pointer-events:none;
}

.hero-message-label{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:10px;
  border-radius:14px;
  background:var(--clr-primary);
  color:#fff;
  font-weight:900;
}
@media(max-width:640px){
  .hero-photo-redesign{
    min-height:auto;
    border-radius:26px;
  }
  .hero-photo-redesign img{
    height:auto;
    padding-top:58px;
  }
  .hero-message-card{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin:0 12px 12px;
  }
  .hero-message-card strong{
    font-size:1rem;
  }
}

  
.hero-title{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0 0 22px;
}
.hero-title-sub{
  display:block;
  font-size:clamp(2rem,3.5vw,2.8rem);
  font-weight:700;
  color:#475467;
  letter-spacing:.02em;
  line-height:1.4;
}
.hero-title-main{
  display:block;
  font-size:clamp(2.8rem,5.5vw,5.2rem);
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.05em;
}


/* L+ reasons illustration block */
.reason-visual-wrap{
  position:relative;
  margin:0 auto 34px;
  padding:34px;
  border-radius:34px;
  background:
    radial-gradient(circle at 12% 20%,rgba(6,199,85,.16),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(19,181,255,.14),transparent 28%),
    linear-gradient(135deg,#f7fff9 0%,#eefbf3 52%,#ffffff 100%);
  border:1px solid rgba(217,239,226,.9);
  box-shadow:0 22px 60px rgba(16,24,40,.08);
  overflow:hidden;
}
.reason-visual-wrap::before{
  content:"L+ LINE MARKETING";
  position:absolute;
  right:22px;
  top:12px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  color:rgba(4,154,66,.22);
}
.reason-visual-head{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:24px;
  margin-bottom:24px;
}
.reason-visual-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  margin-bottom:10px;
  padding:8px 14px;
  border-radius:999px;
  background:#e8fff1;
  color:var(--clr-primary-dark);
  border:1px solid #b9f4cf;
  font-size:.82rem;
  font-weight:900;
}
.reason-visual-title{
  margin:0;
  font-size:clamp(1.35rem,2.4vw,2rem);
  line-height:1.45;
  letter-spacing:-.03em;
}
.reason-visual-copy{
  margin:0;
  max-width:360px;
  color:var(--clr-muted);
  font-weight:700;
}
.reason-avatar-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
}
.reason-avatar{
  position:relative;
  aspect-ratio:1/1;
  border-radius:50%;
  background:#fff;
  box-shadow:0 14px 30px rgba(16,24,40,.10);
  transition:.25s transform,.25s box-shadow;
}
.reason-avatar:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 42px rgba(16,24,40,.15);
}
.reason-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  border-radius:50%;
}
.reason-avatar:nth-child(2),
.reason-avatar:nth-child(5){
  transform:translateY(18px);
}
.reason-avatar:nth-child(2):hover,
.reason-avatar:nth-child(5):hover{
  transform:translateY(12px);
}
.reason-card-visual{
  width:96px;
  height:96px;
  margin:-4px 0 14px;
  border-radius:50%;
  background:linear-gradient(135deg,#f6fff9,#ffffff);
  box-shadow:0 14px 30px rgba(16,24,40,.10);
}
.reason-card-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  border-radius:50%;
}
.feature-card:nth-child(1) .reason-card-visual{margin-left:auto;margin-right:auto}
.feature-card:nth-child(2) .reason-card-visual{margin-left:auto;margin-right:auto}
.feature-card:nth-child(3) .reason-card-visual{margin-left:auto;margin-right:auto}

@media(max-width:920px){
  .reason-visual-head{
    grid-template-columns:1fr;
  }
  .reason-avatar-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .reason-avatar:nth-child(2),
  .reason-avatar:nth-child(5){
    transform:none;
  }
  .reason-avatar:nth-child(2):hover,
  .reason-avatar:nth-child(5):hover{
    transform:translateY(-5px);
  }
}
@media(max-width:640px){
  .reason-visual-wrap{
    padding:22px;
    border-radius:26px;
  }
  .reason-avatar-grid{
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
  .reason-card-visual{
    width:84px;
    height:84px;
  }
}


/* --- pain section redesign: shaded photo background + overlapping cards --- */
.pain-points{
  position:relative;
  overflow:hidden;
  min-height:360px;
  padding:42px 42px 44px;
  border-radius:28px;
  border:1px solid var(--clr-border);
  box-shadow:var(--shadow-sm);
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.94) 46%,
      rgba(255,255,255,.74) 68%,
      rgba(255,255,255,.40) 100%),
    url("/wp-content/themes/onepress/lp/lplus_lp/img/34354741_m.jpg") right center/520px auto no-repeat,
    linear-gradient(135deg,#ffffff,#f8fffb);
  margin-bottom:46px;
}
.pain-points::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 88% 52%, rgba(6,199,85,.16), transparent 32%),
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.28) 100%);
  pointer-events:none;
}
.pain-points > *{
  position:relative;
  z-index:1;
}
.pain-points h3{
  text-align:center;
  margin:0 0 8px;
  font-size:1.45rem;
}
.pain-sub{
  text-align:center;
  color:var(--clr-muted);
  margin:0 0 28px;
}
.pain-grid{
  width:min(880px, 78%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.pain-item{
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(217,239,226,.95);
  border-radius:18px;
  padding:22px;
  box-shadow:0 16px 36px rgba(16,24,40,.10);
}
.pain-item strong{
  display:block;
  color:#c2410c;
  margin-bottom:8px;
}
@media(max-width:1100px){
  .pain-points{
    background:
      linear-gradient(90deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.95) 58%,
        rgba(255,255,255,.70) 100%),
      url("/wp-content/themes/onepress/lp/lplus_lp/img/replace_background.jpg") right center/420px auto no-repeat,
      linear-gradient(135deg,#ffffff,#f8fffb);
  }
  .pain-grid{
    width:72%;
    grid-template-columns:1fr;
  }
}
@media(max-width:920px){
  .pain-points{
    min-height:auto;
    padding:30px 22px;
    background:
      linear-gradient(rgba(255,255,255,.88), rgba(255,255,255,.94)),
      url("images/replace_background.jpg") center bottom/360px auto no-repeat,
      #fff;
  }
  .pain-grid{
    width:100%;
    grid-template-columns:1fr;
  }
}


/* --- pain section: one large divided card --- */
.pain-grid{
  width:min(900px,78%);
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}

.pain-grid-unified{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(185,244,207,.95);
  border-radius:26px;
  box-shadow:
    0 20px 48px rgba(16,24,40,.12),
    inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
}

.pain-item{
  position:relative;
  min-height:172px;
  padding:28px 26px 26px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.pain-item:not(:last-child){
  border-right:1px solid rgba(217,239,226,.95);
}

.pain-item::before{
  content:"";
  display:block;
  width:44px;
  height:4px;
  margin-bottom:18px;
  border-radius:999px;
  background:linear-gradient(135deg,#06c755,#19d974);
}

.pain-item strong{
  display:block;
  color:#c2410c;
  font-size:1.05rem;
  line-height:1.55;
  margin-bottom:10px;
}

@media(max-width:1100px){
  .pain-grid{
    width:72%;
  }
  .pain-grid-unified{
    grid-template-columns:1fr;
  }
  .pain-item:not(:last-child){
    border-right:0;
    border-bottom:1px solid rgba(217,239,226,.95);
  }
}

@media(max-width:920px){
  .pain-grid{
    width:100%;
  }
}


/* --- final fix: compact "他社との違い" --- */
#support .comparison-box{
  margin-top:24px !important;
  padding:22px 28px !important;
  min-height:0 !important;
  height:auto !important;
  border-radius:20px !important;
  background:#fff !important;
  border:1px solid var(--clr-border) !important;
  box-shadow:0 10px 24px rgba(16,24,40,.08) !important;
  overflow:visible !important;
}
#support .comparison-box::before,
#support .comparison-box::after{
  content:none !important;
  display:none !important;
}
#support .comparison-box h3{
  margin:0 0 10px !important;
  text-align:center !important;
  font-size:1.3rem !important;
  line-height:1.4 !important;
}
#support .comparison-box p{
  margin:0 !important;
  color:var(--clr-muted) !important;
  text-align:center !important;
  line-height:1.8 !important;
}
.pain-points:not(.pain-main){
  min-height:auto !important;
}
@media(max-width:640px){
  #support .comparison-box{
    padding:20px !important;
  }
  #support .comparison-box p{
    text-align:left !important;
  }
}


/* --- restored comparison box: right green gradient only --- */
#support .comparison-box{
  margin-top:24px !important;
  padding:36px 48px !important;
  min-height:0 !important;
  height:auto !important;
  border-radius:24px !important;
  border:1px solid #d9efe2 !important;
  background:
    radial-gradient(circle at 92% 80%, rgba(6,199,85,.14), transparent 34%),
    linear-gradient(90deg,#fff 0%,#fff 65%,#eefcf4 100%) !important;
  box-shadow:0 10px 28px rgba(16,24,40,.08) !important;
  position:relative !important;
  overflow:hidden !important;
}
#support .comparison-box::before{
  content:none !important;
  display:none !important;
}
#support .comparison-box::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  right:-60px !important;
  bottom:-60px !important;
  width:280px !important;
  height:280px !important;
  border-radius:50% !important;
  background:radial-gradient(circle, rgba(6,199,85,.12), rgba(6,199,85,0)) !important;
  pointer-events:none !important;
}
#support .comparison-heading{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  margin-bottom:20px !important;
}
#support .comparison-icon{
  font-size:2rem !important;
  line-height:1 !important;
}
#support .comparison-box h3{
  margin:0 !important;
  text-align:center !important;
  font-size:1.55rem !important;
  line-height:1.4 !important;
  color:#0f172a !important;
}
#support .comparison-box p{
  position:relative !important;
  z-index:1 !important;
  max-width:900px !important;
  margin:0 auto !important;
  color:#475569 !important;
  text-align:center !important;
  font-size:1.05rem !important;
  line-height:2 !important;
}
#support .comparison-box strong{
  color:#17212b !important;
}
@media(max-width:640px){
  #support .comparison-box{
    padding:24px !important;
  }
  #support .comparison-heading{
    margin-bottom:14px !important;
  }
  #support .comparison-box h3{
    font-size:1.35rem !important;
  }
  #support .comparison-box p{
    text-align:left !important;
    font-size:1rem !important;
    line-height:1.85 !important;
  }
}



/* --- support section redesign with consultation image --- */
#support.support-redesign{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 20%,rgba(6,199,85,.10),transparent 30%),
    radial-gradient(circle at 94% 12%,rgba(19,181,255,.08),transparent 26%),
    linear-gradient(180deg,#f6fff9 0%,#ffffff 100%);
}
#support .support-hero-card{
  position:relative;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
#support .support-hero-card::before{
  content:none;
}
#support .support-section-head{
  position:relative;
  z-index:1;
  max-width:860px;
  margin:0 auto 46px;
  text-align:center;
}
#support .support-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:46px;
  align-items:center;
}
#support .support-visual{
  position:relative;
  min-height:390px;
  display:grid;
  place-items:center;
  border-radius:30px;
  background:
    radial-gradient(circle at 50% 74%,rgba(6,199,85,.14),transparent 28%),
    linear-gradient(135deg,#f7fff9,#eefbf3);
  overflow:hidden;
}
#support .support-visual::before{
  content:"";
  position:absolute;
  left:-70px;
  top:56px;
  width:330px;
  height:330px;
  border-radius:50%;
  background:rgba(6,199,85,.08);
}
#support .support-visual::after{
  content:"";
  position:absolute;
  right:48px;
  bottom:82px;
  width:190px;
  height:40px;
  border-radius:50%;
  background:rgba(4,154,66,.09);
  filter:blur(2px);
}
#support .support-visual img{
  position:relative;
  z-index:1;
  width:min(82%,330px);
  max-height:400px;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(16,24,40,.12));
}
#support .support-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:18px;
  padding:9px 16px;
  border-radius:999px;
  background:#e8fff1;
  color:var(--clr-primary-dark);
  border:1px solid #b9f4cf;
  font-weight:900;
}
#support .support-title{
  margin:0 0 18px;
  font-size:clamp(2rem,4.2vw,3.25rem);
  line-height:1.22;
  letter-spacing:-.05em;
  font-weight:900;
}
#support .support-title .green{color:var(--clr-primary-dark)}
#support .support-lead{
  margin:0 auto;
  max-width:720px;
  color:#475467;
  font-size:1.04rem;
}
#support .support-content{
  align-self:center;
}
#support .support-list{
  display:grid;
  gap:18px;
}
#support .support-item-redesign{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  align-items:flex-start;
  padding:22px 24px;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(217,239,226,.95);
  box-shadow:0 14px 34px rgba(16,24,40,.07);
}
#support .support-item-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
  color:#fff;
  font-size:1.25rem;
  font-weight:900;
  box-shadow:0 10px 24px rgba(4,154,66,.16);
}
#support .support-item-redesign h3{
  margin:0 0 8px;
  color:var(--clr-primary-dark);
  font-size:1.18rem;
  line-height:1.45;
}
#support .support-item-redesign p{
  margin:0;
  color:#475467;
  line-height:1.85;
  font-size:.96rem;
}
#support .support-message{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:36px;
  padding:24px 30px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(236,253,243,.92),rgba(255,255,255,.72));
  border:0;
  box-shadow:none;
}
#support .support-message-icon{
  flex:0 0 auto;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#fff;
  color:var(--clr-primary-dark);
  font-size:1.7rem;
  box-shadow:var(--shadow-sm);
}
#support .support-message strong{
  display:block;
  font-size:1.35rem;
  line-height:1.5;
}
#support .comparison-box.support-comparison{
  margin-top:42px !important;
}
@media(max-width:920px){
  #support .support-hero-card{padding:0}
  #support .support-section-head{margin-bottom:34px}
  #support .support-layout{grid-template-columns:1fr;gap:34px}
  #support .support-visual{min-height:340px}
  #support .support-visual img{width:min(78%,320px)}
}
@media(max-width:640px){
  #support .support-hero-card{padding:0;border-radius:0}
  #support .support-section-head{text-align:center;margin-bottom:28px}
  #support .support-title{font-size:clamp(1.75rem,8vw,2.35rem)}
  #support .support-visual{min-height:300px;border-radius:22px}
  #support .support-item-redesign{grid-template-columns:46px 1fr;padding:18px 16px;border-radius:18px}
  #support .support-item-icon{width:46px;height:46px;border-radius:14px;font-size:1.05rem}
  #support .support-message{align-items:flex-start;padding:18px;gap:14px;margin-top:28px}
  #support .support-message strong{font-size:1.05rem}
}



/* --- start steps section: pain-section style --- */
.start-flow-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f6fff9 100%);
}
.start-flow-panel{
  position:relative;
  overflow:hidden;
  min-height:430px;
  padding:46px 42px 44px;
  border-radius:28px;
  border:1px solid var(--clr-border);
  box-shadow:var(--shadow-sm);
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.96) 42%,
      rgba(255,255,255,.82) 62%,
      rgba(255,255,255,.45) 100%),
    url("/wp-content/themes/onepress/lp/lplus_lp/img/34209039_m.jpg");
  background-size:cover;
  background-position:center right;
}
.start-flow-panel::before{
  content:"";
  position:absolute;
  right:26px;
  top:18px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
  color:rgba(4,154,66,.20);
}
.start-flow-head{
  position:relative;
  z-index:2;
  max-width:620px;
  margin-bottom:28px;
}
.start-flow-label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#c2410c;
  font-weight:900;
  font-size:.95rem;
  margin-bottom:8px;
}
.start-flow-label::before{
  content:"";
  display:block;
  width:38px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--clr-accent),#ffb000);
}
.start-flow-title{
  margin:0 0 8px;
  font-size:clamp(1.65rem,3vw,2.45rem);
  line-height:1.32;
  letter-spacing:-.04em;
  font-weight:900;
}
.start-flow-lead{
  margin:0;
  color:var(--clr-muted);
  font-weight:700;
  line-height:1.85;
}
.start-flow-steps{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  max-width:100%;
}
.start-flow-steps .step{
  display:block;
  padding:22px 20px 24px;
  border-radius:22px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(217,239,226,.95);
  box-shadow:0 14px 34px rgba(16,24,40,.09);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.start-flow-steps .step-num{
  width:54px;
  height:54px;
  margin-bottom:14px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
  color:#fff;
  font-weight:900;
  box-shadow:0 10px 24px rgba(6,199,85,.22);
}
.start-flow-steps .step h3{
  margin:0 0 8px;
  font-size:1.12rem;
  line-height:1.45;
}
.start-flow-steps .step p{
  margin:0;
  color:var(--clr-muted);
  line-height:1.75;
  font-size:.94rem;
}
@media(max-width:920px){
  .start-flow-panel{
    padding:36px 28px 32px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 58%,rgba(255,255,255,.72) 100%),
      url("/wp-content/themes/onepress/lp/lplus_lp/img/34209039_m.jpg");
    background-size:cover;
    background-position:center;
  }
  .start-flow-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .start-flow-panel{padding:28px 18px 22px;border-radius:24px}
  .start-flow-steps{grid-template-columns:1fr;gap:12px}
  .start-flow-steps .step{padding:20px}
}

  

/* --- relay section infographic insert --- */
.relay-overview-card{
  position:relative;
  margin:-12px auto 34px;
  padding:22px;
  border-radius:34px;
  border:1px solid rgba(217,239,226,.95);
  background:
    radial-gradient(circle at 8% 12%,rgba(6,199,85,.14),transparent 24%),
    radial-gradient(circle at 92% 10%,rgba(19,181,255,.12),transparent 26%),
    linear-gradient(135deg,#ffffff 0%,#f6fff9 54%,#ffffff 100%);
  box-shadow:0 24px 62px rgba(16,24,40,.10);
  overflow:hidden;
}
.relay-overview-card::before{
  content:"";
  position:absolute;
  right:24px;
  top:14px;
  z-index:1;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  color:rgba(4,154,66,.22);
}
.relay-overview-image{
  position:relative;
  z-index:2;
  padding:16px;
  border-radius:26px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
}
.relay-overview-image img{
  display:block;
  width:100%;
  height:auto;
  border-radius:22px;
}
.relay-overview-points{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:16px;
}
.relay-overview-point{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 15px;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(217,239,226,.9);
  color:#344054;
  font-weight:900;
  box-shadow:0 10px 22px rgba(16,24,40,.06);
}
.relay-overview-point span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:10px;
  background:#e8fff1;
  color:var(--clr-primary-dark);
  font-size:.95rem;
}
@media(max-width:920px){
  .relay-overview-card{padding:18px;border-radius:28px}
  .relay-overview-points{grid-template-columns:1fr}
}
@media(max-width:640px){
  .relay-overview-card{margin:-8px auto 28px;padding:14px;border-radius:24px}
  .relay-overview-card::before{display:none}
  .relay-overview-image{padding:8px;border-radius:20px}
  .relay-overview-image img{border-radius:16px}
}


/* --- relay comparison table --- */
.relay-compare-card{
  margin:0 auto 34px;
  padding:30px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(217,239,226,.95);
  box-shadow:0 18px 46px rgba(16,24,40,.08);
  overflow:hidden;
}
.relay-compare-head{
  text-align:center;
  margin-bottom:22px;
}
.relay-compare-head h3{
  margin:0 0 8px;
  font-size:clamp(1.35rem,2.6vw,2rem);
  line-height:1.35;
  letter-spacing:-.03em;
}
.relay-compare-head p{
  margin:0 auto;
  max-width:720px;
  color:var(--clr-muted);
  font-weight:700;
}
.relay-compare-table{
  display:grid;
  grid-template-columns:1fr 1.3fr 1.3fr;
  border:1px solid rgba(217,239,226,.95);
  border-radius:22px;
  overflow:hidden;
  background:#fff;
}
.relay-compare-cell{
  padding:18px 20px;
  border-bottom:1px solid rgba(217,239,226,.95);
  border-right:1px solid rgba(217,239,226,.95);
  display:flex;
  align-items:center;
  min-height:74px;
  color:#475467;
  font-weight:700;
}
.relay-compare-cell:nth-child(3n){
  border-right:0;
}
.relay-compare-cell:nth-last-child(-n+3){
  border-bottom:0;
}
.relay-compare-cell.is-head{
  min-height:auto;
  padding:15px 20px;
  background:#f8fffb;
  color:#17212b;
  font-weight:900;
  justify-content:center;
  text-align:center;
}
.relay-compare-cell.is-line{
  background:linear-gradient(135deg,#ecfdf3 0%,#ffffff 100%);
  color:#049a42;
  font-weight:900;
}
.relay-compare-cell.is-label{
  color:#17212b;
  font-weight:900;
  background:#fbfffd;
}
.relay-compare-note{
  margin-top:18px;
  padding:16px 20px;
  border-radius:18px;
  background:linear-gradient(135deg,#06c755,#19d974);
  color:#fff;
  text-align:center;
  font-weight:900;
  box-shadow:0 12px 28px rgba(6,199,85,.18);
}
@media(max-width:760px){
  .relay-compare-card{
    padding:20px;
    border-radius:24px;
  }
  .relay-compare-table{
    display:block;
    border-radius:18px;
  }
  .relay-compare-cell{
    border-right:0;
    min-height:auto;
    padding:14px 16px;
  }
  .relay-compare-cell.is-head{
    display:none;
  }
  .relay-compare-cell.is-label{
    background:#f8fffb;
    border-bottom:0;
    padding-top:18px;
  }
  .relay-compare-cell:not(.is-label)::before{
    display:inline-block;
    min-width:5.5em;
    margin-right:10px;
    color:#17212b;
    font-weight:900;
  }
  .relay-compare-cell.is-mail::before{content:"メール";}
  .relay-compare-cell.is-line::before{content:"LINE";}
  .relay-compare-note{
    border-radius:16px;
    line-height:1.7;
  }
}

  
/* --- relay strengths heading --- */
.relay-strength-head{
  text-align:center;
  margin:34px auto 24px;
}
.relay-strength-head h3{
  margin:0 0 8px;
  font-size:clamp(1.35rem,2.6vw,2rem);
  line-height:1.35;
  letter-spacing:-.03em;
  font-weight:900;
}
.relay-strength-head p{
  margin:0 auto;
  max-width:720px;
  color:var(--clr-muted);
  font-weight:700;
}

  
/* --- solution bridge between pain and reasons --- */
.solution-bridge{
  max-width:780px;
  margin:-18px auto 36px;
  text-align:center;
  position:relative;
  z-index:2;
}
.solution-arrow{
  width:46px;
  height:46px;
  margin:0 auto 12px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
  color:#fff;
  font-weight:900;
  font-size:1.35rem;
  box-shadow:0 12px 28px rgba(6,199,85,.22);
}
.solution-message{
  position:relative;
  overflow:hidden;
  padding:24px 30px;
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 22%,rgba(6,199,85,.12),transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#f6fff9 100%);
  border:1px solid rgba(217,239,226,.95);
  box-shadow:0 16px 38px rgba(16,24,40,.08);
}
.solution-message span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:8px;
  padding:6px 14px;
  border-radius:999px;
  background:#e8fff1;
  color:var(--clr-primary-dark);
  border:1px solid #b9f4cf;
  font-size:.86rem;
  font-weight:900;
}
.solution-message strong{
  display:block;
  font-size:clamp(1.1rem,2.1vw,1.45rem);
  line-height:1.65;
  letter-spacing:-.02em;
}
@media(max-width:640px){
  .solution-bridge{
    margin:-14px auto 30px;
  }
  .solution-message{
    padding:20px 18px;
    border-radius:20px;
  }
}

  
/* --- integrated solution + reason cards --- */
.solution-bridge{
  max-width:100%;
  margin:-18px auto 40px;
  text-align:center;
  position:relative;
  z-index:2;
}
.solution-arrow{
  width:46px;
  height:46px;
  margin:0 auto 12px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
  color:#fff;
  font-weight:900;
  font-size:1.35rem;
  box-shadow:0 12px 28px rgba(6,199,85,.22);
}
.solution-message{
  position:relative;
  overflow:hidden;
  padding:30px;
  border-radius:30px;
  background:
    radial-gradient(circle at 92% 16%,rgba(6,199,85,.13),transparent 28%),
    radial-gradient(circle at 10% 86%,rgba(19,181,255,.08),transparent 26%),
    linear-gradient(135deg,#ffffff 0%,#f6fff9 100%);
  border:1px solid rgba(217,239,226,.95);
  box-shadow:0 18px 46px rgba(16,24,40,.08);
}
.solution-message span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:8px;
  padding:6px 14px;
  border-radius:999px;
  background:#e8fff1;
  color:var(--clr-primary-dark);
  border:1px solid #b9f4cf;
  font-size:.86rem;
  font-weight:900;
}
.solution-message strong{
  display:block;
  font-size:clamp(1.1rem,2.1vw,1.45rem);
  line-height:1.65;
  letter-spacing:-.02em;
  margin-bottom:22px;
}
.solution-reason-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  text-align:left;
}
.solution-reason-card{
  position:relative;
  overflow:hidden;
  padding:24px;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(217,239,226,.95);
  box-shadow:0 12px 28px rgba(16,24,40,.07);
}
.solution-reason-card .reason-card-visual{
  width:84px;
  height:84px;
  margin:0 auto 12px;
}
.solution-reason-card .feature-num{
  font-size:2.7rem;
}
.solution-reason-card h3{
  font-size:1.22rem;
  line-height:1.45;
  margin:6px 0 10px;
}
.solution-reason-card p{
  color:var(--clr-muted);
  margin:0;
}
@media(max-width:920px){
  .solution-reason-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .solution-bridge{
    margin:-14px auto 34px;
  }
  .solution-message{
    padding:22px 18px;
    border-radius:24px;
  }
}

  


/* --- mid CTA: wide consultation card with photo --- */
.mid-cta{
  position:relative;
  grid-column:1 / -1;
  width:100%;
  margin:44px auto 8px;
  padding:44px 52px;
  min-height:340px;
  border-radius:32px;
  text-align:left;
  overflow:hidden;
  color:var(--clr-text);
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.98) 42%,
      rgba(255,255,255,.82) 58%,
      rgba(255,255,255,.34) 100%),
    url("/wp-content/themes/onepress/lp/lplus_lp/img/32362500_m.jpg") right center/560px auto no-repeat,
    linear-gradient(135deg,#ffffff,#f6fff9);
  border:1px solid rgba(217,239,226,.95);
  box-shadow:0 22px 56px rgba(16,24,40,.09);
}
.mid-cta::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 87% 52%, rgba(6,199,85,.14), transparent 34%),
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.18) 100%);
  pointer-events:none;
}
.mid-cta > *{
  position:relative;
  z-index:1;
}
.mid-cta-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
  padding:7px 15px;
  border-radius:999px;
  background:#e8fff1;
  color:var(--clr-primary-dark);
  border:1px solid #b9f4cf;
  font-size:.86rem;
  font-weight:900;
}
.mid-cta h3{
  max-width:620px;
  margin:0 0 12px;
  font-size:clamp(1.75rem,3.2vw,2.55rem);
  line-height:1.34;
  letter-spacing:-.04em;
  font-weight:900;
}
.mid-cta p{
  max-width:610px;
  margin:0 0 18px;
  color:#475467;
  line-height:1.85;
  font-weight:700;
}
.mid-cta-list{
  display:grid;
  gap:8px;
  max-width:620px;
  margin:0 0 24px;
  padding:0;
  list-style:none;
}
.mid-cta-list li{
  position:relative;
  padding-left:28px;
  color:#344054;
  font-weight:900;
}
.mid-cta-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.46em;
  width:16px;
  height:16px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
}
.mid-cta-list li::after{
  content:"";
  position:absolute;
  left:5px;
  top:.66em;
  width:5px;
  height:8px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg);
}
.mid-cta .cta-buttons{
  display:flex;
  justify-content:flex-start;
  gap:14px;
  flex-wrap:wrap;
}
.mid-cta .cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 30px;
  border-radius:999px;
  font-weight:900;
  background:linear-gradient(135deg,var(--clr-accent),#ffb000);
  color:#fff;
  text-decoration:none;
  box-shadow:0 14px 30px rgba(255,122,26,.24);
}
.mid-cta .cta-btn.secondary{
  background:#fff;
  color:var(--clr-primary-dark);
  border:1px solid #b9f4cf;
  box-shadow:0 12px 26px rgba(16,24,40,.08);
}
@media(max-width:920px){
  .mid-cta{
    padding:38px 32px;
    min-height:330px;
    background:
      linear-gradient(90deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.97) 54%,
        rgba(255,255,255,.68) 100%),
      url("/wp-content/themes/onepress/lp/lplus_lp/img/32362500_m.jpg") right center/440px auto no-repeat,
      linear-gradient(135deg,#ffffff,#f6fff9);
  }
  .mid-cta h3,
  .mid-cta p,
  .mid-cta-list{
    max-width:520px;
  }
}
@media(max-width:640px){
  .mid-cta{
    padding:28px 20px 250px;
    min-height:auto;
    border-radius:24px;
    background:
      linear-gradient(180deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.97) 55%,
        rgba(255,255,255,.48) 100%),
      url("/wp-content/themes/onepress/lp/lplus_lp/img/32362500_m.jpg") center bottom/360px auto no-repeat,
      #fff;
  }
  .mid-cta .cta-buttons .cta-btn{
    width:100%;
  }
}


/* --- solution reason cards: new card design --- */
.solution-message{
  padding:34px;
}

.solution-reason-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}

.solution-reason-card{
  position:relative;
  min-height:330px;
  padding:34px 30px 30px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(185,244,207,.95);
  box-shadow:0 18px 42px rgba(16,24,40,.07);
  overflow:hidden;
}

.solution-reason-card::before{
  content:"";
  position:absolute;
  right:-74px;
  top:-84px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(6,199,85,.08);
  pointer-events:none;
}

.solution-reason-card::after{
  display:none;
}

.solution-reason-card .feature-num{
  display:none;
}

.solution-reason-card .reason-card-visual{
  position:relative;
  z-index:1;
  width:86px;
  height:86px;
  margin:0 20px 0 0;
  float:left;
  border-radius:50%;
  background:linear-gradient(135deg,#f6fff9,#ffffff);
  box-shadow:0 14px 30px rgba(16,24,40,.10);
}

.solution-reason-card .reason-card-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  border-radius:50%;
}

.solution-reason-card h3{
  position:relative;
  z-index:1;
  min-height:96px;
  margin:0;
  padding-top:6px;
  font-size:clamp(1.25rem,1.8vw,1.55rem);
  line-height:1.55;
  letter-spacing:-.03em;
  font-weight:700;
  color:#0f172a;
}

.solution-reason-card h3::first-line{
  color:#0f172a;
}

.solution-reason-card h3{
  text-wrap:balance;
}
.solution-reason-card h3::after{
  content:"";
  display:block;
  width:54px;
  height:3px;
  margin:18px 0 20px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
}

.solution-reason-card p{
  clear:both;
  position:relative;
  z-index:1;
  margin:0;
  color:#344054;
  font-size:1rem;
  line-height:2;
  font-weight:700;
}

@media(max-width:920px){
  .solution-reason-grid{
    grid-template-columns:1fr;
  }
  .solution-reason-card{
    min-height:auto;
  }
}

@media(max-width:640px){
  .solution-message{
    padding:22px 18px;
  }
  .solution-reason-card{
    padding:26px 22px 24px;
    border-radius:24px;
  }
  .solution-reason-card .reason-card-visual{
    width:74px;
    height:74px;
    margin-right:16px;
  }
  .solution-reason-card h3{
    min-height:84px;
    font-size:1.18rem;
  }
  .solution-reason-card p{
    line-height:1.85;
  }
}


/* --- recommended strip above CTA --- */
.recommend-strip{
  margin:28px 0 30px;
  padding:26px 30px;
  border-radius:28px;
  background:
    radial-gradient(circle at 8% 50%,rgba(6,199,85,.10),transparent 30%),
    radial-gradient(circle at 92% 50%,rgba(19,181,255,.08),transparent 28%),
    linear-gradient(135deg,#f6fff9,#fff);
  border:1px solid rgba(217,239,226,.95);
}
.recommend-strip h3{
  margin:0 0 20px;
  text-align:center;
  font-size:1.8rem;
  font-weight:900;
}
.recommend-strip h3:before,
.recommend-strip h3:after{
  content:"";
  display:inline-block;
  width:36px;
  height:2px;
  margin:0 14px;
  vertical-align:middle;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
}
.recommend-grid{
 display:grid;
 grid-template-columns:repeat(5,1fr);
}
.recommend-item{
 display:flex;
 gap:12px;
 padding:8px 18px;
 font-weight:800;
 line-height:1.6;
}
.recommend-item:not(:last-child){border-right:1px dashed #bfe8d0;}
.rec-check{
 width:22px;height:22px;flex:none;border-radius:50%;
 background:linear-gradient(135deg,var(--clr-primary),#19d974);
 position:relative;margin-top:2px;
}
.rec-check:after{
 content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;
 border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);
}
@media(max-width:900px){.recommend-grid{grid-template-columns:1fr}.recommend-item:not(:last-child){border-right:0;border-bottom:1px dashed #bfe8d0}}


/* --- recommend strip fixed: always horizontal on desktop --- */
.recommend-strip{
  grid-column:1 / -1;
  width:100%;
  margin:30px 0 34px;
  padding:30px 34px;
  border-radius:28px;
  background:
    radial-gradient(circle at 8% 50%,rgba(6,199,85,.10),transparent 30%),
    radial-gradient(circle at 92% 50%,rgba(19,181,255,.08),transparent 28%),
    linear-gradient(135deg,#f6fff9,#fff);
  border:1px solid rgba(217,239,226,.95);
  box-shadow:0 14px 34px rgba(16,24,40,.06);
}
.recommend-strip h3{
  margin:0 0 22px;
  text-align:center;
  font-size:clamp(1.35rem,2.4vw,1.8rem);
  line-height:1.45;
  font-weight:900;
}
.recommend-strip h3::before,
.recommend-strip h3::after{
  content:"";
  display:inline-block;
  width:36px;
  height:2px;
  margin:0 14px;
  vertical-align:middle;
  border-radius:999px;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
}
.recommend-grid{
  display:flex !important;
  align-items:stretch;
  justify-content:space-between;
  gap:0;
}
.recommend-item{
  flex:1 1 0;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:8px 18px;
  font-weight:900;
  line-height:1.65;
}
.recommend-item:not(:last-child){
  border-right:1px dashed rgba(4,154,66,.28);
}
.rec-check{
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
  position:relative;
  margin-top:3px;
  box-shadow:0 8px 18px rgba(6,199,85,.18);
}
.rec-check::after{
  content:"";
  position:absolute;
  left:7px;
  top:4px;
  width:5px;
  height:9px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg);
}
@media(max-width:900px){
  .recommend-grid{
    display:grid !important;
    grid-template-columns:1fr;
  }
  .recommend-item{
    padding:12px 0;
  }
  .recommend-item:not(:last-child){
    border-right:0;
    border-bottom:1px dashed rgba(4,154,66,.22);
  }
}
.green-text{
  color:#049A42;
  font-style:normal;
  background:none;
  border:0;
  padding:0;
  border-radius:0;
  display:inline;
}

#contact .contact-split {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start;
}

#contact .contact-text,
#contact .wpcf7,
#contact .contact-form {
  width: 100%;
}

#contact .form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

#contact .form-group.full {
  grid-column: 1 / -1;
}

#contact .wpcf7-form-control-wrap {
  display: block;
}

#contact .wpcf7 p {
  margin: 0;
}

#contact input,
#contact textarea {
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  #contact .contact-split {
    grid-template-columns: 1fr !important;
  }

  #contact .form-grid {
    grid-template-columns: 1fr !important;
  }
}
.contact-split > p {
  display: contents;
  margin: 0;
}

.contact-form-wrap {
  width: 100%;
}

.pricing-card h3{
    white-space: nowrap;
}

.pricing-card .price{
    display:flex;
    justify-content:center;
    align-items:flex-end;
    gap:2px;
    flex-wrap:nowrap;
}

.pricing-card .price small{
    white-space:nowrap;
    flex-shrink:0;
}

/* 主要機能を6カード（PC:3列、タブレット:2列、スマホ:1列）にするCSS */
.tech-grid{
  grid-template-columns:repeat(3,1fr);
}

@media(max-width:920px){
  .tech-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:640px){
  .tech-grid{
    grid-template-columns:1fr;
  }
}

.thanks-card{
    width:100%;
    max-width:1100px;
    margin:0 auto;
    padding:56px 72px;
  background:
    radial-gradient(circle at 92% 12%,rgba(6,199,85,.12),transparent 28%),
    linear-gradient(135deg,#ffffff,#f6fff9);
  border:1px solid rgba(217,239,226,.95);
  box-shadow:0 22px 56px rgba(16,24,40,.09);
  text-align:center;
}

.thanks-badge{
  display:inline-flex;
  padding:8px 18px;
  border-radius:999px;
  background:#e8fff1;
  color:var(--clr-primary-dark);
  border:1px solid #b9f4cf;
  font-weight:900;
  margin-bottom:18px;
}

.thanks-card h2{
  margin:0 0 14px;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:900;
  letter-spacing:-.04em;
}

.thanks-lead{
  margin:0 auto 32px;
  max-width:640px;
  color:#475467;
  font-weight:700;
}

.thanks-flow{
  text-align:left;
  padding:30px;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--clr-border);
  box-shadow:var(--shadow-sm);
}

.thanks-flow h3{
  margin:0 0 18px;
  font-size:1.45rem;
}

.thanks-flow ol{
  margin:0;
  padding-left:1.4em;
}

.thanks-flow li{
  margin-bottom:18px;
}

.thanks-flow li:last-child{
  margin-bottom:0;
}

.thanks-flow strong{
  display:block;
  color:#17212b;
}

.thanks-flow span{
  display:block;
  color:#667085;
  font-size:.95rem;
}

.thanks-info{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin:26px 0 30px;
}

.thanks-info div{
  padding:18px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--clr-border);
}

.thanks-info p{
  margin:4px 0 0;
  color:#475467;
}

.cta-center{
  text-align:center;
}

@media(max-width:640px){
  .thanks-card{
    padding:30px 20px;
    border-radius:26px;
  }

  .thanks-flow{
    padding:22px;
  }

  .thanks-info{
    grid-template-columns:1fr;
  }
}
.relay-about-section{
    position:relative;
    overflow:hidden;

    margin:36px 0 42px;
    padding:34px 40px;

    border-radius:30px;
    border:1px solid rgba(217,239,226,.95);
    box-shadow:0 14px 34px rgba(16,24,40,.06);

    background:#fff;
}

.relay-about-section::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    border-radius:inherit;
    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.99) 0%,
            rgba(255,255,255,.98) 50%,
            rgba(255,255,255,.92) 62%,
            rgba(255,255,255,.66) 76%,
            rgba(255,255,255,.36) 88%,
            rgba(255,255,255,.18) 100%
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,0) 72%,
            rgba(255,255,255,.35) 88%,
            rgba(255,255,255,.70) 100%
        ),
        url("/wp-content/themes/onepress/lp/lplus_lp/img/20_32_00.png");

    background-repeat:no-repeat;
    background-position:right center;
    background-size:55% auto;
}

.relay-about-content{
    width:min(72%,820px);
    position:relative;
    z-index:2;
}

.relay-label{
    display:inline-flex;
    align-items:center;
    padding:7px 15px;
    margin-bottom:14px;
    border-radius:999px;
    background:#e8fff1;
    color:#049a42;
    font-size:.84rem;
    font-weight:900;
}

.relay-about-section h3{
    margin:0 0 14px;
    font-size:2rem;
    line-height:1.32;
    font-weight:900;
}

.relay-about-section p{
    margin:0 0 12px;
    color:#475467;
    line-height:1.85;
}

.relay-about-section p:last-child{
    margin-bottom:0;
}

@media(max-width:920px){
    .relay-about-section{
        margin:32px 0 40px;
        padding:32px 24px 260px;
        background:#fff;
    }

    .relay-about-section::after{
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.99) 0%,
                rgba(255,255,255,.97) 56%,
                rgba(255,255,255,.70) 82%,
                rgba(255,255,255,.48) 100%
            ),
            url("/wp-content/themes/onepress/lp/lplus_lp/img/20_32_00.png");

        background-repeat:no-repeat;
        background-position:center bottom;
        background-size:360px auto;
    }

    .relay-about-content{
        width:100%;
    }
}

.relay-about-section h3{
  margin:0;
  font-size:1.8rem;
  line-height:1.35;
  font-weight:900;
  letter-spacing:-.03em;
}

.relay-about-section h3::after{
  content:"";
  display:block;
  width:64px;
  height:4px;
  margin-top:16px;
  margin-bottom:20px;
  border-radius:999px;
  background:linear-gradient(90deg,#06c755,#19d974);
}

/* --- contact section: photo fade card --- */
.contact-text-photo{
  position:relative;
  overflow:hidden;
  padding:0;
  background:#fff;
}
.contact-copy{
  position:relative;
  z-index:2;
}
.contact-photo-main{
  position:relative;
  overflow:hidden;
  height:230px;
  border-radius:22px 22px 0 0;
  background:#f6fff9;
}
.contact-photo-main img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.92) brightness(1.08);
}
.contact-photo-main::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(
      135deg,
      rgba(6,199,85,.18) 0%,
      rgba(6,199,85,.08) 35%,
      rgba(255,255,255,.22) 70%,
      rgba(255,255,255,.90) 100%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,0) 45%,
      rgba(255,255,255,.92) 100%
    );
}
.contact-photo-main::after{
  content:none;
  display:none;
}
.contact-photo-body{
  position:relative;
  padding:26px 28px 30px;
  background:#fff;
}
.contact-photo-body::before{
  content:"";
  position:absolute;
  right:-86px;
  bottom:-86px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(6,199,85,.075);
  pointer-events:none;
}
.contact-photo-body::after{
  content:"";
  position:absolute;
  left:26px;
  bottom:34px;
  width:116px;
  height:74px;
  background-image:radial-gradient(rgba(6,199,85,.18) 2px, transparent 2px);
  background-size:18px 18px;
  opacity:.32;
  pointer-events:none;
}
.contact-text-photo p{
  position:relative;
  z-index:2;
  margin:0 0 20px;
  color:#17212b;
  line-height:1.9;
  font-weight:700;
}
.contact-support-note{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:54px 1fr;
  gap:15px;
  align-items:center;
  margin:0 0 22px;
  padding:18px 20px;
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 42%,rgba(6,199,85,.10),transparent 32%),
    linear-gradient(135deg,#f6fff9,#fff);
  border:1px solid rgba(185,244,207,.95);
  box-shadow:0 12px 28px rgba(16,24,40,.055);
}
.contact-support-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
  color:#fff;
  font-size:1.35rem;
  box-shadow:0 12px 24px rgba(6,199,85,.20);
}
.contact-support-note span{
  display:inline-flex;
  width:max-content;
  margin-bottom:5px;
  padding:4px 11px;
  border-radius:999px;
  background:#e8fff1;
  color:var(--clr-primary-dark);
  border:1px solid #b9f4cf;
  font-size:.76rem;
  font-weight:900;
}
.contact-support-note strong{
  display:block;
  color:#0f172a;
  font-size:1.06rem;
  line-height:1.55;
  letter-spacing:-.02em;
}
.contact-mini-points{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 22px;
}
.contact-mini-point{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:15px;
  background:rgba(236,253,243,.72);
  border:1px solid rgba(185,244,207,.9);
  color:#344054;
  font-size:.86rem;
  font-weight:900;
}
.contact-mini-point::before{
  content:"?";
  display:grid;
  place-items:center;
  flex:0 0 20px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--clr-primary),#19d974);
  color:#fff;
  font-size:.78rem;
  line-height:1;
}
.contact-text-photo .company-info{
  position:relative;
  z-index:3;
  margin:0;
  padding-top:18px;
  border-top:1px dashed rgba(4,154,66,.24);
}
.contact-text-photo .company-info strong{
  display:block;
  margin-bottom:4px;
}
@media(max-width:920px){
  .contact-photo-main{height:250px;}
}
@media(max-width:640px){
  .contact-photo-main{height:210px;}
  .contact-photo-body{padding:22px 20px 24px;}
  .contact-support-note{grid-template-columns:46px 1fr;padding:16px;}
  .contact-support-icon{width:46px;height:46px;font-size:1.1rem;}
  .contact-mini-points{grid-template-columns:1fr;}
}


/* ===============================
   他社との違い（写真背景版・完成版）
================================ */

#support .comparison-photo{
    position:relative;
    display:grid !important;
    grid-template-columns:1.55fr 1fr;
    align-items:center;
    gap:24px;

    overflow:hidden !important;
    padding:18px 48px !important;
    border-radius:28px !important;
    min-height:240px;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.99) 0%,
            rgba(255,255,255,.97) 58%,
            rgba(255,255,255,.74) 74%,
            rgba(255,255,255,.28) 90%,
            rgba(255,255,255,.02) 100%
        ),
        radial-gradient(
            circle at 90% 50%,
            rgba(6,199,85,.08) 0%,
            rgba(6,199,85,0) 62%
        ),
        url("/wp-content/themes/onepress/lp/lplus_lp/img/29147785_m.jpg") right -40px center / 560px auto no-repeat !important;
}

#support .comparison-photo-content{
    position:relative;
    z-index:2;
    width:100%;
    max-width:none;
    padding-right:20px;
}

#support .comparison-photo::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    display:block !important;
    pointer-events:none !important;
    background:
        radial-gradient(circle at 90% 50%, rgba(6,199,85,.06), transparent 40%) !important;
}

#support .comparison-photo::after{
    content:"" !important;
    position:absolute !important;
    right:22px !important;
    bottom:22px !important;
    z-index:1 !important;
    display:block !important;
    width:150px !important;
    height:88px !important;
    border-radius:0 !important;
    background-image:radial-gradient(rgba(6,199,85,.18) 2px, transparent 2px) !important;
    background-size:18px 18px !important;
    opacity:.45 !important;
    pointer-events:none !important;
}

#support .comparison-photo .comparison-heading{
    justify-content:flex-start !important;
    margin-bottom:10px !important;
}

#support .comparison-photo h3{
    text-align:left !important;
}

#support .comparison-photo h3::after{
    content:"";
    display:block;
    width:90px;
    height:4px;
    margin-top:8px;
    border-radius:999px;
    background:linear-gradient(90deg,#06c755,#38d97c);
}

#support .comparison-photo p{
    text-align:left !important;
    line-height:1.85 !important;
    margin:0 0 12px !important;
    color:#344054 !important;
}

#support .comparison-photo-emphasis{
    margin-top:4px !important;
    margin-bottom:0 !important;
    color:#049a42 !important;
    font-size:1.08rem !important;
}

#support .comparison-photo-visual{
    display:none !important;
}

@media(max-width:920px){

    #support .comparison-photo{
        display:block !important;
        padding:28px 24px 220px !important;
        min-height:auto;
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.99) 0%,
                rgba(255,255,255,.97) 60%,
                rgba(255,255,255,.74) 82%,
                rgba(255,255,255,.30) 100%
            ),
            radial-gradient(
                circle at 50% 90%,
                rgba(6,199,85,.08) 0%,
                rgba(6,199,85,0) 65%
            ),
            url("/wp-content/themes/onepress/lp/lplus_lp/img/29147785_m.jpg") center bottom / 420px auto no-repeat !important;
    }

    #support .comparison-photo-content{
        max-width:100%;
        padding-right:0;
    }

    #support .comparison-photo::before{
        background:linear-gradient(180deg, rgba(255,255,255,0) 54%, rgba(246,255,249,.72) 100%) !important;
    }

    #support .comparison-photo::after{
        right:20px !important;
        bottom:28px !important;
        opacity:.32 !important;
    }

}