@import url('https://fonts.googleapis.com/css2?family=Anton&family=Oswald:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
:root{--red:#CA2021;--black:#0c0c0d;--cream:#f5f0e8;--navy:#1b2a4a;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Noto Sans JP',sans-serif;color:var(--black);line-height:1.85;background:#fff}a{color:inherit;text-decoration:none}.wrap{max-width:var(--max);margin:auto;padding:0 24px}.display,.en{font-family:Anton,Oswald,sans-serif;letter-spacing:.04em}.eyebrow{font:600 .75rem Oswald,sans-serif;letter-spacing:.22em;color:var(--red)}.btn{display:inline-block;background:var(--red);color:#fff;padding:13px 22px;font:600 .9rem Oswald,sans-serif;letter-spacing:.09em;border:1px solid var(--red);transition:.2s}.btn:hover{background:#9d1a1b;transform:translateY(-2px)}.btn.ghost{background:transparent;border-color:#fff}.btn.dark{background:var(--black);border-color:var(--black)}
header{background:var(--black);color:#fff;position:sticky;top:0;z-index:10}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{line-height:1}.logo b{font:1.5rem Anton,sans-serif;letter-spacing:.06em}.logo b i{font-style:normal;color:var(--red)}.logo small{display:block;color:#aaa;font: .48rem Oswald,sans-serif;letter-spacing:.17em;margin-top:5px}.navlinks{display:flex;gap:17px;align-items:center;font:.75rem Oswald,sans-serif;letter-spacing:.08em}.navlinks a:hover{color:var(--red)}.navlinks .btn{padding:8px 14px}.menu-button{display:none;background:none;border:0;color:#fff;font-size:1.5rem}.mobile{display:none;background:var(--black);padding:12px 24px 22px}.mobile.open{display:grid;gap:9px}.mobile a{color:#fff;padding:7px 0;font: .95rem Oswald,sans-serif;letter-spacing:.1em}
.hero{background:linear-gradient(115deg,#080809 0%,#151517 64%,#5a1518);color:#fff;padding:105px 0 88px;min-height:510px;display:flex;align-items:end}.hero .badge{font:600 .72rem Oswald,sans-serif;letter-spacing:.12em;border:1px solid #555;padding:7px 10px;display:inline-block}.hero h1{font-size:clamp(2.3rem,6vw,5.2rem);line-height:1.18;max-width:14ch;margin:20px 0;font-weight:900}.hero p{max-width:600px;color:#ddd}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.page-hero{background:#f3f3f3;padding:80px 0 62px;border-bottom:1px solid #e6e6e6}.page-hero.dark{background:var(--black);color:#fff}.page-hero h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.22;margin:12px 0 0}.page-hero p{max-width:720px;margin:16px 0 0}.block{padding:78px 0}.black{background:var(--black);color:#fff}.gray{background:#f5f5f5}.head{max-width:780px;margin-bottom:36px}.head h2{font-size:clamp(1.7rem,3.5vw,2.75rem);line-height:1.35;margin:9px 0}.head p{color:#555}.black .head p{color:#ccc}.statement{font-size:clamp(2rem,5vw,4rem);font-weight:900;line-height:1.3;max-width:17ch}.statement+ p{max-width:740px;color:#d7d7da;margin-top:28px}.grid{display:grid;gap:18px}.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}.four{grid-template-columns:repeat(4,1fr)}.card{border:1px solid #e1e1e1;padding:26px;background:#fff}.black .card{background:#18181a;border-color:#333}.card h3{line-height:1.45;margin:10px 0}.number{font:2.5rem Anton,sans-serif;color:var(--red)}.card p{font-size:.93rem;color:#555}.black .card p{color:#c7c7cc}.link{color:var(--red);font-weight:700}.floors .floor{padding:34px;min-height:300px;display:flex;flex-direction:column;justify-content:end}.floor.blackfloor{background:#0d0d0f;color:#fff}.floor.whitefloor{background:#fff;border:1px solid #ddd}.floor h3{font-size:2.3rem;margin:8px 0;font-family:Anton,sans-serif}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips span{border:1px solid currentColor;padding:3px 9px;border-radius:20px;font-size:.76rem}.soi{background:var(--cream);color:var(--navy)}.soi .head p,.soi .card p{color:#394762}.soi .card{background:#fbf8f2;border-color:#ded6c9}.faq details{border-bottom:1px solid #ddd;padding:16px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{color:#555;margin:10px 0 0}.notice{border-left:4px solid var(--red);padding:18px 20px;background:#f7f7f7}.placeholder{border:1px dashed #999;color:#666;background:#f7f7f7;padding:32px;text-align:center}.final{background:linear-gradient(120deg,#9e1d22,var(--red));color:#fff;text-align:center;padding:82px 0}.final h2{font-size:clamp(2rem,4vw,3.4rem);margin:0}.final p{max-width:600px;margin:17px auto 28px}.final .btn{background:#fff;color:var(--red);border-color:#fff}footer{background:#070708;color:#fff;padding:58px 0 25px}footer .foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}footer p,footer a{color:#c7c7ca;font-size:.88rem;display:block;margin:7px 0}footer h4{font:.8rem Oswald,sans-serif;letter-spacing:.15em;color:var(--red)}.copy{border-top:1px solid #333;margin-top:32px;padding-top:18px;color:#aaa;font-size:.75rem}.todo{font-size:.85em;color:#9d1a1b;font-weight:700}
@media(max-width:900px){.navlinks{display:none}.menu-button{display:block}.three,.four{grid-template-columns:repeat(2,1fr)}footer .foot{grid-template-columns:1fr 1fr}}@media(max-width:560px){.wrap{padding:0 18px}.hero{padding:85px 0 62px;min-height:440px}.block{padding:58px 0}.two,.three,.four,footer .foot{grid-template-columns:1fr}.page-hero{padding:56px 0 45px}}
.femflora{background:#f8ffff;border-top:5px solid #1FA6A3}.femflora .eyebrow,.femflora .link{color:#117c79}.brand-logo{width:112px;height:auto;margin:0 0 18px}.photo{width:100%;display:block;object-fit:cover}.photo.hero-photo{position:absolute;inset:0;height:100%;z-index:-1;filter:brightness(.42)}.hero{position:relative;isolation:isolate}.photo.card-photo{height:180px;margin:-26px -26px 18px;width:calc(100% + 52px)}.photo.feature{max-height:460px;object-fit:cover;margin:28px 0}.marquee{background:var(--red);color:#fff;padding:12px 0;overflow:hidden;white-space:nowrap;font:600 .82rem Oswald,sans-serif;letter-spacing:.14em}

.ev-grid .ev-card{display:flex;flex-direction:column}.ev-tag{align-self:flex-start;font:600 .6rem Oswald,sans-serif;letter-spacing:.14em;padding:3px 9px;border-radius:3px;margin:0 0 8px;color:#fff}.ev-power{background:#8a5a2b}.ev-endurance{background:#2f6db0}.ev-agility{background:#d98a1e}.ev-card h3{margin:0 0 6px;font-size:1.05rem}.ev-card p{font-size:.85rem}
.legal{max-width:840px}.legal>p{color:#333}.legal h2{font-size:1.25rem;margin:38px 0 12px;padding-top:20px;border-top:1px solid #e6e6e6}.legal h2:first-of-type{border-top:0;margin-top:0;padding-top:0}.legal h3{font-size:1rem;margin:22px 0 6px;color:var(--black)}.legal ul{padding-left:1.25em;margin:8px 0}.legal li{margin:6px 0;color:#333}.legal .lt{width:100%;border-collapse:collapse;margin:8px 0 4px}.legal .lt th{text-align:left;vertical-align:top;width:160px;padding:11px 13px;background:#f5f5f5;border:1px solid #e6e6e6;font-weight:700}.legal .lt td{padding:11px 13px;border:1px solid #e6e6e6;color:#333}@media(max-width:560px){.legal .lt th{width:104px;font-size:.85rem}.legal .lt,.legal .lt tbody,.legal .lt tr{display:block}.legal .lt th,.legal .lt td{display:block;width:auto;border-bottom:0}.legal .lt td{border-top:0}.legal .lt tr{margin-bottom:10px;border:1px solid #e6e6e6}.legal .lt th,.legal .lt td{border-left:0;border-right:0}}
.copy .legal-links{display:block;margin-top:7px}.copy .legal-links a{display:inline;color:#c7c7ca;white-space:nowrap}.copy .legal-links a:hover{color:#fff}.copy .legal-links .sep{display:inline;margin:0 10px;color:#555}
footer p a{display:inline;margin:0}

/* MEMORIES gallery */
.mem-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.mem-meta span{border:1px solid #444;padding:4px 11px;border-radius:20px;font:600 .72rem Oswald,sans-serif;letter-spacing:.1em;color:#ddd}
.gallery{columns:3;column-gap:14px;margin-top:34px}
.gallery a{display:block;break-inside:avoid;margin:0 0 14px}
.gallery img{width:100%;display:block;transition:.2s;border:1px solid #222}
.gallery a:hover img{opacity:.82;transform:scale(1.01)}
.gallery figcaption{display:none}
@media(max-width:900px){.gallery{columns:2}}
@media(max-width:560px){.gallery{columns:2;column-gap:8px}.gallery a{margin-bottom:8px}}

/* MEMORIES: モバイル折りたたみ(ボタンはmain.jsが7枚以上のギャラリーに自動付与) */
.gallery{scroll-margin-top:92px}
.gallery-more{display:none}
@media(max-width:900px){
.gallery.collapsed{max-height:440px;overflow:hidden;position:relative}
.gallery.collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none}
.black .gallery.collapsed::after{background:linear-gradient(rgba(12,12,13,0),var(--black))}
.gallery-more{display:block;margin:14px auto 0;background:transparent;border:1px solid #999;color:#333;padding:12px 26px;font:600 .8rem Oswald,sans-serif;letter-spacing:.12em;cursor:pointer;border-radius:22px}
.black .gallery-more{border-color:#555;color:#ddd}
.gallery-more:active{opacity:.7}
}

.femflora .btn{background:#1FA6A3;border-color:#1FA6A3}.femflora .btn:hover{background:#117c79}

/* RESULTS page */
.res-note{border-left:4px solid var(--red);background:#18181a;padding:14px 18px;font-size:.86rem;color:#c7c7cc;margin:0 0 26px}
.res-label{font:600 .72rem Oswald,sans-serif;letter-spacing:.16em;color:#9a9aa0;margin:26px 0 10px}
.res-table{border:1px solid #2c2c30;background:#18181a}
.res-row{display:grid;grid-template-columns:1.7fr 1fr .8fr 1fr .6fr;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid #2c2c30}
.res-row:last-child{border-bottom:0}
.res-head{background:#121214;font:600 .66rem Oswald,sans-serif;letter-spacing:.14em;color:#8a8a90;padding:11px 18px}
.res-name{font-weight:700;color:#fff}
.res-name i{font-style:normal;font-size:.62rem;letter-spacing:.08em;background:var(--red);color:#fff;padding:2px 7px;border-radius:3px;margin-left:9px;vertical-align:middle}
.res-div{font-size:.76rem;color:#c7c7cc}
.res-time{font:1.15rem Oswald,sans-serif;color:#fff}
.res-rank{font-size:.86rem;color:#c7c7cc}
.res-rank small{font-size:.7rem;color:#8a8a90}
.res-link a{font-size:.76rem;color:var(--red);font-weight:700}
.res-src{font-size:.8rem;color:#9a9aa0;margin-top:18px}
.res-src a{color:var(--red);font-weight:700}
.res-cta{border:1px solid #ddd;background:#fafafa;padding:30px 28px;margin-top:26px;text-align:center}
.res-cta-t{font:1.15rem Anton,sans-serif;letter-spacing:.04em;margin:0 0 6px}
.res-cta p{color:#555;font-size:.9rem;margin:0 auto 18px;max-width:560px}
@media(max-width:700px){
.res-row{grid-template-columns:1fr auto;gap:5px 12px;padding:14px 15px}
.res-head{display:none}
.res-name{grid-column:1;font-size:.95rem}
.res-time{grid-column:2;grid-row:1;text-align:right;font-size:1.25rem}
.res-div{grid-column:1;grid-row:2;font-size:.72rem}
.res-rank{grid-column:2;grid-row:2;text-align:right;font-size:.76rem}
.res-link{grid-column:1/-1;grid-row:3;margin-top:4px}
.res-cta{padding:22px 16px}
}

/* FOUNDER race result */
.race-result{border:1px solid #333;background:#121214;padding:30px 28px;margin:34px 0 30px}
.rr-badge{display:inline-block;background:var(--red);color:#fff;font:600 .68rem Oswald,sans-serif;letter-spacing:.18em;padding:4px 11px;margin-bottom:12px}
.rr-head h3{margin:0;font-size:clamp(1.15rem,2.6vw,1.6rem);line-height:1.4}
.rr-head .rr-div{display:inline-block;font-size:.72em;font-weight:500;color:#c7c7cc;margin-left:12px}
.rr-place{margin:6px 0 0;font-size:.82rem;color:#9a9aa0}
.rr-stats{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:14px;margin:24px 0 10px}
.rr-stat{border:1px solid #2c2c30;background:#18181a;padding:16px 18px}
.rr-stat small{display:block;font:600 .66rem Oswald,sans-serif;letter-spacing:.14em;color:#9a9aa0;margin-bottom:6px}
.rr-stat b{font:2rem Anton,sans-serif;letter-spacing:.03em;color:#fff;line-height:1}
.rr-stat b i{font-style:normal;font-size:.5em;margin-left:2px}
.rr-stat span{display:block;font-size:.74rem;color:#9a9aa0;margin-top:5px}
.rr-main{border-color:var(--red);background:linear-gradient(135deg,#1c0d0e,#2a1112)}
.rr-main b{color:var(--red);font-size:2.6rem}
.rr-note{font-size:.8rem;color:#9a9aa0;margin:14px 0 0}
.rr-note a{color:var(--red);font-weight:700}
/* charts */
.rr-bg-run{background:var(--red)}.rr-bg-sta{background:#3D7DE0}.rr-bg-rox{background:#B08419}
.rr-chart{border:1px solid #2c2c30;background:#18181a;padding:18px 20px;margin-top:14px}
.rr-ct{margin:0 0 14px;font:600 .72rem Oswald,sans-serif;letter-spacing:.16em;color:#c7c7cc}
.rr-ct span{float:right;font-weight:500;letter-spacing:.06em;color:#8a8a90}
.rr-compbar{display:flex;gap:2px;height:34px}
.rr-seg{border-radius:0;display:flex;align-items:center;padding:0 10px;min-width:0;overflow:hidden}
.rr-seg:first-child{border-radius:4px 0 0 4px}.rr-seg:last-child{border-radius:0 4px 4px 0}
.rr-seg span{font:600 .72rem Oswald,sans-serif;letter-spacing:.06em;color:#fff;white-space:nowrap}
.rr-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px}
.rr-legend span{font-size:.72rem;color:#c7c7cc}
.rr-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}
.rr-charts2{display:grid;grid-template-columns:1.15fr 1fr;gap:14px}
.rr-hbars{display:grid;gap:9px}
.rr-hrow{display:grid;grid-template-columns:118px 1fr 42px 40px;align-items:center;gap:10px}
.rr-hrow small{font-size:.7rem;color:#c7c7cc;line-height:1.3}
.rr-htrack{background:#242428;border-radius:0 4px 4px 0;height:14px}
.rr-hbar{height:100%;background:#3D7DE0;border-radius:0 4px 4px 0;min-width:6px}
.rr-hrow b{font:.82rem Oswald,sans-serif;color:#fff;text-align:right}
.rr-hrow span{font-size:.66rem;color:#8a8a90;text-align:right;white-space:nowrap}
.rr-hrow .rr-best{color:#fff;font-weight:700}
.rr-cols{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;align-items:end;height:170px}
.rr-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}
.rr-col b{font:.72rem Oswald,sans-serif;color:#c7c7cc;margin-bottom:4px}
.rr-cbar{width:100%;max-width:34px;background:var(--red);border-radius:4px 4px 0 0}
.rr-col small{font-size:.66rem;color:#8a8a90;margin-top:5px}
.rr-col i{position:absolute;top:-4px;font:700 .58rem 'Noto Sans JP',sans-serif;font-style:normal;color:#fff;background:var(--red);padding:1px 6px;border-radius:8px;letter-spacing:.08em}
.rr-fastest b{color:#fff;margin-top:14px}
.rr-cap{margin:12px 0 0;font-size:.74rem;color:#9a9aa0}
@media(max-width:900px){.rr-stats{grid-template-columns:1fr 1fr}.rr-charts2{grid-template-columns:1fr}}
@media(max-width:560px){.race-result{padding:22px 16px;margin:26px 0 24px}.rr-stats{grid-template-columns:1fr 1fr;gap:9px}.rr-stat{padding:13px 14px}.rr-main b{font-size:2.1rem}.rr-head .rr-div{display:block;margin:4px 0 0}.rr-chart{padding:14px 13px}.rr-hrow{grid-template-columns:96px 1fr 40px 36px;gap:7px}.rr-hrow small{font-size:.64rem}.rr-cols{height:140px;gap:5px}.rr-col b{font-size:.62rem}.rr-seg span{font-size:.62rem}.rr-seg{padding:0 6px}.rr-ct span{float:none;display:block;margin-top:3px}}

.usage-guide{max-width:720px;margin:6px auto 0}.ug-layer{border-radius:12px;padding:22px 26px}.ug-base{border:2px solid var(--black);background:var(--black);color:#fff}.ug-option{border:2px dashed #c99700;background:#fffdf3;margin:0 5%}.ug-tag{display:inline-block;font:700 .68rem Oswald,sans-serif;letter-spacing:.1em;padding:4px 12px;border-radius:20px;margin-bottom:10px}.ug-base .ug-tag{background:var(--red);color:#fff}.ug-option .ug-tag{background:#c99700;color:#fff}.ug-layer h3{margin:0 0 6px;font-size:1.25rem}.ug-layer>p{font-size:.9rem;margin:0}.ug-base>p{color:#d7d7da}.ug-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ug-chips span{border:1px solid #3a3a3d;border-radius:6px;padding:6px 11px;font-size:.8rem;background:#18181a;color:#eee}.ug-connect{text-align:center;font:800 1.5rem Anton,sans-serif;color:#c99700;line-height:1;margin:6px 0}.ug-misconception{max-width:720px;margin:28px auto 0;border:2px solid var(--red);border-radius:12px;background:#fff5f5;padding:20px 24px}.ug-misconception b{color:var(--red);font-size:1.02rem}.ug-misconception p{margin:8px 0 0;font-size:.9rem;color:#333;line-height:1.8}.ug-price-wrap{overflow-x:auto;max-width:720px;margin:10px auto 0}.ug-price{width:100%;border-collapse:collapse;min-width:440px}.ug-price th,.ug-price td{border:1px solid #e1e1e1;padding:11px 12px;text-align:center;font-size:.92rem}.ug-price thead th{background:#f5f5f5}.ug-price td:first-child,.ug-price th:first-child{text-align:left;font-weight:700}.ug-price .ug-mem{color:var(--red);font-weight:700}.ug-note{max-width:720px;margin:12px auto 0;font-size:.82rem;color:#777;line-height:1.8}