
:root{--jp-black:#080808;--jp-ink:#161616;--jp-muted:#666;--jp-white:#fff;--jp-off:#fbfaf7;--jp-cream:#f6f0e5;--jp-gold:#c99d2e;--jp-gold2:#e0bc5a;--jp-gold-dark:#936f1f;--jp-border:#e9e2d5;--jp-shadow:0 14px 35px rgba(0,0,0,.12);--jp-radius:22px;--jp-font:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--jp-ink);font-family:var(--jp-font);background:var(--jp-white);line-height:1.9;letter-spacing:.03em;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit}.jp-site{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfaf7 55%,#fff 100%)}.jp-container{width:min(100% - 32px,1080px);margin-inline:auto}.jp-section{position:relative;padding:74px 0}.jp-section.is-cream{background:var(--jp-cream)}.jp-section.is-dark{color:#fff;background:radial-gradient(circle at 15% 0%,rgba(220,175,67,.24),transparent 35%),linear-gradient(160deg,#050505 0%,#181818 65%,#0a0a0a 100%)}.jp-section.is-dark .jp-lead,.jp-section.is-dark .jp-body,.jp-section.is-dark p{color:rgba(255,255,255,.82)}
.jp-section-eyebrow{display:inline-flex;align-items:center;gap:.55rem;color:var(--jp-gold-dark);font-size:.74rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px}.jp-section.is-dark .jp-section-eyebrow{color:var(--jp-gold2)}.jp-section-eyebrow::before{content:"";display:inline-block;width:32px;height:2px;background:currentColor}.jp-heading{font-size:clamp(1.75rem,6.6vw,3.3rem);line-height:1.38;letter-spacing:.03em;margin:0 0 22px;font-weight:900}.jp-heading .mark,.jp-gold{color:var(--jp-gold)}.jp-lead{font-size:1.03rem;font-weight:700;margin:0 0 24px}.jp-body{color:#333}.jp-body p{margin:0 0 1.1em}.jp-cta-wrap{margin-top:30px;text-align:center}.jp-btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:58px;width:min(100%,460px);padding:16px 28px;color:#111;text-decoration:none;background:linear-gradient(180deg,#e7c760 0%,#c7972c 52%,#b78521 100%);border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:1.18rem;font-weight:900;letter-spacing:.06em;box-shadow:0 14px 28px rgba(156,111,22,.28), inset 0 1px 0 rgba(255,255,255,.44);transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}.jp-btn::after{content:"›";font-size:1.6em;line-height:1;margin-top:-1px}.jp-btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(156,111,22,.34), inset 0 1px 0 rgba(255,255,255,.55);filter:saturate(1.04)}.jp-cta-note{margin:12px auto 0;color:#363636;font-size:.88rem;font-weight:700;text-align:center}.is-dark .jp-cta-note{color:rgba(255,255,255,.78)}
.jp-grid{display:grid;gap:18px}.jp-grid.two{grid-template-columns:1fr}.jp-grid.three{grid-template-columns:1fr}.jp-card{background:#fff;border:1px solid var(--jp-border);border-radius:var(--jp-radius);padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.055)}.jp-card.dark{color:#fff;background:linear-gradient(155deg,#111,#232323);border-color:rgba(255,255,255,.12)}.jp-card h3{margin:0 0 12px;font-size:1.2rem;line-height:1.55}.jp-card p{margin:0}.jp-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}.jp-list li{position:relative;padding:15px 16px 15px 43px;background:#fff;border:1px solid var(--jp-border);border-radius:16px;box-shadow:0 8px 20px rgba(0,0,0,.045);font-weight:700}.jp-list li::before{content:"✓";position:absolute;left:15px;top:14px;width:20px;height:20px;display:grid;place-items:center;color:#111;background:var(--jp-gold2);border-radius:50%;font-size:.78rem;font-weight:900}.is-dark .jp-list li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}.jp-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.jp-tag{padding:10px 14px;border:1px solid var(--jp-border);background:#fff;border-radius:999px;font-size:.9rem;font-weight:800}
.jp-hero{position:relative;min-height:100svh;background:#fff;overflow:hidden}.jp-hero-image{width:100%;max-width:720px;margin:0 auto}.jp-hero-fallback{position:relative;min-height:100svh;padding:40px 16px 50px;display:grid;align-items:center;background:linear-gradient(128deg,rgba(207,158,42,.08),transparent 38%),radial-gradient(circle at 0 0,rgba(205,157,46,.32),transparent 26%),radial-gradient(circle at 100% 10%,rgba(205,157,46,.22),transparent 30%),#fff}.jp-hero-fallback::before,.jp-hero-fallback::after{content:"";position:absolute;width:360px;height:56px;background:linear-gradient(90deg,transparent,var(--jp-gold),transparent);filter:blur(8px);opacity:.55;transform:rotate(-42deg)}.jp-hero-fallback::before{left:-110px;top:90px}.jp-hero-fallback::after{right:-120px;bottom:120px}.jp-hero-inner{position:relative;z-index:1;width:min(100%,880px);margin:auto;text-align:center}.jp-logo-text{font-size:2.4rem;font-weight:900;font-style:italic;letter-spacing:-.03em;margin:0 0 42px}.jp-hero-eyebrow{color:var(--jp-gold-dark);font-size:1rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px}.jp-hero-title{font-size:clamp(2.6rem,12vw,5.2rem);line-height:1.28;font-weight:950;letter-spacing:.02em;margin:0 0 28px}.jp-hero-sub{font-size:clamp(1.15rem,4.8vw,2rem);line-height:1.55;font-weight:900;margin:0 0 28px}.jp-hero-desc{font-size:1rem;font-weight:700;line-height:2.05;margin:0 auto 28px;max-width:720px}.jp-hero-features{display:grid;grid-template-columns:1fr;gap:14px;margin:30px 0}.jp-feature-circle{position:relative;display:grid;place-items:center;min-height:150px;padding:18px;border:4px solid var(--jp-gold2);border-radius:999px;background:#fff;box-shadow:0 12px 26px rgba(0,0,0,.14);font-weight:900}.jp-feature-circle small{display:block;font-size:.88rem;color:#333;margin-bottom:6px}.jp-feature-circle strong{font-size:1.32rem;line-height:1.35}
.jp-sports-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0 0}.jp-sport{padding:12px 10px;background:#fff;border:1px solid var(--jp-border);border-radius:16px;font-weight:900;text-align:center}.jp-axis{counter-reset:axis}.jp-axis .jp-card{position:relative;padding-top:62px}.jp-axis .jp-card::before{counter-increment:axis;content:"0" counter(axis);position:absolute;top:20px;left:22px;color:var(--jp-gold);font-size:1.1rem;font-weight:900;letter-spacing:.12em}.jp-profile{display:grid;gap:24px;align-items:center}.jp-profile-img{border-radius:24px;overflow:hidden;background:#111;border:1px solid rgba(202,161,58,.45);box-shadow:var(--jp-shadow)}.jp-profile-name{font-size:2rem;font-weight:950;margin:0 0 8px}.jp-results{display:grid;gap:14px}.jp-result-group{padding:20px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}.jp-result-group h3{margin:0 0 10px;color:var(--jp-gold2)}
.jp-voice{position:relative;overflow:hidden;border-radius:28px;background:#fff;border:1px solid var(--jp-border);box-shadow:var(--jp-shadow)}.jp-voice-img{aspect-ratio:4/3;object-fit:cover;width:100%;background:#eee}.jp-voice-body{padding:24px}.jp-voice-meta{display:inline-flex;color:#111;background:var(--jp-gold2);padding:7px 12px;border-radius:999px;font-size:.8rem;font-weight:900;margin-bottom:14px}.jp-quote{border-left:4px solid var(--jp-gold);padding-left:16px;font-weight:900}.jp-flow{counter-reset:step;display:grid;gap:14px}.jp-step{position:relative;padding:20px 20px 20px 68px;background:#fff;border:1px solid var(--jp-border);border-radius:18px}.jp-step::before{counter-increment:step;content:"0" counter(step);position:absolute;left:18px;top:20px;display:grid;place-items:center;width:36px;height:36px;color:#111;background:var(--jp-gold2);border-radius:50%;font-weight:950;font-size:.82rem}
.jp-price-box{text-align:center;background:#111;color:#fff;border-radius:28px;padding:30px 22px;box-shadow:var(--jp-shadow);border:1px solid rgba(202,161,58,.45)}.jp-price{font-size:clamp(2.1rem,9vw,4.2rem);font-weight:950;line-height:1;margin:18px 0;color:var(--jp-gold2)}.jp-price small{display:block;color:#fff;font-size:1rem;margin-bottom:10px}.jp-compare{display:grid;gap:16px}.jp-compare .jp-card h3{padding-bottom:12px;border-bottom:1px solid var(--jp-border)}.jp-faq{display:grid;gap:10px}.jp-faq-item{background:#fff;border:1px solid var(--jp-border);border-radius:16px;overflow:hidden}.jp-faq-q{width:100%;appearance:none;border:0;background:transparent;padding:18px 48px 18px 18px;color:#111;font:inherit;font-weight:900;text-align:left;position:relative;cursor:pointer}.jp-faq-q::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--jp-gold-dark);font-size:1.5rem;font-weight:900}.jp-faq-item.is-open .jp-faq-q::after{content:"−"}.jp-faq-a{display:none;padding:0 18px 18px;color:#333}.jp-faq-item.is-open .jp-faq-a{display:block}.jp-footer{color:#fff;background:#050505;padding:44px 0 92px}.jp-footer-brand{font-size:1.8rem;font-weight:950;font-style:italic;margin-bottom:16px}.jp-footer-links{display:flex;flex-wrap:wrap;gap:12px 18px;font-size:.86rem}.jp-footer-links a{color:rgba(255,255,255,.76);text-decoration:none}.jp-footer-links a:hover{color:var(--jp-gold2)}.jp-copyright{margin-top:24px;color:rgba(255,255,255,.45);font-size:.8rem}.jp-floating-cta{position:fixed;z-index:999;left:12px;right:12px;bottom:12px;display:none;pointer-events:none}.jp-floating-cta a{min-height:54px;width:100%;font-size:1.02rem;pointer-events:auto}body.jp-show-floating .jp-floating-cta{display:block}.jp-page{padding:60px 0;background:#fff}.jp-page h1{font-size:clamp(2rem,7vw,3.2rem);margin:0 0 28px}.jp-page h2{border-left:5px solid var(--jp-gold);padding-left:14px;margin-top:38px}.jp-page table{width:100%;border-collapse:collapse;margin:24px 0}.jp-page th,.jp-page td{border:1px solid var(--jp-border);padding:14px;text-align:left;vertical-align:top}
@media (min-width:680px){.jp-grid.two{grid-template-columns:repeat(2,1fr)}.jp-grid.three{grid-template-columns:repeat(3,1fr)}.jp-hero-features{grid-template-columns:repeat(3,1fr)}.jp-sports-list{grid-template-columns:repeat(4,1fr)}.jp-profile{grid-template-columns:.8fr 1.2fr}.jp-compare{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.jp-section{padding:104px 0}.jp-container{width:min(100% - 64px,1120px)}.jp-hero-image{max-width:760px}}
@media (max-width:430px){.jp-container{width:min(100% - 28px,1080px)}.jp-section{padding:58px 0}.jp-heading{font-size:1.88rem}.jp-btn{font-size:1.06rem;min-height:56px}.jp-hero-image{width:100%;max-width:none}}
