
:root{--ink:#19151f;--muted:#6d6374;--paper:#fffafc;--white:#fff;--pink:#ff66b7;--pink2:#ffe3f1;--lav:#9b7cf3;--lav2:#eee8ff;--line:#eaddec;--shadow:0 18px 50px rgba(64,42,71,.13);--radius:24px;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.75;color:var(--ink);background:linear-gradient(180deg,#fff7fb 0,#fff 42%,#fbf8ff 100%);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 12% 5%,rgba(255,102,183,.18),transparent 30%),radial-gradient(circle at 88% 8%,rgba(155,124,243,.18),transparent 30%),radial-gradient(circle at 60% 92%,rgba(255,102,183,.12),transparent 36%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 36px));margin-inline:auto}.notice-pr{font-size:12px;color:var(--muted);background:#fff;border-bottom:1px solid var(--line);text-align:center;padding:6px 12px}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(234,221,236,.8)}.nav{height:70px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.03em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--pink),var(--lav));color:white;box-shadow:0 10px 28px rgba(255,102,183,.28)}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.08em}.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.nav-links a{font-size:14px;font-weight:800;color:#4a4052;padding:10px 12px;border-radius:999px}.nav-links a:hover{background:var(--pink2);color:#c91f7d}.nav-cta{background:var(--ink)!important;color:white!important}.hero{padding:64px 0 46px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:42px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.75);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:900;color:#be1f7d}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--lav))}.hero h1{font-size:clamp(34px,5.2vw,64px);line-height:1.12;margin:18px 0 18px;letter-spacing:-.04em}.grad{background:linear-gradient(90deg,#ec3094,#7b61ff);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{font-size:clamp(16px,2.1vw,20px);color:#51475a;margin:0 0 24px}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 18px;font-weight:900;border:1px solid var(--line);background:white;box-shadow:0 8px 22px rgba(64,42,71,.08);transition:.18s transform,.18s box-shadow}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(64,42,71,.12)}.btn.primary{background:linear-gradient(135deg,var(--pink),var(--lav));color:white;border:0}.btn.dark{background:var(--ink);color:white;border:0}.btn.slim{padding:10px 14px;font-size:14px}.hero-card{position:relative;border-radius:32px;background:white;padding:12px;box-shadow:var(--shadow);border:1px solid var(--line)}.hero-card img{border-radius:24px;width:100%;aspect-ratio:1120/840;object-fit:cover}.floating-badge{position:absolute;left:22px;bottom:22px;background:rgba(25,21,31,.86);color:white;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(10px);border-radius:20px;padding:12px 14px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.18)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.metric{background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:18px;padding:14px}.metric b{display:block;font-size:21px}.metric span{font-size:12px;color:var(--muted);font-weight:800}.section{padding:62px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section h2{font-size:clamp(26px,3.4vw,42px);line-height:1.2;margin:0}.section p.sub{margin:8px 0 0;color:var(--muted)}.feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center;background:linear-gradient(135deg,#fff,#fff0f8 62%,#f2eeff);border:1px solid var(--line);border-radius:32px;padding:22px;box-shadow:var(--shadow)}.feature img{border-radius:24px;box-shadow:0 16px 40px rgba(64,42,71,.12)}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.pill{font-size:12px;font-weight:900;color:#68446b;background:white;border:1px solid var(--line);border-radius:999px;padding:5px 10px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.work-card{background:white;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 12px 32px rgba(64,42,71,.08);display:flex;flex-direction:column}.work-card .thumb{aspect-ratio:4/3;background:#f6eef8;overflow:hidden}.work-card .thumb img{width:100%;height:100%;object-fit:cover}.work-card .body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.work-card h3{font-size:19px;line-height:1.4;margin:0}.badge{display:inline-flex;align-self:flex-start;background:var(--pink2);color:#c51e7a;border-radius:999px;font-size:12px;font-weight:900;padding:5px 10px}.work-card p{color:var(--muted);margin:0}.card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.store-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.store{background:white;border:1px solid var(--line);border-radius:22px;padding:18px;font-weight:900;box-shadow:0 10px 26px rgba(64,42,71,.06)}.store small{display:block;color:var(--muted);font-weight:700;margin-top:4px}.timeline{display:grid;gap:12px}.time-item{display:grid;grid-template-columns:130px 1fr;gap:18px;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:20px;padding:16px}.time-item time{font-weight:900;color:#b02780}.platforms{display:flex;gap:10px;flex-wrap:wrap}.platforms span{background:white;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:800;color:#4e4556}.info-box{background:white;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 10px 30px rgba(64,42,71,.07)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lp-hero{padding:48px 0}.lp-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:36px;align-items:start}.cover{background:white;border:1px solid var(--line);padding:12px;border-radius:28px;box-shadow:var(--shadow);position:sticky;top:90px}.cover img{border-radius:20px;width:100%;object-fit:cover}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:12px;background:var(--lav2);color:#57408d;border-radius:999px;font-weight:900;padding:5px 10px}.text-panel{background:rgba(255,255,255,.84);border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:0 12px 32px rgba(64,42,71,.06)}.text-panel h1{font-size:clamp(30px,4vw,50px);line-height:1.18;margin:8px 0 16px}.text-panel h2{font-size:24px;margin:30px 0 10px}.sales{display:grid;gap:10px;margin-top:18px}.sales a{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:16px;background:white;border:1px solid var(--line);font-weight:900}.sales a:hover{border-color:#ffb1d7;background:#fff7fb}.footer{padding:46px 0;margin-top:54px;border-top:1px solid var(--line);background:rgba(255,255,255,.65)}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:28px}.footer a{color:#554a5d}.footer h3{margin:0 0 10px}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.copyright{font-size:12px;color:var(--muted);margin-top:24px}.legal h1{font-size:42px}.legal h2,.legal h3{margin-top:28px}.legal a{text-decoration:underline;color:#be1f7d}.note{font-size:13px;color:var(--muted)}.hamb{display:none}@media(max-width:880px){.nav{height:auto;padding:12px 0;align-items:flex-start}.hamb{display:inline-flex;margin-left:auto}.nav-links{display:none;width:100%;padding:8px 0}.nav.open .nav-links{display:flex}.nav{flex-wrap:wrap}.hero-grid,.feature,.lp-grid,.two-col,.footer-grid{grid-template-columns:1fr}.hero{padding-top:38px}.cover{position:relative;top:auto}.work-grid{grid-template-columns:1fr 1fr}.store-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr}.time-item{grid-template-columns:1fr;gap:4px}.section-head{display:block}}@media(max-width:560px){.container{width:min(100% - 24px,var(--max))}.work-grid,.store-grid{grid-template-columns:1fr}.hero h1{font-size:36px}.section{padding:44px 0}.feature,.text-panel{padding:18px;border-radius:24px}.floating-badge{position:static;margin-top:10px;border-radius:16px}.nav-links a{width:100%}}
/* Partner / reciprocal link */
.partner-links{padding-top:28px;padding-bottom:28px}
.subtle-box{background:rgba(255,255,255,.78)}
.partner-link{display:inline-flex;align-items:center;gap:12px;margin-top:10px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:700;text-decoration:none;box-shadow:0 8px 22px rgba(60,45,70,.06)}
.partner-link img{height:20px;width:auto;display:block}
.partner-link span{font-size:.92rem}
@media (max-width:640px){.partner-link{border-radius:18px}.partner-link img{height:18px}}

/* Section headings: icon-led labels instead of duplicated English chips */
.section-title-row{display:flex;align-items:center;gap:14px;margin:0 0 4px}
.section-title-row h2{margin:0}
.section-icon{flex:0 0 auto;display:inline-grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--pink2),var(--lav2));border:1px solid rgba(234,221,236,.95);box-shadow:0 12px 28px rgba(155,124,243,.12), inset 0 1px 0 rgba(255,255,255,.9);color:#c91f7d;font-size:21px}
.section-icon i{filter:drop-shadow(0 2px 0 rgba(255,255,255,.8))}
#latest .section-icon{color:#58aeea;background:linear-gradient(135deg,#eaf8ff,#fff0f8)}
#works .section-icon{color:#c91f7d;background:linear-gradient(135deg,#fff0f8,#f2eeff)}
#stores .section-icon{color:#7b61ff;background:linear-gradient(135deg,#f2eeff,#fff)}
#history .section-icon{color:#d49b19;background:linear-gradient(135deg,#fff7dd,#fff0f8)}
@media(max-width:560px){.section-title-row{gap:10px}.section-icon{width:42px;height:42px;border-radius:14px;font-size:18px}}

