
:root{
  --navy:#172d5e;--navy-2:#274889;--cream:#fffaf1;--paper:#fff7eb;--yellow:#ffd66a;--pink:#f7b6aa;--orange:#ef8f67;--ink:#1b2440;--muted:#66738a;--line:#ece2d4;--shadow:0 14px 35px rgba(36,47,88,.10);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:linear-gradient(180deg,#fffdfa 0%,#fff7ef 100%);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.header{position:sticky;top:0;z-index:20;background:rgba(255,250,241,.88);backdrop-filter:blur(10px);border-bottom:1px solid rgba(236,226,212,.8)}
.header-inner{min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:22px}
.brand{display:inline-flex;align-items:center;gap:12px;font-size:19px;font-weight:950;letter-spacing:.02em;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:.22em;color:#8b93a3;margin-top:2px}
.brand-mark{display:grid;place-items:center;background:linear-gradient(160deg,var(--navy),#284b91);color:#fff6e6;width:46px;height:46px;border-radius:15px;font-size:25px;font-weight:900;box-shadow:0 8px 18px rgba(23,45,94,.18)}
.header nav{display:flex;flex-wrap:wrap;gap:22px;font-weight:800;font-size:14px}.header nav a{padding:8px 0;position:relative}.header nav a:hover,.header nav .active{color:var(--orange)}.header nav a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:3px;background:var(--yellow);border-radius:999px;transition:.2s}.header nav a:hover::after,.header nav .active::after{width:100%}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;padding:54px 0 44px}.eyebrow{display:inline-block;color:#cb6d55;font-size:12px;font-weight:900;letter-spacing:.16em;background:#fff0eb;border:1px solid #ffd6ca;padding:8px 12px;border-radius:999px}.hero h1{font-size:clamp(44px,5.6vw,78px);line-height:1.08;letter-spacing:-.05em;margin:20px 0 16px}.hero h1 em{font-style:normal;color:#e07150}.hero p{line-height:1.95;color:#5d6980;font-size:16px;max-width:540px}
.hero-points{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:20px 0 0}.hero-points li{background:white;border:1px dashed #e8c9a8;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:800;color:#5c5e73;box-shadow:0 6px 14px rgba(226,182,110,.08)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;padding:14px 20px;font-weight:900;font-size:14px;transition:transform .15s,box-shadow .15s}.btn:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 10px 20px rgba(23,45,94,.12)}.btn.primary{background:linear-gradient(180deg,var(--navy-2),var(--navy));color:white}.btn.ghost{background:white;border:1px solid #d6dbea;color:var(--navy)}.btn.disabled{background:#ece8e1;color:#94959d;cursor:default}
.hero-art{position:relative;background:radial-gradient(circle at 18% 15%,#fff1ca 0, #fff1ca 13%, transparent 13.5%),radial-gradient(circle at 83% 76%,#ffd2c1 0,#ffd2c1 13%, transparent 13.5%),linear-gradient(165deg,#ffe8d1,#fff6eb 62%,#fff 100%);border:2px solid #f2d8c0;border-radius:38px;padding:22px;box-shadow:var(--shadow)}
.hero-art img{border-radius:28px;background:white}.speech{position:absolute;top:30px;right:-8px;background:white;border:2px solid #f0d6bc;border-radius:20px;padding:14px 16px;font-weight:900;color:var(--navy);box-shadow:var(--shadow)}.speech::after{content:"";position:absolute;left:22px;bottom:-12px;border:7px solid transparent;border-top-color:#f0d6bc}.speech::before{content:"";position:absolute;left:23px;bottom:-9px;border:6px solid transparent;border-top-color:white}
.section{padding:36px 0 60px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-head h2,.feature-card h2,.social-band h2{font-size:clamp(28px,3vw,40px);margin:12px 0 8px;letter-spacing:-.03em}.section-head p,.feature-card p{color:var(--muted);line-height:1.8;margin:4px 0}.more{font-weight:900;font-size:14px;border-bottom:2px solid var(--yellow);padding-bottom:5px;white-space:nowrap}
.notice-grid,.video-grid,.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.notice-card,.video-card,.game-card{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);transition:transform .18s,border-color .18s}.notice-card:hover,.video-card:hover,.game-card:hover{transform:translateY(-4px);border-color:#e6c48d}
.notice-card{padding:22px}.notice-card time{display:inline-block;font-size:12px;font-weight:900;color:#8b93a3;background:#f7f2eb;padding:7px 10px;border-radius:999px}.notice-card h3{font-size:18px;line-height:1.55;margin:12px 0 10px}.notice-card p{color:var(--muted);line-height:1.75;font-size:14px;min-height:74px}.notice-link{display:inline-block;margin-top:10px;font-weight:900;color:var(--navy)}
.thumbnail{aspect-ratio:16/9;overflow:hidden;position:relative;background:#17213c}.thumbnail img{width:100%;height:100%;object-fit:cover}.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;background:#e82929;color:white;width:52px;height:52px;padding-left:3px;box-shadow:0 10px 24px rgba(232,41,41,.25)}.video-detail{padding:16px 18px 18px}.video-detail h3{font-size:15px;line-height:1.65;margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-detail time{color:#8590a2;font-size:12px}.status{color:var(--muted)}
.game-art{height:165px;background:linear-gradient(130deg,#243d73,#496ab0);position:relative;display:grid;place-items:center}.game-card:nth-child(3n+2) .game-art{background:linear-gradient(130deg,#f1a67a,#ffd16f)}.game-card:nth-child(3n) .game-art{background:linear-gradient(130deg,#70aaa7,#27416d)}.game-emoji{font-size:76px;filter:drop-shadow(0 6px 6px rgba(20,36,68,.24))}.game-tag{position:absolute;top:14px;left:14px;color:#fff;font-size:11px;font-weight:900;letter-spacing:.16em;background:rgba(255,255,255,.16);padding:7px 10px;border-radius:999px}.game-content{padding:20px}.game-content h3{font-size:17px;margin:0 0 8px}.game-content p{color:var(--muted);font-size:13px;line-height:1.8;min-height:48px}.game-content .btn{margin-top:8px}
.cards-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.feature-card{position:relative;border-radius:28px;background:linear-gradient(180deg,#eef3ff,#f8faff);padding:32px;min-height:290px;overflow:hidden;border:1px solid #dfe6f7;box-shadow:var(--shadow)}.feature-card.alt{background:linear-gradient(180deg,#fff1e7,#fff7ef);border-color:#f2dfd0}.feature-emoji{position:absolute;right:27px;top:32px;font-size:62px}.feature-card p{max-width:390px;margin-bottom:22px}
.social-band{background:linear-gradient(180deg,var(--navy-2),var(--navy));margin-top:20px;padding:46px 0;color:white}.social-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.social-band h2{color:white}.social-band .eyebrow{color:#fff2c9;background:#274889;border-color:#496bb2}.social-buttons{display:flex;gap:10px;flex-wrap:wrap}.social-buttons a,.social-pending{display:inline-block;border:1px solid rgba(255,255,255,.38);color:white;border-radius:14px;padding:12px 17px;font-weight:800;font-size:13px;background:rgba(255,255,255,.08)}.social-buttons a:hover{background:#ffffff20}.social-pending{opacity:.6}.social-pending small{display:block;font-weight:400;font-size:10px}.inner-social .social-buttons a{color:var(--navy)}.inner-page .social-buttons a,.inner-page .social-pending{color:var(--navy);border-color:#bfc8d8;background:white}
.inner-page{min-height:70vh;padding-top:42px;padding-bottom:85px}.back{font-weight:800;color:#6b7990;display:inline-block;margin-bottom:30px}.inner-page h1{font-size:clamp(44px,5.7vw,74px);margin:14px 0;letter-spacing:-.045em}.dot{color:#ea7954}.lead{line-height:1.85;color:var(--muted);margin-bottom:34px}.inner-social{margin-bottom:45px}.little{font-size:12px;color:#7d8593;margin-top:22px}.fallback{grid-column:1/-1;background:#f7f5ef;padding:28px;border-radius:24px;border:1px solid var(--line)}.fallback p{color:var(--muted)}
footer{background:#fffaf2;border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;align-items:center;padding:30px 0;gap:20px}.footer-inner>span{font-size:12px;color:#8490a0}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:30px}.hero-art{max-width:620px;width:100%;margin:0 auto}.notice-grid,.video-grid,.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-inner{flex-direction:column;align-items:flex-start}}
@media(max-width:620px){.wrap{width:min(100% - 28px,1120px)}.header-inner{padding:12px 0;align-items:flex-start;flex-direction:column;gap:14px}.header nav{gap:18px;font-size:13px}.hero{padding-top:34px}.hero h1{font-size:44px}.speech{right:12px;top:12px;font-size:14px}.section{padding:28px 0 46px}.section-head{align-items:flex-start;flex-direction:column}.notice-grid,.video-grid,.game-grid,.cards-two{grid-template-columns:1fr}.social-band{padding:34px 0}.footer-inner{flex-direction:column;align-items:flex-start}.feature-emoji{font-size:50px}.feature-card{padding:26px}}

/* v1.3: genuine Miyaji character artwork supplied by the creator */
:root{--navy:#25345e;--navy-2:#40558a;--cream:#fff9f9;--paper:#fff3f8;--yellow:#ffdb85;--pink:#f3a7c3;--orange:#ee8fb0;--ink:#403449;--muted:#7a7281;--line:#f5dce7;--shadow:0 17px 34px rgba(141,78,106,.12)}
body{background:radial-gradient(circle at 3% 9%,#ffe6ef 0, transparent 25%),radial-gradient(circle at 92% 4%,#fff0d6 0,transparent 24%),#fffcfc}
.header{background:rgba(255,252,252,.94);border-color:#f6e2eb}
.header nav a:hover,.header nav .active{color:#d55e97}
.header nav a::after{background:#f3a7c3}
.brand-mark{background:linear-gradient(160deg,#34446c,#172d5e);box-shadow:0 5px 16px #e1d6eb}
.hero{min-height:620px;grid-template-columns:1.07fr .93fr;gap:26px;padding-top:44px;padding-bottom:64px}
.hero-copy{position:relative;z-index:2}
.hello-label{display:inline-block;padding:11px 20px;border-radius:999px;font-weight:900;font-size:13px;color:#b95186;background:#ffe8f2;border:2px solid #f7ccdf;letter-spacing:.02em}
.hero h1{font-size:clamp(38px,4.4vw,62px);letter-spacing:-.065em;line-height:1.27;margin:22px 0 18px}
.hero h1 em{color:#d85d98;text-decoration:underline;text-decoration-color:#fbd6e8;text-decoration-thickness:10px;text-underline-offset:3px}
.hero p{font-size:16px;line-height:2.05;color:#6b6374}
.hero-art{height:548px;max-width:490px;margin:auto;width:100%;padding:0;border:0;border-radius:45% 48% 42% 42%;background:radial-gradient(ellipse at 50% 50%,#ffe7f0 40%,#ffd7e5 76%,#f8bfd6 100%);box-shadow:none;overflow:visible}
.portrait-wrap{position:absolute;inset:0 24px 0;overflow:hidden;border-radius:44% 46% 41% 42%;box-shadow:0 20px 40px #d693b340;background:#fff3f7}
.hero-art .portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 22%;border-radius:0}
.logo-sticker{position:absolute;bottom:-48px;left:-50px;width:190px;filter:drop-shadow(0 12px 10px #ab668447);transform:rotate(-10deg)}
.hero-art .logo-sticker img{width:100%;border-radius:0;background:none}
.hero-sparkle{position:absolute;z-index:3;font-size:55px;color:#f6a4bb;text-shadow:0 4px 0 white}
.sparkle-1{left:-37px;top:22px}.sparkle-2{right:-24px;top:44px;color:#8ac8d7}.sparkle-3{right:-13px;bottom:28px;color:#e88fac}
.mini-social{display:flex;gap:10px 14px;flex-wrap:wrap;align-items:center;margin-top:28px;font-size:12px;font-weight:850}
.mini-social span{color:#ba7797;letter-spacing:.1em}.mini-social a{padding:8px 12px;border:1px solid #f4d7e6;background:white;border-radius:999px;color:#8e597a}
.eyebrow{background:#ffe9f1;border-color:#f9d2e3;color:#b45c89}
.btn.primary{background:linear-gradient(150deg,#ee85b0,#cf5d96);box-shadow:0 6px 0 #f7d9e7}.btn.ghost{border:2px solid #f3c9de;color:#a64d7f}
.notice-card,.video-card,.game-card{border-color:#f5dce7;box-shadow:var(--shadow)}
.social-band{background:linear-gradient(130deg,#4b4f81,#26345b)}
.social-band .eyebrow{background:#fff1f8;color:#af5c91;border-color:transparent}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:0}.hero-art{max-width:430px;height:480px}}
@media(max-width:620px){.hero{padding-top:30px;padding-bottom:70px}.hero h1{font-size:clamp(36px,9vw,46px)}.hero-art{height:380px;max-width:345px}.portrait-wrap{inset:0 14px}.logo-sticker{width:145px;bottom:-28px;left:-12px}.sparkle-1{left:-12px}.sparkle-2{right:-10px}.hero p{font-size:14px}.mini-social{gap:7px}.mini-social a{padding:7px 9px}}

/* v1.5 game thumbnail image */
.game-art{overflow:hidden;isolation:isolate;}
.game-art .game-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .2s;}
.game-card:hover .game-cover{transform:scale(1.04);}
.game-art .game-tag{z-index:2;text-shadow:0 1px 4px #182340bb;background:#142853b8;}
