/* JICCI sponsor page (ported from sponsor.jicci.app). Scoped to .sp-page */
.sp-page{--o:#e36032;--t:#6cc2b2;--tl:#b1dbce;--y:#e5e13a;--yl:#f4f181;--p:#634c9c;--pl:#dacef8;--ol:#fcc9b7;--cream:#fffee8;--ink:#363636;color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.7;letter-spacing:.02em}
.sp-page *{box-sizing:border-box}
.sp-page img{max-width:100%;height:auto;display:block}
.sp-page h1,.sp-page h2,.sp-page h3,.sp-page p{margin:0}
.c-orange{color:var(--o)}.c-teal{color:var(--t)}.c-yellow{color:var(--y)}.c-purple{color:var(--p)}
/* layout */
.sp-layout{display:block}
.sp-hero{position:relative;background:#fff;overflow:hidden}
.sp-hero-inner{position:relative;padding:40px 20px 0;min-height:560px}
.sp-hero-tit{font-size:clamp(30px,8.4vw,48px);font-weight:900;line-height:1.4;color:var(--ink)}
.sp-hero-sub{margin-top:12px;font-size:clamp(18px,5vw,28px);font-weight:900;line-height:1.4}
.sp-hero-visual{position:relative;margin:16px auto 0;max-width:520px;aspect-ratio:674/600}
.sp-hero-mark{position:absolute;right:0;top:0;width:52%;animation:sp-spin 40s linear infinite}
.sp-hero-phone{position:absolute;left:0;bottom:0;width:92%}
.sp-hero-town{position:relative;width:100%;margin-top:-10px}
@keyframes sp-spin{to{transform:rotate(360deg)}}
.sp-main{background:#fff}
.sp-sec{padding:56px 20px}
.sp-cream{background:var(--cream)}
.sp-label{font-family:Figtree,sans-serif;font-weight:900;color:var(--tl);font-size:16px}
.sp-tit{font-size:24px;font-weight:900;line-height:1.45;margin:6px 0 28px!important}
.sp-txt{font-size:16px;font-weight:500;margin-bottom:16px!important}
.sp-txt strong{color:var(--o);font-weight:900}
.sp-wide{width:100%;margin:0 0 24px;border-radius:8px}
/* chips */
.sp-chips{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.sp-chips li{background:#fff;border-radius:6px;padding:8px 14px 8px 32px;font-weight:800;font-size:16px;position:relative;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.sp-chips li::before{content:"";position:absolute;left:12px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--o)}
.sp-chips li.i-people::before{background:var(--p)}.sp-chips li.i-coin::before{background:var(--y)}.sp-chips li.i-yen::before{background:var(--t)}
/* marquee */
.sp-marquee{overflow:hidden;background:var(--cream);padding:8px 0}
.sp-marquee-track{display:flex;gap:24px;width:max-content;animation:sp-marq 30s linear infinite}
.sp-marquee-track img{width:200px;flex:none}
@keyframes sp-marq{to{transform:translateX(-50%)}}
/* CTA */
.sp-cta1{text-align:center;padding-top:24px}
.sp-bubble{margin:0 auto 10px;width:270px}
.sp-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;background:var(--o);color:#fff!important;text-decoration:none!important;font-weight:800;font-size:18px;border-radius:6px;padding:16px 56px 16px 24px;max-width:440px;margin:0 auto;box-shadow:0 4px 0 #b8451f;transition:transform .15s,box-shadow .15s}
.sp-btn--lg{font-size:clamp(17px,4.6vw,22px)}
.sp-btn:hover{transform:translateY(2px);box-shadow:0 2px 0 #b8451f}
.sp-btn-arrow{position:absolute;right:16px;top:50%;width:24px;height:24px;margin-top:-12px;border-left:1px solid rgba(255,255,255,.6);padding-left:8px}
.sp-btn-arrow::after{content:"→";position:absolute;left:10px;top:-2px;font-size:20px;line-height:1}
.sp-checks{list-style:none;padding:0;margin:20px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;max-width:360px;text-align:left}
.sp-checks li{position:relative;padding-left:30px;font-weight:800;font-size:15px;line-height:1.35}
.sp-checks li::before{content:"✓";position:absolute;left:0;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--t);color:#fff;font-size:13px;line-height:22px;text-align:center}
/* table */
.sp-scroll-hint{text-align:right;font-size:12px;color:#868686;margin-top:16px!important}
.sp-scroll-hint span{color:#d9d9d9;letter-spacing:-2px;font-size:9px}
.sp-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:4px}
.sp-table-scroll img{width:766px;max-width:none}
/* steps */
.sp-steps{list-style:none;padding:0;margin:24px 0 0}
.sp-steps li{display:grid;grid-template-columns:auto 1fr;column-gap:12px;padding:18px 0;border-bottom:1px solid #e5e5e5}
.sp-steps .no{font-family:Figtree,sans-serif;font-weight:800;font-size:32px;line-height:1;padding:4px 8px 4px 4px;clip-path:polygon(0 0,100% 0,80% 100%,0 100%);min-width:52px}
.sp-steps .s1 .no{background:var(--ol)}.sp-steps .s2 .no{background:var(--tl)}.sp-steps .s3 .no{background:var(--pl)}.sp-steps .s4 .no{background:var(--yl)}
.sp-steps h3{font-size:19px;font-weight:800;align-self:center}
.sp-steps p{grid-column:1/-1;margin-top:10px!important;font-size:15px;font-weight:500}
/* why cards */
.sp-cards{display:grid;gap:24px}
.sp-card{position:relative;background:#fff;border-radius:8px;padding:24px 20px;box-shadow:6px 6px 0 var(--cc)}
.sp-card.c1{--cc:var(--t)}.sp-card.c2{--cc:var(--y)}.sp-card.c3{--cc:var(--o)}.sp-card.c4{--cc:var(--p)}
.sp-card .num{position:absolute;right:18px;top:12px;font-family:Figtree,sans-serif;font-weight:900;font-size:52px;line-height:1;color:var(--tl)}
.sp-card.c2 .num{color:var(--yl)}.sp-card.c3 .num{color:var(--ol)}.sp-card.c4 .num{color:var(--pl)}
.sp-card .tag{display:inline-block;background:var(--cc);color:#fff;border-radius:999px;font-size:12px;font-weight:800;padding:3px 14px 3px 24px;position:relative}
.sp-card .tag::before{content:"";position:absolute;left:10px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#fff}
.sp-card h3{font-size:22px;font-weight:900;line-height:1.4;margin:10px 0 16px;padding-bottom:16px;border-bottom:1px solid #e5e5e5}
.sp-card p{font-size:15px;font-weight:500}
/* industries */
.sp-inds{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:40px 16px}
.sp-inds li{position:relative;background:#fff;border-radius:8px;padding:40px 10px 20px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.sp-inds .ic{position:absolute;left:50%;top:-28px;margin-left:-28px;width:56px;height:56px;border-radius:50%;background:var(--o);display:flex;align-items:center;justify-content:center}
.sp-inds .ic img{width:30px}
.sp-inds h3{font-size:18px;font-weight:900;padding-bottom:8px;margin-bottom:8px;position:relative}
.sp-inds h3::after{content:"";position:absolute;left:50%;bottom:0;width:20px;margin-left:-10px;border-bottom:1px solid #ccc}
.sp-inds p{font-size:14px;font-weight:500;line-height:1.5}
/* cta2 */
.sp-cta2{text-align:center;background:linear-gradient(to bottom,#fff 0,#fff 30%,var(--cream) 60%);border-radius:50% 50% 0 0/80px 80px 0 0;padding-top:70px}
.sp-cta2-tit{color:var(--o);font-size:24px;font-weight:900;line-height:1.5}
.sp-cta2-tit .big{font-family:Figtree,sans-serif;font-size:48px;line-height:1;vertical-align:-4px;margin:0 2px}
.sp-cta2-person{margin:24px auto;width:100%;max-width:480px}
.sp-cta2-txt{font-weight:500;margin-bottom:24px!important}
/* faq */
.sp-faq-list{border-top:1px solid #e5e5e5}
.sp-faq-item{border-bottom:1px solid #e5e5e5}
.sp-faq-item summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:flex-start;padding:22px 36px 22px 8px;position:relative;font-weight:800}
.sp-faq-item summary::-webkit-details-marker{display:none}
.sp-faq-item summary::after{content:"";position:absolute;right:12px;top:30px;width:8px;height:8px;border-right:2px solid var(--o);border-bottom:2px solid var(--o);transform:rotate(45deg);transition:transform .2s}
.sp-faq-item[open] summary::after{transform:rotate(-135deg);top:34px}
.sp-faq-item .q{color:var(--o);font-family:Figtree,sans-serif;font-size:20px;line-height:1.2}
.sp-faq-a{padding:0 8px 22px 36px;font-weight:500;font-size:15px}
/* app */
.sp-app{text-align:center;padding:32px 20px;background:var(--t);color:#fff}
.sp-app-tit{font-weight:800;margin-bottom:12px!important}
.sp-app-badges{display:flex;gap:10px;justify-content:center}
.sp-app-badges img{width:128px}
/* footer band */
.sp-foot{background:var(--o);color:#fff;text-align:center;padding:48px 20px 0;font-size:12px}
.sp-foot a{color:#fff}
.sp-foot-logo{width:200px;margin:0 auto 24px}
.sp-foot .copy{margin-top:8px!important}
.sp-foot-town{width:100%;max-width:540px;margin:24px auto 0;opacity:.5}
/* fade-in (only when JS is on) */
.sp-js .sp-fade{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease}
.sp-js .sp-fade.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.sp-js .sp-fade{opacity:1;transform:none;transition:none}.sp-marquee-track,.sp-hero-mark{animation:none}}
/* desktop: sticky hero left, content column right (as on STUDIO) */
@media (min-width:1141px){
 .sp-layout{display:grid;grid-template-columns:minmax(0,1fr) 540px;align-items:start}
 .sp-hero{position:sticky;top:0;height:100vh;min-height:640px}
 .sp-hero-inner{height:100%;padding:64px 48px 0;display:flex;flex-direction:column}
 .sp-hero-visual{flex:1;width:100%;max-width:640px;margin:16px 0 0;aspect-ratio:auto;min-height:280px}
 .sp-hero-phone{width:auto;height:92%;max-height:520px;left:4%}
 .sp-hero-mark{width:auto;height:52%;right:4%}
 .sp-hero-town{margin-top:0}
 .sp-main{box-shadow:-8px 0 24px rgba(0,0,0,.06)}
 .sp-sec{padding:64px 30px}
}
/* terms */
.sp-terms{max-width:840px;margin:0 auto;padding:48px 20px 80px}
.sp-terms-back{font-size:14px;margin-bottom:24px!important}
.sp-terms-back a{color:var(--o)}
.sp-terms-tit{font-size:clamp(24px,6vw,32px);font-weight:900;margin-bottom:32px!important}
.sp-terms-body h2{font-size:clamp(19px,4.8vw,24px);font-weight:900;margin:40px 0 14px}
.sp-terms-body ol,.sp-terms-body ul{list-style:none;padding:0;margin:0}
.sp-terms-body li{margin:0 0 12px}
.sp-terms-body p{font-weight:500;margin:0 0 12px}
/* d24b tweaks */
.sp-page{background:#fff}
.sp-br-pc{display:none}
.sp-hero-tit{font-size:clamp(32px,10.2vw,48px)}
.sp-hero-sub{font-size:clamp(19px,5.2vw,28px)}
@media (max-width:1140px){.sp-hero-visual{aspect-ratio:491/525;max-width:420px}.sp-hero-phone{width:100%;left:0}.sp-hero-mark{display:none}}
@media (min-width:1141px){.sp-br-pc{display:inline}.sp-br-sp{display:none}}
/* d25: STUDIO split - left fixed hero, only right 540px column scrolls (STUDIO bp 1141px) */
body.page-template-page-sponsor #page{overflow:clip}
@media (min-width:1141px){
 .sp-hero{position:sticky;top:0;height:100vh;background:linear-gradient(#fff 55%,#fffee8)}
 .sp-main{position:relative;z-index:1;background:#fff;box-shadow:-10px 0 30px rgba(0,0,0,.07)}
}