/* Small box headings: avoid double labels while keeping a light touch of personality. */
.box-title{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.box-title span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:11px;background:linear-gradient(135deg,var(--pink2),var(--lav2));border:1px solid var(--line);color:#c91f7d;font-size:14px;flex:0 0 auto}
.box-title h2,.box-title h3{margin:0!important;font-size:clamp(22px,2.4vw,30px);line-height:1.25}


/* 2026-06 wording/icon/ghost-panel updates */
.btn img.inline-store-icon{width:18px;height:18px;object-fit:contain;flex:0 0 auto}
.card-actions .btn img.inline-store-icon{width:16px;height:16px}
.nav-cta img.inline-store-icon{width:16px;height:16px}
.sales a>span:first-child{display:inline-flex;align-items:center;gap:10px}
.sales a img.inline-store-icon{width:20px;height:20px;object-fit:contain;flex:0 0 auto}
.store{display:flex;flex-direction:column;align-items:flex-start;gap:10px;position:relative;overflow:hidden}
.store-logo{width:110px;max-width:68%;height:28px;object-fit:contain;object-position:left center;position:relative;z-index:1}
.ghost-panel{position:relative;overflow:hidden;isolation:isolate}
.ghost-panel::before{content:"";position:absolute;inset:0;z-index:0;background-image:var(--ghost-image);background-repeat:no-repeat;background-position:var(--ghost-position,right -10px bottom -10px);background-size:var(--ghost-size,180px auto);opacity:var(--ghost-opacity,.06);pointer-events:none;filter:saturate(.92)}
.ghost-panel>*{position:relative;z-index:1}
#works .work-card.ghost-panel::before{background-position:var(--ghost-position,right -10px bottom -8px);background-size:var(--ghost-size,180px auto)}
#stores .store.ghost-panel::before{opacity:var(--ghost-opacity,.05)}
#history .time-item.ghost-panel::before{opacity:var(--ghost-opacity,.045)}

/* heading dedupe: icon + Japanese heading only */
.compact-heading{margin-bottom:8px}
.info-box>.section-title-row{margin-bottom:12px}
.text-panel>.section-title-row{margin-top:30px;margin-bottom:10px}
.section-title-row h3{margin:0;font-size:22px;line-height:1.35}


/* 2026-06 hero metrics refinement */


/* refined hero proof strip */
.proof-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px;max-width:760px}
.proof-strip .metric{position:relative;padding:16px 18px 15px;border-radius:22px;border:1px solid rgba(223,199,232,.95);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,247,251,.88));box-shadow:0 12px 28px rgba(64,42,71,.07);overflow:hidden;min-height:108px}
.proof-strip .metric::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--pink),var(--lav))}
.proof-strip .metric-kicker{display:inline-block;margin-bottom:10px;font-size:11px;line-height:1.2;font-weight:900;letter-spacing:.08em;color:#b02780;text-transform:uppercase}
.proof-strip .metric b{display:block;margin:0;font-size:clamp(28px,2.8vw,42px);line-height:1.08;letter-spacing:-.04em;color:var(--ink);white-space:nowrap}
.proof-strip .metric small{display:block;margin-top:8px;font-size:13px;line-height:1.45;font-weight:800;color:#5f5468}
@media(max-width:980px){.proof-strip{max-width:none}}
@media(max-width:880px){.proof-strip{grid-template-columns:1fr}.proof-strip .metric{min-height:92px}}
@media(max-width:560px){.proof-strip .metric{padding:15px 16px}.proof-strip .metric b{font-size:30px}.proof-strip .metric small{font-size:12px}}

/* hero proof strip full-width refinement */
.hero-proof-wrap{margin-top:24px}
.proof-strip{max-width:none;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.proof-strip .metric{min-height:112px;padding:18px 20px 16px}
.proof-strip .metric b{font-size:clamp(30px,2.7vw,44px)}
.proof-strip .metric small{font-size:13px;max-width:22ch}
@media(max-width:980px){.hero-proof-wrap{margin-top:20px}.proof-strip{gap:14px}}
@media(max-width:880px){.hero-proof-wrap{margin-top:18px}.proof-strip{grid-template-columns:1fr}}

/* store section: use platform logos only as subtle backgrounds, not foreground icons */
#stores .store.ghost-panel::before{
  background-size:var(--ghost-size,128px auto);
  background-position:var(--ghost-position,right 18px center);
  opacity:var(--ghost-opacity,.08);
  filter:none;
}
#stores .store{
  min-height:118px;
}
#stores .store small{
  position:relative;
  z-index:1;
}
