:root{--navy:rgb(30 39 82);--navy2:rgb(30 39 82);--red:#d30027;--deep-red:#a90024;--ink:rgb(30 39 82);--white:#fff;--soft:#f7f4f5;--line:#e9e6e8;--font-ja:"ryo-gothic-plusn","Yu Gothic",YuGothic,Meiryo,sans-serif;--font-en:"neue-plak","Neue Plak","Arial Narrow",sans-serif;color-scheme:light;font-family:var(--font-ja);background:#e8e8e8}
*{box-sizing:border-box}
html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:66px}
body{margin:0;background:#e8e8e8;color:var(--ink);font-family:var(--font-ja);font-weight:600}
.en,.point-no,.section-heading>b,.player-number{font-family:var(--font-en);font-style:italic}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.site-shell{width:100%;max-width:375px;min-height:100vh;margin:auto;overflow:clip;background:#fff;box-shadow:0 0 28px rgb(0 0 0/.14)}
.pc-side{display:none}
.site-header{position:fixed;z-index:30;top:0;left:50%;width:100%;max-width:375px;height:54px;display:flex;align-items:center;background:linear-gradient(110deg,#990020 0 44%,#b70625 44% 100%);color:#fff;transform:translateX(-50%);box-shadow:0 3px 12px rgb(0 0 0/.18)}
.header-brand{width:47%;height:100%;display:flex;align-items:center;gap:7px;padding:5px 7px;font-size:9px;line-height:1.35}
.brand-logo{width:39px;height:48px;flex:none;object-fit:contain;filter:drop-shadow(0 1px 2px rgb(0 0 0/.25))}
.header-ticket{width:39%;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;align-items:center;font-size:10px;line-height:1.15}
.header-ticket__icon{grid-row:1/3;width:25px;height:23px;object-fit:contain}
.header-ticket small{font-size:7px;letter-spacing:.08em}
.menu-button{align-self:stretch;width:52px;margin-left:auto;padding:7px 11px 3px;border:0;background:#d31437;color:#fff}
.menu-button span{display:block;height:3px;margin:3px 0;border-radius:2px;background:#fff}
.menu-button small{font:700 8px var(--font-ja)}
.global-nav{position:fixed;z-index:25;top:54px;left:50%;width:100%;max-width:375px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:6px;background:rgb(30 39 82/.98);color:#fff;transform:translate(-50%,-125%);transition:.25s ease}
.global-nav.is-open{transform:translate(-50%,0)}
.global-nav a{padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:5px;font-size:11px}
main{padding-top:54px}
section[id],aside[id]{scroll-margin-top:66px}
#goods{scroll-margin-top:66px}
.hero{position:relative;isolation:isolate;min-height:940px;padding:38px 15px 22px;overflow:clip;color:#fff;background:var(--navy)}
.hero:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(255,247,249,.2),rgba(185,16,49,.08) 38%,rgb(30 39 82/.84) 82%),linear-gradient(125deg,rgba(222,30,68,.18),transparent 55%)}
.hero>*{position:relative;z-index:2}
.hero>.hero__media{position:sticky;z-index:0;top:0;width:calc(100% + 30px);height:100vh;height:100lvh;margin:-38px -15px calc(-100vh + 38px);margin-bottom:calc(-100lvh + 38px);overflow:hidden;background:var(--navy)}
.hero__video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.78) brightness(1.1) contrast(.9)}
.hero__video-cover{position:absolute;z-index:1;inset:0;opacity:.34;background:url("./assets/video-cover.webp") center top/100% 100% no-repeat;mix-blend-mode:screen;pointer-events:none}
.hero__copy{text-align:center;text-shadow:0 2px 8px #000}
.hero .hero__title{width:100%;margin:0 auto 3px;transform:none}
.hero__title img{display:block;width:100%;height:auto;image-rendering:auto;backface-visibility:hidden;filter:drop-shadow(0 4px 9px rgb(0 0 0/.35))}
.hero__lead{display:inline-block;margin:4px auto 8px;padding:7px 15px;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(255,255,255,.9);color:var(--ink);font-size:15px;line-height:1.35;text-shadow:none;box-shadow:0 4px 14px rgb(0 0 0/.12)}
.hero__lead b{color:#f0183d;font-size:20px;line-height:1}
.hero__text{margin:0;color:#FFF;font-size:14.8px;line-height:1.75;text-shadow:none}
.hero__text strong{color:#fff;font-size:17px}
.match-card{min-height:210px;margin:18px auto 12px;padding:15px 10px;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:start;gap:4px;border-radius:4px;background:linear-gradient(145deg,#df173c,#a90024);color:#fff;box-shadow:0 8px 24px rgb(87 0 20/.28)}
.match-team{min-width:0;padding-top:4px;display:flex;justify-content:center}
.match-team img{width:62px;height:70px;object-fit:contain;filter:drop-shadow(0 2px 3px rgb(0 0 0/.15))}
.match-team__placeholder{width:60px;aspect-ratio:1;display:grid;place-items:center;border:2px solid rgba(255,255,255,.75);border-radius:50%;color:#fff;font-size:19px;line-height:.85;text-align:center}
.match-card__info{min-width:0;text-align:center}
.match-card__eyebrow{display:block;margin-bottom:4px;color:#ffd7de;font-size:8px;font-weight:800;letter-spacing:.12em}
.match-card__date{display:block;font-size:16px;line-height:1.2;letter-spacing:.04em;white-space:nowrap}
.match-card__info>strong{display:block;margin-top:12px;font:italic 48px/.9 var(--font-en)}
.match-card__info>b{display:block;margin-top:12px;font:italic 16px/1 var(--font-en);letter-spacing:.08em}
.match-card__info p{margin:13px -70px 3px;font-size:12px;font-weight:800}
.match-card__info p small{font-size:9px}
.match-card__stadium{display:block;margin:0 -70px;font-size:10px;line-height:1.4}
.primary-cta{min-height:55px;display:flex;align-items:center;justify-content:center;gap:20px;border:2px solid #f52648;border-radius:9px;background:linear-gradient(#eb1535,#b60024);box-shadow:inset 0 0 0 2px rgba(255,255,255,.1),0 5px 0 #72001c;color:#fff;font-size:19px;font-weight:800}
.cta-ticket-icon{width:28px;height:24px;flex:none;object-fit:contain}
.primary-cta span{font-size:32px}
.hero-guide{margin-top:18px}
.hero-guide>p{text-align:center;margin:0 0 8px;padding:7px;background:#fff;color:var(--ink);clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%);font-size:13px}
.hero-guide>p b{color:var(--red);font-size:17px}
.hero-guide>p small{display:block;font-size:10px}
.hero-nav{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.hero-nav a{min-height:43px;padding:7px 6px;display:grid;grid-template-columns:22px 17px minmax(0,1fr);align-items:center;gap:4px;border-radius:6px;background:#fff;color:var(--ink);font-size:10px;line-height:1.3}
.hero-nav em{color:var(--red);font:italic 16px var(--font-en)}
.hero-nav svg{width:17px;height:17px;color:var(--red)}
.section{padding:32px 12px 48px}
.navigator{position:relative;z-index:3;min-height:116px;margin:-10px 0 22px;display:flex;align-items:flex-end;justify-content:center;isolation:isolate}
.navigator:before{content:"";position:absolute;z-index:0;left:76px;top:6px;width:48px;height:42px;background:repeating-conic-gradient(from 198deg at 100% 100%,transparent 0 10deg,var(--ink) 10deg 12deg,transparent 12deg 20deg);clip-path:polygon(0 0,100% 0,100% 100%,76% 100%);opacity:.86;pointer-events:none}
.navigator>img{position:relative;z-index:2;left:auto;bottom:auto;width:82px;height:108px;flex:0 0 82px;margin-right:-12px;object-fit:contain;object-position:center bottom;pointer-events:none;filter:drop-shadow(0 5px 5px rgb(0 0 0/.16))}
.navigator>p{position:relative;width:fit-content;max-width:calc(100% - 70px);min-height:74px;margin:0 0 9px;padding:14px 18px 13px;display:flex;flex-direction:column;justify-content:center;border:2px solid var(--ink);border-radius:22px 24px 20px 8px;background:#fff;color:var(--ink);box-shadow:none;line-height:1.5;text-align:center;transform:rotate(-1deg)}
.navigator>p:before{content:"";position:absolute;z-index:2;left:13px;bottom:-12px;width:20px;height:22px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);background:#fff;clip-path:polygon(0 0,100% 0,0 100%);transform:skew(-11deg)}
.navigator>p:after{content:"";position:absolute;z-index:3;inset:6px -8px -9px 7px;border-radius:inherit;background-color:#f05b72;background-image:radial-gradient(var(--ink) 1px,transparent 1.4px);background-size:5px 5px;clip-path:polygon(calc(100% - 9px) 0,100% 0,100% 100%,0 100%,0 calc(100% - 9px),calc(100% - 9px) calc(100% - 9px));pointer-events:none}
.navigator>p b{position:relative;display:block;color:var(--red);font-size:16px;line-height:1.35}
.navigator>p span{position:relative;display:block;margin-top:4px;font-size:12px;line-height:1.55;text-wrap:balance}
.navigator--right{flex-direction:row-reverse}
.navigator--right:before{right:76px;left:auto;transform:scaleX(-1)}
.navigator--right>img{right:auto;left:auto;margin-right:0;margin-left:-12px}
.navigator--right>p{margin:0 0 9px;text-align:center;transform:rotate(1deg)}
.navigator--right>p:before{right:13px;left:auto;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);border-left:0;clip-path:polygon(0 0,100% 0,100% 100%);transform:skew(11deg)}
.navigator--right>p:after{inset:6px 7px -9px -8px;clip-path:polygon(0 0,9px 0,9px calc(100% - 9px),100% calc(100% - 9px),100% 100%,0 100%)}
.navigator--hero{margin:10px 0 30px}
.navigator--hero>img{width:96px;height:126px;flex-basis:96px}
.navigator--hero>p{max-width:calc(100% - 88px);min-height:58px;text-shadow:none}
.section--products>.navigator{margin-right:12px;margin-left:12px}
.section--dark{color:var(--ink);background:#fff;background-image:radial-gradient(circle at 100% 18%,rgba(216,0,40,.055),transparent 25%),radial-gradient(circle at 0 72%,rgba(216,0,40,.045),transparent 23%);border-top:1px solid #f1e7e9}
.section--light{background:#fff}
.section-heading{min-height:77px;margin-bottom:25px;display:grid;grid-template-columns:92px 1fr;align-items:center;overflow:hidden;border:0;border-radius:5px;background:var(--red);color:#fff;box-shadow:0 4px 12px rgb(0 0 0/.12)}
.section-heading>b{padding-left:15px;font-size:48px;font-style:normal;line-height:1}
.section-heading h2{margin:0;font-size:23px;line-height:1.05}
.section-heading span{display:block;margin-top:3px;color:rgba(255,255,255,.78);font-size:9px;letter-spacing:.04em}
.section-copy h3,.intro-grid h3,.rules-lead h3{margin:0 0 12px;font-size:27px;line-height:1.28}
.section-copy h3 strong,.intro-grid h3 strong,.rules-lead h3 strong{color:var(--red)}
.section-copy p,.intro-grid p,.rules-lead p{margin:0;font-size:13px;line-height:1.85}
.intro-grid{display:grid;grid-template-columns:1fr 47%;gap:8px}
.intro-grid img{height:240px;object-fit:cover;object-position:64% center;border:1px solid var(--red);border-radius:8px}
.club-way-panel{padding:2px 0 4px;background:#fff;color:var(--ink)}
.club-way-panel h3{margin:0 0 22px;text-align:center}
.club-way-panel .club-way-title{display:inline-block;color:var(--ink);font-size:40px;line-height:.88;letter-spacing:-.04em;text-align:center}
.club-way-panel>img{width:100%;height:212px;display:block;border-radius:10px;object-fit:cover;object-position:center}
.club-way-panel__copy{max-width:332px;margin:0 auto;padding:22px 5px 0;text-align:center}
.club-way-panel__copy p{margin:0 0 18px;font-size:13px;line-height:2}
.club-way-panel__statement{padding:17px 0;border-top:1px solid #ead9dd;border-bottom:1px solid #ead9dd;font-size:18px!important;font-weight:800;line-height:1.65!important}
.club-way-panel__statement strong{color:var(--red)}
.club-way-panel__closing{display:block;color:var(--red);font-size:16px;line-height:1.5;text-align:center}
.football-philosophy{margin-top:14px;padding:17px 16px;border-radius:13px;background:linear-gradient(145deg,#bd0028,#dc183c);color:#fff;box-shadow:0 7px 20px rgb(125 0 27/.2)}
.football-philosophy small{display:block;color:#ffd5dd;font-size:8px;letter-spacing:.1em}
.football-philosophy>b{display:block;margin:4px 0 7px;font-size:21px}
.football-philosophy p{margin:0;font-size:12px;line-height:1.8}
.brand-movie-trigger{position:relative;width:100%;aspect-ratio:16/9;margin:15px 0 0;padding:0;display:block;overflow:hidden;border:0;border-radius:10px;background:var(--brand-movie-poster) center/cover no-repeat,var(--navy);color:#fff;box-shadow:0 5px 14px rgb(30 39 82/.14);cursor:pointer}
.brand-movie-trigger:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(30 39 82/.02) 42%,rgb(30 39 82/.62))}
.brand-movie-trigger:after{content:"";position:absolute;inset:0;border:1px solid rgb(30 39 82/.15);border-radius:inherit}
.brand-movie-trigger__play{position:absolute;z-index:2;left:50%;top:47%;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:23px solid #fff;transform:translate(-38%,-50%);filter:drop-shadow(0 3px 5px rgb(0 0 0/.35))}
.brand-movie-trigger__play:after{content:none}
.brand-movie-trigger__label{position:absolute;z-index:2;left:14px;right:14px;bottom:12px;text-align:center}
.brand-movie-trigger__label small,.brand-movie-trigger__label b{display:block}
.brand-movie-trigger__label small{display:none}
.brand-movie-trigger__label b{color:#fff;font-size:13px;line-height:1.3;text-shadow:0 2px 5px rgb(0 0 0/.5)}
.point-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.point-grid article{position:relative;min-height:176px;padding:13px;border:1px solid #f0d4da;border-radius:12px;background:linear-gradient(145deg,#fff,#fff7f8);box-shadow:0 5px 16px rgb(38 0 8/.07)}
.point-no{display:block;color:var(--red);font-size:10px}
.point-no b{display:block;font-size:38px;line-height:.9}
.point-grid h4{margin:12px 0 7px;padding-bottom:6px;border-bottom:1px solid var(--red);font-size:18px}
.point-grid p{margin:0;font-size:12px;line-height:1.65}
.club-bridge{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1px 10px;margin-top:16px;padding:12px 14px;border:1px solid #efc5cd;border-radius:10px;background:#fff5f7;color:var(--navy);text-decoration:none;box-shadow:0 5px 16px rgb(38 0 8/.06)}
.club-bridge span{grid-column:1;font-size:10px;font-weight:700}
.club-bridge strong{grid-column:1;color:var(--red);font-size:15px}
.club-bridge i{grid-column:2;grid-row:1/3;color:var(--red);font-family:"neue-plak",sans-serif;font-size:25px;font-style:normal}
.rules-lead{display:grid;grid-template-columns:1fr 42%;gap:7px}
.pitch{position:relative;aspect-ratio:1.15;margin-top:8px;border:2px solid var(--navy);border-radius:6px;background:linear-gradient(90deg,transparent 49%,var(--navy) 49% 51%,transparent 51%),#f8fbfb}
.pitch:before,.pitch:after{content:"";position:absolute;top:30%;width:18%;height:40%;border:2px solid var(--navy)}
.pitch:before{left:0}
.pitch:after{right:0}
.pitch span{position:absolute;left:38%;top:35%;width:24%;aspect-ratio:1;border:2px solid var(--navy);border-radius:50%}
.pitch i{position:absolute;color:var(--red);font-size:34px}
.pitch i:nth-of-type(1){left:15%;top:10%}
.pitch i:nth-of-type(2){right:15%;bottom:10%}
.enjoy-copy{margin-bottom:16px}
.enjoy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.enjoy-point{position:relative;min-height:205px;padding:14px 12px 12px;overflow:hidden;border:1px solid #efc3cc;border-radius:13px;background:linear-gradient(145deg,#fff 0 60%,#fff2f5 100%);box-shadow:0 6px 18px rgb(38 0 8/.08)}
.enjoy-point:after{content:"";position:absolute;right:-28px;bottom:-34px;width:94px;aspect-ratio:1;border-radius:50%;background:rgba(211,0,39,.07)}
.enjoy-point__number{display:block;color:var(--red);font-size:10px;letter-spacing:.05em}
.enjoy-point__number b{display:block;font-size:34px;line-height:1}
.enjoy-point h3{min-height:46px;margin:18px 0 7px;padding-bottom:8px;border-bottom:2px solid var(--red);font-size:18px;line-height:1.3}
.enjoy-point p{position:relative;z-index:1;margin:0;font-size:12px;line-height:1.65}
.enjoy-point>em{position:absolute;z-index:1;right:11px;bottom:9px;color:var(--red);font:italic 9px var(--font-en);letter-spacing:.08em}
.subline{margin:23px 0 9px;padding-left:8px;border-left:4px solid var(--red);font-size:15px}
.players{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#fff}
.player-card{position:relative;overflow:hidden;border:1px solid var(--red);border-radius:8px;background:var(--navy)}
.player-card--main{grid-column:1/-1;height:255px}
.player-card img{width:100%;height:135px;object-fit:cover;object-position:68% 20%}
.player-card--main img{position:absolute;inset:0;width:100%;height:100%;object-position:65% center}
.player-card>div{position:relative;padding:8px;background:linear-gradient(0deg,var(--navy) 75%,transparent)}
.player-card--main>div{width:62%;height:100%;padding:18px 10px;background:linear-gradient(90deg,var(--navy) 74%,transparent)}
.player-number{display:inline-block;padding:3px 9px;transform:skew(-8deg);background:var(--red);font-size:23px}
.player-card h4{margin:7px 0 4px;font-size:15px}
.player-card h4 small{display:block;color:var(--red);font:italic 8px var(--font-en)}
.player-card b{font-size:10px}
.player-card em{padding:2px 4px;background:var(--red);font-style:normal}
.player-card p{font-size:10px;line-height:1.6}
.player-card ul{display:flex;gap:3px;padding:0;list-style:none}
.player-card li{padding:3px 5px;border:1px solid #637084;border-radius:4px;font-size:8px}
.player-section-copy{margin-bottom:13px}
.official-player-slider{width:calc(100% + 24px);margin-left:-12px;padding:11px 0 4px;overflow:hidden}
.official-player-slider>.swiper-wrapper{padding:5px 0 20px}
.official-player-card{height:auto;transform:scale(.86);transition:transform .6s ease,filter .6s ease;filter:saturate(.82)}
.official-player-card.swiper-slide-active{z-index:2;transform:scale(1);filter:saturate(1)}
.official-player-card>a{position:relative;min-height:274px;height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:5px;background:linear-gradient(180deg,#e81231 0%,#9c2334 100%);color:#fff;box-shadow:0 10px 22px rgb(95 0 21/.18)}
.official-player-card.swiper-slide-active>a{background:linear-gradient(180deg,#ff3451 0%,#e81533 100%)}
.official-player-card__info{position:absolute;z-index:2;top:0;left:0;width:100%;padding:12px 10px}
.official-player-card__info p{margin:0;font-family:var(--font-en);font-style:normal;font-weight:800;line-height:1}
.official-player-card__info p:first-child{min-height:20px;display:flex;align-items:center;font-size:19px;white-space:nowrap}
.official-player-card__info p:first-child span{min-width:0;margin-left:6px;overflow:hidden;font-family:var(--font-ja);font-size:10px;text-overflow:ellipsis}
.official-player-card__info p:nth-child(2){margin-top:5px;font-size:15px;line-height:.95;overflow-wrap:anywhere}
.official-player-card figure{height:240px;margin:34px 0 0;display:flex;align-items:flex-end;justify-content:center;transform:translate(19px,10px);transition:transform .6s ease}
.official-player-card.swiper-slide-active figure{transform:translate(0,5px)}
.official-player-card figure img{display:block;width:95%;height:100%;object-fit:contain;object-position:center bottom}
.official-player-card__link{position:absolute;z-index:3;right:8px;bottom:8px;padding:5px 7px;border-radius:999px;background:rgb(30 39 82/.78);font-size:9px}
.official-player-card__link b{font-size:12px}
.official-player-controls{min-height:43px;display:flex;align-items:center;gap:12px;padding:0 12px}
.official-player-scrollbar{position:relative!important;left:auto!important;bottom:auto!important;flex:1;height:5px!important;border-radius:999px;background:#e9c9d0}
.official-player-scrollbar .swiper-scrollbar-drag{background:var(--red)}
.official-player-arrows{display:flex;gap:8px}
.official-player-arrows button{width:38px;aspect-ratio:1;display:grid;place-items:center;padding:0;border:1px solid #efb8c3;border-radius:50%;background:#fff;color:var(--red);font:400 28px/1 Arial,sans-serif;box-shadow:0 4px 10px rgb(38 0 8/.08)}
.player-list-link{width:fit-content;min-width:168px;margin:10px auto 0;padding:12px 18px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;background:var(--navy);color:#fff;font-size:13px;box-shadow:0 5px 14px rgb(30 39 82/.18)}
.player-list-link span{color:#ff3451;font-size:17px}
.seat-needs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:17px}
.seat-area-card{overflow:hidden;border:1px solid #c8002f;border-radius:13px;background:#b0002b;color:#fff;box-shadow:0 6px 18px rgb(38 0 8/.1)}
.seat-area__photo{height:105px;overflow:hidden;background:#eee}
.seat-area__photo img{display:block;width:100%;height:100%;object-fit:cover}
.seat-area__photo--pending{display:grid;place-items:center;padding:12px;background:repeating-linear-gradient(135deg,#f5e4e7 0 10px,#fff0f3 10px 20px);color:#9d6672;text-align:center}
.seat-area__photo--pending span{font-size:9px;letter-spacing:.08em}
.seat-area__body{padding:10px}
.seat-area__need{display:block;min-height:42px;color:#fff36a;font-size:15px;font-weight:800;line-height:1.4;text-align:center;text-shadow:0 1px 0 rgb(0 0 0/.12)}
.seat-area-card h4{margin:8px 0 7px;padding:7px 3px;border-radius:4px;background:#fff;color:#a80029;font-size:17px;line-height:1.25;text-align:center}
.seat-area-card p{margin:0;font-size:12px;font-weight:600;line-height:1.65}
.seat-area-card ul{margin:9px 0 0;padding:7px 7px 7px 23px;border-radius:4px;background:#fff;color:#211c1d;font-size:11px;font-weight:700;line-height:1.65}
.seat-navigator-card{position:relative;overflow:hidden;min-height:329px;padding:18px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #f0c8d1;border-radius:13px;background:linear-gradient(145deg,#fff 0%,#fff7f3 55%,#fbdfe6 100%);box-shadow:0 6px 18px rgb(38 0 8/.08)}
.seat-navigator-card::before{content:"";position:absolute;right:-28px;bottom:88px;width:115px;height:115px;border-radius:50%;background:rgb(200 0 47/.07)}
.seat-navigator-card p{position:relative;z-index:2;width:calc(100% - 20px);margin:0 auto 10px;padding:10px 7px;border:1px solid #efbdc8;border-radius:12px;background:#fff;color:var(--ink);text-align:center}
.seat-navigator-card p::after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;transform:translateX(-50%) rotate(45deg);border-right:1px solid #efbdc8;border-bottom:1px solid #efbdc8;background:#fff}
.seat-navigator-card p b,.seat-navigator-card p span{display:block}
.seat-navigator-card p b{color:var(--red);font-size:14px;line-height:1.35}
.seat-navigator-card p span{margin-top:5px;font-size:10px;font-weight:700;line-height:1.5}
.seat-navigator-card img{position:relative;z-index:1;right:auto;bottom:auto;width:145px;height:185px;object-fit:contain;object-position:center}
.official-seat-map{margin-top:22px;}
.seat-map-heading{text-align:center}
.seat-map-heading>.en{color:var(--red);font-size:9px;font-weight:800;letter-spacing:.11em}
.seat-map-heading h3{margin:2px 0 3px;color:var(--ink);font-size:22px;line-height:1.3}
.seat-map-heading p{margin:0 0 10px;color:#4e586b;font-size:12px;font-weight:700}
.seat-map-image{display:block;overflow:hidden;border-radius:9px;}
.seat-map-image img{display:block;width:100%;height:auto}
.stadium-seat-map{position:relative}
.stadium-seat-pin{position:absolute;z-index:2;width:25px;height:25px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;filter:drop-shadow(0 2px 3px rgb(0 0 0/.55));transform:translate(-50%,-50%);transition:filter .18s ease,transform .18s ease}
.stadium-seat-pin::before{content:"";position:absolute;z-index:-1;inset:-3px;border:2px solid rgb(255 255 255/.85);border-radius:50%;animation:seat-pin-pulse 1.8s ease-out infinite}
.stadium-seat-pin img{width:100%;height:100%;object-fit:contain}
.stadium-seat-pin:hover,.stadium-seat-pin:focus-visible{z-index:3;filter:drop-shadow(0 3px 5px rgb(0 0 0/.7));transform:translate(-50%,-50%) scale(1.16)}
.stadium-seat-pin:focus-visible{outline:2px solid #fff;outline-offset:2px}
.stadium-seat-pin--1{top:9.7%;left:75%}
.stadium-seat-pin--2{top:9%;left:50%}
.stadium-seat-pin--3{top:9.7%;left:25%}
.stadium-seat-pin--4{top:26.5%;left:4%}
.stadium-seat-pin--5{top:58%;left:4%}
.stadium-seat-pin--6{top:40%;left:96%}
.stadium-seat-pin--7{top:73%;left:14%}
.stadium-seat-pin--8{top:76%;left:31%}
.stadium-seat-pin--9{top:78%;left:50%}
.stadium-seat-pin--11{top:76%;left:71%}
.stadium-seat-pin--12{top:73%;left:86%}
@keyframes seat-pin-pulse{0%{opacity:.9;transform:scale(.8)}75%,100%{opacity:0;transform:scale(1.5)}}
.seat-map-zoom{margin:8px 0;color:#677084;font-size:9px;text-align:center}
.seat-map-zoom img{display:inline-block;width:15px;height:15px;margin-right:2px;vertical-align:-4px}
.seat-map-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:8px}
.seat-map-legend span{padding:4px 7px;border-radius:999px;color:#fff;font-size:9px;font-weight:700}
.seat-map-legend--main{background:#d85d00}
.seat-map-legend--back{background:var(--navy)}
.seat-map-legend--goal{background:#b3092b}
.seat-viewer{width:min(calc(100% - 24px),900px);max-width:none;margin:auto;padding:0;border:0;border-radius:15px;background:transparent;color:#fff;overflow:visible}
.seat-viewer::backdrop{background:rgb(30 39 82/.88);backdrop-filter:blur(4px)}
.seat-viewer__panel{position:relative;padding:10px 10px 16px;border:1px solid rgb(255 255 255/.25);border-radius:15px;background:var(--navy);box-shadow:0 16px 50px rgb(0 0 0/.42)}
.seat-viewer__image{display:block;width:100%;max-height:78vh;border-radius:9px;object-fit:contain;background:var(--navy)}
.seat-viewer__title{margin:13px 6px 0;color:#fff;font-size:21px;line-height:1.35}
.seat-viewer__panel>p{margin:2px 6px 0;color:#ccd2dc;font-size:11px}
.seat-viewer__close{position:absolute;z-index:2;top:-13px;right:-9px;width:38px;height:38px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 4px 12px rgb(0 0 0/.3);font:400 29px/31px Arial,sans-serif;cursor:pointer}
.seat-viewer__close:focus-visible{outline:3px solid #ff8fa4;outline-offset:3px}
body.has-seat-viewer{overflow:hidden}
.brand-video-modal{width:min(calc(100% - 20px),720px);max-width:none;margin:auto;padding:0;border:0;border-radius:14px;background:transparent;color:#fff;overflow:visible}
.brand-video-modal::backdrop{background:rgb(30 39 82/.9);backdrop-filter:blur(5px)}
.brand-video-modal__panel{position:relative;padding:9px 9px 14px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:var(--navy);box-shadow:0 18px 55px rgb(0 0 0/.48)}
.brand-video-modal__embed{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#000}
.brand-video-modal__embed iframe{display:block;width:100%;height:100%;border:0}
.brand-video-modal__embed video{display:block;width:100%;height:100%;object-fit:contain}
.brand-video-modal h2{margin:11px 5px 0;font-size:14px}
.brand-video-modal__close{position:absolute;z-index:2;top:-13px;right:-7px;width:36px;aspect-ratio:1;padding:0;border:2px solid #fff;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 4px 12px rgb(0 0 0/.3);font:400 27px/1 Arial,sans-serif;cursor:pointer}
body.has-brand-video{overflow:hidden}
@media (prefers-reduced-motion:reduce){.stadium-seat-pin::before{animation:none}}
.tip{margin-top:9px;padding:10px;border:1px solid var(--red);border-radius:5px;background:#fff;color:var(--ink);font-size:11px}
.tip>b{margin-right:8px;padding:3px;background:var(--red);color:#fff}
.tip strong{color:var(--red)}
.section--products{padding-inline:0}
.section--products>.section-heading,.section--products>.category-title,.section--products>.category-intro,.section--products>.subsection-heading{margin-left:12px;margin-right:12px}
.subsection-heading{position:relative;margin-bottom:22px;padding:17px 16px 15px;overflow:hidden;border-radius:10px;background:linear-gradient(120deg,#c6002e,#ea2648);color:#fff;text-align:center;box-shadow:0 7px 18px rgb(110 0 25/.16)}
.subsection-heading:after{content:"";position:absolute;right:-28px;top:-48px;width:125px;aspect-ratio:1;border:22px solid rgba(255,255,255,.12);border-radius:50%}
.subsection-heading span,.subsection-heading small{position:relative;z-index:1;display:block;font-style:italic}
.subsection-heading span{width:fit-content;margin:0 auto 7px;padding:4px 12px;border-radius:999px;background:#fff;color:var(--red);font-size:13px;font-style:normal;font-weight:800;letter-spacing:.08em;line-height:1.2}
.subsection-heading h2{position:relative;z-index:1;margin:3px 0 1px;font-size:25px;line-height:1.25}
.subsection-heading small{color:#ffd5dc;font-size:8px;letter-spacing:.08em}
.subsection-heading--goods{margin-top:27px}
.category-title{margin-bottom:3px;padding-top:7px;border-top:1px solid var(--line);font-size:20px}
.category-intro{font-size:11px;line-height:1.7}
.product-swiper{width:100%;padding:10px 0 30px}
.product-swiper .swiper-slide{position:relative;width:135px;height:auto;padding:5px 7px 12px;border:1px solid #e5e5e5;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgb(0 0 0/.07)}
.product-swiper .swiper-slide>small{position:absolute;z-index:2;top:5px;left:7px;padding:3px 5px;border-radius:3px;background:var(--deep-red);color:#fff;font-size:7px}
.product-swiper .gourmet-card{width:172px;padding:0 0 13px;overflow:hidden}
.gourmet-card>img{display:block;width:100%;height:142px;object-fit:cover;background:#eee;transform:scale(1.12)}
.product-swiper .gourmet-card>small{position:static;display:block;width:auto;margin:10px 10px 0;padding:6px 0 0;border-radius:0;background:transparent;color:var(--red);font-size:9px;font-weight:800}
.product-swiper .gourmet-card h4{margin:6px 10px 0;font-size:15px;line-height:1.4}
.product-photo{height:112px;margin:-5px -7px 4px;background-repeat:no-repeat}
.product-photo--food{background-image:url("./assets/stadium-foods.png");background-size:300% 100%;background-position-y:center}
.food-1{background-position-x:0}
.food-2{background-position-x:50%}
.food-3{background-position-x:100%}
.product-swiper .goods-card{display:flex;width:205px;padding:0 0 14px;overflow:hidden;flex-direction:column;background:#fff}
.goods-card__image{display:block;width:100%;height:172px;padding:10px;object-fit:contain;background:#fff}
.product-swiper .goods-card h4{margin:10px 11px 0;font-size:14px;line-height:1.45}
.product-swiper .goods-card p{margin:7px 11px 0;font-size:11px;line-height:1.75}
.product-swiper .goods-card>b{display:block;margin:auto 11px 0;padding-top:10px;color:var(--red);font-size:15px}
.product-swiper .goods-card>b small{font-size:.68em;font-weight:700}
.product-swiper h4{margin:7px 0;color:#b40627;font-size:13px}
.product-swiper p{font-size:10px;line-height:1.65}
.product-swiper b{font-size:10px}
.starter-goods{margin:12px 12px 8px;display:grid;grid-template-columns:43% 1fr;overflow:hidden;border:1px solid #edbfc8;border-radius:12px;background:linear-gradient(145deg,#fff,#fff2f5);box-shadow:0 6px 18px rgb(38 0 8/.08)}
.starter-goods__image{min-height:165px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#f4dce1 0 9px,#faebee 9px 18px);color:#a7727d;text-align:center}
.starter-goods__image>span{font-size:17px;line-height:1.05;letter-spacing:.04em}
.starter-goods__image>small{margin-top:8px;font-size:8px}
.starter-goods__body{padding:15px 12px}
.starter-goods__body>span{color:var(--red);font-size:8px;letter-spacing:.08em}
.starter-goods__body h3{margin:5px 0 7px;font-size:19px;line-height:1.35}
.starter-goods__body p{margin:0;font-size:11px;line-height:1.7}
.starter-goods__body b{display:inline-block;margin-top:9px;padding:4px 7px;border-radius:999px;background:var(--navy);color:#fff;font-size:9px}
.gourmet-atmosphere{position:relative;margin:0 12px 18px;overflow:hidden;border-radius:12px;background:var(--navy);color:#fff;box-shadow:0 7px 20px rgb(32 0 8/.12)}
.gourmet-atmosphere img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.gourmet-atmosphere:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgb(30 39 82/.88))}
.gourmet-atmosphere figcaption{position:absolute;z-index:1;left:14px;right:14px;bottom:12px}
.gourmet-atmosphere small,.gourmet-atmosphere b{display:block}
.gourmet-atmosphere small{color:#ff7189;font-size:8px;letter-spacing:.12em}
.gourmet-atmosphere b{margin-top:3px;font-size:18px;line-height:1.4}
.ticket-banner{display:none;padding:44px 12px 30px;background:linear-gradient(180deg,rgb(30 39 82/.06),rgba(100,0,23,.46)),url("./assets/ticket-banner-2026.jpg") center 58%/cover;color:#fff}
.ticket-banner>a{margin-top:0;padding:14px 18px;display:flex;align-items:center;gap:13px;border:3px double #ff6075;border-radius:10px;background:linear-gradient(#e51636,#af0024);box-shadow:0 6px 0 #6d001c;font-size:28px}
.ticket-banner>a>.cta-ticket-icon{width:34px;height:29px}
.ticket-banner>a span{font-size:21px}
.ticket-banner>a small{display:block;text-align:center;font-size:10px;letter-spacing:.2em}
.ticket-banner>a>b{margin-left:auto;font-size:30px}
.center-copy{text-align:center}
.center-copy h3{margin:0 0 5px;font-size:20px}
.center-copy p{font-size:13px;line-height:1.8}
.center-copy strong{color:var(--red)}
#booth .center-copy p{margin:0;font-size:21px;font-weight:800;line-height:1.6}
.matchday-board{margin-top:16px;padding:0 8px 14px;border:2px solid #e5c4ca;border-radius:12px;background:#fff;box-shadow:0 7px 22px rgb(51 0 12/.09)}
.flow-board-title{margin:0 -8px 12px;padding:9px 10px;text-align:center;border-radius:10px 10px 0 0;background:var(--navy);color:#fff;line-height:1.25}
.flow-board-title span{display:block;color:#ffcfda;font-size:11px;letter-spacing:.08em}
.flow-board-title b{font-size:14px}
.flow-timeline{position:relative;margin:0;padding:0;list-style:none}
.flow-timeline:before{content:"";position:absolute;z-index:0;top:29px;bottom:30px;left:29px;width:3px;border-radius:3px;background:var(--red)}
.flow-timeline li{position:relative;z-index:1;display:grid;grid-template-columns:59px 1fr;gap:9px;align-items:start;margin-bottom:13px}
.flow-timeline li:last-child{margin-bottom:0}
.flow-time{width:59px;height:59px;display:grid;place-content:center;text-align:center;border:3px solid #fff;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 0 0 1px var(--red)}
.flow-time b{font:italic 26px/.8 var(--font-en)}
.flow-time b:only-child{font-size:16px;letter-spacing:-.02em}
.flow-time span{margin-top:4px;font-size:9px;line-height:1}
.flow-time--after b{font:800 16px/1 var(--font-ja)}
.flow-time--after span{font-size:8px}
.flow-card{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:6px 8px;padding:10px;border:1px solid #f0d4da;border-radius:10px;background:linear-gradient(145deg,#fff,#fff7f8);box-shadow:0 4px 12px rgb(38 0 8/.07)}
.flow-card--schedule{grid-template-columns:minmax(0,1fr) 88px;align-items:center;padding:8px}
.flow-card--schedule>img{width:88px;height:82px;display:block;border-radius:7px;object-fit:cover}
.flow-card h3{margin:0 0 5px;font-size:16px;line-height:1.3}
.flow-card p{margin:0;font-size:10px;line-height:1.65}
.flow-visual{min-height:83px;overflow:hidden;border-radius:8px;background:#edf2f3}
.flow-visual--arrival{display:grid;place-content:center;text-align:center;background:linear-gradient(rgb(30 39 82/.18),rgb(30 39 82/.42)),url("./assets/hero-stadium.png") center/cover;color:#fff}
.flow-visual--arrival span{font-size:26px;filter:drop-shadow(0 2px 2px rgb(0 0 0/.35))}
.flow-visual--arrival strong{font:italic 7px var(--font-en);letter-spacing:.08em}
.flow-visual--seat{display:flex;align-items:center;justify-content:center;gap:2px;background:linear-gradient(145deg,#fff4f6,#edf4f6);font-size:21px}
.flow-visual--seat i{color:var(--red);font-size:13px;font-style:normal}
.flow-visual--gourmet{background:url("./assets/stadium-foods.png") left center/300% 100% no-repeat}
.flow-visual--warmup{background:url("./assets/team-archive.webp") center/cover no-repeat}
.flow-visual--after{position:relative;background:linear-gradient(145deg,#fff1f4,#f7fbfc)}
.flow-visual--after img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 3px rgb(0 0 0/.15))}
.swiper-pagination{bottom:6px!important}
.swiper-pagination-bullet{width:6px;height:6px;background:#d5a6b0;opacity:.7}
.swiper-pagination-bullet-active{width:16px;border-radius:4px;background:var(--red);opacity:1}
.stadium-access-card{position:relative;margin-top:16px;padding:18px;overflow:hidden;border-radius:13px;background:linear-gradient(100deg,rgb(30 39 82/.9),rgb(30 39 82/.42)),url("./assets/stadium-access-2023.jpg") center 62%/cover;color:#fff;box-shadow:0 7px 20px rgb(30 39 82/.16)}
.stadium-access-card:after{content:"";position:absolute;right:-35px;top:-45px;width:145px;aspect-ratio:1;border:20px solid rgba(255,255,255,.07);border-radius:50%}
.stadium-access-card>span{color:#ffb1bf;font-size:10px;letter-spacing:.08em}
.stadium-access-card h3{margin:6px 0;font-size:23px;line-height:1.25}
.stadium-access-card p{margin:0;font-size:11px;line-height:1.65}
.stadium-access-card a{position:absolute;z-index:1;right:13px;bottom:13px;padding:8px 10px;border-radius:999px;background:#fff;color:var(--navy);font-size:10px}
.stadium-access-card a b{color:var(--red)}
.access-list{display:grid;gap:8px;margin-top:12px}
.access-list article{display:grid;grid-template-columns:34px 51px minmax(0,1fr);align-items:center;gap:8px;padding:11px 10px;border:1px solid #f0d5da;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgb(38 0 8/.07)}
.access-list article>b{display:grid;place-items:center;width:30px;aspect-ratio:1;border-radius:50%;background:var(--red);color:#fff;font:italic 14px var(--font-en)}
.access-list i{display:grid;place-items:center;color:#41568f;font-style:normal}
.access-list i svg{width:31px;height:31px}
.access-list h3{margin:0;font-size:14px}
.access-list p{margin:3px 0 0;font-size:11px;line-height:1.6}
.access-list__shuttle{align-items:start!important}
.access-list__shuttle ul{margin:8px 0 0;padding:8px 9px 8px 24px;border-radius:7px;background:#fff3f5;font-size:11px;line-height:1.7}
.access-list__shuttle small{display:block;margin-top:6px;color:#6f5660;font-size:9px;line-height:1.55}
.access-list__shuttle a{display:block;margin-top:7px;padding:8px;border-radius:6px;background:var(--navy);color:#fff;font-size:10px;text-align:center}
.parking-map{width:100%;margin:15px 0 0;padding:8px;border:1px solid #efccd3;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgb(38 0 8/.07);font-family:inherit;cursor:pointer}
.parking-map img{display:block;width:100%;border-radius:7px}
.parking-map span,.stadium-guide-map span,.booth-poster span{display:block;padding:8px 3px 1px;color:#665158;font-size:10px;font-weight:700;text-align:center}
.stadium-guide-map,.booth-poster{width:100%;margin-top:15px;padding:8px;border:1px solid #efccd3;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgb(38 0 8/.07);font-family:inherit;cursor:pointer}
.stadium-guide-map img,.booth-poster img{display:block;width:100%;height:auto;border-radius:7px}
.stadium-map-section{border-top:1px solid #f1e7e9}
.parking-guide{margin-top:13px;padding:15px;border:1px solid #efccd3;border-radius:12px;background:#fff8f9}
.parking-guide>span{color:var(--red);font-size:10px;letter-spacing:.08em}
.parking-guide h3{margin:3px 0 10px;font-size:19px}
.parking-capacity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.parking-capacity-grid p{margin:0;padding:9px 7px;border-radius:7px;background:#fff;box-shadow:0 2px 7px rgb(38 0 8/.05)}
.parking-capacity-grid b{display:block;color:var(--red);font:italic 14px var(--font-en)}
.parking-capacity-grid strong{display:block;margin-top:2px;font-size:14px}
.parking-capacity-grid small{display:block;margin-top:2px;color:#6e5960;font-size:9px;line-height:1.45}
.parking-capacity-grid__restricted{background:#fff0f2!important}
.parking-capacity-grid__restricted strong{font-size:12px}
.paid-parking{margin-top:10px;padding:15px;border-radius:12px;background:var(--navy);color:#fff;box-shadow:0 6px 18px rgb(30 39 82/.15)}
.paid-parking>span{color:#ff6f87;font-size:9px;letter-spacing:.09em}
.paid-parking h3{margin:4px 0 10px;font-size:19px}
.paid-parking__summary{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.paid-parking__summary p{margin:0;padding:9px;border-radius:7px;background:rgba(255,255,255,.1)}
.paid-parking__summary small,.paid-parking__summary b{display:block}
.paid-parking__summary small{font-size:9px}
.paid-parking__summary b{margin-top:2px;color:#fff;font-size:17px}
.paid-parking__summary em{font-size:9px;font-style:normal}
.paid-parking>p{margin:10px 0;font-size:11px;line-height:1.65}
.paid-parking>a{display:block;padding:10px;border-radius:7px;background:var(--red);color:#fff;font-size:12px;font-weight:700;text-align:center}
.paid-parking details{margin-top:9px;border-top:1px solid rgba(255,255,255,.2)}
.paid-parking summary{padding:10px 2px 2px;color:#fff;font-size:11px;font-weight:700;cursor:pointer}
.paid-parking details ul{margin:8px 0 0;padding-left:18px;color:#e4e8ef;font-size:10px;line-height:1.75}
.access-extra{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.access-extra article{padding:12px;border:1px solid #efccd3;border-radius:10px;background:#fff8f9}
.access-extra span{color:var(--red);font-size:8px;letter-spacing:.08em}
.access-extra h3{margin:3px 0 6px;font-size:14px}
.access-extra p{margin:0;font-size:10px;line-height:1.55}
.access-extra p b{color:var(--red);font-size:15px}
.access-notice{margin-top:12px;padding:13px;border-radius:10px;background:var(--navy);color:#fff}
.access-notice>b{display:block;color:#ff5b75;font-size:13px}
.access-notice p{margin:5px 0 10px;font-size:10px;line-height:1.65}
.access-notice>div{display:flex;gap:6px}
.access-notice a{flex:1;padding:8px 5px;border:1px solid rgba(255,255,255,.3);border-radius:6px;text-align:center;font-size:9px}
.booth-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}
.booth-media-placeholder{margin:0}
.booth-media-placeholder>div{min-height:145px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #dba8b3;border-radius:10px;background:repeating-linear-gradient(135deg,#fff5f7 0 10px,#fcebee 10px 20px);color:#a16f79;text-align:center}
.booth-media-placeholder span{font-size:10px;letter-spacing:.08em}
.booth-media-placeholder b{margin:7px 0;width:39px;aspect-ratio:1;display:grid;place-items:center;border:1px solid #dba8b3;border-radius:50%;background:#fff;color:var(--red);font-size:24px}
.booth-media-placeholder small{font-size:8px;letter-spacing:.05em}
.booth-media-placeholder figcaption{min-height:47px;margin-top:5px;padding:6px;border-radius:6px;background:var(--navy);color:#fff;font-size:10px;line-height:1.55;text-align:center}
.booth-simple{display:grid;gap:7px;margin-top:18px}
.booth-simple p{min-height:70px;margin:0;padding:10px 13px;display:flex;align-items:center;gap:12px;border:1px solid #efd6dc;border-radius:10px;background:#fff;box-shadow:0 5px 14px rgb(53 0 13/.07)}
.booth-simple b{width:34px;aspect-ratio:1;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--red);color:#fff;font:800 12px var(--font-en)}
.booth-simple span{font-size:13px;line-height:1.45}
.booth-simple strong{font-size:16px}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
.support-grid article{padding:10px;border:1px solid #eee;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0/.06)}
.support-grid h3{margin:6px 0 3px;font-size:13px}
.support-grid p{margin:0;font-size:10px;line-height:1.6}
.support-grid article{min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#fff,#fff8f9)}
.support-grid svg{width:45px;height:45px;color:var(--red)}
.support-grid h3{font-size:13px;line-height:1.45}
.support-grid h3 small{font-size:10px}
.dlt-support{margin-top:16px;overflow:hidden;border-radius:12px;background:#c8102e;color:#fff;box-shadow:0 7px 20px rgb(72 0 18/.18)}
.dlt-support>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.dlt-support>div{padding:15px}
.dlt-support small{color:#ffd6de;font-size:8px;letter-spacing:.1em}
.dlt-support h3{margin:5px 0 8px;font-size:19px;line-height:1.45}
.dlt-support p{margin:0;font-size:11px;line-height:1.8}
.dlt-support a{width:fit-content;margin-top:12px;padding:8px 13px;display:block;border-radius:999px;background:#fff;color:var(--red);font-size:11px;font-weight:800}
.faq{padding-bottom:calc(130px + env(safe-area-inset-bottom))}
.faq details{border-bottom:1px solid #ddd}
.faq summary{padding:14px 5px;display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:13px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"＋";margin-left:auto;color:var(--red);font-size:17px}
.faq details[open] summary:after{content:"−"}
.faq summary span{color:var(--red);font:italic 15px var(--font-en)}
.faq details p{margin:0;padding:0 10px 14px 35px;color:#555;font-size:11px;line-height:1.8}
.faq details .faq-pending{color:#8a5360;font-weight:700}
.footer-cta{display:none;padding:28px 12px 38px;color:#fff;background:linear-gradient(130deg,rgb(30 39 82/.9),rgba(170,0,36,.7)),url("./assets/seat-goal-2026.jpg") center 58%/cover}
.footer-copy{display:flex;align-items:center;justify-content:center;gap:14px}
.brand-logo--footer{width:72px;height:92px}
.footer-copy p{font-size:17px;line-height:1.05}
.footer-copy strong{color:#f2193d;font-size:31px}
.footer-copy>i{font-size:38px}
.footer-character{width:92px;height:118px;align-self:flex-end;margin-bottom:-12px;object-fit:contain;filter:drop-shadow(0 5px 6px rgb(0 0 0/.3))}
.footer-cta>.primary-cta{margin-top:12px}
.footer-cta>small{display:block;margin-top:22px;text-align:center;font:7px var(--font-en);opacity:.55}
.floating-ticket-cta{position:fixed;z-index:29;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 20px);max-width:355px;min-height:66px;padding-left:58px;display:flex;align-items:flex-end;pointer-events:none;opacity:0;transform:translate(-50%,calc(100% + 115px));transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.floating-ticket-cta.is-visible{pointer-events:auto;opacity:1;transform:translate(-50%,0)}
.floating-ticket-cta__navigator{position:absolute;z-index:2;left:-2px;bottom:-1px;width:76px;height:94px;object-fit:contain;object-position:center bottom;pointer-events:none;filter:drop-shadow(0 4px 5px rgb(0 0 0/.2))}
.floating-ticket-cta>a{position:relative;z-index:1;width:100%;min-height:60px;padding:9px 34px 9px 24px;display:flex;align-items:center;justify-content:center;gap:11px;border:2px solid #ff4967;border-radius:12px;background:linear-gradient(180deg,#ed1739,#b30027);color:#fff;box-shadow:0 7px 18px rgb(76 0 18/.3);font-size:15px;font-weight:800}
.floating-ticket-cta>a>img{width:27px;height:23px;flex:none;object-fit:contain}
.floating-ticket-cta>a span{line-height:1.2;text-align:center}
.floating-ticket-cta>a small{display:block;margin-bottom:2px;font-size:7px;letter-spacing:.1em}
.floating-ticket-cta>a>b{position:absolute;right:14px;font-size:27px}
.floating-ticket-cta__close{position:absolute;z-index:3;right:-4px;top:-12px;width:27px;aspect-ratio:1;padding:0;border:1px solid #d7c8cb;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 3px 8px rgb(0 0 0/.16);font:400 18px/1 Arial,sans-serif;cursor:pointer}
@media(max-width:340px){.section-heading{grid-template-columns:82px 1fr}
.section-heading>b{font-size:42px}
.section-heading h2{font-size:20px}
.point-grid article{padding:10px}
.access-list article{grid-template-columns:30px 36px 1fr}
.access-list small{display:none}
}
@media(max-width:480px){
:root,body{background:#fff}
.site-shell,.site-header,.global-nav{width:100%;max-width:none}
.site-shell{margin:0;box-shadow:none}
}
@media (prefers-reduced-motion:reduce){.floating-ticket-cta{transition:none}}
@media(min-width:481px){.site-shell{box-shadow:0 0 32px rgb(0 0 0/.18)}
}
@media(min-width:900px){
body{background:#eee7e8}
.site-shell{position:relative;z-index:2}
.pc-side{position:fixed;z-index:1;top:0;bottom:0;width:calc(50vw - 187.5px);display:flex;overflow:hidden}
.pc-side--left{left:0;align-items:stretch;background:linear-gradient(150deg,#f9ecee 0 36%,#d20b31 36% 72%,#a60027 72%);color:var(--navy);pointer-events:none}
.pc-side--left:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 48px,rgba(255,255,255,.08) 48px 50px);opacity:.7}
.pc-side__brand{position:relative;width:min(100%,390px);height:100%;margin-left:auto;padding:clamp(28px,4vw,66px) clamp(20px,3vw,48px)}
.pc-side__club-logo{width:clamp(56px,6vw,90px);height:clamp(68px,8vw,112px);object-fit:contain;filter:drop-shadow(0 4px 5px rgb(0 0 0/.18))}
.pc-side__brand p{position:relative;z-index:4;width:min(100%,340px);margin:22px 0 0;padding:14px 16px;border-radius:12px;background:transparent;box-shadow:none}
.pc-side__brand p span{display:block;width:fit-content;padding:4px 8px;border-radius:999px;background:#fff;color:var(--red);font-size:clamp(9px,1vw,12px);letter-spacing:.1em;white-space:nowrap}
.pc-side__brand p strong{display:block;margin-top:8px;font-size:clamp(21px,2.35vw,34px);line-height:1.35}
.pc-side__brand p small{display:block;margin-top:11px;font-size:clamp(10px,1.05vw,13px);line-height:1.75}
.pc-side__outline{position:absolute;left:clamp(15px,2vw,38px);bottom:25px;color:transparent;font-size:clamp(60px,8.5vw,128px);line-height:.72;-webkit-text-stroke:1px rgba(255,255,255,.35);opacity:.75;transform:rotate(-5deg)}
.pc-side__character{position:absolute;z-index:2;right:clamp(-48px,-2vw,-18px);bottom:-5px;width:clamp(185px,21vw,305px);height:48vh;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 12px 13px rgb(48 0 10/.3))}
.pc-side--right{right:0;align-items:center;justify-content:flex-start;background:#fff}
.pc-side--right:after{content:"IWAKI FC";position:absolute;right:-22px;bottom:24px;color:rgb(30 39 82/.035);font:italic 76px/.8 var(--font-en);writing-mode:vertical-rl;letter-spacing:.02em}
.pc-side__panel{position:relative;z-index:2;width:min(calc(100% - 24px),390px);max-height:calc(100vh - 24px);margin:0 auto;padding:14px;overflow:auto;border:0;border-radius:16px;background:var(--navy);box-shadow:0 14px 40px rgb(0 0 0/.24);scrollbar-width:none}
.pc-side__panel::-webkit-scrollbar{display:none}
.pc-side__title span,.pc-side__title b{display:block}
.pc-side__title span{color:var(--red);font-size:9px;letter-spacing:.12em}
.pc-side__title b{margin-top:2px;color:#fff;font-size:24px}
.pc-side__nav{margin-top:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.pc-side__nav a{position:relative;min-height:54px;padding:7px 15px 7px 8px;display:grid;grid-template-columns:23px minmax(0,1fr);align-items:center;gap:3px;border:1px solid rgba(255,255,255,.16);border-radius:5px;background:rgb(255 255 255/.06);color:#fff;box-shadow:inset 3px 0 var(--red);transition:transform .2s,background .2s}
.pc-side__nav a:hover{background:rgb(255 255 255/.12);transform:translateY(-2px)}
.pc-side__nav b{color:#ff3858;font-size:13px;font-style:normal}
.pc-side__nav span{font-size:clamp(8px,.75vw,10px);line-height:1.35}
.pc-side__nav i{position:absolute;right:6px;font-size:16px;font-style:normal}
.pc-side__match{margin-top:9px;padding:10px 10px 9px;display:block;overflow:hidden;border:0;border-radius:7px;background:linear-gradient(145deg,#df173c,#a90024);color:#fff;box-shadow:0 7px 18px rgb(87 0 20/.25);text-align:center}
.pc-side__match>span{display:block;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.28);color:#fff;font-size:8px;letter-spacing:.12em;text-align:center}
.pc-side__match-grid{margin-top:4px;display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:3px}
.pc-side__match-team{min-width:0;display:grid;place-items:center}
.pc-side__match-team img{width:49px;height:54px;object-fit:contain;filter:drop-shadow(0 2px 3px rgb(0 0 0/.16))}
.pc-side__match-team b{width:45px;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(255,255,255,.65);border-radius:50%;color:#fff;font:700 9px/1.1 var(--font-en)}
.pc-side__match-info strong,.pc-side__match-info>b,.pc-side__match-info em{display:block}
.pc-side__match-info strong{font-size:11px;white-space:nowrap}
.pc-side__match-info strong small{font-size:8px}
.pc-side__match-info>b{margin-top:3px;font-size:30px;line-height:1}
.pc-side__match-info em{margin-top:3px;font-size:9px;font-style:italic;letter-spacing:.08em}
.pc-side__match>p{margin:5px 0 1px;font-size:10px;white-space:nowrap}
.pc-side__match>p small{font-size:7px}
.pc-side__match-stadium{display:block;font-size:8px;line-height:1.35}
.pc-side__match>i{display:block;margin-top:6px;color:#fff;font-size:8px;font-style:normal;text-align:right}
.pc-side__ticket{min-height:53px;margin-top:8px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;background:linear-gradient(#e81739,#b10025);color:#fff;box-shadow:0 5px 12px rgb(102 0 24/.2)}
.pc-side__ticket img{width:26px;height:22px;object-fit:contain}
.pc-side__ticket span{font-size:12px;font-weight:800;line-height:1.2}
.pc-side__ticket small{display:block;font-size:7px;letter-spacing:.08em}
.pc-side__ticket>b{margin-left:auto;font-size:24px}
}
@media(min-width:900px) and (max-width:1100px){
.pc-side__panel{width:calc(100% - 16px);padding:10px}
.pc-side__title b{font-size:19px}
.pc-side__nav a{min-height:50px;padding-right:10px;padding-left:6px;grid-template-columns:19px minmax(0,1fr)}
.pc-side__nav b{font-size:11px}
.pc-side__nav span{font-size:7px}
.pc-side__nav i{right:4px;font-size:13px}
.pc-side__match-grid{grid-template-columns:43px minmax(0,1fr) 43px}
.pc-side__match-team img{width:38px;height:44px}
.pc-side__match-info strong{font-size:8px}
.pc-side__match-info>b{font-size:24px}
.pc-side__ticket{padding-inline:8px}
.pc-side__ticket span{font-size:10px}
}
