:root{--color-primary:#f3cd31;--color-primary-dark:#d4b200;--color-primary-light:#fff23f;--color-bg-dark:#1a1a1a;--color-bg-darker:#0f0f0f;--color-bg-light:#f8f9fa;--color-bg-card:#fff;--color-text-light:#fff;--color-text-dark:#1a1a1a;--color-text-muted:#6b7280;--color-text-on-primary:#1a1a1a;--color-text-gold:#705a00;--color-border:#e0e2c6;--color-border-light:#e5e7eb;--color-accent-red:#ff2922;--shadow-card:0 4px 20px rgba(0,0,0,.08);--shadow-card-hover:0 8px 30px rgba(0,0,0,.12);--glow-primary:0 0 20px rgba(243,205,49,.4);--glow-primary-strong:0 0 30px rgba(243,205,49,.6);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--container-max:1200px;--container-padding:20px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg-darker);color:var(--color-text-dark);font-family:Helvetica Neue,Hiragino Sans,Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;height:auto;max-width:100%}.container{margin:0 auto;max-width:var(--container-max);padding:0 var(--container-padding);width:100%}.hero{background:transparent;overflow:hidden;position:relative}#particles-canvas{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:1}.hero-image{display:block;height:auto;position:relative;width:100%;z-index:0}.hero-content{background:linear-gradient(0deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.5) 70%,transparent);bottom:0;left:0;padding:60px var(--container-padding) 40px;position:absolute;right:0;z-index:2}.hero-title{animation:fadeInUp .8s ease forwards;animation-delay:.3s;color:var(--color-text-light);font-size:clamp(24px,5vw,42px);font-weight:700;line-height:1.3;margin-bottom:16px;opacity:0;transform:translateY(20px)}.hero-title span{color:var(--color-primary);text-shadow:0 0 20px rgba(243,205,49,.5)}.hero-title span.main{color:#ffe599;font-size:1.3em;line-height:1.7}.hero-subtitle{animation:fadeInUp .8s ease forwards;animation-delay:.6s;color:#ffffffd9;font-size:clamp(14px,2vw,18px);max-width:700px;opacity:0;transform:translateY(20px)}.bg-lines{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}.bg-line{animation:lineMove 8s ease-in-out infinite;background:linear-gradient(180deg,transparent 0,rgba(243,205,49,.1) 50%,transparent);height:100vh;position:absolute;width:1px}.bg-line:first-child{animation-delay:0s;left:10%}.bg-line:nth-child(2){animation-delay:2s;left:25%}.bg-line:nth-child(3){animation-delay:4s;left:40%}.bg-line:nth-child(4){animation-delay:1s;left:55%}.bg-line:nth-child(5){animation-delay:3s;left:70%}.bg-line:nth-child(6){animation-delay:5s;left:85%}@keyframes lineMove{0%,to{opacity:0;transform:translateY(-100%)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(100%)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes glowPulse{0%,to{box-shadow:var(--shadow-card),0 0 #f3cd3100}50%{box-shadow:var(--shadow-card),var(--glow-primary)}}@keyframes flipInY{0%{opacity:0;transform:perspective(800px) rotateY(-90deg)}to{opacity:1;transform:perspective(800px) rotateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.flip-in{opacity:0;transform:perspective(800px) rotateY(-90deg);transform-origin:center center;transition:opacity .6s ease,transform .6s cubic-bezier(.175,.885,.32,1.275)}.flip-in.visible{opacity:1;transform:perspective(800px) rotateY(0)}.slide-in-left{opacity:0;transform:translate(-60px);transition:opacity .6s ease,transform .6s cubic-bezier(.25,.46,.45,.94)}.slide-in-left.visible{opacity:1;transform:translate(0)}.slide-in-right{opacity:0;transform:translate(60px);transition:opacity .6s ease,transform .6s cubic-bezier(.25,.46,.45,.94)}.slide-in-right.visible{opacity:1;transform:translate(0)}.section{padding:80px 0;position:relative;z-index:2}.section--dark{background:transparent;color:var(--color-text-light)}.section--light{background:#f8f9faeb;color:var(--color-text-dark);position:relative;z-index:3}.section--primary{background:#f3cd31eb;color:var(--color-text-on-primary);position:relative;z-index:3}.section-header{margin-bottom:48px;text-align:center}.section-label{background:#f3cd3126;border:1px solid var(--color-primary);border-radius:999px;color:var(--color-primary);display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;margin-bottom:16px;padding:6px 16px;text-transform:uppercase}.section--light .section-label{background:#d4b2001a;border-color:var(--color-primary-dark);color:var(--color-primary-dark)}.section-title{font-size:clamp(24px,4vw,36px);font-weight:700;margin-bottom:16px}.section-description{color:#ffffffbf;font-size:16px;margin:0 auto;max-width:700px}.section--light .section-description{color:var(--color-text-muted)}.concept-content{margin:0 auto;max-width:800px;text-align:center}.concept-lead{color:var(--color-primary);font-size:clamp(20px,3vw,28px);font-weight:700;line-height:1.5;margin-bottom:24px;text-shadow:0 0 30px rgba(243,205,49,.3)}.concept-text{color:#ffffffd9;font-size:16px;line-height:2}.criteria-box{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:32px}.criteria-title{align-items:center;color:var(--color-text-dark);display:flex;font-size:20px;font-weight:700;gap:12px;margin-bottom:16px}.criteria-title:before{background:var(--color-primary);border-radius:2px;content:"";display:block;height:24px;width:4px}.criteria-text{color:var(--color-text-muted);font-size:15px;line-height:1.8}.criteria-text .bold{color:var(--color-text-dark);font-weight:600}.award-category{margin-bottom:80px}.award-category:last-child{margin-bottom:0}.award-category-header{margin-bottom:24px;text-align:center}.award-category-name{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff23fb3,#ffe6288c 25%,#fff550d9,#ffe6288c 75%,#fff23fb3);box-shadow:0 10px 40px #0000004d,0 0 0 1px #fff23f80,inset 0 1px #fff6,inset 0 -1px #c8b40033;clip-path:polygon(3% 0,100% 0,97% 100%,0 100%);color:var(--color-text-dark);display:inline-block;font-size:24px;font-weight:700;margin-bottom:8px;max-width:100%;overflow:hidden;padding:12px 24px;position:relative;width:640px}.award-category-name:before{background:#ffffffd6;content:"";height:6px;left:0;position:absolute;right:0;top:18px;z-index:1}.award-name-glass-depth{inset:0;pointer-events:none;position:absolute;z-index:2}.award-name-depth-top{background:linear-gradient(180deg,hsla(0,0%,100%,.9) 0,rgba(255,255,240,.5) 50%,transparent);height:0;left:0;position:absolute;right:0;top:0}.award-name-depth-bottom{background:linear-gradient(0deg,rgba(200,180,50,.3) 0,rgba(220,200,80,.15) 50%,transparent);bottom:0;height:6px;left:0;position:absolute;right:0}.award-name-text{position:relative;z-index:3}.award-category-description{color:#ffffffb3;font-size:15px}.cards-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.ceremony-placeholder{background:#ffffff0d;border:2px dashed hsla(0,0%,100%,.2);border-radius:var(--radius-lg);padding:60px 40px;text-align:center}.ceremony-placeholder-text{color:#ffffff80;font-size:15px}.ceremony-photos-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,860px));justify-content:center}.ceremony-photo{border-radius:var(--radius-md);overflow:hidden}.ceremony-photo img{height:auto;width:100%}.message-content{margin:0 auto;max-width:800px}.message-text{line-height:1.7;margin-bottom:32px}.message-author,.message-text{color:var(--color-text-on-primary);font-size:16px;white-space:pre-line}.message-author{text-align:right}.footer{padding:40px 0;position:relative;text-align:center;z-index:1}.footer-logo-link{display:inline-block;transition:opacity .2s ease}.footer-logo-link:hover{opacity:.8}.footer-logo-img{border-radius:2px;box-shadow:0 0 30px 10px #fff33f4d,0 0 60px 20px #fff33f26,0 0 100px 40px #00000080;height:74px;margin-bottom:16px;width:auto}.footer-text{color:#ffffff80;font-size:13px}.back-to-top{align-items:center;background:var(--color-primary);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 12px #0000004d,var(--glow-primary);color:var(--color-text-on-primary);cursor:pointer;display:flex;height:48px;justify-content:center;opacity:0;position:fixed;right:24px;transition:opacity .3s ease,visibility .3s ease,transform .2s ease;visibility:hidden;width:48px;z-index:100}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{box-shadow:0 6px 16px #0006,var(--glow-primary-strong);transform:translateY(-2px)}.back-to-top svg{height:24px;width:24px}.loading{align-items:center;color:#ffffff80;display:flex;justify-content:center;padding:60px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid hsla(0,0%,100%,.1);border-radius:50%;border-top:3px solid var(--color-primary);height:32px;margin-right:12px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:767px){:root{--container-padding:16px}.section{padding:60px 0}.hero-content{background:var(--color-bg-dark);padding:32px var(--container-padding);position:relative}.company-card{padding:20px}.company-logo{height:48px;width:48px}.award-category-name{font-size:20px}.criteria-box{padding:24px}.bg-line:nth-child(n+4){display:none}}
