:root{--night:#171238;--night2:#2b2256;--deep:#09071d;--cream:#fff3cf;--paper:#fff8e9;--orange:#f5a532;--orange2:#dc6d35;--ink:#352445;--pink:#d15f55;--font-display:"Mochiy Pop One","Hiragino Sans","Yu Gothic UI",sans-serif;--font-body:"Zen Maru Gothic","Hiragino Sans","Yu Gothic UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;overflow-x:hidden;background:var(--deep);color:var(--cream);font-family:var(--font-body);-webkit-font-smoothing:antialiased}button,a{font:inherit}a{color:inherit}img,video{max-width:100%}.site-header{height:68px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:20}.brand{display:inline-flex;flex-direction:column;font-family:var(--font-display);font-size:1.12rem;line-height:.85;text-decoration:none}.brand span{color:#fbc563;font-family:var(--font-body);font-size:.48rem;font-weight:900;letter-spacing:.2em}.desktop-nav{display:none}.header-actions{display:flex;align-items:center;gap:7px}.language{min-height:44px;padding:0 9px;border:0;background:transparent;color:inherit;cursor:pointer;font-size:.75rem;font-weight:900}.header-play{min-height:42px;display:inline-flex;align-items:center;padding:0 13px;border:2px solid #fff3cf8c;border-radius:99px;font-size:.68rem;font-weight:900;letter-spacing:.05em;text-decoration:none}.hero{min-height:100svh;padding:90px 18px 40px;position:relative;isolation:isolate;overflow:hidden;display:grid;align-content:start;background:radial-gradient(circle at 76% 20%,#ffefae2d,transparent 24%),linear-gradient(180deg,var(--night2),var(--night) 65%,var(--deep))}.stars{position:absolute;inset:0;z-index:-2;opacity:.45;background-image:radial-gradient(circle,#fff4cb 1px,transparent 1.5px);background-size:42px 42px;mask-image:linear-gradient(#000,transparent 78%)}.moon{position:absolute;top:12%;right:10%;z-index:-1;color:#fff0b5;font-size:clamp(3.5rem,15vw,8rem);line-height:1;filter:drop-shadow(0 0 26px #ffe7a75c)}.lanterns{position:absolute;inset:72px 6% auto;display:flex;justify-content:space-between;opacity:.8;font-size:1.35rem}.lanterns span:nth-child(2){transform:translateY(20px)}.hero-copy{width:min(560px,100%);margin:0 auto;position:relative;z-index:3;text-align:center}.eyebrow,.kicker{margin:0 0 10px;color:#dc704a;font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.hero .eyebrow{color:#ffd77c}h1,h2,h3{font-family:var(--font-display)}h1{margin:0;color:var(--cream);font-size:clamp(3.85rem,20vw,7.1rem);line-height:.73;letter-spacing:-.075em;text-shadow:0 6px 0 #8e4650,0 14px 32px #0006}h1 span{display:block}.tagline{margin:22px 0 0;color:#ffd672;font-family:var(--font-display);font-size:clamp(1.05rem,5vw,1.55rem)}.hero-description{max-width:34ch;margin:9px auto 20px;color:#fff3cfe8;font-size:.94rem;line-height:1.55}.play-button{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:0 28px;border:3px solid #ffe099;border-radius:99px;background:linear-gradient(#ffbd40,var(--orange2));box-shadow:0 7px 0 #84392d,0 14px 34px #0005;color:#2b1b34;font-size:.94rem;font-weight:900;letter-spacing:.08em;text-decoration:none;transition:.18s}.play-button:hover{filter:brightness(1.08);transform:translateY(-2px)}a:focus-visible,button:focus-visible{outline:3px solid #fff;outline-offset:4px}.play-note{margin:15px 0 0;color:#ffffff9e;font-size:.73rem}.hero-art{width:min(680px,calc(100% + 36px));margin:28px -18px -8px;justify-self:center;position:relative;z-index:1}.hero-art img{width:100%;height:auto;display:block;border:3px solid #ffe9ab57;border-radius:25px;box-shadow:0 24px 54px #0006}.scroll-cue{width:44px;height:44px;margin:10px auto 0;display:grid;place-items:center;border:1px solid #ffffff40;border-radius:50%;text-decoration:none}.section-dark,.section-night,.section-cream,.section-orange,.final-cta{padding:76px 20px}.section-dark,.section-night{background:var(--deep)}.section-cream{background:var(--cream);color:var(--ink)}.section-orange{background:#e98745;color:#31203f}.section-heading{width:min(1100px,100%);margin:0 auto 28px;text-align:center}h2{margin:0;font-size:clamp(2.05rem,10vw,4.05rem);line-height:1;letter-spacing:-.045em}.section-dark .kicker,.section-night .kicker{color:#f7b65a}.pv-frame{width:min(380px,100%);margin:0 auto;overflow:hidden;border:3px solid #ffe7ae4d;border-radius:26px;background:#080617;box-shadow:0 28px 68px #0005}.pv-frame video{width:100%;height:auto;aspect-ratio:9/16;display:block;background:#080617}.pv-placeholder{position:relative;aspect-ratio:9/16}.pv-placeholder img{width:100%;height:100%;display:block;object-fit:cover;opacity:.65}.pv-placeholder::after{content:"▶";width:62px;height:62px;display:grid;place-items:center;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);border:2px solid #ffe099;border-radius:50%;background:#161134cc;color:#ffd46e}.pv-placeholder span{position:absolute;inset:auto 0 18px;text-align:center;color:#fff4cf;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.what{display:grid;gap:34px}.what-image{overflow:hidden;border-radius:26px;box-shadow:0 20px 50px #3f23342e;transform:rotate(-1.5deg)}.what-image img{width:100%;height:auto;display:block}.what-copy p:last-child,.shop-copy p:last-child,.story-copy p:last-child,.follow>div>p:last-child{font-size:1rem;line-height:1.75}.how{background:linear-gradient(#171238,#211849)}.shop{display:grid;align-items:center;gap:24px;overflow:hidden}.shop .kicker{color:#fff4c9}.shop-art{max-height:320px;display:grid;place-items:center}.shop-art img{width:min(420px,90vw);max-height:280px;object-fit:contain;filter:drop-shadow(0 18px 20px #5b282947);transform:rotate(6deg)}.section-heading.left{text-align:left}.dango-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(236px,76vw);gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 20px 22px;margin:0 -20px}.dango-scroll::-webkit-scrollbar{display:none}.dango-scroll article{min-height:230px;display:grid;place-items:center;align-content:start;scroll-snap-align:center;border:2px solid #4229431a;border-radius:28px;background:#f2ddc7;box-shadow:0 10px 0 #442b4117}.dango-scroll article:nth-child(4n+1){background:#f5d0d0}.dango-scroll article:nth-child(4n+3){background:#d9e6c8}.dango-scroll img{width:min(118px,62%);height:auto;aspect-ratio:1;object-fit:contain}.dango-scroll h3{margin:2px 0 0;font-size:1rem}.story{display:grid;align-items:center;gap:34px;background:radial-gradient(circle at 18% 40%,#f1a74721,transparent 34%),var(--night)}.story-mark{width:180px;height:180px;display:grid;place-items:center;justify-self:center;border:3px solid #ffe29e40;border-radius:50%;color:#ffd36d;font-family:var(--font-display);font-size:7rem;box-shadow:inset 0 0 0 12px #ffffff0a}.story-lead{color:#ffd36d;font-size:1.15rem;font-weight:900}.final-cta{display:grid;justify-items:center;gap:12px;position:relative;overflow:hidden;background:var(--pink);text-align:center}.final-cta::before{content:"";position:absolute;inset:0;opacity:.18;background-image:radial-gradient(circle,#fff 1.5px,transparent 1.5px);background-size:36px 36px}.final-cta>*{position:relative}.final-cta img{width:112px;aspect-ratio:1;object-fit:contain;margin:-42px 0 0}.final-cta>p{margin:0;color:#ffdc80;font-weight:900;letter-spacing:.14em}.final-cta strong{margin-bottom:14px;color:#ffe28e}.follow{display:grid;gap:30px}.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.social-grid a,.social-pending{min-height:82px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:14px;border:2px solid #3e28432b;border-radius:17px;text-decoration:none}.social-grid a{background:var(--paper)}.social-pending{opacity:.56}.social-grid b{font-family:var(--font-display)}.social-grid small{font-size:.68rem}footer{padding:48px 20px 98px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:#080718;color:#fff3cfba;font-size:.75rem;line-height:1.7}footer>div:last-child{text-align:right}footer a:not(.brand){text-underline-offset:4px}.sticky-play{min-height:54px;display:flex;align-items:center;justify-content:center;gap:18px;position:fixed;z-index:30;inset:auto 12px 12px;border:3px solid #ffe099;border-radius:99px;background:linear-gradient(#ffbd40,#e06b31);box-shadow:0 6px 0 #71322a,0 10px 30px #0006;color:#2b1b34;font-size:.84rem;font-weight:900;letter-spacing:.08em;text-decoration:none}
@media(min-width:900px){.site-header{padding-inline:max(28px,calc((100vw - 1180px)/2))}.desktop-nav{display:flex;gap:28px}.desktop-nav a{font-size:.76rem;font-weight:900;text-decoration:none}.hero{grid-template-columns:minmax(0,1fr) minmax(380px,640px);align-items:center;gap:36px;padding:100px max(28px,calc((100vw - 1180px)/2)) 60px}.hero-copy{margin:-2vh 0 0;text-align:left}.hero-description{margin-inline:0}.hero-art{width:100%;margin:0}.scroll-cue{position:absolute;bottom:22px;left:50%}.what,.shop,.story,.follow{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:max(28px,calc((100vw - 1100px)/2))}.what-copy,.shop-copy,.story-copy{align-self:center}.meet{padding-inline:max(28px,calc((100vw - 1100px)/2))}.dango-scroll{grid-auto-flow:unset;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;margin:0;padding:8px 0 20px}.dango-scroll article{min-height:250px}.final-cta{padding-block:94px}.social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}footer{padding:58px max(28px,calc((100vw - 1100px)/2))}.sticky-play{display:none}}
@media(min-width:1100px){.section-dark,.section-night,.section-cream,.section-orange,.final-cta{padding-top:108px;padding-bottom:108px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}}
@media(max-width:899px){.moon{top:18%;right:-12%;opacity:.42}}
.how-lead{width:min(48ch,100%);margin:14px auto 0;color:#fff3cfc4;font-size:.92rem;line-height:1.75}
.section-cream .how-lead{color:#352445c4}
.section-heading.left .how-lead{margin-inline:0}
.rules{width:min(1100px,100%);margin:16px auto 0;display:grid;gap:14px}
.rule-card{min-width:0;padding:22px 18px 20px;border:1px solid #ffffff1f;border-radius:22px;background:#ffffff12;text-align:center}
.rule-card h3{margin:0;color:#ffd36d;font-size:1.02rem;letter-spacing:.06em}
.rule-sub{margin:7px 0 0;color:#fff3cfb8;font-size:.8rem;font-weight:700;line-height:1.5}
.rule-note{margin:12px 0 0;color:#fff3cf99;font-size:.74rem;font-weight:700;line-height:1.55}
.rule-body{margin:9px 0 0;color:#fff3cfdb;font-size:.88rem;line-height:1.7}
.formula{margin:14px 0 0;color:#ffb673;font-family:var(--font-display);font-size:1rem}
.formula b{color:#ffd36d;font-weight:400}
.control-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:9px;text-align:left}
.control-list li{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:12px;padding:9px 13px;border-radius:14px;background:#ffffff12}
.control-icon{width:38px;height:38px;grid-row:1/3;display:grid;place-items:center;border-radius:50%;background:#f0dcc0;color:#44301e;font-size:1.05rem;font-weight:900}
.control-list b{color:var(--cream);font-family:var(--font-display);font-size:.88rem;font-weight:400}
.control-list small{color:#fff3cf99;font-size:.72rem;font-weight:700}
.skewer{width:fit-content;margin:20px auto 4px;position:relative;display:flex;align-items:center;justify-content:center;min-height:66px}
.skewer .stick{width:auto;height:10px;position:absolute;left:-38px;right:-34px;z-index:0;object-fit:fill}
.skewer .dango{width:clamp(38px,13vw,58px);height:auto;aspect-ratio:1;position:relative;z-index:1;margin-inline:-3px;object-fit:contain}
.skewer.long .dango{width:clamp(30px,10vw,47px)}
.chain{margin:18px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:6px}
.chain li{display:grid;justify-items:center;gap:6px}
.chain b{width:34px;height:34px;display:grid;place-items:center;border:2px solid #b47c1c;border-radius:50%;background:#ffc65a;color:#44301e;font-family:var(--font-display);font-size:.76rem;font-weight:400}
.chain li:first-child b{background:#e8d5b8}
.chain li:nth-child(3) b{width:38px;height:38px}
.chain li:nth-child(4) b{width:41px;height:41px;font-size:.82rem}
.chain li:nth-child(5) b{width:44px;height:44px;font-size:.86rem}
.chain small{color:#fff3cf99;font-size:.64rem;font-weight:700}
.rule-closing{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:14px;text-align:left}
.rule-closing img{width:66px;height:auto;aspect-ratio:1;object-fit:contain}
.tips{width:min(1100px,100%);margin:14px auto 0;padding:0;list-style:none;display:grid;gap:10px}
.tips li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:12px;padding:12px 15px;border:1px dashed #ffffff2b;border-radius:16px;text-align:left}
.tips li>img,.tips .tip-icon{width:34px;height:34px;grid-row:1/3;display:grid;place-items:center;font-size:1.15rem;object-fit:contain}
.tips b{color:#ffd36d;font-family:var(--font-display);font-size:.85rem;font-weight:400}
.tips small{margin-top:2px;color:#fff3cfb3;font-size:.74rem;font-weight:700;line-height:1.55}
.how-cta{margin:26px 0 0;text-align:center}
.dango-scroll article{min-height:252px;padding:16px 15px 18px}
.dango-scroll .price{margin:3px 0 0;color:#6f4b30;font-family:var(--font-display);font-size:.86rem}
.dango-scroll .price.gold{color:#b06f10}
.dango-scroll .price-note{margin:2px 0 0;color:#6f4b30ad;font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
@media(min-width:900px){.rule-card:not(.rule-closing){display:flex;flex-direction:column;justify-content:flex-start}.rule-card>*{flex:none}.how{padding-inline:max(28px,calc((100vw - 1100px)/2))}.rules{margin-top:20px;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.rule-closing{grid-column:span 4;padding:26px 28px;grid-template-columns:88px minmax(0,1fr);gap:20px}.rule-closing img{width:88px}.tips{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dango-scroll article{min-height:290px}.how-lead{font-size:1rem}}

/* =========================================================================
   Meet the Dango — tagline と紹介文（2026-09-05 追加）
   文言は site.js の DANGO 配列が持っている。ここは見た目だけ。
   ========================================================================= */
/* tagline は名前より小さく、色を変えて目立たせる（指示書 §4-2） */
.dango-tagline{margin:1px 0 0;color:#c2593a;font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;min-height:1.1em}
/* 紹介文だけ左寄せ。中央寄せだと行末がばらついて読みにくい */
.dango-desc{margin:9px 0 0;color:#4b3550cc;font-size:.84rem;line-height:1.65;text-align:left;text-wrap:pretty}
/* 紹介文は文字が主役なので、カードの中で幅いっぱいに使う */
.dango-scroll article>.dango-desc{justify-self:stretch}

/*
 * ★.dango-scroll img に height:auto を必ず書く★
 *   <img> に width="256" height="256" と書いてあると、ブラウザはそれを
 *   「高さ256px」の指定として扱う。CSS で幅だけ縮めても高さは256pxのままで、
 *   カードの中に絵の3倍近い空白ができる（2026-09-05 に実際そうなっていた）。
 *   会社サイト（site/index.html の .card-thumb）でも同じ罠を踏んでいる。
 */

/*
 * ★最後のカードの位置指定（grid-column:2/3）は 2026-09-07 に外した★
 *   7枚を4列に並べると 4 / 2 / 1 になり、最後の1枚だけが
 *   3段目にぽつんと残っていた。指定を外すと素直に 4 / 3 で収まる。
 */
