:root{--ink:#1e2b4a;--coral:#ff7a59;--coral-text:#ec5a35;--lemon:#ffd84d;--lavender:#b8a6ff;--mint:#7ee0c3;--sky:#8fcbff;--pink:#ffb3c7;--cream:#fff7ec;--white:#fff;--ink-soft:#3f4a66;--line:2px solid var(--ink);--shadow:6px 6px 0 var(--ink);--shadow-sm:4px 4px 0 var(--ink);--radius:20px;--radius-lg:32px;--font-ja:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "Noto Sans JP", "Noto Sans CJK JP", Meiryo, sans-serif;--font-display:"Bricolage Grotesque", "Zen Maru Gothic", var(--font-ja);--font-round:"Zen Maru Gothic", var(--font-ja);--gutter:clamp(16px, 4vw, 48px);--max:1240px;--section-y:clamp(64px, 9vw, 120px);--ease:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-ja);letter-spacing:.03em;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;line-break:strict;margin:0;font-size:1rem;line-height:1.9;overflow-x:hidden}img,svg{max-width:100%;height:auto;display:block}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}h1,h2,h3{font-family:var(--font-round);font-weight:700;line-height:1.4}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}::selection{background:var(--lemon);color:var(--ink)}:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.wrap{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.skip-link{z-index:100;background:var(--ink);color:var(--white);border-radius:999px;padding:8px 16px;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nowrap{white-space:nowrap}.tag{border:var(--line);background:var(--white);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 14px;font-size:.8125rem;font-weight:700;line-height:1.5;display:inline-flex}.tag--lemon{background:var(--lemon)}.tag--coral{background:var(--coral)}.tag--ink{background:var(--ink);color:var(--white)}.display{font-family:var(--font-display);letter-spacing:-.035em;font-weight:800;line-height:.92}.section{padding-block:var(--section-y)}.section-head{justify-items:start;gap:12px;margin-bottom:clamp(32px,5vw,56px);display:grid}.section-head__en{font-size:clamp(2.75rem,1.6rem + 5vw,5.5rem)}.section-head__ja{font-size:clamp(1rem,.9rem + .4vw,1.25rem)}.section-head__lead{max-width:36em;color:var(--ink-soft)}.button{border:var(--line);background:var(--coral);min-height:52px;color:var(--ink);box-shadow:var(--shadow-sm);font-family:var(--font-round);transition:transform .2s var(--ease), box-shadow .2s var(--ease), background-color .2s;border-radius:999px;justify-content:center;align-items:center;gap:.6em;padding:10px 28px;font-weight:700;line-height:1.4;display:inline-flex}.button:after{content:"→";font-family:var(--font-display)}.button:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.button--white{background:var(--white)}.button--lemon{background:var(--lemon)}.button--large{min-height:64px;padding-inline:36px;font-size:1.0625rem}.text-link{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:5px;font-weight:700;text-decoration-thickness:3px}.text-link:after{content:" →"}.note{color:var(--ink-soft);font-size:.875rem}.card{border:var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow);padding:clamp(24px,4vw,40px)}.bg-coral{background:var(--coral)}.bg-lemon{background:var(--lemon)}.bg-lavender{background:var(--lavender)}.bg-mint{background:var(--mint)}.bg-sky{background:var(--sky)}.bg-pink{background:var(--pink)}.bg-white{background:var(--white)}.float{animation:5s ease-in-out infinite alternate float}.float--slow{animation-duration:7s}.float--delay{animation-delay:-2.5s}@keyframes float{0%{transform:translateY(-6px) rotate(var(--r,0deg))}to{transform:translateY(8px) rotate(calc(var(--r,0deg) + 4deg))}}.js .reveal{opacity:0;transition:opacity .7s ease, transform .7s var(--ease);transform:translateY(28px)scale(.98)}.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.float,.marquee__track{animation:none!important}.js .reveal{opacity:1;transition:none;transform:none}}.site-header{z-index:50;padding-top:12px;position:sticky;top:0}.site-header__bar{border:var(--line);-webkit-backdrop-filter:blur(10px);min-height:60px;box-shadow:var(--shadow-sm);background:#fffffff0;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 20px;display:flex}.site-header__logo img{width:96px}.site-nav ul{align-items:center;gap:2px;display:flex}.site-nav a{font-family:var(--font-round);border-radius:999px;padding:8px 12px;font-size:.875rem;font-weight:700;line-height:1.4;transition:background-color .2s;display:block}.site-nav a:hover{background:var(--cream)}.site-nav a[aria-current=page]:not(.button){background:var(--lemon)}.site-nav__item--sub{display:none}.site-nav .site-nav__lang{font-family:var(--font-display);letter-spacing:.06em;font-size:.8125rem}.site-nav .button{min-height:42px;box-shadow:none;padding:6px 16px;font-size:.8125rem}.site-nav .button:after{content:none}.site-nav .button:hover{box-shadow:none;background:var(--lemon);transform:none}.hero{padding-top:clamp(40px,7vw,80px);padding-bottom:clamp(56px,8vw,104px);position:relative}.hero__inner{align-items:center;gap:32px;display:grid}.hero__eyebrow{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.hero__display{font-size:clamp(4rem,2rem + 10vw,9.5rem)}.hero__display .accent{color:var(--coral-text)}.hero__catch{margin-top:28px;font-size:clamp(1.375rem,1rem + 1.6vw,2.25rem);line-height:1.5}.hero__catch mark{background:linear-gradient(transparent 58%, var(--lemon) 58%);color:inherit;padding-inline:2px}.hero__lead{max-width:32em;color:var(--ink-soft);margin-top:16px}.hero__actions{flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:32px;display:flex}.hero__stickers{aspect-ratio:1;justify-self:center;width:min(100%,520px);position:relative}.sticker{filter:drop-shadow(5px 5px 0 var(--ink));position:absolute}.sticker svg{width:100%;height:100%;overflow:visible}.sticker--arch{--r:-3deg;width:46%;top:20%;left:27%}.sticker--star{--r:-12deg;width:26%;top:4%;left:2%}.sticker--note{--r:10deg;width:22%;top:2%;right:4%}.sticker--play{--r:8deg;width:25%;bottom:16%;right:0}.sticker--cloud{--r:-4deg;width:32%;bottom:12%;left:0}.sticker--heart{--r:-8deg;width:16%;bottom:0;left:42%}.marquee-wrap{padding-block:16px;overflow:hidden}.marquee{border-block:var(--line);background:var(--lemon);margin-inline:-3%;padding-block:12px;overflow:hidden;transform:rotate(-1.5deg)}.marquee__track{width:max-content;animation:32s linear infinite marquee;display:flex}.marquee__group{flex:none;align-items:center;display:flex}.marquee__item{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:.6em;padding-right:.6em;font-size:clamp(1.5rem,1rem + 2.2vw,2.75rem);font-weight:800;line-height:1.2;display:flex}.marquee__item svg{flex:none;width:.7em;height:.7em}@keyframes marquee{to{transform:translate(-50%)}}.ip-grid{gap:20px;display:grid}.ip-tile{border:var(--line);border-radius:var(--radius-lg);min-height:220px;box-shadow:var(--shadow);transition:transform .25s var(--ease), box-shadow .25s var(--ease);align-content:space-between;gap:24px;padding:clamp(24px,3.5vw,36px);display:grid;position:relative;overflow:hidden}a.ip-tile:hover{box-shadow:9px 9px 0 var(--ink);transform:translate(-3px,-3px)rotate(-.5deg)}.ip-tile__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ip-tile__icon{width:clamp(60px,8vw,88px);filter:drop-shadow(3px 3px 0 var(--ink));flex:none}.ip-tile--main .ip-tile__icon{width:clamp(88px,14vw,160px)}.ip-tile__en{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(2.25rem,1.6rem + 2.4vw,3.25rem);font-weight:800;line-height:1}.ip-tile--main .ip-tile__en{font-size:clamp(2.75rem,1.8rem + 4vw,5rem)}.ip-tile__ja{margin-top:8px;font-size:1.125rem}.ip-tile__desc{max-width:30em;margin-top:6px;font-size:.9375rem}.service-grid{gap:24px;display:grid}.service-card{align-content:start;gap:12px;display:grid}.service-card__num{border:var(--line);width:56px;height:56px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.25rem;font-weight:800;display:grid}.service-card__en{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.875rem;font-weight:700}.service-card h3{font-size:1.375rem}.service-card p:last-child{color:var(--ink-soft);font-size:.9375rem}.section-more{text-align:center;margin-top:40px}.facts>div{border-bottom:2px dashed #1e2b4a38;gap:4px;padding-block:18px;display:grid}.facts>div:first-child{padding-top:0}.facts>div:last-child{border-bottom:0;padding-bottom:0}.facts dt{font-family:var(--font-round);color:var(--ink-soft);font-size:.875rem;font-weight:700}.facts .plain-list li+li{margin-top:2px}.facts a{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:5px;font-weight:700;text-decoration-thickness:3px}.company-brief{align-items:center;gap:32px;display:grid}.company-brief .section-head{margin-bottom:0}.cta{padding-block:var(--section-y)}.cta__box{border:var(--line);border-radius:var(--radius-lg);background:var(--coral);box-shadow:var(--shadow);gap:28px;padding:clamp(32px,6vw,72px);display:grid;position:relative;overflow:hidden}.cta__display{font-size:clamp(3.25rem,1.8rem + 6.5vw,7.5rem);position:relative}.cta__body{gap:24px;display:grid;position:relative}.cta__body h2{font-size:clamp(1.125rem,1rem + .6vw,1.5rem)}.cta__body p{max-width:32em}.cta__deco{width:clamp(120px,20vw,240px);filter:drop-shadow(5px 5px 0 var(--ink));--r:12deg;position:absolute;top:clamp(-40px,-3vw,-20px);right:clamp(-50px,-3vw,-20px)}.cta .button{justify-self:start}.site-footer{background:var(--ink);color:var(--white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin-top:24px;padding-top:clamp(48px,7vw,80px);padding-bottom:24px}.site-footer__top{gap:32px;padding-bottom:clamp(40px,6vw,72px);display:grid}.site-footer__address{color:#fffc;font-size:.875rem;font-style:normal;line-height:1.9}.site-footer__nav{font-family:var(--font-round);grid-template-columns:repeat(2,max-content);gap:4px 32px;font-size:.875rem;font-weight:700;display:grid}.site-footer__nav a{padding-block:6px;display:inline-block}.site-footer__nav a:hover{color:var(--lemon)}.site-footer__mark img{width:100%}.site-footer__bottom{color:#ffffffb3;justify-content:space-between;gap:16px;margin-top:24px;font-size:.75rem;display:flex}.site-footer__bottom small{font-family:var(--font-display);font-size:inherit;letter-spacing:.04em}.page-head{padding-top:clamp(24px,4vw,40px)}.page-head__box{border:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(28px,5vw,56px);position:relative;overflow:hidden}.breadcrumb ol{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;gap:4px 8px;padding-right:88px;font-size:.8125rem;font-weight:700;display:flex;position:relative}.breadcrumb li+li:before{content:"/";opacity:.5;margin-right:8px}.breadcrumb a:hover{text-decoration:underline}.page-head__title{justify-items:start;gap:8px;margin-top:clamp(24px,5vw,56px);display:grid;position:relative}.page-head__en{overflow-wrap:normal;word-break:normal;font-size:clamp(3.25rem,1.8rem + 8vw,8.5rem)}.page-head__en--long{font-size:clamp(2.5rem,1.2rem + 7vw,7rem)}.page-head__ja{font-size:clamp(1.125rem,1rem + .5vw,1.5rem)}.page-head__lead{max-width:34em;font-family:var(--font-round);margin-top:20px;font-size:clamp(1rem,.95rem + .4vw,1.25rem);font-weight:700;line-height:1.8;position:relative}.page-head__deco{width:clamp(110px,20vw,240px);filter:drop-shadow(5px 5px 0 var(--ink));--r:10deg;position:absolute;top:clamp(-30px,-2vw,-10px);right:clamp(-40px,-3vw,-12px)}.chapter{gap:28px;display:grid}.chapter__head{align-content:start;justify-items:start;gap:8px;display:grid}.chapter__num{color:var(--coral-text);-webkit-text-stroke:2px var(--ink);text-shadow:5px 5px 0 var(--ink);font-size:clamp(4rem,2.5rem + 6vw,7.5rem);line-height:.85}.chapter__en{font-family:var(--font-display);letter-spacing:-.02em;margin-top:12px;font-size:clamp(1.75rem,1.3rem + 1.8vw,2.75rem);font-weight:800;line-height:1.05}.chapter__ja{font-size:clamp(1.125rem,1rem + .6vw,1.5rem)}.chapter__lead{margin-bottom:24px;font-size:1.0625rem}.terms{gap:12px;display:grid}.terms li{border:var(--line);border-radius:var(--radius);background:var(--cream);gap:2px;padding:16px 20px;display:grid}.terms strong{font-family:var(--font-round);font-size:1.0625rem;font-weight:700}.terms span{color:var(--ink-soft);font-size:.9375rem}.terms a{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:4px;text-decoration-thickness:3px}.chapter .note{margin-top:20px}.flow{gap:20px;display:grid}.flow__item{border:var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr;align-items:start;gap:4px 16px;padding:20px;display:grid}.flow__num{border:var(--line);background:var(--lemon);width:48px;height:48px;font-family:var(--font-display);border-radius:50%;grid-row:span 2;place-items:center;font-weight:800;display:grid}.flow__item:nth-child(2) .flow__num{background:var(--mint)}.flow__item:nth-child(3) .flow__num{background:var(--sky)}.flow__item:nth-child(4) .flow__num{background:var(--lavender)}.flow__item:nth-child(5) .flow__num{background:var(--coral)}.flow__item h3{font-size:1.125rem}.flow__item p{color:var(--ink-soft);font-size:.9375rem}.topics{gap:16px;display:grid}.topics li{border:var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-content:start;gap:4px;padding:20px 24px;display:grid}.topics li:first-child{background:var(--lavender)}.topics li:nth-child(2){background:var(--mint)}.topics li:nth-child(3){background:var(--lemon)}.topics h2,.topics h3{font-size:1.25rem}.contact-action{justify-items:start;gap:16px;display:grid}.contact-action a:not(.button){text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:4px;font-weight:700;text-decoration-thickness:3px}.character-grid{gap:28px;display:grid}.character-card{border:var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow);transition:transform .25s var(--ease), box-shadow .25s var(--ease);gap:4px;padding:16px 16px 24px;display:grid}.character-card:hover{box-shadow:9px 9px 0 var(--ink);transform:translate(-3px,-3px)rotate(-1deg)}.character-card__visual{aspect-ratio:1;border:var(--line);border-radius:var(--radius);background:var(--lavender);place-items:center;margin-bottom:12px;display:grid;overflow:hidden}.character-grid li:nth-child(4n+2) .character-card__visual{background:var(--mint)}.character-grid li:nth-child(4n+3) .character-card__visual{background:var(--lemon)}.character-grid li:nth-child(4n+4) .character-card__visual{background:var(--sky)}.character-card__visual img{object-fit:contain;width:100%;height:100%}.character-card__en{font-family:var(--font-display);letter-spacing:-.02em;padding-inline:8px;font-size:1.75rem;font-weight:800;line-height:1.1}.character-card__name{font-family:var(--font-round);padding-inline:8px;font-weight:700}.character-card__tagline{color:var(--ink-soft);padding-inline:8px;font-size:.875rem}.character{gap:32px;display:grid}.character__visual{aspect-ratio:1;border:var(--line);border-radius:var(--radius-lg);background:var(--lavender);box-shadow:var(--shadow);place-items:center;display:grid;overflow:hidden}.character__visual img{object-fit:contain;width:100%;height:100%}.character__placeholder{width:45%}.character__text{margin-top:28px}.character__products{margin-top:32px}.character__products .tag{margin-bottom:12px}.character__license{border:var(--line);border-radius:var(--radius-lg);background:var(--lemon);justify-items:start;gap:16px;margin-block:40px 20px;padding:28px;display:grid}.prose{max-width:46em}.prose h2{margin:44px 0 12px;font-size:1.25rem}.prose p+p,.prose p+ul,.prose ul+p{margin-top:14px}.prose ul{padding-left:1.4em;list-style:outside}.prose li+li{margin-top:6px}.prose a{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:4px;text-decoration-thickness:3px}.prose__date{color:var(--ink-soft);font-size:.9375rem;margin-top:48px!important}.not-found{text-align:center;padding-block:clamp(48px,8vw,120px)}.not-found__display{color:var(--coral-text);text-shadow:6px 6px 0 var(--ink);font-size:clamp(7rem,30vw,20rem)}.not-found h1{margin-top:24px;font-size:clamp(1.375rem,1rem + 1.4vw,2rem)}.not-found p:not(.not-found__display){color:var(--ink-soft);margin-block:12px 36px}@media (width>=768px){.site-header{padding-top:16px}.site-header__logo img{width:112px}.site-nav__item--sub{display:block}.site-nav a{padding-inline:14px}.site-nav .button{padding-inline:20px;font-size:.875rem}.ip-grid{grid-template-columns:repeat(2,1fr)}.ip-tile--main{grid-column:span 2;min-height:300px}.service-grid{grid-template-columns:repeat(3,1fr)}.facts>div{grid-template-columns:160px 1fr;gap:24px}.facts dt{padding-top:.15em}.company-brief{grid-template-columns:1fr 1.4fr;gap:48px}.cta__body{grid-template-columns:1fr auto;align-items:end}.site-footer__top{grid-template-columns:1fr auto}.site-footer__nav{grid-template-columns:repeat(3,max-content)}.flow{grid-template-columns:repeat(2,1fr)}.terms li{grid-template-columns:170px 1fr;align-items:baseline;gap:16px}.character-grid{grid-template-columns:repeat(2,1fr)}.topics{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.hero__inner{grid-template-columns:1.15fr 1fr;gap:48px}.ip-grid{grid-template-columns:repeat(4,1fr)}.ip-tile--main{grid-area:span 2/span 2;min-height:100%}.ip-tile--wide{grid-column:span 2}.chapter{grid-template-columns:340px 1fr;gap:56px}.chapter__head{position:sticky;top:120px}.flow{grid-template-columns:repeat(5,1fr)}.flow__item{grid-template-columns:1fr;gap:10px;padding:24px 20px}.flow__num{grid-row:auto;margin-bottom:4px}.character-grid{grid-template-columns:repeat(3,1fr)}.character{grid-template-columns:5fr 7fr;align-items:start;gap:56px}.character__visual{position:sticky;top:120px}}html:lang(en) body{letter-spacing:0;line-height:1.7}html:lang(en) h1,html:lang(en) h2,html:lang(en) h3,html:lang(en) .page-head__lead,html:lang(en) .terms strong,html:lang(en) .button,html:lang(en) .site-nav a,html:lang(en) .site-footer__nav,html:lang(en) .facts dt,html:lang(en) .character-card__name{font-family:var(--font-display);letter-spacing:-.01em}
