/* ============================================================
   おそうじピカピカ LP — Based on main HP style + LP reference
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Noto Sans JP',sans-serif;color:#333;line-height:1.8;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;vertical-align:middle;border:none;display:block}
a{color:inherit;text-decoration:none;transition:.3s}
a:hover{opacity:.85}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6,p{margin:0;padding:0}
button{font:inherit;border:none;cursor:pointer;background:none}
.pc-only{display:block}
.sp-only{display:none}
@media(max-width:768px){.pc-only{display:none!important}.sp-only{display:block!important}}

/* ========== LAYOUT ========== */
.l-inner{max-width:1080px;margin:0 auto;padding:0 40px}
@media(max-width:768px){.l-inner{padding:0 5vw}}

/* ========== COLORS & VARS ========== */
:root{
  --blue:#066aab;
  --blue-dark:#055a95;
  --blue-light:#f0f6fc;
  --blue-border:#cce0f0;
  --orange:#f08300;
  --orange-dark:#d97600;
  --green:#06c755;
  --green-dark:#05b04c;
  --text:#333;
  --text-sub:#666;
  --text-light:#999;
  --bg-gray:#f5f7fa;
  --border:#e8e8e8;
  --white:#fff;
  --radius:10px;
  --shadow:0 4px 20px rgba(0,0,0,.06);
}

/* ========== ANIMATION ========== */
.anim{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.23,1,.32,1),transform .7s cubic-bezier(.23,1,.32,1)}
.anim.is-visible{opacity:1;transform:none}
.anim-d1{transition-delay:.08s}
.anim-d2{transition-delay:.16s}
.anim-d3{transition-delay:.24s}
.anim-d4{transition-delay:.32s}
.anim-d5{transition-delay:.40s}
@media(prefers-reduced-motion:reduce){.anim{opacity:1!important;transform:none!important;transition:none!important}}

