:root{
  --green:#58a82f; --green-dark:#28772c; --green-deep:#1f6b25;
  --green-soft:#eef8dc; --yellow:#f7c43a; --yellow-deep:#eda80f;
  --red:#e24135; --orange:#f08322; --ink:#222; --paper:#fffffb;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body.marugo-lp{margin:0;min-width:320px;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",YuGothic,Meiryo,sans-serif;line-height:1.72;background:radial-gradient(circle at top, #fff 0%, #fffdf3 35%, #edf7df 100%)} img{max-width:100%;height:auto;object-fit:contain} a{color:inherit}.lp-page{width:min(1030px,100%);margin:0 auto;padding:12px 10px 110px}.sheet{position:relative;overflow:visible;margin:0 0 14px;padding:clamp(18px,4vw,34px);background:linear-gradient(180deg,#fff 0%,#fffef8 58%,#fafff1 100%);border:2px solid rgba(112,178,50,.6);border-radius:18px;box-shadow:0 8px 22px rgba(85,120,42,.1)}.sheet:before{content:"";position:absolute;inset:10px;border:1px dashed rgba(88,168,47,.16);border-radius:14px;pointer-events:none}.ribbon{position:relative;z-index:1;margin:-8px -8px 20px;padding:14px 18px 17px;color:#fff;text-align:center;font-size:clamp(26px,7.5vw,54px);font-weight:900;line-height:1.1;letter-spacing:.04em;background:linear-gradient(180deg,var(--yellow),var(--yellow-deep));border-radius:0 0 44% 44% / 0 0 22px 22px;text-shadow:0 3px 0 rgba(120,78,0,.2)}.hero-grid{display:grid;gap:18px;align-items:center;position:relative;z-index:1}.subsidy-badge{width:min(310px,100%);aspect-ratio:1/1;margin:0 auto;padding:24px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,#fffff6 0%,#f3fadf 72%);border:3px solid #cdeaa3;border-radius:50%;box-shadow:inset 0 0 0 6px rgba(255,255,255,.52),0 8px 0 rgba(111,177,54,.12);font-weight:900}.subsidy-badge p{margin:.15em 0;font-size:clamp(16px,4vw,22px)}.subsidy-badge strong{display:block;color:var(--red);font-size:clamp(28px,8vw,44px);line-height:1.05}.subsidy-badge strong span{font-size:1.45em}.subsidy-badge small{display:block;margin-top:8px;font-size:11px;line-height:1.45}.main-copy{text-align:center}.pre-copy{margin:0 0 8px;color:var(--green-dark);font-weight:900;font-size:clamp(17px,4.5vw,26px)}h1{margin:0;font-weight:900;line-height:1.15;font-size:clamp(38px,11vw,72px);letter-spacing:.02em}h1 span{display:block}h1 strong{display:block;color:var(--yellow-deep);font-size:1.32em;line-height:.98;text-shadow:0 3px 0 rgba(109,74,0,.15),0 0 1px #865d00}.service-list ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.service-list li{position:relative;padding-left:30px;font-weight:900;font-size:clamp(16px,4vw,21px)}.service-list li:before{content:"";position:absolute;left:4px;top:.62em;width:17px;height:10px;background:var(--green);border-radius:100% 0 100% 0;transform:rotate(-25deg)}.character-row{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:20px;margin:10px 0 -2px}.brand-block{position:relative;z-index:1;text-align:center;margin-top:10px}.brand-block p{margin:0;font-size:clamp(18px,4.6vw,27px);font-weight:900}.brand-name{display:block;margin:6px auto 3px;color:#fff;-webkit-text-stroke:1px var(--green-dark);text-shadow:3px 3px 0 var(--green-dark),-1px -1px 0 var(--green-dark);font-size:clamp(34px,9vw,65px);font-weight:900;line-height:1.1;color:#fff}.flow h2,.trust h2{color:var(--green-dark)}h2{position:relative;z-index:1;margin:0 0 18px;text-align:center;font-size:clamp(27px,7vw,42px);line-height:1.25;font-weight:900}.flow-cards{position:relative;z-index:1;display:grid;gap:14px}.flow-card{position:relative;display:grid;grid-template-columns:78px 1fr;gap:8px 14px;align-items:center;padding:16px;background:#fff;border:2px solid #e3efc6;border-radius:16px;box-shadow:0 8px 18px rgba(88,168,47,.12)}.flow-card img{grid-row:1/3;width:72px;max-height:72px;justify-self:center;align-self:center;object-fit:contain}.flow-card h3{margin:0;color:var(--green-dark);font-size:clamp(20px,5vw,26px);line-height:1.25;font-weight:900}.flow-card p{margin:0;font-weight:800;font-size:14px}.discount-bubble{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;text-align:center;background:#fff9df;border:2px solid var(--yellow);border-radius:20px;font-weight:900}.discount-bubble img{width:76px;max-height:76px;object-fit:contain}.discount-bubble p{margin:0}.discount-bubble strong{color:var(--red);font-size:1.5em}.trust{display:grid;gap:16px}.trust-copy{position:relative;z-index:1;display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center}.trust-copy img{width:88px;max-height:96px;object-fit:contain}.trust h2{text-align:left;margin-bottom:8px;color:var(--orange);font-size:clamp(24px,6vw,34px)}.trust h2 span{color:var(--red)}.check-list{list-style:none;margin:0;padding:0}.check-list li{position:relative;margin:7px 0;padding-left:30px;font-weight:800}.check-list li:before{content:"✓";position:absolute;left:0;top:.18em;width:22px;height:22px;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:50%;font-size:14px;line-height:1;font-weight:900}.permit-cards{position:relative;z-index:1;display:grid;gap:10px}.permit-card{padding:14px;text-align:center;background:#fff;border:2px solid var(--green);border-radius:12px;font-weight:900}.permit-card strong{display:block;color:var(--green-dark);font-size:18px}.permit-card span{display:block;margin-top:4px}.benefits h2{color:var(--red);text-shadow:0 2px 0 rgba(255,188,184,.4)}.lead{position:relative;z-index:1;margin:0 auto 8px;max-width:840px;text-align:center;font-weight:800}.accent-line{position:relative;z-index:1;margin:0 0 14px;text-align:center;color:var(--orange);font-weight:900}.merit-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.merit-grid div{padding:11px 8px;text-align:center;background:#fff9ed;border-radius:12px;border:1px solid #f1e0bb}.merit-grid strong{display:block;font-weight:900}.merit-grid span{display:block;font-size:12px;font-weight:800}.before-after-panel{position:relative;z-index:1;margin:0 0 14px;padding:10px;background:#fff;border:2px solid #dcefc0;border-radius:16px;box-shadow:inset 0 0 0 5px #f9fcf3;overflow-x:auto}.before-after-panel img{display:block;max-width:none;width:880px;border-radius:10px}.benefit-bottom{position:relative;z-index:1;display:grid;gap:12px}.strong-list strong{color:var(--red);font-size:1.08em}.consult-mascot{display:flex;align-items:center;justify-content:center;gap:14px}.consult-mascot p{margin:0;padding:10px 15px;color:var(--red);background:#fff;border:2px solid #ff8e55;border-radius:12px;font-weight:900;text-align:center}.consult-mascot img{width:88px;max-height:88px;object-fit:contain}.contact{display:grid;gap:12px;text-align:center;background:linear-gradient(180deg,#fffffb,#eef8df)}.contact-label{margin:0;color:var(--green-dark);font-weight:900}.contact h2{margin-bottom:6px;color:var(--green-dark)}.access,.sub-contact,.note{margin:6px 0;font-weight:800}.free-label{display:inline-block;margin:8px 0 4px;padding:3px 12px;border:2px solid var(--green);border-radius:8px;background:#fff;font-weight:900}.main-tel{display:block;color:var(--green-dark);text-decoration:none;font-weight:900;font-size:clamp(40px,11vw,72px);line-height:1;letter-spacing:.02em}.clean-staff{width:min(240px,56vw);max-height:190px;justify-self:center;object-fit:contain}.form-area{position:relative;z-index:1;margin-top:8px;padding:16px;background:#fff;border:2px solid #dcefc0;border-radius:15px;text-align:left}.form-area h3{margin:0 0 10px;text-align:center;color:var(--green-dark);font-size:22px}.cf7-placeholder{padding:24px 12px;border:2px dashed #ccc;border-radius:10px;background:#fafafa;color:#777;text-align:center}.fixed-cta{position:fixed;left:8px;right:8px;bottom:8px;z-index:9999;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"img tel" "txt btn";gap:2px 10px;align-items:center;min-height:70px;padding:7px 10px;color:#fff;text-decoration:none;background:linear-gradient(180deg,#56ae34,#2e7f27);border:3px solid rgba(255,255,255,.88);border-radius:20px;box-shadow:0 12px 30px rgba(0,0,0,.28)}.fixed-cta img{grid-area:img;width:54px;max-height:54px;align-self:end;object-fit:contain}.fixed-cta span{grid-area:txt;font-size:12px;font-weight:900;line-height:1.2}.fixed-cta strong{grid-area:tel;font-size:clamp(24px,7vw,36px);font-weight:900;line-height:1;letter-spacing:.02em}.fixed-cta em{grid-area:btn;justify-self:end;display:inline-block;padding:8px 16px;color:#276500;background:linear-gradient(180deg,#ffe889,#ffc83a);border-radius:999px;font-style:normal;font-weight:900;box-shadow:inset 0 -2px 0 rgba(118,78,0,.12)}
@media (min-width:720px){.lp-page{padding:16px 14px 100px}.sheet{border-radius:16px;margin-bottom:16px}.ribbon{margin:-10px -10px 18px;border-radius:0 0 50% 50% / 0 0 36px 36px}.hero-grid{grid-template-columns:310px 1fr 320px}.subsidy-badge{grid-column:1;grid-row:1}.main-copy{grid-column:2;grid-row:1}.service-list{grid-column:3;grid-row:1}.character-row{margin-top:-8px}.character-row .family{width:590px}.character-row .mascot{width:142px;float: left;}.flow-cards{grid-template-columns:repeat(3,1fr) 170px}.flow-card{grid-template-columns:1fr;text-align:center;padding:20px 16px}.flow-card img{grid-row:auto;width:90px;max-height:90px;object-fit:contain}.flow-card:not(:nth-child(3)):after{content:"";position:absolute;right:-16px;top:50%;width:0;height:0;border-top:16px solid transparent;border-bottom:16px solid transparent;border-left:18px solid var(--green);transform:translateY(-50%);z-index:2}.flow-card p{text-align:left}.trust{grid-template-columns:1.25fr 1fr}.permit-cards{grid-template-columns:1fr 1fr;align-self:center}.merit-grid{grid-template-columns:repeat(4,1fr)}.before-after-panel img{width:100%;max-width:100%}.benefit-bottom{grid-template-columns:1fr 210px;align-items:center}.contact{grid-template-columns:1fr 250px;text-align:left;align-items:center}.contact h2,.contact-label{text-align:left}.contact .form-area,.contact .note{grid-column:1/3}.clean-staff{width:250px;max-height:190px;object-fit:contain}.fixed-cta{left:50%;right:auto;bottom:12px;transform:translateX(-50%);width:min(980px,calc(100% - 18px));grid-template-columns:auto auto 1fr auto;grid-template-areas:"img txt tel btn";border-radius:18px}.fixed-cta img{width:74px;max-height:74px;object-fit:contain}.fixed-cta span{font-size:16px}.fixed-cta strong{font-size:42px}.fixed-cta em{font-size:20px;padding:11px 28px}}
@media (max-width:420px){.lp-page{padding-left:8px;padding-right:8px}.sheet{padding-left:14px;padding-right:14px}.ribbon{font-size:25px}.subsidy-badge{width:min(260px,100%)}.character-row{gap:8px}.brand-name{font-size:31px}.flow-card{grid-template-columns:62px 1fr}.flow-card img{width:58px}.merit-grid{grid-template-columns:1fr}.main-tel{font-size:36px}.fixed-cta strong{font-size:23px}.fixed-cta em{padding:7px 12px;font-size:13px}.fixed-cta span{font-size:11px}}
@media print{.fixed-cta{display:none}.lp-page{padding-bottom:0}}

/* v4: image safety */
.flow-card,.discount-bubble,.trust-copy,.consult-mascot,.fixed-cta{overflow:visible}
.flow-card img,.discount-bubble img,.trust-copy img,.consult-mascot img,.clean-staff,.fixed-cta img,.character-row img{object-fit:contain;flex:0 0 auto}
body.marugo-lp{background-attachment:fixed}

/* v4.1: requested text refinements */
.subsidy-badge .subsidy-nowrap{white-space:nowrap;font-size:clamp(14px,3.3vw,18px);line-height:1.35}
.main-copy h1{font-size:clamp(34px,9.4vw,72px);line-height:1.14}
.main-copy h1 span,.main-copy h1 strong{white-space:nowrap}
.service-list .green-word{color:var(--green);font-weight:900}
@media (max-width:420px){
  .main-copy h1{font-size:clamp(32px,9.1vw,38px)}
  .main-copy h1 strong{font-size:1.32em}
  .subsidy-badge .subsidy-nowrap{font-size:14px}
}
.sp-br {
  display: none;
}

@media (max-width: 768px) {
  .sp-br {
    display: inline;
  }
}

.character-row {
  text-align: center;
}

.family-wrap {
  position: relative;
  display: inline-block;
  width: 98%;
  max-width: 620px;
}

.mascot {
  position: absolute;
  right: -24px;
  top: -30px;
  z-index: 2;
}

.mascot img {
  width: 78px;
  height: auto;
  display: block;
}
@media (min-width: 769px) {

  .family-wrap {
    width: 72%;
    max-width: 760px;
  }

  .mascot {
    right: -90px;
    top: -6px;
  }

  .mascot img {
    width: 110px;
  }

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

.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select {
  width: 100%;
  max-width: 100%;
}

.wpcf7-form p {
  overflow: hidden;
}