:root{--bg:#080b0e;--gold:#e7c77e;--muted:#a5a5a5;--line:#ffffff24;--blue:#66cceb;--red:#ea7e70}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:#f7f5ee;font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:#111}.skip{position:fixed;top:-100px;z-index:100;background:#fff;color:#111;padding:12px}.skip:focus{top:10px}.header{height:70px;display:flex;align-items:center;gap:30px;padding:0 4%;border-bottom:1px solid var(--line);position:relative;z-index:10;background:#080b0ef2}.publisher img{width:132px}.header-title{font-family:Georgia,serif;font-size:13px;letter-spacing:1px;padding-left:26px;border-left:1px solid var(--line)}.header nav{display:flex;gap:28px;margin-left:auto;font-size:10px;letter-spacing:2px}.header nav a:hover{color:var(--gold)}.motion-toggle{color:#aaa;background:none;border:1px solid #ffffff30;padding:8px;font-size:9px;letter-spacing:1px;cursor:pointer}.motion-toggle span{color:var(--gold)}.hero{min-height:810px;height:calc(100svh - 70px);max-height:1080px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 24% 50%,#12475255,transparent 48%),radial-gradient(ellipse at 82% 48%,#622c2655,transparent 45%),#080b0e}.hero:before{content:"";position:absolute;inset:0;background:url('../img/web/back.webp') center 38%/cover;opacity:.13;z-index:-3;filter:saturate(.5)}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#080b0e22,transparent 50%,#080b0e)}.hero-glow{position:absolute;width:68%;height:90%;left:16%;top:0;background:radial-gradient(ellipse,#e8b96527,transparent 65%);z-index:-2}.hero-topline{display:flex;justify-content:space-between;position:absolute;top:30px;left:4%;right:4%;font-size:10px;letter-spacing:3px;color:#c4b48c}.hero-center{position:relative;text-align:center;margin:auto;padding-top:64px;width:min(55%,790px);z-index:2}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:600}.hero-center>.eyebrow{margin-bottom:-10px}.hero h1{margin:0}.hero h1 img{width:100%;filter:drop-shadow(0 15px 28px #000b);animation:arrive 1.3s both}.hero-copy{margin:-10px 0 14px;font-weight:800;letter-spacing:6px;font-size:clamp(18px,2vw,29px);text-shadow:0 3px 15px #000}.hero-date{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto;width:70%}.hero-date img:first-child{width:24%}.hero-date img:last-child{width:75%}.hero-cast{position:absolute;inset:0;pointer-events:none}.mascot{position:absolute;object-fit:contain;filter:drop-shadow(0 10px 25px #0007);animation:float 6s ease-in-out infinite;z-index:1}.mascot-wonder{height:65%;width:34%;left:-3%;top:17%;transform:rotate(-9deg)}.mascot-king{height:66%;width:34%;right:-3%;top:16%;animation-delay:-3s}.hero-bottom{position:absolute;bottom:32px;left:5%;right:5%;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:18px}.city span{font-size:36px;font-family:Georgia,serif;letter-spacing:4px}.city p{font-size:12px;line-height:1.8;letter-spacing:1px;margin:8px 0 0}.city-left span{color:var(--blue)}.city-right{text-align:right}.city-right span{color:var(--red)}.scroll-link{text-align:center;letter-spacing:2px;font-size:8px;color:#c4b48c}.scroll-link span{display:block;font-size:24px;margin-top:14px;animation:down 2s infinite}.orbit{position:absolute;left:50%;top:44%;width:740px;height:740px;border:1px solid #d3ae5530;border-radius:50%;transform:translate(-50%,-50%);z-index:-1}.orbit:after{content:"✦";color:var(--gold);position:absolute;top:15%;left:14%;font-size:20px}.orbit-two{width:850px;height:850px;border-style:dashed;opacity:.4;animation:rotate 100s linear infinite}#particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.ticker{overflow:hidden;background:var(--gold);color:#17140e;padding:15px 0}.ticker div{white-space:nowrap;width:max-content;font-family:Georgia,serif;letter-spacing:3px;font-size:20px;animation:marquee 38s linear infinite}.ticker b{padding:0 38px;font-size:15px}.section{max-width:1160px;margin:auto;padding:100px 36px}.section-label{font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:30px}h2{font-size:clamp(25px,3.4vw,43px);letter-spacing:2px;line-height:1.65;margin:0;font-weight:800}.gold{color:var(--gold)}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px}.intro-grid p{font-size:13px;line-height:2.3;color:#b6b7b8}.intro-grid .lead{font-weight:700;color:#f4f2eb;font-size:15px;margin-top:0}.text-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #766747;padding:19px 0 12px;font-size:12px;letter-spacing:1px;gap:16px}.text-link:hover{color:var(--gold)}.text-link span{font-size:21px}.connection{display:flex;align-items:center;margin-top:70px;gap:35px}.connection>span{font-family:Georgia,serif;font-size:30px;letter-spacing:4px}.connection small{font-family:sans-serif;display:block;font-size:10px;letter-spacing:2px;margin-top:8px;color:var(--muted);text-align:center}.connection-line{flex:1;position:relative;height:1px;background:linear-gradient(90deg,var(--blue),var(--gold),var(--red))}.connection-line b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--bg);font-size:28px;color:var(--gold);padding:20px;font-weight:300}.connection-line i{width:6px;height:6px;background:#fff;position:absolute;top:-2px;border-radius:100%;box-shadow:0 0 12px var(--gold);animation:travel 5s ease-in-out infinite}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:38px}.section-heading .section-label{margin-bottom:14px}.side-note{font-size:8px;letter-spacing:2px;color:#999;padding-bottom:12px}.movie{padding-top:40px}.movie-screen{aspect-ratio:2.1;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid #a78b4b66;overflow:hidden;background:#131015 url('../img/web/back.webp') center 46%/cover}.movie-screen:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080b0efa,#080b0e66 70%)}.movie-art{height:100%;width:100%;display:flex;align-items:center;justify-content:center;opacity:.55;transition:transform .7s}.movie-art img{width:55%;filter:blur(1px)}.movie-screen:hover .movie-art{transform:scale(1.06)}.play{position:absolute;display:grid;place-items:center;width:76px;height:76px;border:1px solid var(--gold);border-radius:100%;background:#0a0b0e88;color:var(--gold);padding-left:4px;transition:background .3s,transform .3s}.movie-screen:hover .play{background:#977638;transform:scale(1.1);color:#fff}.movie-caption{position:absolute;left:28px;right:28px;bottom:25px;display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:2px}.sample-note{font-size:10px;line-height:1.8;color:#999;margin:18px 0 0}.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.halls{padding-top:45px}.hall{background:#101519;border-top:2px solid var(--blue);padding:28px}.hall.king{border-color:var(--red);background:#181313}.hall-heading{display:flex;align-items:center;gap:20px;min-height:85px}.hall-heading>img{width:70px;height:70px}.hall h3{font-size:19px;line-height:1.6;margin:9px 0 0}.hall .eyebrow{font-size:9px;letter-spacing:2px}.hall-photo{height:240px;margin:26px 0 20px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hall-photo img{width:100%;height:100%;object-fit:contain;transition:transform .6s}.hall:hover .hall-photo img{transform:scale(1.04)}.hall-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.hall-stats>div:last-child{border-left:1px solid var(--line);padding-left:22px}.hall-stats span{font-size:9px;letter-spacing:2px;color:#aaa}.hall-stats p{font-size:12px;margin:7px 0 0}.hall-stats b{font-size:40px;font-family:Georgia,serif;font-weight:400}.outline-link{display:flex;justify-content:space-between;gap:10px;padding:16px 19px;border:1px solid #8d784a;margin-top:23px;font-size:12px;transition:background .2s}.outline-link:hover{background:#e7c77e;color:#111}.messages{padding-top:25px}.message{position:relative;padding:30px;background:linear-gradient(130deg,#171a1c,#0d1013);border:1px solid var(--line);display:flex;flex-direction:column}.quote{position:absolute;right:25px;top:3px;color:#e7c77e25;font-size:100px;font-family:Georgia,serif}.profile{display:flex;gap:18px;align-items:center;position:relative}.profile img{width:64px;height:64px;border-radius:50%;border:1px solid #90784a}.profile .eyebrow{font-size:8px;letter-spacing:2px}.profile h3{font-size:15px;line-height:1.7;margin:5px 0}.profile small{font-size:12px;font-weight:400;color:#aaa}.message>p{font-size:13px;line-height:2.3;color:#c3c3c3;margin:25px 0 10px}.message .text-link{margin-top:auto}.gifts{padding-top:25px}.gifts-intro{font-size:13px;line-height:2;color:#bdbdbd;margin-bottom:34px}.gift{text-align:center;position:relative;padding:30px 20px 40px;border:1px solid #a98a4a55;background:radial-gradient(ellipse at 50% 45%,#b88c3420,transparent 60%)}.gift-route{font-family:Georgia,serif;letter-spacing:3px;font-size:20px}.gift-route span{color:var(--gold);margin:0 10px}.gift-location{font-size:11px;color:#aaa;min-height:28px;line-height:1.8}.product{height:300px;position:relative;display:flex;justify-content:center;align-items:center;margin:10px 0 20px}.product img{width:70%;height:85%;object-fit:contain;position:relative;filter:drop-shadow(0 20px 15px #0008);transition:transform .6s}.gift:hover .product img{transform:translateY(-12px) rotate(-6deg)}.product-ring{position:absolute;width:80%;aspect-ratio:1;border:1px solid #e7c77e40;border-radius:50%}.product-ring:after{content:"✦";position:absolute;right:5%;top:12%;font-size:25px;color:var(--gold)}.gift-label{font-size:10px;letter-spacing:2px;color:var(--gold)}.gift h3{font-size:25px;margin:15px 0}.gift>p:last-child{font-size:12px;color:#aaa}.finale{text-align:center;padding:90px 24px 95px;border-top:1px solid #c6a35c44;border-bottom:1px solid #c6a35c44;background:radial-gradient(ellipse at 50% 100%,#7c5b232c,transparent 70%)}.finale h2{font-size:clamp(24px,3.4vw,43px);margin-top:26px}.finale-date{font:100px Georgia,serif;color:var(--gold);letter-spacing:-5px;margin-top:18px}.finale-date span{font:15px Arial,sans-serif;letter-spacing:2px}.finale>p:not(.eyebrow){font-size:12px;line-height:2;color:#bbb}.gold-button{margin:30px auto 0;display:flex;justify-content:space-between;max-width:330px;padding:20px 28px;background:var(--gold);color:#15120c;font-size:13px;font-weight:700}.gold-button:hover{background:#f6dfaa}footer{max-width:1160px;margin:auto;padding:50px 36px 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top img{width:155px}.footer-top nav{display:flex;gap:25px;font-size:11px;color:#bbb}.result-banner{display:block;width:240px;margin:36px auto}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:16px;font-size:9px;color:#8e8e8e;letter-spacing:.5px}.reveal{transition:opacity .85s,transform .85s}.js-motion .reveal:not(.visible){opacity:0;transform:translateY(25px)}.motion-off *{animation-play-state:paused!important;scroll-behavior:auto!important}.motion-off .reveal{opacity:1!important;transform:none!important;transition:none!important}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -16px}}@keyframes down{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes rotate{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes travel{0%,100%{left:0}50%{left:100%}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes arrive{from{opacity:0;transform:translateY(25px) scale(.95)}to{opacity:1;transform:none}}
@media(min-width:1500px){.hero-center{width:690px}.mascot-wonder{left:4%}.mascot-king{right:4%}}
@media(max-width:900px){.header-title{display:none}.hero{min-height:720px;max-height:860px}.hero-center{width:72%;padding-top:80px}.mascot{width:37%;height:54%;top:25%}.mascot-wonder{left:-12%}.mascot-king{right:-12%}.hero-copy{letter-spacing:3px}.city span{font-size:26px}.intro-grid{gap:28px}.side-note{display:none}.hall{padding:20px}.hall-heading{gap:10px}.hall-heading>img{width:54px;height:54px}.hall h3{font-size:15px}.hall-photo{height:190px}.profile{gap:10px}.profile img{width:48px;height:48px}.profile h3{font-size:13px}.message{padding:22px}.product{height:230px}.gift-route{font-size:17px}}
@media(max-width:600px){html{scroll-padding-top:20px}.header{height:58px;padding:0 16px;gap:12px}.publisher img{width:102px}.header nav{gap:14px;font-size:8px;letter-spacing:1px}.motion-toggle{font-size:7px;padding:6px}.hero{height:730px;min-height:0;max-height:none}.hero-topline{top:22px;left:18px;right:18px;font-size:7px;letter-spacing:1.5px}.hero-center{width:98%;padding-top:130px}.hero-center>.eyebrow{font-size:8px;letter-spacing:2.5px;margin-bottom:0}.hero h1 img{width:100%}.hero-copy{font-size:18px;letter-spacing:1px;margin:2px 0 18px}.hero-date{width:72%;gap:4px}.mascot{height:300px;width:44%;top:55px;opacity:.85}.mascot-wonder{left:-7%;rotate:-8deg}.mascot-king{right:-7%;top:55px}.hero-bottom{bottom:24px;left:18px;right:18px;grid-template-columns:1fr 1fr;gap:20px}.city span{font-size:21px;letter-spacing:2px}.city p{font-size:10px;letter-spacing:0;min-height:36px}.scroll-link{grid-column:1/-1;grid-row:2;font-size:7px}.scroll-link span{margin-top:5px;font-size:20px}.orbit{width:450px;height:450px;top:42%}.orbit-two{width:520px;height:520px}.ticker{padding:12px 0}.ticker div{font-size:14px}.ticker b{padding:0 22px}.section{padding:65px 20px}.section-label{font-size:8px;letter-spacing:2px;margin-bottom:24px}h2{font-size:25px;letter-spacing:.5px}.intro-grid{grid-template-columns:1fr;gap:25px}.intro-grid p{font-size:12px}.intro-grid .lead{font-size:13px}.connection{gap:15px;margin-top:45px}.connection>span{font-size:18px;letter-spacing:1px}.connection small{font-size:8px}.connection-line b{font-size:22px;padding:12px}.movie{padding-top:10px}.section-heading{margin-bottom:25px}.section-heading .section-label{margin-bottom:12px}.movie-screen{aspect-ratio:1.65}.movie-art img{width:72%}.play{width:56px;height:56px;font-size:14px}.movie-caption{left:13px;right:13px;bottom:15px;font-size:6px;letter-spacing:1px}.sample-note{font-size:9px}.duo{gap:10px}.halls,.messages,.gifts{padding-top:15px}.hall{padding:12px 10px}.hall-heading{flex-direction:column;align-items:flex-start;gap:8px;min-height:127px}.hall-heading>img{width:48px;height:48px}.hall h3{font-size:12px;line-height:1.65;margin-top:6px}.hall .eyebrow{font-size:7px;letter-spacing:1px}.hall-photo{height:115px;margin:14px 0}.hall-stats{padding:14px 0}.hall-stats span{font-size:6px;letter-spacing:.5px}.hall-stats b{font-size:25px;letter-spacing:-1px}.hall-stats p{font-size:8px}.hall-stats>div:last-child{padding-left:8px}.outline-link{font-size:10px;padding:13px 8px;margin-top:15px}.message{padding:16px 12px}.profile{flex-direction:column;align-items:flex-start;min-height:124px;gap:8px}.profile .eyebrow{font-size:6px;letter-spacing:1px}.profile h3{font-size:11px}.profile small{font-size:10px}.profile img{width:45px;height:45px}.message>p{font-size:11px;line-height:2.1;margin-top:16px}.message .text-link{font-size:9px;letter-spacing:0;gap:3px}.quote{right:8px;font-size:70px}.gifts-intro{font-size:12px}.gift{padding:22px 9px 25px}.gift-route{font-size:11px;letter-spacing:.5px}.gift-route span{margin:0 3px}.gift-location{font-size:9px;min-height:34px}.product{height:145px;margin:10px 0}.product img{width:90%}.product-ring{width:94%}.gift-label{font-size:8px;letter-spacing:0}.gift h3{font-size:15px;margin:12px 0}.gift>p:last-child{font-size:10px}.finale{padding:65px 20px}.finale h2 span{display:block}.finale-date{font-size:82px}.finale>p:not(.eyebrow){font-size:10px;max-width:290px;margin:14px auto}.finale .eyebrow{font-size:8px}footer{padding:38px 20px 22px}.footer-top{flex-direction:column}.footer-top nav{font-size:10px;gap:20px}.footer-bottom{font-size:7px;letter-spacing:0}.result-banner{width:210px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal:not(.visible){opacity:1;transform:none}}

/* Main visual: luminous poster composition, with the logo and date in front. */
.hero{height:auto;min-height:0;max-height:none;background:#f6d58b;}
.hero:before{background:url('../img/web/back.webp') center center/cover;opacity:1;filter:none;z-index:-3;}
.hero:after{background:linear-gradient(180deg,#fff5,transparent 20%,transparent 80%,#fff2);z-index:-1;}
.hero-glow{inset:0;width:100%;height:100%;background:radial-gradient(ellipse at 50% 27%,#fff9,transparent 55%);z-index:1;pointer-events:none;mix-blend-mode:screen;}
.hero-topline,.hero-center>.eyebrow,.hero-copy,.hero .orbit{display:none;}
.hero-cast{width:min(100%,1320px);left:50%;right:auto;transform:translateX(-50%);z-index:0;}
.mascot{top:-2%;height:76%;width:61%;filter:drop-shadow(0 0 16px #fff9);opacity:.94;object-position:center top;-webkit-mask-image:linear-gradient(#000 48%,transparent 96%);mask-image:linear-gradient(#000 48%,transparent 96%);}
.mascot-wonder{left:-12%;transform:rotate(-12deg);}
.mascot-king{right:-12%;top:-3%;}
.hero-center{width:min(98%,1100px);padding-top:65px;z-index:2;}
.hero h1 img{width:100%;filter:drop-shadow(0 0 7px #fff) drop-shadow(0 8px 5px #48270688);}
.hero-date{width:96%;gap:0;margin:-4% auto 0;padding:0 0 32px;filter:drop-shadow(0 0 6px #fff);}
.hero-date img:first-child{width:25%;}
.hero-date img:last-child{width:75%;}
.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;padding:24px max(5%,calc((100% - 1080px)/2));background:linear-gradient(90deg,#071a23f5,#141011f5);align-items:center;z-index:4;}
.city span{font-size:27px;}.city p{font-size:11px;}.city-left{text-align:left}.city-right{text-align:right}
#particles{mix-blend-mode:screen;}
@media(max-width:900px){.hero-center{width:100%;padding-top:60px;}.mascot{height:77%;width:65%;top:-1%;}.mascot-wonder{left:-13%;}.mascot-king{right:-13%;top:-2%;}.hero-date{width:98%;padding-bottom:24px;}}
@media(max-width:600px){.hero{height:auto;min-height:0;max-height:none;}.hero-center{width:100%;padding-top:46px;}.hero h1 img{width:100%;}.hero-date{width:99%;margin-top:-4%;padding-bottom:15px;}.hero-cast{width:100%;}.mascot{height:80%;width:68%;top:-1%;opacity:.94;rotate:0deg;}.mascot-wonder{left:-15%;transform:rotate(-12deg);}.mascot-king{right:-15%;top:-2%;}.hero-bottom{padding:18px 16px;gap:12px;}.city span{font-size:20px;}.city p{font-size:9px;margin-top:5px;min-height:32px;}.scroll-link{display:none;}}

/* Lift the left character's face into the upper-left of the title. */
.hero .mascot-wonder{width:49%;height:68%;left:-7%;top:-11%;transform:rotate(-15deg);object-position:center top;-webkit-mask-image:linear-gradient(#000 62%,transparent 98%);mask-image:linear-gradient(#000 62%,transparent 98%);}
@media(max-width:900px){.hero .mascot-wonder{width:52%;height:71%;left:-8%;top:-10%;}}
@media(max-width:600px){.hero .mascot-wonder{width:54%;height:73%;left:-9%;top:-9%;}}

/* Movie announcement and shared hall scenery. */
.coming-soon{position:absolute;z-index:2;color:#fff4d1;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:clamp(24px,5.8vw,72px);letter-spacing:.035em;text-align:center;white-space:nowrap;text-shadow:0 3px 16px #000,0 0 35px #000;padding:20px;}
.movie-screen .movie-art{opacity:.28;}
.hall-photo{position:relative;isolation:isolate;background:#e4c895 url('../img/web/back.webp') center 60%/cover;border:1px solid #e7c77e66;}
.hall-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff22,#32200433);z-index:-1;}
.hall-photo img{padding:12px 8px 0;filter:drop-shadow(0 8px 8px #0008);}
@media(max-width:600px){.coming-soon{font-size:clamp(21px,6.4vw,34px);padding:10px;}.hall-photo img{padding:8px 3px 0;}}

/* 王の見え方：サイズ・配置を維持し、顔と衣装の透明度を抑える。 */
.hero .mascot-king {
  opacity: 1;
  filter: drop-shadow(0 0 8px #fff6) contrast(1.1) saturate(1.08);
  -webkit-mask-image: linear-gradient(#000 74%, transparent 99%);
  mask-image: linear-gradient(#000 74%, transparent 99%);
}

/* 読み込み前に画像の縦横比を確保し、表示幅に合わせて高さを調整する。 */
.hero h1 img,
.hero-date img {
  height: auto;
}

/* キャラクターを白くぼかさず、素材本来の輪郭と色で表示。 */
.hero-glow {
  display: none;
}
.hero .mascot-wonder,
.hero .mascot-king {
  opacity: 1;
  filter: none;
  -webkit-mask-image: none;
  mask-image: none;
}

/* バナー削除後のフッター間隔。 */
.footer-bottom {
  margin-top: 32px;
}

/* 追加コメンテーター：既存の2列の下に、横幅いっぱいの1カラム。 */
.message-wide {
  margin-top: 28px;
}
.message-wide .profile {
  flex-direction: row;
  align-items: center;
  min-height: 0;
}
@media (max-width: 600px) {
  .message-wide {
    margin-top: 10px;
    padding: 20px 16px;
  }
  .message-wide .profile h3 {
    font-size: 14px;
  }
  .message-wide > p {
    font-size: 12px;
  }
  .message-wide .text-link {
    font-size: 11px;
  }
}

/* オープニング動画 → ホワイトアウト → LP表示。 */
html.intro-pending {
  overflow: hidden;
}
.intro-pending body > header,
.intro-pending body > main,
.intro-pending body > footer,
.intro-pending body > .skip {
  visibility: hidden;
}
.intro-pending .hero h1 img {
  animation: none;
}
.opening {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  background: #fff;
  opacity: 1;
  transition: opacity 850ms ease;
}
.opening[hidden] {
  display: none;
}
.opening-video {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 100svh;
  object-fit: contain;
}
.opening::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 800ms ease-in;
}
.opening.is-whiteout::after {
  opacity: 1;
}
.opening.is-revealing {
  opacity: 0;
  pointer-events: none;
}
.opening-skip {
  position: absolute;
  top: max(24px, env(safe-area-inset-top));
  right: max(24px, env(safe-area-inset-right));
  z-index: 1;
  padding: 13px 18px;
  border: 1px solid #2226;
  color: #222;
  background: #ffffffdd;
  font-size: 11px;
  letter-spacing: 2px;
  cursor: pointer;
}
.opening-skip:hover {
  background: #222;
  color: #fff;
}
.opening-label {
  position: absolute;
  bottom: max(24px, env(safe-area-inset-bottom));
  font-size: 9px;
  letter-spacing: 3px;
  color: #555;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .opening, .opening::after {
    transition: none;
  }
}

/* コラボ紹介：指定の改行を保ちながら見出しを読みやすく配置。 */
.intro-grid h2 {
  font-size: clamp(24px, 3vw, 36px);
  letter-spacing: 0;
}
.movie h2 .gold {
  display: block;
  font-size: .65em;
  line-height: 1.7;
  margin-top: 4px;
}
/* 景品の入荷先を商品ごとに強調。左右の店舗は同じ大きさで表示。 */
.gift .gift-location {
  height: 132px;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 22px 0 16px;
  padding: 18px 12px;
  background: #11252d;
  border: 1px solid var(--blue);
  border-top-width: 3px;
  color: #fff;
}
.gift:nth-child(2) .gift-location {
  background: #2a1a18;
  border-color: var(--red);
}
.gift-location > span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  color: var(--gold);
}
.gift-location > strong {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.55;
}
@media (max-width: 600px) {
  .gift .gift-location {
    height: 126px;
    gap: 8px;
    margin: 18px 0 12px;
    padding: 12px 5px;
  }
  .gift-location > span {
    font-size: 9px;
    letter-spacing: 1px;
  }
  .gift-location > strong {
    font-size: clamp(11px, 3.2vw, 15px);
    line-height: 1.7;
  }
}
/* 商品の飾り枠が入荷店舗名のパネルに重ならないようにする。 */
.gift .product-ring {
  width: min(80%, 280px);
}

/* プロローグ：添付のサムネイルから、操作して音声付きで再生。 */
.movie-player {
  border: 1px solid #a78b4b66;
  background: #000;
}
.prologue-video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3806 / 2130;
  object-fit: contain;
  background: #000;
}
.prologue-video:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

/* メインロゴを光彩キャンバス（z-index: 3）より前面に表示。 */
.hero .hero-center {
  z-index: 5;
}