/* ========== HEADER ========== */
.lp-header{position:fixed;top:0;left:0;width:100%;height:130px;z-index:1000;background:#fff;display:flex;align-items:center;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.lp-header-inner{max-width:1080px;margin:0 auto;padding:0 40px;width:100%;display:flex;align-items:center;justify-content:space-between}
.lp-logo{display:flex;align-items:center}
.lp-logo-img{height:120px;width:auto}
.logo-pika{position:relative;background:linear-gradient(90deg,var(--blue) 0%,var(--blue) 35%,#8edcff 48%,#fff 52%,#8edcff 56%,var(--blue) 70%,var(--blue) 100%);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pikapika 3s ease-in-out infinite;font-weight:900}
.pika-particle{display:none}
@keyframes pikapika{0%,100%{background-position:100% 0}50%{background-position:-100% 0}}
.lp-header-link{font-size:13px;font-weight:600;color:var(--blue);margin-left:16px;white-space:nowrap;transition:.3s}
.lp-header-link:hover{opacity:.7}
.lp-header-cta{display:flex;gap:12px;align-items:center}
.btn-header-tel{display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:#fff;padding:10px 24px;border-radius:60px;font-size:14px;font-weight:700;letter-spacing:.04em;transition:.3s}
.btn-header-tel:hover{background:var(--orange-dark);opacity:1}
.btn-header-line{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:10px 24px;border-radius:60px;font-size:14px;font-weight:700;letter-spacing:.04em;transition:.3s}
.btn-header-line:hover{background:var(--green-dark);opacity:1}
.btn-header-tel svg,.btn-header-line svg{width:18px;height:18px;fill:currentColor}
@media(max-width:768px){
  .lp-header{height:64px}
  .lp-header-inner{padding:0 4vw}
  .lp-logo-img{height:56px}
  .btn-header-tel span,.btn-header-line span{display:none}
  .lp-header-link{font-size:11px;margin-left:8px}
  .btn-header-tel,.btn-header-line{padding:10px 14px;font-size:12px}
}

/* ========== HERO ========== */
.lp-hero{position:relative;min-height:600px;padding-top:130px;overflow:hidden;background:var(--blue-light)}
.lp-hero-bg{position:absolute;inset:0;z-index:1}
.lp-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.lp-hero-bg::after{display:none}
.lp-hero-content{position:relative;z-index:2;max-width:100%;margin:0 auto;padding:60px 6vw 80px}
.lp-hero-bubbles{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:32px}
.lp-hero-bubble{display:inline-block;background:linear-gradient(135deg,#4db8e8,var(--blue));color:#fff;padding:12px 28px;border-radius:60px;font-size:clamp(15px,2vw,18px);font-weight:800;letter-spacing:.06em}
.lp-hero-title{font-size:clamp(28px,5.5vw,56px);font-weight:900;line-height:1.5;margin-bottom:24px;color:var(--text);-webkit-text-stroke:1.5px var(--text);paint-order:stroke fill}
.lp-hero-title .em{color:var(--blue);font-size:1.15em;-webkit-text-stroke:2px var(--blue);text-shadow:3px 3px 0 rgba(6,106,171,.15),-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}
.lp-hero-title .em-orange{color:var(--orange);font-size:1.2em;-webkit-text-stroke:2px var(--orange);text-shadow:3px 3px 0 rgba(240,131,0,.15),-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}
.lp-hero-sub{font-size:clamp(16px,2.8vw,24px);font-weight:800;line-height:1.7;margin-bottom:36px;color:var(--text);text-shadow:0 0 8px rgba(255,255,255,.8)}
.lp-hero-badges{display:flex;gap:20px;flex-wrap:wrap}
.lp-hero-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:140px;height:140px;border-radius:50%;background:linear-gradient(150deg,#f7d774 0%,#c9a840 100%);box-shadow:0 4px 16px rgba(180,150,50,.3);text-align:center;color:#fff;padding:16px}
.lp-hero-badge-num{font-family:'Montserrat',sans-serif;font-size:32px;font-weight:900;line-height:1}
.lp-hero-badge-text{font-size:12px;font-weight:700;line-height:1.4;margin-top:4px}
@media(max-width:768px){
  .lp-hero{min-height:520px;padding-top:64px}
  .lp-hero-bg img{object-fit:contain;object-position:center bottom}
  .lp-hero-content{padding:32px 5vw 60px}
  .lp-hero-title{-webkit-text-stroke:1px var(--text)}
  .lp-hero-title .em{-webkit-text-stroke:1.5px var(--blue)}
  .lp-hero-title .em-orange{-webkit-text-stroke:1.5px var(--orange)}
  .lp-hero-bg::after{display:none}
  .lp-hero-bubble{font-size:13px;padding:8px 16px}
  .lp-hero-badges{gap:12px}
  .lp-hero-badge{width:100px;height:100px;padding:10px}
  .lp-hero-badge-num{font-size:22px}
  .lp-hero-badge-text{font-size:10px}
}

/* ========== SECTION COMMON ========== */
.sec{padding:80px 0}
.sec-gray{background:var(--bg-gray)}
.sec-blue-light{background:var(--blue-light)}
.sec-ttl{text-align:center;margin-bottom:48px}
.sec-ttl-en{font-family:'Montserrat',sans-serif;font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--blue);letter-spacing:.04em;line-height:1.3}
.sec-ttl-ja{font-size:15px;font-weight:500;color:var(--text-sub);letter-spacing:.1em;margin-top:8px}
.sec-ttl-line{display:block;width:60px;height:4px;background:var(--blue);margin:16px auto 0;border-radius:2px}
.sec-heading{font-size:clamp(22px,3.5vw,34px);font-weight:900;text-align:center;line-height:1.5;margin-bottom:40px;color:var(--text)}
.sec-heading .em{color:var(--blue)}
.sec-heading .em-orange{color:var(--orange)}
@media(max-width:768px){.sec{padding:56px 0}.sec-ttl{margin-bottom:36px}}

/* ========== PAIN / TROUBLE ========== */
.pain-intro{font-size:clamp(18px,3vw,26px);font-weight:900;text-align:center;line-height:1.6;margin-bottom:48px;color:var(--text)}
.pain-intro .em{color:var(--orange)}
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:920px;margin:0 auto 0}
.pain-grid--2col{grid-template-columns:repeat(2,1fr);max-width:620px;margin:24px auto 0}
.pain-card{background:var(--white);padding:36px 24px 32px;text-align:center;position:relative;border-radius:50%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(0,0,0,.06)}
.pain-card::after{content:"";position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);width:24px;height:24px;background:var(--white);border-radius:50%;box-shadow:0 4px 10px rgba(0,0,0,.04)}
.pain-card::before{content:"";position:absolute;bottom:-28px;left:calc(50% + 14px);width:14px;height:14px;background:var(--white);border-radius:50%;box-shadow:0 3px 8px rgba(0,0,0,.03)}
.pain-card p{font-size:clamp(16px,2vw,19px);line-height:1.8;color:var(--text);font-weight:700}
.pain-card .em{color:var(--orange);font-weight:900;font-size:1.05em}
@media(max-width:768px){
  .pain-grid{grid-template-columns:1fr;max-width:280px;gap:40px}
  .pain-grid--2col{grid-template-columns:1fr;max-width:280px}
  .pain-card{aspect-ratio:1;padding:28px 20px}
}

/* ========== WORRY LIST ========== */
.worry-box{max-width:760px;margin:0 auto 40px;border:3px solid var(--blue-border);border-radius:16px;padding:36px 40px;background:var(--white);position:relative}
.worry-list{display:flex;flex-direction:column;gap:8px}
.worry-list li{font-size:16px;font-weight:700;line-height:1.8;padding-left:40px;position:relative}
.worry-list li::before{content:"✓";width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;position:absolute;left:0;top:4px}
.worry-list .em{color:var(--orange)}
.worry-illust{text-align:center;margin-top:32px}
.worry-illust img{max-width:180px;margin:0 auto}
.pain-illust{display:flex;justify-content:center;align-items:flex-end;gap:48px;margin-top:48px}
.pain-illust img{height:180px;width:auto;max-width:none}
@media(max-width:768px){.pain-illust{gap:20px}.pain-illust img{height:120px}.worry-illust img{max-width:140px}}
@media(max-width:768px){.worry-box{padding:28px 24px}.worry-list li{font-size:15px}.worry-list li::before{width:28px;height:28px;font-size:14px}}

/* ========== RESOLUTION ========== */
.resolution{text-align:center;padding:60px 0;overflow:hidden}
.resolution-arrow{font-size:clamp(56px,10vw,80px);color:var(--blue);margin-bottom:16px;display:block;opacity:0;transform:translateY(-30px);transition:opacity .5s,transform .5s;line-height:1}
.resolution.is-visible .resolution-arrow{opacity:1;transform:translateY(0);animation:bounce-down 1s .5s ease-in-out infinite}
@keyframes bounce-down{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
.resolution-text{font-size:clamp(22px,4vw,36px);font-weight:900;line-height:1.5;opacity:0;transform:scale(.7);transition:opacity .6s .3s,transform .6s .3s cubic-bezier(.17,.67,.29,1.3)}
.resolution.is-visible .resolution-text{opacity:1;transform:scale(1)}
.resolution-text .em{color:var(--blue);font-size:1.2em;display:inline-block;position:relative;opacity:0;transform:scale(.5);transition:opacity .5s .7s,transform .5s .7s cubic-bezier(.17,.67,.29,1.5)}
.resolution.is-visible .resolution-text .em{opacity:1;transform:scale(1);text-shadow:0 0 20px rgba(6,106,171,.2)}
.resolution-deco{position:absolute;top:50%;width:0;height:3px;background:linear-gradient(90deg,transparent,var(--blue),transparent);transition:width .5s 1s cubic-bezier(.22,.61,.36,1)}
.resolution-deco::before{content:"";position:absolute;width:8px;height:8px;background:var(--blue);border-radius:50%;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .3s 1.4s}
.resolution-deco--l{right:calc(100% + 12px);transform-origin:right center}
.resolution-deco--l::before{left:0;transform:translateY(-50%) translateX(-50%)}
.resolution-deco--r{left:calc(100% + 12px);transform-origin:left center}
.resolution-deco--r::before{right:0;transform:translateY(-50%) translateX(50%)}
.resolution.is-visible .resolution-deco{width:60px}
.resolution.is-visible .resolution-deco::before{opacity:1}
@media(min-width:769px){.resolution.is-visible .resolution-deco{width:100px}}

/* ========== PROMISE / POINT ========== */
.promise-card{display:flex;align-items:center;gap:0;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:28px}
.promise-card.reverse{flex-direction:row-reverse}
.promise-card-img{flex:0 0 45%;max-width:45%;overflow:hidden}
.promise-card-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.promise-card-body{flex:1;padding:36px 40px}
.promise-card-num{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.1em;margin-bottom:4px}
.promise-card-num span{font-size:40px;font-weight:900;line-height:1;margin-left:4px}
.promise-card-title{display:inline-block;background:var(--blue);color:#fff;padding:6px 20px;font-size:18px;font-weight:800;line-height:1.4;margin-bottom:16px;border-radius:4px}
.promise-card-text{font-size:15px;color:var(--text-sub);line-height:2}
@media(max-width:768px){
  .promise-card,.promise-card.reverse{flex-direction:column}
  .promise-card-img{flex:none;max-width:100%;width:100%}
  .promise-card-body{padding:28px 24px}
  .promise-card-num span{font-size:32px}
}

/* ========== WHY US GRID ========== */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why-card{background:var(--white);border:2px solid var(--blue-border);border-radius:var(--radius);overflow:hidden;text-align:center;transition:transform .3s,box-shadow .3s}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.why-card-img{aspect-ratio:4/3;overflow:hidden}
.why-card-img img{width:100%;height:100%;object-fit:cover}
.why-card h3{font-size:15px;font-weight:700;color:var(--blue);padding:16px 12px 4px;line-height:1.5}
.why-card p{font-size:13px;color:var(--text-sub);padding:0 12px 20px;line-height:1.8}
@media(max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.why-grid{grid-template-columns:1fr;max-width:360px;margin:0 auto}}

/* ========== CTA BAND ========== */
.cta-band{padding:56px 0;text-align:center}
.cta-band--blue{background:var(--blue-light)}
/* Medal badges */
.cta-medals{display:flex;justify-content:center;gap:clamp(16px,4vw,40px);margin-bottom:36px}
.cta-medal{width:clamp(120px,20vw,180px);height:clamp(120px,20vw,180px);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fce08a,#d4a017 40%,#b8860b 70%,#d4a017 90%);box-shadow:0 6px 24px rgba(180,130,20,.35),inset 0 2px 4px rgba(255,255,200,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;text-align:center;padding:12px}
.cta-medal::before{content:"";position:absolute;inset:6px;border-radius:50%;border:2px solid rgba(255,240,160,.5)}
.cta-medal::after{content:"🏅";position:absolute;bottom:-8px;font-size:20px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}
.cta-medal-label{font-size:clamp(11px,1.6vw,14px);font-weight:700;color:#4a3000;line-height:1.4}
.cta-medal-num{font-family:'Montserrat',sans-serif;font-size:clamp(28px,5vw,48px);font-weight:900;color:var(--orange);line-height:1;text-shadow:1px 1px 0 rgba(255,255,255,.6)}
.cta-medal-num small{font-size:.45em;font-weight:700}
.cta-medal-sub{font-size:clamp(11px,1.6vw,14px);font-weight:700;color:#4a3000}
.cta-box{max-width:960px;margin:0 auto 40px;border:4px solid var(--blue);border-radius:16px;padding:48px 56px;background:var(--white);box-shadow:0 0 0 6px var(--blue-light),0 12px 40px rgba(6,106,171,.15)}
.cta-box-sub{font-size:clamp(16px,2.5vw,20px);margin-bottom:12px;font-weight:700;letter-spacing:.05em}
.cta-box-main{font-size:clamp(24px,4vw,36px);font-weight:900;margin-bottom:8px;letter-spacing:.03em}
.cta-box-main .em{color:var(--blue);font-size:1.05em}
.cta-box-em{font-size:clamp(44px,8vw,72px);font-weight:900;color:var(--orange);font-family:'Montserrat','Noto Sans JP',sans-serif;line-height:1.1;letter-spacing:.02em}
.cta-box-detail{font-size:clamp(22px,3.5vw,32px);font-weight:900;letter-spacing:.04em}
.cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;max-width:960px;margin:0 auto}
.btn-cta{display:flex;align-items:center;justify-content:center;gap:14px;flex:1;min-width:300px;max-width:450px;padding:24px 32px;border-radius:60px;font-size:clamp(16px,2.2vw,20px);font-weight:800;letter-spacing:.04em;transition:.3s;position:relative}
.btn-cta::after{content:"›";position:absolute;right:24px;font-size:28px;font-weight:400}
.btn-cta-tel{background:var(--orange);color:#fff;box-shadow:0 6px 20px rgba(240,131,0,.35)}
.btn-cta-tel:hover{background:var(--orange-dark);opacity:1;transform:translateY(-3px);box-shadow:0 10px 28px rgba(240,131,0,.4)}
.btn-cta-line{background:var(--green);color:#fff;box-shadow:0 6px 20px rgba(6,199,85,.35)}
.btn-cta-line:hover{background:var(--green-dark);opacity:1;transform:translateY(-3px);box-shadow:0 10px 28px rgba(6,199,85,.4)}
.btn-cta-tel .btn-sub,.btn-cta-line .btn-sub{font-size:clamp(11px,1.4vw,13px);font-weight:500;opacity:.9;display:block;margin-top:3px}
.btn-cta svg{width:28px;height:28px;fill:currentColor;flex-shrink:0}
@media(max-width:768px){
  .cta-buttons{flex-direction:column;align-items:center}
  .btn-cta{min-width:0;width:95%;max-width:420px;padding:20px 28px}
  .cta-box{padding:32px 24px;margin-bottom:28px}
}

/* ========== PRICE ========== */
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:800px;margin:0 auto;justify-items:center}
.price-grid .price-card:last-child:nth-child(odd){grid-column:1/-1;max-width:388px}
.price-card{border:2px solid var(--blue-border);border-radius:var(--radius);overflow:hidden;background:var(--white);text-align:center;transition:transform .3s}
.price-card:hover{transform:translateY(-4px)}
.price-card-img{aspect-ratio:3/2;overflow:hidden}
.price-card-img img{width:100%;height:100%;object-fit:cover}
.price-card-body{padding:24px}
.price-card-name{font-size:16px;font-weight:700;margin-bottom:4px}
.price-card-desc{font-size:13px;color:var(--text-light);margin-bottom:16px}
.price-card-amount{font-family:'Montserrat',sans-serif;font-size:clamp(28px,5vw,38px);font-weight:900;color:var(--blue);line-height:1.2}
.price-card-amount .yen{font-size:.6em}
.price-card-amount .tax{font-size:14px;font-weight:500;color:var(--text-sub)}
.price-card-discount{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}
.price-card-original{font-size:clamp(16px,2.5vw,20px);color:var(--text-light);text-decoration:line-through;font-weight:700;display:block}
.price-card-off{display:inline-block;background:linear-gradient(135deg,#ff4444,var(--orange));color:#fff;font-size:clamp(13px,2vw,16px);font-weight:900;padding:5px 14px;border-radius:60px;letter-spacing:.03em;box-shadow:0 2px 8px rgba(240,131,0,.3);animation:pulse-off 2s ease-in-out infinite}
@keyframes pulse-off{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.price-card-cta{margin-top:20px}
.price-card-cta a{display:block;background:var(--blue);color:#fff;padding:14px;border-radius:var(--radius);font-size:15px;font-weight:700;transition:.3s}
.price-card-cta a:hover{background:var(--blue-dark);opacity:1}
.price-note{text-align:center;margin-top:28px;font-size:15px;font-weight:700;color:var(--text)}
.price-note strong{color:var(--orange)}
@media(max-width:600px){.price-grid{grid-template-columns:1fr;max-width:400px}}

/* ========== COMPARISON TABLE ========== */
.compare-wrap{max-width:900px;margin:0 auto;overflow-x:auto}
.compare-table{width:100%;border-collapse:collapse;min-width:600px}
.compare-table th,.compare-table td{padding:16px 14px;text-align:center;font-size:14px;border:1px solid var(--border);vertical-align:middle}
.compare-table thead th{background:var(--bg-gray);font-weight:700;font-size:15px}
.compare-table thead th:nth-child(2){background:var(--blue);color:#fff;font-size:16px}
.compare-table tbody th{font-weight:700;background:var(--white);text-align:left;padding-left:20px;white-space:nowrap}
.compare-table tbody td:nth-child(2){background:var(--blue-light)}
.compare-mark{display:block;font-size:36px;font-weight:900;line-height:1;margin-bottom:6px}
.compare-mark--great{color:var(--blue)}
.compare-mark--good{color:var(--text-sub)}
.compare-mark--ok{color:var(--text-light)}
.compare-detail{display:block;font-size:12px;color:var(--text-sub);margin-top:4px}

/* ========== VOICE ========== */
.voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:0 auto}
.voice-card{background:var(--white);border-radius:var(--radius);padding:32px;box-shadow:0 2px 16px rgba(0,0,0,.05);position:relative}
.voice-card::before{content:"\201C";position:absolute;top:16px;left:24px;font-size:60px;line-height:1;color:var(--blue);opacity:.12;font-family:Georgia,serif}
.voice-stars{color:#f5a623;font-size:18px;letter-spacing:3px;margin-bottom:14px}
.voice-card-text{font-size:14px;color:var(--text);line-height:2;margin-bottom:20px;position:relative;z-index:1}
.voice-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:16px}
.voice-card-meta{font-size:13px;color:var(--text-light);font-weight:500}
.voice-card-service{font-size:12px;color:var(--blue);font-weight:600;background:var(--blue-light);padding:4px 12px;border-radius:20px}
@media(max-width:768px){.voice-grid{grid-template-columns:1fr}.voice-card{padding:24px}}

/* ========== FLOW ========== */
.flow-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:0}
.flow-card{display:flex;align-items:center;gap:0;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);position:relative}
.flow-card-img{flex:0 0 40%;max-width:40%;overflow:hidden}
.flow-card-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.flow-card-body{flex:1;padding:28px 32px}
.flow-card-step{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.1em}
.flow-card-step span{font-size:36px;font-weight:900;line-height:1;margin-left:4px}
.flow-card-title{font-size:20px;font-weight:800;color:var(--blue);margin-bottom:10px}
.flow-card-text{font-size:14px;color:var(--text-sub);line-height:1.9}
.flow-arrow{text-align:center;padding:12px 0;font-size:28px;color:var(--blue-border)}
@media(max-width:768px){
  .flow-card{flex-direction:column}
  .flow-card-img{flex:none;max-width:100%;width:100%}
  .flow-card-body{padding:20px 24px}
  .flow-card-step span{font-size:28px}
}

/* ========== FAQ ========== */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{border:2px solid var(--blue-border);border-radius:var(--radius);overflow:hidden;background:var(--white);transition:border-color .3s}
.faq-item:hover{border-color:var(--blue)}
.faq-q{display:flex;align-items:center;gap:14px;padding:20px 24px;width:100%;text-align:left;font-size:16px;font-weight:700;color:var(--text);cursor:pointer;transition:.3s}
.faq-q-mark{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center}
.faq-q-text{flex:1;line-height:1.6}
.faq-q-toggle{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:2px solid var(--blue);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:18px;transition:transform .3s}
.faq-item.is-open .faq-q-toggle{transform:rotate(45deg)}
.faq-a{height:0;overflow:hidden;transition:height .35s ease}
.faq-a-inner{padding:0 24px 24px 70px;font-size:15px;line-height:2;color:var(--text-sub)}
@media(max-width:768px){.faq-q{padding:16px 18px;font-size:15px}.faq-a-inner{padding:0 18px 20px 56px;font-size:14px}}

/* ========== FOOTER ========== */
.lp-footer{background:#1a1a1a;color:#fff;text-align:center;padding:48px 20px 100px}
.lp-footer-logo{font-family:'Montserrat',sans-serif;font-weight:900;font-size:22px;letter-spacing:.06em;margin-bottom:12px}
.lp-footer .logo-pika{background:linear-gradient(90deg,#fff 0%,#fff 35%,#8edcff 48%,#fff 52%,#8edcff 56%,#fff 70%,#fff 100%);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pikapika 3s ease-in-out infinite}
.lp-footer-info{font-size:13px;color:rgba(255,255,255,.5);line-height:2;margin-bottom:20px}
.lp-footer-copy{font-size:11px;color:rgba(255,255,255,.25)}

/* ========== FIXED CTA ========== */
.fixed-cta{position:fixed;bottom:0;left:0;width:100%;z-index:900;display:flex;transform:translateY(100%);transition:transform .4s}
.fixed-cta.is-show{transform:translateY(0)}
.fixed-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;font-size:14px;font-weight:700;letter-spacing:.04em;transition:.3s}
.fixed-cta-line{background:var(--green);color:#fff}
.fixed-cta-line:hover{background:var(--green-dark);opacity:1}
.fixed-cta-tel{background:var(--orange);color:#fff}
.fixed-cta-tel:hover{background:var(--orange-dark);opacity:1}
.fixed-cta svg{width:18px;height:18px;fill:currentColor}

/* ========== AREA BADGE ========== */
.area-badge{display:inline-block;background:var(--blue);color:#fff;font-size:13px;font-weight:700;padding:4px 16px;border-radius:4px;margin-bottom:12px}
.area-text{font-size:14px;color:var(--text-sub);text-align:center;line-height:2;margin-top:32px;padding:24px;background:var(--blue-light);border-radius:var(--radius)}

/* ========== RESPONSIVE ========== */
@media(max-width:768px){
  .lp-footer{padding-bottom:80px}
}
