/* BOSE X / Static LP / 2026-11 TEST
   文字・URL・掲載リストは data.js を編集してください。
   見た目を変えるときにこのファイルを編集します。 */
:root {
  --bg: #101012; --bg2: #18181b; --bg3: #222225;
  --ink: #f2eee9; --muted: #a19e9b; --muted2: #747370;
  --line: rgba(255,255,255,.17); --red: #ee4939;
  --red2: #ff6d51; --cream: #e9e4db;
  --max: 1240px; --font-jp: "Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  --font-display: Impact,"Arial Narrow","Arial Black",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:104px}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-jp); line-height:1.8; letter-spacing:.025em; -webkit-font-smoothing:antialiased; overflow-x:hidden}
body.menu-open{overflow:hidden}
img,iframe,svg{max-width:100%}
img{display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red2);outline-offset:5px}
::selection{background:var(--red);color:#fff}
.container{max-width:var(--max);padding:0 44px;margin:0 auto}
.section{padding:120px 0;position:relative}
.skip-link{position:fixed;z-index:2000;top:-100px;left:20px;background:#fff;color:#111;padding:12px 20px}
.skip-link:focus{top:10px}
.scroll-progress{position:fixed;z-index:1100;top:0;left:0;height:3px;width:0;background:var(--red);transition:width .05s linear}
.test-ribbon{height:28px;background:#ef493a;display:flex;align-items:center;justify-content:center;gap:9px;color:#181312;font-family:Arial,sans-serif;font-size:10px;font-weight:900;letter-spacing:.13em;text-align:center}
.test-ribbon-dot{width:7px;height:7px;border-radius:50%;background:#17120f}
.ribbon-divider{opacity:.5}
.site-header{position:sticky;top:0;z-index:1000;height:78px;background:rgba(13,13,15,.92);border-bottom:1px solid rgba(255,255,255,.11);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.header-inner{height:100%;display:flex;align-items:center;gap:40px}
.brand{display:flex;align-items:baseline;position:relative;font:900 31px/.8 var(--font-display);letter-spacing:-.03em;flex-shrink:0}
.brand-x,.footer-brand span{color:var(--red);display:inline-block;transform:rotate(-9deg);margin-left:3px;font-size:1.26em}
.brand small{font:700 8px/1 Arial,sans-serif;letter-spacing:.21em;color:#89888a;position:absolute;left:1px;bottom:-14px;white-space:nowrap}
.desktop-nav{display:flex;gap:24px;align-items:center;justify-content:center;flex:1}
.desktop-nav a{font:800 11px/1 Arial,sans-serif;letter-spacing:.13em;color:#d2ceca;transition:color .2s}
.desktop-nav a:hover{color:var(--red2)}
.header-cta{background:var(--red);color:#141110;padding:13px 19px;font:900 11px/1 Arial,sans-serif;letter-spacing:.13em;display:inline-flex;gap:18px;align-items:center;transition:transform .2s,background .2s;white-space:nowrap}
.header-cta:hover{background:#fa6852;transform:translateY(-2px)}
.menu-toggle{display:none;border:0;background:transparent;color:white;padding:15px 5px;width:42px;height:42px;cursor:pointer}
.menu-toggle span{display:block;background:#fff;height:2px;width:28px;transition:transform .25s;margin:6px auto}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu[hidden]{display:none!important}
.mobile-menu{display:none}
.hero{min-height:740px;height:min(850px,calc(100svh - 106px));position:relative;overflow:hidden;display:flex;align-items:stretch;background:#111}
.hero-photo-wrap{position:absolute;inset:0 0 0 23%;overflow:hidden}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:51% 48%;filter:saturate(.91) contrast(1.08)}
.hero-shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0e 0%,rgba(11,11,14,.97) 12%,rgba(11,11,14,.84) 36%,rgba(11,11,14,.2) 73%,rgba(11,11,14,.08) 100%),linear-gradient(0deg,rgba(11,11,14,.96) 0%,transparent 38%)}
.hero-texture{position:absolute;inset:0;opacity:.15;pointer-events:none;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 4px,rgba(0,0,0,.12) 5px,transparent 6px)}
.hero-content{width:100%;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding-top:58px;padding-bottom:135px}
.hero-words{max-width:780px}
.hero-eyebrow,.eyebrow,.small-kicker,.section-overline,.small-caps{display:flex;gap:10px;align-items:center;font:900 12px/1.5 Arial,sans-serif;letter-spacing:.21em;color:var(--red2)}
.hero-eyebrow{margin-bottom:32px}.signal-dot{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px rgba(238,73,57,.15)}
.hero-title{font-family:var(--font-jp);font-weight:900;font-size:clamp(52px,5.9vw,89px);letter-spacing:-.085em;line-height:1.25;margin:0 0 22px;text-shadow:0 10px 40px #000a}
.hero-title span{display:block}.hero-title-accent{color:var(--red2)}
.hero-lead{font-size:clamp(19px,2.05vw,29px);font-weight:800;letter-spacing:.04em;margin:0 0 16px}
.hero-description{color:#ddd9d3;white-space:pre-line;line-height:2.05;font-size:14px;margin:0 0 32px;max-width:620px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 22px;min-height:55px;font-weight:800;font-size:13px;letter-spacing:.04em;cursor:pointer;transition:transform .25s,background .25s,color .25s,border .25s}
.btn:hover{transform:translateY(-3px)}
.btn-solid{background:var(--red);color:#161010}.btn-solid:hover{background:#fa6a54}
.btn-outline{border-color:rgba(255,255,255,.45);background:rgba(0,0,0,.18);color:#fff}.btn-outline:hover{border-color:#fff;background:#fff;color:#111}
.hero-info-bar{position:absolute;bottom:31px;left:44px;right:44px;display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:30px;border-top:1px solid rgba(255,255,255,.28);padding-top:23px}
.hero-info-bar>div{display:flex;flex-direction:column;gap:5px}.info-bar-label{font:700 10px/1.3 Arial,sans-serif;letter-spacing:.18em;color:#a6a3a1}
.hero-info-bar strong{font-size:clamp(13px,1.42vw,18px);letter-spacing:.015em;line-height:1.3;font-weight:900}.hero-info-bar strong em{font-style:normal;font-size:.65em;color:var(--red2);margin-left:7px}
.hero-free strong{font:900 23px/1.4 var(--font-display);letter-spacing:.03em;color:var(--red2)}.hero-free strong span{font-family:var(--font-jp);font-size:12px;color:#fff;margin-left:8px}
.hero-side-mark{position:absolute;right:18px;top:50%;writing-mode:vertical-rl;font:800 10px/1 Arial,sans-serif;letter-spacing:.26em;opacity:.65;z-index:3}
.hero-scroll-hint{position:absolute;right:46px;bottom:39px;display:none;font:800 10px/1 Arial,sans-serif;letter-spacing:.16em}
.marquee-band{height:53px;overflow:hidden;background:var(--red);display:flex;align-items:center;color:#181311}
.marquee-track{display:flex;gap:34px;align-items:center;width:max-content;white-space:nowrap;animation:marquee 35s linear infinite;font:900 17px/1 Arial,sans-serif;letter-spacing:.1em;transform:translateX(0)}
.marquee-cross{font-size:28px}@keyframes marquee{to{transform:translateX(-50%)}}
.eyebrow{gap:20px;margin:0 0 32px;font-size:11px;color:var(--red)}.section-line{height:1px;width:75px;background:rgba(255,255,255,.28)}
.section-heading{margin:0}.text-outline{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.56)}
.story-section{background:var(--bg)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}
.story-heading{font:900 clamp(75px,10vw,155px)/.91 var(--font-display);letter-spacing:-.025em;display:flex;flex-direction:column}
.story-timeline-arrow{color:var(--red);font:700 .68em/1 Arial,sans-serif;margin:10px 0 10px 50px}
.story-measure{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:22px;margin-top:34px}
.story-measure>span{font:900 116px/.9 var(--font-display);color:var(--red);letter-spacing:-.08em}
.story-measure>div{font:900 14px/1.6 Arial,sans-serif;letter-spacing:.17em}
.accent-dot{color:var(--red)}
.section-overline{margin:0 0 28px;font-size:11px}
.story-subheading{font-size:clamp(23px,2.6vw,35px);font-weight:900;line-height:1.6;letter-spacing:-.035em;white-space:pre-line;margin:0 0 28px}
.story-right>p:not(.section-overline):not(.micro-note){font-size:15px;color:#bdb8b2;line-height:2.2;margin:0 0 17px}
.story-quote{border-left:3px solid var(--red);padding:4px 0 4px 20px;margin:35px 0 27px;display:flex;gap:12px;align-items:flex-start}
.story-quote>span{font:900 46px/.9 Georgia,serif;color:var(--red)}.story-quote p{font-weight:900;font-size:20px;line-height:1.65;margin:0}
.micro-note,.fine-print,.section-footnote{font-size:11px!important;line-height:1.9!important;color:#92908e!important}
/* 小さなストーリー：写真そのものが語るよう、控えめで温かい余白にする。 */
.guitar-story-container{margin-top:108px}
.guitar-story-divider{display:flex;align-items:center;gap:21px;max-width:100%;margin:0 0 69px;color:#b5a498}
.guitar-story-divider span:first-child{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2))}
.guitar-story-divider span:last-child{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.2),transparent)}
.guitar-story-divider-mark{font-size:17px;color:#8f8b86}
.guitar-story-grid{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:clamp(48px,9.5%,126px);align-items:center;max-width:1135px;margin:0 auto}
.guitar-story-photo-wrap{margin:0;min-width:0}
.guitar-story-photo-frame{position:relative;isolation:isolate;background:#1c1b1d;box-shadow:0 18px 55px rgba(0,0,0,.28);overflow:hidden;border:1px solid rgba(235,209,175,.1)}
.guitar-story-photo-frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.035);pointer-events:none}
.guitar-story-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;display:block}
.guitar-story-caption{display:flex;justify-content:space-between;gap:12px;margin-top:15px;color:#9b918c;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.15em}
.guitar-story-copy{padding:13px 0 18px;max-width:515px}
.guitar-story-eyebrow{display:flex;align-items:center;gap:12px;font:900 11px/1.5 Arial,sans-serif;color:var(--red2);letter-spacing:.23em;margin:0 0 31px}
.guitar-story-redline{width:25px;height:2px;background:var(--red)}
.guitar-story-heading{font-size:clamp(29px,3.15vw,44px);font-weight:900;letter-spacing:-.065em;line-height:1.62;margin:0 0 25px;text-wrap:pretty;white-space:pre-line}
.guitar-story-lead{font-size:clamp(15px,1.55vw,19px);line-height:1.9;font-weight:800;color:var(--cream);margin:0 0 28px}
.guitar-story-body{font-size:14px;line-height:2.25;color:#bbb7b1;margin:0 0 14px;max-width:34em}
.guitar-story-signature{font:800 10px/1.5 Arial,sans-serif;letter-spacing:.2em;color:#716e6b;border-top:1px solid rgba(255,255,255,.15);margin:42px 0 0;padding-top:19px}
@media(max-width:920px){.guitar-story-grid{grid-template-columns:minmax(0,42%) 1fr;gap:6%}.guitar-story-container{margin-top:90px}.guitar-story-heading{font-size:clamp(26px,3vw,36px)}}
@media(max-width:700px){.guitar-story-container{margin-top:72px}.guitar-story-divider{margin-bottom:47px}.guitar-story-grid{grid-template-columns:1fr;gap:31px;max-width:500px}.guitar-story-photo-wrap{max-width:430px;width:100%;margin:0 auto}.guitar-story-photo{aspect-ratio:4/5}.guitar-story-copy{padding:0 0 10px}.guitar-story-eyebrow{margin-bottom:16px;font-size:10px}.guitar-story-heading{font-size:clamp(28px,7.4vw,38px);line-height:1.56;margin-bottom:15px}.guitar-story-lead{font-size:16px;margin-bottom:17px}.guitar-story-body{font-size:13px;line-height:2.15}.guitar-story-signature{margin-top:25px}.guitar-story-caption{font-size:9px}}
.live-section{background:var(--cream);color:#19191a;overflow:hidden}
.live-section .eyebrow{color:#bc3f32}.live-section .section-line{background:#bcb6ae}.live-section .small-kicker{font-size:10px;color:#6b6865}
.section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start;margin-top:14px}
.display-heading{font:900 clamp(82px,10.5vw,150px)/.82 var(--font-display);letter-spacing:-.018em;margin:0}.display-heading em{color:var(--red);font-style:normal}.display-heading.short{font-size:clamp(72px,9.2vw,120px);line-height:.88}
.event-date-block{margin-top:65px;border-top:1px solid #b6b2aa;padding-top:25px;max-width:525px}.event-year{display:block;font:900 22px/1 var(--font-display);letter-spacing:.09em;color:var(--red)}
.event-month-day{font:900 clamp(100px,11vw,162px)/1 var(--font-display);letter-spacing:-.025em;margin:7px 0}.date-slash{color:var(--red);font-size:.7em}
.event-weekday{font:900 24px/1.2 var(--font-display);letter-spacing:.06em;display:flex;gap:15px;align-items:center}.event-weekday span{font:800 12px/1 var(--font-jp);background:#1e1e20;color:white;padding:10px 12px;letter-spacing:0}
.live-details{padding-top:16px}.detail-top{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.pill{font:800 11px/1 Arial,sans-serif;letter-spacing:.07em;padding:11px 13px}.pill-red{background:var(--red);color:#16110f}.pill-white{border:1px solid #bbb3a9;color:#181719}
.detail-intro{font-size:clamp(18px,2vw,24px);font-weight:900;line-height:1.7;letter-spacing:-.035em;margin:0 0 32px}
.event-detail-list{margin:0;border-top:1px solid #bcb6ad}.event-detail-list>div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid #c6c0b8}
.event-detail-list dt{font-size:12px;font-weight:800;color:#696662;padding-top:3px}.event-detail-list dd{font-size:14px;font-weight:800;margin:0;line-height:1.6}.event-detail-list dd strong{font-size:16px}.event-detail-list dd small{font-size:12px;display:block;font-weight:400;color:#55524e;margin-top:4px}
.event-actions{display:flex;flex-wrap:wrap;gap:22px;margin:28px 0}.text-link{font-size:13px;font-weight:900;border-bottom:1px solid #1b1a19;padding-bottom:7px;display:inline-flex;gap:25px;align-items:center;transition:color .2s}.text-link:hover{color:var(--red)}
.info-callout{display:flex;align-items:flex-start;gap:14px;background:#e0dad0;padding:17px;font-size:11px;line-height:1.8;color:#504c47}.info-callout-icon{background:#222;color:#fff;border-radius:50%;width:20px;height:20px;flex:0 0 20px;text-align:center;line-height:20px;font:900 13px/20px Arial,sans-serif}
.members-section{background:#151517}.section-heading-row,.video-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:48px}
.heading-side-note{color:#eee9e3;font-size:15px;line-height:1.95;font-weight:800;margin:0 0 9px}.heading-side-note span{font-size:12px;font-weight:400;color:var(--muted)}
.members-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.member-card{min-width:0}.member-photo-placeholder,.member-photo{aspect-ratio:3/4;position:relative;overflow:hidden;width:100%;background:linear-gradient(142deg,#3e3d40 0%,#262528 50%,#1d1d1f 100%);border:1px solid #444044}
.member-photo-placeholder:before,.member-photo-placeholder:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:50%;width:150%;aspect-ratio:1;left:15%;top:8%}.member-photo-placeholder:after{width:180%;top:50%;left:-72%}
.member-photo-placeholder>span{position:absolute;font:900 clamp(80px,10vw,160px)/1 var(--font-display);color:rgba(255,255,255,.07);left:10%;top:20%;letter-spacing:-.05em}.member-photo-placeholder small{position:absolute;bottom:19px;left:18px;font:800 10px/1 Arial,sans-serif;letter-spacing:.12em;color:#a19d9b}
.member-photo{object-fit:cover;object-position:center}
.member-caption{padding:20px 0 4px;display:flex;flex-direction:column;gap:5px;border-top:2px solid var(--red);margin-top:7px}.member-caption h3{font:900 20px/1.3 Arial,var(--font-jp),sans-serif;letter-spacing:.03em;margin:0;overflow-wrap:anywhere}.member-caption p{color:#aaa7a3;font-size:11px;margin:0;line-height:1.7}
.section-footnote{margin-top:26px}
.video-section{background:#0f0f11}.videos-list{display:grid;gap:34px}.video-card{display:grid;grid-template-columns:1.75fr 1fr;gap:30px;align-items:stretch}
.video-embed{aspect-ratio:16/9;background:#080809;border:1px solid #303033;overflow:hidden}.video-embed iframe{display:block;width:100%;height:100%;border:0}
.video-meta{border-top:1px solid var(--line);padding:30px 0;display:flex;flex-direction:column;justify-content:space-between}.video-index{font:900 11px/1 Arial,sans-serif;letter-spacing:.17em;color:var(--red)}.video-meta h3{font-size:clamp(19px,2.3vw,31px);line-height:1.5;margin:20px 0 10px}.video-meta p{color:var(--muted);font-size:13px}.video-meta a{color:#fff;border-bottom:1px solid #aaa;padding-bottom:7px;font-size:12px;font-weight:800;width:fit-content}
.join-section{background:#222124;overflow:hidden}.join-intro{text-align:center;margin:0 auto 60px;max-width:1050px}.join-intro .eyebrow{justify-content:center}.join-big{font:900 clamp(55px,9.1vw,122px)/.96 var(--font-display);letter-spacing:-.018em;margin:0 0 31px}.join-big span{color:var(--red)}
.join-intro>p:last-child{font-size:15px;line-height:2.1;color:#d6d0ca}
.join-cards{display:grid;grid-template-columns:1fr 1fr;gap:17px}.join-card{min-height:530px;display:flex;flex-direction:column;position:relative;padding:31px 35px 0;overflow:hidden}
.request-card{background:#eee9df;color:#141416}.crowdfunding-card{background:#d84a3c;color:#1d1514}
.card-topline{display:flex;justify-content:space-between;align-items:start;gap:20px;font:900 11px/1 Arial,sans-serif;letter-spacing:.12em}
.card-symbol{font-size:31px}.card-contents{padding-top:36px;flex:1}.card-contents h3{font-size:clamp(30px,3.1vw,43px);line-height:1.4;letter-spacing:-.075em;font-weight:900;margin:0 0 18px}.card-contents>p:not(.fine-print){font-size:14px;line-height:2;max-width:410px}.card-contents .fine-print{color:#514b46!important;max-width:480px;margin-top:20px}
.mini-record{width:64px;height:64px;border:12px solid #222;border-radius:50%;margin-bottom:20px;position:relative;box-shadow:inset 0 0 0 8px #eee9df,0 0 0 1px #222}.mini-record span{position:absolute;width:10px;height:10px;background:#e4493b;border-radius:50%;left:15px;top:15px}
.small-caps{font-size:11px;color:#471d1b;margin:0 0 20px}
.funding-mini{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:23px 0 18px;padding:17px 0;border-top:1px solid #692d27;border-bottom:1px solid #692d27}.funding-mini span{font-size:12px;font-weight:800}.funding-mini strong{font:900 33px/1 var(--font-display)}
.join-card-bottom{margin:25px -35px 0}.pending-action,.active-action{display:flex;justify-content:space-between;align-items:center;padding:20px 35px;min-height:66px;font-size:13px;font-weight:900;gap:16px}
.request-card .pending-action{background:#ded8ce;color:#756f68}.crowdfunding-card .pending-action{background:#b93d32;color:#fbe4db}
.active-action{background:#171719;color:#fff;transition:background .2s}.active-action:hover{background:#000}.active-action span:last-child{font-size:21px}
.tiers-wrap{border-top:1px solid #5c5759;margin-top:70px;padding-top:34px}.tiers-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.tiers-heading h3{font:900 23px/1 var(--font-display);letter-spacing:.09em;margin:0}.tiers-heading h3 small{font:700 11px/1 var(--font-jp);color:#afaaaa;margin-left:12px}.tiers-heading>span{font-size:11px;color:#b2acaa}
.tiers-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.tier{border:1px solid #5b5557;min-width:0;padding:21px 14px 20px;transition:border-color .2s,transform .2s}.tier:hover{border-color:#fff;transform:translateY(-3px)}.tier-price{font:900 clamp(20px,2.3vw,31px)/1 var(--font-display);color:#fff}.tier-title{font-size:12px;font-weight:800;color:#c2bbbb;margin:16px 0 0;line-height:1.7}.tiers-disclaimer{font-size:11px;color:#b7b0ae;line-height:2;margin-top:19px}
.supporters-section{background:#141416}.supporters-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:9%}.supporters-lead{font-size:18px;line-height:2.1;margin:32px 0 20px}.supporter-group{border-top:1px solid #656162;padding:22px 0 34px}.supporter-group h3{font:900 13px/1.7 Arial,sans-serif;letter-spacing:.12em;display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:0 0 23px}.supporter-group h3 span{font:700 11px/1 var(--font-jp);letter-spacing:0;color:var(--muted)}
.empty-supporters{border:1px dashed #575457;min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font:900 19px/1.2 var(--font-display);letter-spacing:.07em;color:#777376}.empty-supporters span{font:800 10px/1 Arial,sans-serif;letter-spacing:.14em;color:#666367}
.supporter-items:not(:has(.empty-supporters)),.sponsor-items:not(:has(.empty-supporters)){display:flex;flex-wrap:wrap;gap:10px}.supporter-name{padding:13px 17px;border:1px solid #5c585a;font-weight:800;font-size:13px}.sponsor-item{min-width:140px;min-height:95px;padding:16px;border:1px solid #555;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;text-align:center}.sponsor-item img{max-height:60px;width:auto;object-fit:contain}.sponsor-item:hover{border-color:var(--red)}
.news-section{background:#eee9df;color:#19191b}.news-section .eyebrow{color:#bf483a}.news-section .section-line{background:#aaa}.news-section .heading-side-note{color:#373433}.news-list{border-top:2px solid #1a1a1b}
.news-item{display:grid;grid-template-columns:130px 78px 1fr 26px;gap:17px;align-items:start;padding:26px 0;border-bottom:1px solid #bdb8b0}.news-item time{font:800 14px/1.7 Arial,sans-serif;white-space:nowrap}.news-tag{font:900 10px/1 Arial,sans-serif;letter-spacing:.09em;background:#181819;color:#fff;padding:8px 9px;width:fit-content}.news-item h3{font-size:16px;font-weight:900;margin:0 0 4px}.news-item p{font-size:13px;line-height:1.85;margin:0;color:#565250}.news-arrow{font-size:19px;color:var(--red)}
.faq-section{background:#171719}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:14%}.faq-side-text{font-size:17px;line-height:2.1;color:#c1bbb7;margin-top:42px}.faq-list{border-top:1px solid #575354}.faq-list details{border-bottom:1px solid #575354}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 4px;font-size:15px;font-weight:900;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";flex:0 0 27px;width:27px;height:27px;border:1px solid #716c6d;border-radius:50%;display:grid;place-items:center;font:900 19px/1 Arial,sans-serif;color:var(--red)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:0;padding:0 41px 27px 4px;font-size:13px;line-height:2;color:#b9b3b0}
.closing-section{min-height:570px;background:#0c0c0e;display:flex;align-items:center;text-align:center;position:relative;overflow:hidden;padding:100px 0}.closing-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 96%,rgba(221,62,49,.2),transparent 58%),repeating-linear-gradient(90deg,transparent 0,transparent 110px,rgba(255,255,255,.025) 111px,transparent 112px)}
.closing-content{position:relative;z-index:1}.closing-overline{font:900 11px/1.6 Arial,sans-serif;letter-spacing:.2em;color:var(--red2)}.closing-content h2{font-size:clamp(65px,9vw,120px);font-weight:900;line-height:1.2;letter-spacing:-.075em;margin:25px 0 17px}.closing-content h2 span{color:var(--red2)}.closing-content>p:not(.closing-overline){font-size:15px;line-height:2;color:#c7c0bc}.closing-actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin:32px 0}.closing-date{font:900 19px/1 Arial,sans-serif;letter-spacing:.07em;margin-top:45px}.closing-date span{font:700 12px/1 var(--font-jp);letter-spacing:0;color:#9e9591}
.footer{background:#0a0a0b;border-top:1px solid #292729;padding:40px 0}.footer-inner{display:flex;justify-content:space-between;align-items:start;gap:35px}.footer-brand{font:900 42px/1 var(--font-display);letter-spacing:-.025em}.footer-inner>div:first-child p{color:#918c89;font-size:12px;margin:12px 0 0}.footer-right{text-align:right}.footer-right>a{font:900 11px/1 Arial,sans-serif;letter-spacing:.11em}.footer-right p{font:700 10px/1.7 Arial,var(--font-jp),sans-serif;letter-spacing:.08em;color:#7f7a79;margin:13px 0 0}.footer-right .footer-test{letter-spacing:0;font-size:11px}
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:15px 24px;border:1px solid #7b7270;background:#232225;color:white;box-shadow:0 15px 50px #0008;z-index:1100;font-size:13px;white-space:nowrap;max-width:calc(100vw - 30px);text-align:center}
.reveal{opacity:1;transform:none}body.has-js .reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}body.has-js .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.desktop-nav{gap:15px}.desktop-nav a{font-size:10px}.header-inner{gap:25px}.hero-photo-wrap{left:15%}.hero-content{padding-bottom:132px}.hero-title{font-size:clamp(52px,6.1vw,76px)}.tier{padding:18px 10px}.tier-title{font-size:11px}}
@media(max-width:920px){.container{padding-left:30px;padding-right:30px}.site-header{height:72px}.header-inner{gap:20px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-menu{display:flex;flex-direction:column;background:rgba(18,18,20,.99);position:absolute;left:0;right:0;top:72px;max-height:calc(100svh - 72px);overflow:auto;padding:14px 30px 28px;border-bottom:1px solid var(--line);box-shadow:0 20px 60px #0008}.mobile-menu a{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);font:900 21px/1.3 var(--font-display);padding:17px 4px;letter-spacing:.07em}.mobile-menu a span{font:700 12px/1 var(--font-jp);color:var(--muted);letter-spacing:0}
 .hero{min-height:710px;height:calc(100svh - 100px)}.hero-content{padding-bottom:125px}.hero-info-bar{left:30px;right:30px}.hero-side-mark{display:none}.story-grid{gap:7%}.story-heading{font-size:clamp(78px,11vw,130px)}.live-grid{gap:5%}.members-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.member-photo-placeholder>span{font-size:150px}.video-card{grid-template-columns:1.4fr 1fr}.tiers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.supporters-grid{gap:5%}.faq-grid{gap:6%}}
@media(max-width:700px){.section{padding:77px 0}.container{padding-left:22px;padding-right:22px}.test-ribbon{font-size:9px;letter-spacing:.055em;height:29px}.site-header{height:69px}.mobile-menu{top:69px}.brand{font-size:29px}.hero{display:block;height:auto;min-height:0;padding-bottom:0;background:#0c0c0e}.hero-photo-wrap{position:relative;inset:auto;width:100%;aspect-ratio:1.28/1;overflow:hidden}.hero-photo{object-fit:cover;object-position:center 48%;filter:saturate(.98)}.hero-shade{background:linear-gradient(0deg,#0c0c0e 0%,transparent 31%);inset:0 0 auto;height:calc(100vw / 1.28);max-height:calc(100vw / 1.28);z-index:1}.hero-texture{display:none}.hero-content{padding-top:0;padding-bottom:32px;margin-top:-27px;display:block}.hero-words{position:relative;z-index:5}.hero-eyebrow{font-size:10px;letter-spacing:.12em;margin:0 0 16px}.signal-dot{width:6px;height:6px;box-shadow:0 0 0 4px rgba(238,73,57,.16)}.hero-title{font-size:clamp(43px,10vw,67px);line-height:1.28;margin-bottom:14px;letter-spacing:-.08em;text-shadow:none}.hero-lead{font-size:18px;margin:0 0 14px}.hero-description{font-size:13px;line-height:1.95;margin-bottom:23px}.hero-actions{gap:9px}.hero-actions .btn{font-size:12px;gap:18px;padding:14px 17px;min-height:51px}.hero-info-bar{position:relative;left:auto;right:auto;bottom:auto;grid-template-columns:1fr 1fr;gap:21px 12px;margin-top:36px;padding:20px 0 0;border-top:1px solid #555}.hero-info-bar strong{font-size:14px;line-height:1.6}.hero-free strong{font-size:24px}.hero-free strong span{font-size:11px}.hero-info-bar>div:nth-child(2){grid-column:1 / -1;grid-row:2}.hero-scroll-hint{display:none}.marquee-band{height:43px}.marquee-track{font-size:13px;gap:20px}.marquee-cross{font-size:22px}
 .story-grid,.live-grid,.supporters-grid,.faq-grid{grid-template-columns:1fr;gap:39px}.story-heading{font-size:clamp(82px,22vw,133px);line-height:.86}.story-timeline-arrow{margin:5px 0 6px 23vw}.story-measure{max-width:360px;margin-top:30px}.story-measure>span{font-size:92px}.story-subheading{font-size:27px}.section-overline{margin-bottom:16px}.story-right>p:not(.section-overline):not(.micro-note){font-size:14px}.story-quote p{font-size:19px}
 .section-top{align-items:start}.small-kicker{display:none}.display-heading{font-size:clamp(83px,21vw,140px)}.display-heading.short{font-size:clamp(76px,19vw,110px)}.live-grid{margin-top:0}.event-date-block{margin-top:35px}.event-month-day{font-size:clamp(110px,23vw,162px)}.live-details{padding-top:6px}.event-detail-list>div{grid-template-columns:82px 1fr}.event-weekday{font-size:20px}.event-date-block{max-width:480px}
 .section-heading-row,.video-top{align-items:start;margin-bottom:33px}.heading-side-note{font-size:12px;max-width:38%;line-height:1.85}.heading-side-note span{font-size:11px}.members-grid{gap:25px 13px}.member-photo-placeholder>span{font-size:clamp(90px,25vw,160px)}.member-caption h3{font-size:16px}.member-caption p{font-size:10px}
 .video-card{grid-template-columns:1fr;gap:0}.video-meta{padding:17px 0 30px;gap:8px}.video-meta h3{margin:10px 0 5px;font-size:21px}.video-meta a{margin-top:10px}
 .join-intro{margin-bottom:35px}.join-big{font-size:clamp(47px,12.2vw,76px)}.join-intro>p:last-child{font-size:13px}.join-cards{grid-template-columns:1fr;gap:13px}.join-card{min-height:475px;padding:25px 25px 0}.card-contents{padding-top:33px}.card-contents h3{font-size:35px}.join-card-bottom{margin-left:-25px;margin-right:-25px}.pending-action,.active-action{padding:18px 25px}.tiers-wrap{margin-top:48px}.tiers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tier-price{font-size:28px}.tiers-heading{align-items:start}.tiers-heading>span{font-size:10px;text-align:right;max-width:120px}
 .supporters-grid{gap:36px}.supporters-lead{margin-top:24px}.news-item{grid-template-columns:98px 1fr 19px;gap:10px;padding:20px 0}.news-item time{font-size:12px}.news-tag{grid-column:1;grid-row:2;font-size:9px}.news-item>div{grid-column:2;grid-row:1 / span 2}.news-item h3{font-size:14px}.news-item p{font-size:12px}.news-arrow{grid-column:3;grid-row:1}.faq-grid{gap:30px}.faq-side-text{margin-top:20px}.faq-list summary{padding:20px 0;font-size:14px}.closing-section{min-height:530px;padding:80px 0}.closing-overline{font-size:9px}.closing-content h2{font-size:clamp(54px,11vw,85px)}.closing-content>p:not(.closing-overline){font-size:13px}.footer-inner{flex-direction:column;gap:36px}.footer-right{text-align:left}
}
@media(max-width:380px){.container{padding-left:18px;padding-right:18px}.test-ribbon{font-size:8px}.hero-title{font-size:42px}.hero-actions .btn{width:100%}.hero-info-bar{gap:16px 8px}.event-detail-list>div{grid-template-columns:72px 1fr;gap:12px}.detail-top{gap:6px}.pill{font-size:10px}.section-heading-row,.video-top{display:block}.heading-side-note{max-width:none;margin-top:20px}.join-big{font-size:45px}.tiers-grid{grid-template-columns:1fr 1fr}.tier-price{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none}body.has-js .reveal{opacity:1;transform:none;transition:none}.btn,.tier,.text-link,.header-cta{transition:none}}

/* 320px幅の小型スマートフォンでも「GOOD PEOPLE.」の見出しを画面内に収める。 */
@media(max-width:380px){#supporters-heading{font-size:clamp(54px,17vw,64px)}.supporters-grid>*{min-width:0}}
