@charset "UTF-8";
:root{--ink:#243f43;--sea:#387b85;--sand:#f6f1e7;--paper:#fbfaf6;--gold:#ad8150}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid #24404718;background:var(--paper)}.brand{font-family:"Yu Mincho",serif;font-size:25px;letter-spacing:.12em}.brand span{color:var(--gold)}.brand small{display:block;font:9px sans-serif;letter-spacing:.27em;margin-left:30px;margin-top:-7px}nav{display:flex;gap:36px;font-size:12px;letter-spacing:.12em}.hero{max-width:1500px;margin:auto;position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:740px;padding:58px 5.5% 70px;gap:3%}.hero-copy{padding:40px 0 0;z-index:1}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.19em;color:var(--sea);margin:0 0 28px}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h1{font-size:clamp(44px,4.6vw,70px);line-height:1.6;letter-spacing:.14em;margin:0 0 24px}h1 em{font-style:normal;color:var(--sea)}.hero-text{font-size:12px;line-height:2.4}.pill{display:inline-flex;align-items:center;gap:38px;background:var(--ink);color:white;border:0;border-radius:40px;padding:15px 28px;font-size:12px;letter-spacing:.08em;margin-top:20px}.pill:hover{background:var(--sea)}.hero-note{margin-top:40px;font:20px "Yu Mincho",serif;letter-spacing:.15em}.hero-note span{font:9px sans-serif;color:var(--gold);margin-left:12px;letter-spacing:.2em}.hero-art{position:relative;min-width:0;height:640px;border-radius:48% 48% 8px 8px;overflow:hidden;background:#d9e9e7;box-shadow:18px 18px 0 #e9e5d8}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.art-label{position:absolute;bottom:0;padding:22px 15px;text-align:center;width:100%;background:#fbfaf6e8;font-size:11px;letter-spacing:.14em}.hero-index{position:absolute;bottom:18px;left:5.5%;font:9px sans-serif;letter-spacing:.2em;color:#7c9698}.story{text-align:center;padding:110px 24px 85px;background:linear-gradient(180deg,#edf4f1,#f7f5ed)}h2{font-size:clamp(28px,3vw,42px);line-height:1.7;letter-spacing:.12em;margin:0 0 30px}.story-text{font-size:14px;line-height:2.5}.story-text p{margin:26px 0}.promise{max-width:860px;margin:65px auto 0;border-top:1px solid #9bada44a;padding-top:30px}.promise>span{font-size:30px;color:var(--gold)}.promise h3{font-size:23px;letter-spacing:.08em}.promise p{font-size:12px;line-height:2.5}.life,.movie{max-width:1240px;margin:auto;padding:100px 5.5%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:50px}.section-head h2{margin:0}.section-head>p,.section-head>a{font-size:12px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:65px 55px}.step{display:grid;grid-template-columns:45% 1fr;align-items:center;gap:23px}.shot{display:block;padding:0;background:#ede6d7;border:0;border-radius:9px;overflow:hidden;width:100%;position:relative;box-shadow:0 12px 26px #35464a12}.shot img{display:block;width:100%;height:auto}.shot span{display:block;background:var(--ink);color:#fff;font-size:9px;padding:7px 3px}.shot:hover{transform:translateY(-3px)}.number{font:italic 27px Georgia,serif;color:var(--gold)}.step h3{font-size:21px;line-height:1.6;margin:9px 0 15px}.step p{font-size:12px;line-height:2.05;margin:0}.memory{padding:90px 24px;text-align:center;background:#e3eeeb;border-top:1px solid #d5e2dd;border-bottom:1px solid #d5e2dd}.memory p:not(.eyebrow){font-size:13px;line-height:2.5}.memory a{display:inline-block;margin-top:22px;font-size:11px;border-bottom:1px solid var(--sea)}.video-box{aspect-ratio:16/9;background:linear-gradient(135deg,#294b51,#173038);border-radius:12px;overflow:hidden;color:white;display:grid;place-items:center}.video-box iframe{width:100%;height:100%;border:0}#video-placeholder{text-align:center}#video-placeholder>span{font-size:54px;color:#d8c39d}#video-placeholder p{font-family:"Yu Mincho",serif;font-size:24px;letter-spacing:.12em;margin:0}#video-placeholder small{display:block;font-size:10px;margin-top:16px;color:#c4d9d5}#video-placeholder .pill{background:#f5efdf;color:var(--ink)}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:40px 5.5%;border-top:1px solid #24404718}footer p,footer>a:last-child{font-size:11px}dialog{padding:55px 12px 12px;border:0;border-radius:12px;background:var(--paper);max-width:95vw;max-height:95vh}dialog::backdrop{background:#102c35d9}dialog img{display:block;max-height:80vh;max-width:85vw;width:auto;height:auto;margin:auto}#close-lightbox{position:absolute;top:10px;right:15px;border:0;background:var(--ink);color:white;padding:5px 16px;border-radius:20px;font-size:12px}a:focus-visible,button:focus-visible{outline:3px solid #b8782b;outline-offset:5px}
@media(min-width:1500px){.hero{min-height:820px}.hero-art{height:700px}}@media(max-width:950px){.hero{min-height:650px}.hero-art{height:560px}.hero-copy{padding-top:20px}.hero-text{font-size:11px}.steps{gap:45px 30px}.step{display:block}.shot{width:75%;margin:0 auto 20px}.step-copy{padding:0 10px}.step h3{display:inline;margin-left:15px}.step p{margin-top:16px}}@media(max-width:600px){header{height:76px;padding:0 5%}.brand{font-size:20px}nav{gap:14px;font-size:10px}.brand small{font-size:7px}.hero{display:flex;flex-direction:column;padding:35px 7% 55px;gap:30px}.hero-copy{padding:0}.eyebrow{font-size:9px;margin-bottom:18px}h1{font-size:44px;line-height:1.5;margin-bottom:20px}.hero-text{font-size:12px}.hero-note{display:none}.hero-art{height:460px;width:100%;border-radius:45% 45% 7px 7px;box-shadow:10px 10px 0 #e9e5d8}.hero-art img{object-position:center 55%}.hero-index{bottom:12px;left:7%;font-size:7px}.story{padding:70px 7% 60px}.story-text{font-size:12px}.desktop{display:none}.promise{margin-top:40px}.promise h3{font-size:19px}.promise p{font-size:12px}.life,.movie{padding:65px 7%}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px}.steps{grid-template-columns:1fr;gap:38px}.step{display:grid;grid-template-columns:43% 1fr;gap:20px;align-items:start}.shot{width:100%;margin:0}.step-copy{padding:0}.step h3{display:block;margin:6px 0 12px;font-size:20px}.step p{font-size:12px;margin:0}.number{font-size:23px}.memory{padding:65px 7%}footer{flex-direction:column;text-align:center;gap:5px}#video-placeholder>span{font-size:30px}#video-placeholder p{font-size:17px}#video-placeholder .pill{padding:10px 20px;margin-top:10px}#video-placeholder small{font-size:8px;margin-top:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.shot:hover{transform:none}}

/* Supplied title artwork; preserve source pixels and hide unused canvas. */
.title-logo{width:100%;max-width:520px;aspect-ratio:1080/505;overflow:hidden;margin:0 0 22px}.title-logo img{display:block;width:100%;height:auto}.hero-copy h1{font-size:clamp(30px,3vw,44px);line-height:1.5;margin-bottom:22px}.hero-copy h1 br:nth-of-type(2){display:none}.hero-copy{padding-top:10px}@media(max-width:600px){.title-logo{margin-bottom:20px}.hero-copy h1{font-size:30px}}

/* Language navigation and unreleased store destinations. */
header nav{margin-left:auto;margin-right:28px}.language-switch{display:flex;gap:9px;align-items:center;font-size:11px;white-space:nowrap}.language-switch [aria-current]{font-weight:bold;border-bottom:1px solid var(--sea)}.language-switch span{color:#a6b1ad}.store-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.store-badge{display:flex;gap:12px;align-items:center;background:#101719;color:#fff;border:1px solid #334247;border-radius:13px;padding:11px 18px;min-width:181px;line-height:1.2}.store-badge svg{width:25px;height:30px;flex-shrink:0}.store-badge small{display:block;font:9px sans-serif;color:#cbd5d1;letter-spacing:.08em}.store-badge strong{display:block;font:bold 21px Georgia,serif;margin:3px 0}.store-badge em{font-size:10px;font-style:normal;color:#d9cba7}.release-note{font-size:10px;color:#6c8080;margin-top:9px}.hero-note{margin-top:22px}html[lang=en] h1{font-size:clamp(28px,3.3vw,49px);letter-spacing:.02em}html[lang=en] h2{letter-spacing:.02em}html[lang=en] .step p{line-height:1.8}html[lang=en] .hero-art{height:730px}@media(max-width:600px){header{flex-wrap:wrap;height:auto;min-height:90px;padding-top:12px;padding-bottom:12px;gap:10px}header nav{order:3;width:100%;justify-content:center;margin:0;gap:25px}.language-switch{margin-left:auto}.store-links{gap:9px}.store-badge{min-width:0;flex:1;padding:12px 10px;gap:9px}.store-badge strong{font-size:18px}.store-badge svg{width:22px}html[lang=en] .hero-art{height:460px}html[lang=en] .step{grid-template-columns:38% 1fr}html[lang=en] .step h3{font-size:18px}}

/* Official store artwork, unmodified and with separate release status. */
.official-stores{align-items:flex-start;gap:24px}.official-store{text-align:center;flex:0 1 auto}.badge-slot{height:77px;display:flex;align-items:center;justify-content:center;min-width:156px}.badge-slot img{display:block;width:156px;height:auto}.badge-slot img.google-badge{width:200px;height:auto}.official-store>span{display:block;font-size:10px;letter-spacing:.1em;color:var(--gold);margin-top:3px}@media(max-width:600px){.official-stores{gap:8px;flex-wrap:nowrap}.official-store{min-width:0;flex:1}.badge-slot{min-width:0;height:65px}.badge-slot img{width:135px;max-width:100%}.badge-slot img.google-badge{width:174px;max-width:100%}}

/* Match visible badge height, accounting for each official asset's transparent padding. */
.official-stores{gap:16px}.official-store{width:200px}.badge-slot{height:82px;width:200px}.badge-slot img{height:52px;width:auto;max-width:none}.badge-slot img.google-badge{height:77.381px;width:auto;max-width:none}.badge-slot img[src$="google-play-ja.png"]{height:67.708px}.official-store>span{margin-top:0}@media(max-width:600px){.official-stores{gap:8px}.official-store{width:auto;flex:1}.badge-slot{width:100%;height:74px}.badge-slot img{height:44px;width:auto;max-width:none}.badge-slot img.google-badge{height:65.476px;width:auto;max-width:none}.badge-slot img[src$="google-play-ja.png"]{height:57.292px}}
