.cast-award-page{--award-navy:#07111e;--award-navy-deep:#03070d;--award-gold:#d8a642;--award-line:rgba(216,166,66,.72);min-height:100vh;overflow-x:clip;background:#05080d;color:#f7f1e7;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;font-feature-settings:"palt" 1;text-rendering:optimizeLegibility}
.cast-award-page *{box-sizing:border-box}
.cast-award-page main{overflow:hidden;background:radial-gradient(circle at 50% 8%,rgba(19,45,72,.82),transparent 23%),linear-gradient(135deg,transparent 0 49%,rgba(215,155,39,.045) 50%,transparent 51%) 0 0/88px 88px,#05080d;scroll-margin-top:104px}
.cast-award-page main a{color:inherit;text-decoration:none}
.award-hero{position:relative;overflow:hidden;isolation:isolate;border-top:1px solid #1b2635;background:#030507}
.award-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(2,8,24,.94) 0%,rgba(2,8,24,.72) 17%,rgba(2,8,24,.12) 34%,transparent 56%)}
.award-hero:after{content:"";position:absolute;z-index:3;right:2.5%;bottom:18px;left:2.5%;height:1px;background:linear-gradient(90deg,transparent,#d6a23a 15% 85%,transparent)}
.award-hero__media{position:absolute;z-index:0;inset:0;display:block}
.award-hero__media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;filter:none}
.award-hero__inner{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:center;width:min(100%,1200px);min-height:clamp(640px,56.3vw,850px);margin:auto;padding:34px 24px 64px;text-align:center}
.award-hero__copy{width:min(100%,840px)}
.award-hero__group{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;color:#f5f2ec;font-size:.9rem;font-weight:600;letter-spacing:.12em}
.award-hero__group span{width:56px;height:1px;background:#d6a23a}
.award-hero h1{margin:10px 0 0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.6rem,3.8vw,3.9rem);font-weight:800;line-height:1.12;letter-spacing:.025em;text-shadow:0 3px 18px #000;word-break:keep-all}
.award-hero h1 small{display:none}
.award-hero h1 strong{display:inline;margin-left:.28em;color:#e5b84f;font-size:.72em;font-weight:600;letter-spacing:.08em}
.award-hero__lead{display:inline-block;max-width:100%;margin:14px 0 0;padding:9px 22px;border:1px solid rgba(224,177,73,.82);border-radius:999px;background:rgba(3,12,31,.78);font-size:.95rem;font-weight:600;line-height:1.6;letter-spacing:.06em;box-shadow:0 8px 28px #000}
.sp-only{display:none}
.award-categories,.award-guide,.interim{width:min(calc(100% - 48px),1140px);margin:0 auto}
.award-categories{padding:76px 0 34px}
.section-title,.announcement-title{text-align:center}
.section-title p,.announcement-title p,.final-announcement>p{margin:0;color:#d6a23a;font:700 .75rem/1.5 Arial,sans-serif;letter-spacing:.18em}
.section-title h2,.announcement-title h2,.final-announcement h2{margin:6px 0 24px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;line-height:1.35;letter-spacing:.06em}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.category-card{position:relative;display:grid;align-content:center;justify-items:center;gap:12px;min-width:0;min-height:224px;padding:28px 16px 26px;border:1px solid var(--award-line);border-radius:16px;background:linear-gradient(160deg,rgba(20,28,39,.98),rgba(5,10,16,.98));box-shadow:0 12px 30px rgba(0,0,0,.72),inset 0 0 0 3px rgba(255,255,255,.025)}
.category-card:after{content:"";position:absolute;right:18px;bottom:16px;left:18px;height:1px;background:linear-gradient(90deg,transparent,#d6a23a,transparent)}
.category-icon{display:block;width:132px;height:132px;color:inherit}
.category-icon img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.55))}
.category-card--mood{color:#ff4d73}
.category-card--hospitality{color:#3d8fe8}
.category-card--photo{color:#72b43b}
.category-card h3{margin:0;text-align:center;font-size:clamp(1.125rem,2.4vw,1.7rem);font-weight:700;line-height:1.45;letter-spacing:.02em}
.vote-summary{margin-top:20px;padding:24px 28px;border:1px solid rgba(184,137,43,.82);border-radius:16px;background:linear-gradient(105deg,rgba(18,27,39,.98),rgba(6,11,17,.98));text-align:center;box-shadow:0 10px 24px rgba(0,0,0,.68)}
.vote-summary h3{margin:0 0 14px;color:#e8be5f;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.4rem;font-weight:700;letter-spacing:.05em}
.vote-summary p{margin:12px 0 0;font-size:.95rem;font-weight:400}
.award-guide{max-width:960px;padding:0 0 40px}
.guide-card{padding:18px 0 0;border:0;border-top:1px solid rgba(255,255,255,.1);border-radius:0;background:none;color:#858b93}
.guide-card--combined{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}
.guide-card--combined>div+div{padding-left:28px;border-left:1px solid rgba(255,255,255,.12)}
.guide-card h2{margin:0 0 5px;color:inherit;font-family:inherit;font-size:.8125rem;font-weight:500;letter-spacing:.02em}
.guide-card ul{margin:0;padding-left:1.4em}
.guide-card li,.guide-card p{font-size:.75rem;font-weight:400;line-height:1.65}
.guide-card p{margin:4px 0 0}
.guide-alert{color:inherit;font-weight:400}
.category-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;list-style:none;padding:0!important}
.category-list li{font-weight:400}
.category-list strong{font-weight:700}
.category-list li:nth-child(1){color:#ff4d73}
.category-list li:nth-child(2){color:#3d8fe8}
.category-list li:nth-child(3){color:#72b43b}
.interim{padding:18px 0 72px}
.announcement-title{position:relative;margin-bottom:26px;padding:35px 20px 26px;border:1px solid #ba8b2d;border-radius:28px;background:radial-gradient(circle at 50% 30%,rgba(20,52,81,.78),rgba(7,14,22,.98) 68%);box-shadow:0 14px 34px #000,inset 0 0 0 4px rgba(255,255,255,.02)}
.announcement-title h2{margin-bottom:0}
.announcement-title time{display:block;color:#d8a642;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(3.25rem,7vw,5.8rem);line-height:1.12}
.announcement-title span{display:block;margin-top:8px;font-size:1rem;font-weight:500;line-height:1.7;letter-spacing:.12em}
.store-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.store-card{grid-column:span 2;min-width:0;padding:24px 20px 20px;border:1px solid rgba(185,135,43,.82);border-radius:14px;background:linear-gradient(145deg,#101b28,#060b11);box-shadow:0 12px 26px rgba(0,0,0,.7),inset 0 0 0 3px rgba(255,255,255,.018)}
.store-card:nth-child(4){grid-column:2/span 2}
.store-card:nth-child(5){grid-column:4/span 2}
.store-card h3{min-height:2.8em;margin:0 0 18px;color:#f6eee0;text-align:center;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.05rem,2.1vw,1.4rem);font-weight:600;line-height:1.4}
.store-card h3 a{color:inherit;text-decoration:none}
.store-card h3 a:focus-visible,.store-card h3 a:hover{text-decoration:underline;text-decoration-color:#d8a642;text-underline-offset:.24em}
.store-card dl{display:grid;gap:20px;margin:0}
.result-row{display:grid;gap:7px}
.result-row dt{font-size:.94rem;font-weight:600;white-space:nowrap}
.result-row dd{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin:0;border-bottom:1px solid #b9872b;color:#9da5ae}
.candidate-name{flex:1;min-width:0;overflow:hidden;color:#f6eee0;font-size:.9rem;font-weight:500;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}
.vote-status strong{flex:0 0 auto;margin-left:12px;color:#f6eee0;font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}
.result-row--mood dt{color:#ff5277}
.result-row--hospitality dt{color:#4799ef}
.result-row--photo dt{color:#7abb42}
.final-announcement{width:min(calc(100% - 48px),760px);margin:0 auto;padding:42px 24px 48px;border:1px solid #bb892d;border-radius:24px;background:radial-gradient(circle at 50% 18%,#173454,#060b11 72%);text-align:center;box-shadow:0 14px 36px rgba(0,0,0,.72)}
.final-announcement h2{margin-bottom:0}
.final-announcement time{display:block;color:#dbab4b;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(3.4rem,8vw,6rem);line-height:1.1}
.back-link{margin:36px auto 42px;text-align:center}
.back-link a{display:inline-block;padding:14px 28px;border:1px solid #d6a23a;border-radius:999px;background:#0c1724;font-weight:700}
.back-link a:focus-visible,.back-link a:hover{background:#d6a23a;color:#07101b}
.cast-award-page .section_footer{margin-top:0}
.cast-award-page img{max-width:100%}
@media(max-width:800px){.cast-award-page main{scroll-margin-top:72px}
.award-hero{aspect-ratio:2/3}
.award-hero:before{background:linear-gradient(180deg,rgba(2,8,24,.96) 0%,rgba(2,8,24,.8) 24%,rgba(2,8,24,.12) 43%,transparent 72%,rgba(2,8,24,.3) 100%)}
.award-hero__media{background:#030507}
.award-hero__media img{object-fit:contain;object-position:top center}
.award-hero__inner{display:block;min-height:100%;padding:34px 24px 48px;text-align:center}
.award-hero__copy{width:100%;max-width:560px;margin:0 auto}
.award-hero__group{justify-content:center}
.award-hero h1{font-size:clamp(2.6rem,7vw,3.5rem)}
.award-hero h1 strong{display:block;margin:2px 0 0}
.award-hero__lead{margin-top:20px}
.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.category-card{min-height:184px;padding:20px 10px 22px}
.category-icon{width:104px;height:104px}
.category-card h3{font-size:clamp(.9rem,2.5vw,1.05rem);letter-spacing:0;white-space:normal}
.store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.store-card,.store-card:nth-child(4),.store-card:nth-child(5){grid-column:auto}
.store-card:last-child{grid-column:1/-1;width:calc(50% - 9px);justify-self:center}
}
@media(max-width:560px){.cast-award-page main{scroll-margin-top:66px}
.award-hero__inner{min-height:100%;padding:22px 14px 42px}
.award-hero h1{font-size:clamp(2.15rem,10vw,2.75rem);letter-spacing:.01em;white-space:nowrap}
.award-hero__lead{font-size:.95rem}
.award-categories,.award-guide,.interim{width:calc(100% - 28px)}
.award-categories{padding:58px 0 32px}
.sp-only{display:block}
.section-title h2,.announcement-title h2,.final-announcement h2{letter-spacing:.035em}
.category-grid{grid-template-columns:1fr;gap:12px}
.category-card{grid-template-columns:96px minmax(0,1fr);align-content:center;align-items:center;justify-items:start;gap:18px;min-height:118px;padding:12px 22px;border-radius:14px}
.category-card:after{right:18px;bottom:10px;left:18px}
.category-icon{width:88px;height:88px}
.category-card h3{width:100%;text-align:left;font-size:1.08rem;font-weight:650;line-height:1.45;white-space:normal}
.vote-summary{padding:20px 18px;text-align:left}
.vote-summary h3{font-size:1.2rem;line-height:1.5}
.vote-summary .category-list{grid-template-columns:1fr;gap:6px}
.vote-summary p{font-size:1rem;line-height:1.7}
.guide-card{padding:16px 0 0}
.guide-card--combined{grid-template-columns:1fr;gap:16px}
.guide-card--combined>div+div{padding-top:16px;padding-left:0;border-top:1px solid rgba(255,255,255,.12);border-left:0}
.guide-card h2{font-size:.8125rem}
.guide-card li,.guide-card p{font-size:.75rem;line-height:1.6}
.interim{padding-top:14px;padding-bottom:56px}
.announcement-title{margin-bottom:18px;padding:28px 12px 24px;border-radius:20px}
.announcement-title span{font-size:.95rem;letter-spacing:.04em}
.store-grid{grid-template-columns:1fr}
.store-card,.store-card:nth-child(4),.store-card:nth-child(5),.store-card:last-child{grid-column:auto;width:100%;padding:22px 18px}
.store-card h3{min-height:0;font-size:1.25rem}
.result-row dt{font-size:1rem}
.candidate-name,.vote-status strong{font-size:.95rem}
.final-announcement{width:calc(100% - 28px);padding:34px 18px 38px;border-radius:20px}
.back-link{margin:30px 14px 34px}
.back-link a{width:min(100%,320px);padding:13px 18px;font-size:.9rem}
.award-guide{padding-bottom:32px}
.guide-card li,.guide-card p{font-size:.78rem;line-height:1.7}
}
