:root{--ink:#243f44;--muted:#586e70;--paper:#f7f5ee;--teal:#236f70;--line:#d4ddd6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #d47067;outline-offset:6px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(25px,2.8vw,38px);line-height:1.7;letter-spacing:.06em;font-weight:600}h3{font-size:22px;letter-spacing:.035em}p+p{margin-top:22px}.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;background:var(--paper)}.brand{font-family:Georgia,serif;font-size:29px;letter-spacing:-1px;line-height:1}.brand span{display:block;font-family:Arial,sans-serif;font-size:9px;font-weight:bold;letter-spacing:4px;margin-top:10px}.header nav{display:flex;align-items:center;gap:36px;font-size:12px;font-weight:600}.company{border-left:1px solid var(--line);padding-left:36px}.company span{margin-left:14px}.hero{position:relative;isolation:isolate;overflow:hidden;background:#dfede9}.hero-photo{position:absolute;inset:0;z-index:-2;background:url('assets/town.png') center 40%/cover}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(246,248,236,.98) 0%,rgba(246,248,236,.91) 25%,rgba(246,248,236,.43) 50%,rgba(225,243,238,.04) 80%)}.hero-inner{max-width:1440px;margin:auto;position:relative;min-height:660px;display:flex;align-items:center;padding:55px 7% 80px}.hero-copy{width:52%;position:relative;z-index:2}.eyebrow{font-family:Arial,"Yu Gothic",sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;display:flex;gap:10px;align-items:center}.dot{display:inline-block;width:7px;height:7px;background:var(--teal);border-radius:50%}.divider{opacity:.5;margin:0 4px}h1{margin:28px 0 22px;max-width:440px}.tagline{font-family:"Yu Mincho",serif;font-size:clamp(27px,3vw,42px);font-weight:600;line-height:1.65;letter-spacing:.06em}.hero-description{font-size:13px;margin-top:20px;line-height:2.1}.button{display:inline-flex;gap:55px;align-items:center;border-radius:2px;background:var(--teal);color:#fff;padding:14px 25px;margin-top:29px;font-size:13px;transition:background .2s,transform .2s}.button:hover{background:#164f50;transform:translateY(-2px)}.character{position:absolute;width:50%;right:1%;top:16%;filter:drop-shadow(0 20px 22px #253e4940);transform:rotate(-5deg)}.hero-bottom{display:flex;justify-content:space-between;gap:15px;padding:18px 5.5%;font-size:10px;letter-spacing:2px;border-top:1px solid #ffffff70;background:#f7f5eecc}.section{max-width:1160px;margin:auto;padding:90px 30px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:100px;padding-bottom:100px}.intro h2{margin-top:20px}.intro-copy{font-size:14px;line-height:2.15}.world{border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-heading h2{margin-top:14px}.section-heading>p{font-size:12px;color:var(--muted);padding-bottom:10px}.panorama{position:relative}.panorama img{width:100%;aspect-ratio:16/8;object-fit:cover}.panorama figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 25px 15px;display:flex;justify-content:space-between;color:#fff;font-size:11px;letter-spacing:1px;background:linear-gradient(transparent,#17383dbb)}.world-note{display:flex;justify-content:space-between;gap:30px;padding:28px 0 50px}.world-note p,.moments article>p:last-child{font-size:13px;color:var(--muted);line-height:2}.moments{display:grid;grid-template-columns:1fr 1fr;gap:32px}.moments img{aspect-ratio:16/9;object-fit:cover;width:100%}.moments .eyebrow{margin-top:23px}.moments h3{margin:8px 0 10px}.development-note{font-size:10px;color:var(--muted);margin-top:40px;text-align:right}.info{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line)}.info h2{margin-top:20px}.english-title{font-size:12px;letter-spacing:4px;margin-top:5px}.status{display:inline-flex;align-items:center;gap:10px;font-size:12px;border:1px solid #b3c8bd;border-radius:30px;padding:5px 17px;margin-top:26px}dl{margin:0}dl>div{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}dt{color:var(--muted)}dd{margin:0}footer{background:#e9eee7;padding:45px max(5.5%,calc((100vw - 1100px)/2)) 30px;font-size:10px;color:var(--muted)}.footer-top{display:flex;align-items:center;gap:40px;margin-bottom:36px}.footer-top .brand{margin-right:auto;color:var(--ink)}.footer-top>a:not(.brand){font-size:12px}.legal{font-size:9px;line-height:1.8;margin-top:10px}.skip{position:absolute;left:10px;top:-100px;padding:10px;background:#fff;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero-inner{min-height:750px}.character{top:10%}}@media(max-width:760px){.header{height:78px;padding:0 6%}.brand{font-size:23px}.header nav{gap:20px;font-size:11px}.header nav>a:first-child{display:none}.company{padding-left:0;border:0}.company span{margin-left:3px}.hero-inner{min-height:850px;padding:35px 7% 400px;align-items:flex-start}.hero-copy{width:100%}.hero .eyebrow{font-size:9px;letter-spacing:1px}h1{width:82%;max-width:350px;margin-top:24px}.tagline{font-size:31px}.hero-description{font-size:12px}.hero-photo{background-position:60% bottom}.hero:before{background:linear-gradient(180deg,#f4f7edfa 0%,#f4f7edf0 32%,#f4f7ed30 75%)}.character{top:auto;bottom:5px;width:86%;right:-2%;max-height:410px;object-fit:contain}.hero-bottom{padding:15px 6%;font-size:9px}.hero-bottom>span:nth-child(2){display:none}.section{padding:60px 7%}.intro,.info{grid-template-columns:1fr;gap:30px}.intro-copy{font-size:13px}.section-heading{display:block}.section-heading>p{margin-top:18px}.section-heading h2{font-size:25px}.world-note{display:block;padding-bottom:30px}.world-note p{margin-top:10px}.moments{grid-template-columns:1fr;gap:35px}.panorama img{aspect-ratio:4/3}.panorama figcaption{font-size:9px;padding:20px 12px 10px}h3{font-size:20px}.development-note{text-align:left;font-size:10px}.footer-top{flex-wrap:wrap;gap:22px}.footer-top .brand{width:100%}.footer-top>a:not(.brand){font-size:11px}dl>div{grid-template-columns:155px 1fr;font-size:12px}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
@media(max-width:760px){.tagline{font-size:clamp(22px,6.4vw,28px);letter-spacing:.035em}}
