
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#15364b;font-family:Arial,'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #46849b;outline-offset:6px}header{max-width:1440px;margin:auto;padding:32px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:22px;font-weight:700;letter-spacing:.12em}nav{display:flex;gap:32px;font-size:13px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:12px 5% 30px 6%;min-height:650px}.copy{z-index:1}.eyebrow{font-size:11px;letter-spacing:.22em;color:#688492;margin-bottom:34px}h1{font-size:clamp(36px,4.4vw,66px);letter-spacing:-.045em;line-height:1.55;margin:0 0 25px;font-weight:700}h1 span{display:block;white-space:nowrap}.intro{font-size:14px;line-height:2.1;max-width:420px}.cta{display:inline-flex;gap:35px;align-items:center;border:1px solid #15364b;border-radius:2px;padding:18px 24px;margin-top:27px;font-size:14px}.cta:hover{background:#edf5f7}.scene{position:relative;width:100%;aspect-ratio:1}.scene img,.scene canvas{position:absolute;width:100%;height:100%;inset:0}.scene canvas{opacity:0}.scene.ready canvas{opacity:1}.scene.ready img{visibility:hidden}.motion{position:absolute;bottom:0;right:20px;border:0;background:white;color:#526d7c;padding:12px;font:inherit;font-size:12px;cursor:pointer}.about{max-width:1200px;margin:20px auto 90px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:0 5%}.paper{position:relative}.paper img{width:100%;height:auto;display:block;position:relative}.brush{position:absolute;width:85px;height:29px;background:#a7ced3;right:4%;bottom:21%;transform:rotate(-24deg);clip-path:polygon(0 15%,95% 0,82% 19%,100% 15%,91% 33%,100% 39%,87% 50%,100% 58%,84% 72%,93% 81%,0 100%)}.brush.second{background:#d4d9ee;bottom:14%;right:5%;width:68px;height:23px}.paper img{mix-blend-mode:multiply}h2{font-size:30px;letter-spacing:.05em;font-weight:600}.about p,.details p{line-height:2.1;font-size:15px}.details{max-width:1080px;margin:0 auto;padding:65px 5%;border-top:1px solid #e0e8ec}.facts{display:flex;gap:40px;flex-wrap:wrap}.facts p{flex:1;min-width:160px}.facts strong{display:block;font-size:23px}footer{padding:45px 6%;font-size:12px;color:#6e8390;border-top:1px solid #e0e8ec}.note{font-size:12px;color:#718591}
@media(max-width:800px){header{padding:24px 6%}.brand{font-size:17px}nav{gap:16px;font-size:11px}.hero{grid-template-columns:1fr;min-height:0;padding:40px 7% 15px}.eyebrow{margin-bottom:20px}h1{font-size:clamp(32px,7.8vw,56px)}.intro{font-size:13px}.scene{max-width:510px;margin:10px auto 0;aspect-ratio:1.12}.about{gap:20px;margin-top:35px;padding:0 7%;grid-template-columns:1fr}.paper{max-width:480px}.about h2{font-size:26px}.about p{font-size:14px}.details{padding:40px 7%}.cta{padding:15px 20px}.facts{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.motion-footer .meta{display:flex;justify-content:space-between;gap:28px;padding:27px 0}.motion-footer .meta p{font-size:13px;line-height:1.8;margin:0}.motion-footer .controls{display:flex;align-items:start;gap:9px}.motion-footer .controls button{background:white;border:1px solid #c6d2d8;padding:10px 15px;border-radius:0;min-height:44px;white-space:nowrap}.motion-footer .controls button:hover{background:#f3f5f7}.motion-footer .stage{position:relative;height:clamp(180px,30vw,490px);perspective:1100px;isolation:isolate;margin-top:22px;overflow:hidden}.motion-footer .word{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.motion-footer .glyph{display:block;text-align:center;backface-visibility:hidden;transform:rotateX(0deg);transform-origin:50% 50%;font-weight:900;font-size:clamp(72px,24vw,405px);line-height:1.15;letter-spacing:-.08em;flex:1;will-change:transform}.motion-footer .word--jp{gap:0;padding:0 7%}.motion-footer .word--jp .glyph{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:clamp(84px,25vw,425px);letter-spacing:0;transform:rotateX(-90deg)}.motion-footer .footnote{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:18px 0 22px;color:var(--muted);font-size:11px;line-height:1.7}.motion-footer .status{min-height:1.7em}.motion-footer .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.motion-footer{display:block;max-width:1440px;margin:auto;padding:30px 5.6% 0;color:#173747}.motion-footer .footnote{border-color:#dce4e6}.motion-footer .controls button{cursor:pointer;color:inherit;font:inherit;font-size:12px}.motion-footer .meta{border:0}.motion-footer nav{flex-wrap:wrap}.motion-footer .status{font-size:11px}.motion-footer .glyph{will-change:auto}.motion-footer .stage{margin-bottom:25px}.motion-footer .footnote a{padding:8px 0}
@media(max-width:600px){.motion-footer{padding-inline:7%}.motion-footer .meta{display:block}.motion-footer .controls{margin-top:18px}.motion-footer .stage{height:150px}.motion-footer .glyph{font-size:24vw}.motion-footer .word--jp .glyph{font-size:29vw}.motion-footer .footnote{flex-wrap:wrap}}

/* Variant 03: white space, particle globe, cool brushwork at the corner. */
.intro,.contact h2{text-wrap:balance;word-break:normal;overflow-wrap:normal}.contact h2{max-width:18em;margin-inline:auto}@media(max-width:450px){.contact h2{font-size:25px;letter-spacing:0}}
body{color:#102f46}header{position:relative;z-index:2;padding-top:34px;padding-bottom:34px}.brand:after{content:'';display:inline-block;vertical-align:middle;width:40px;height:1px;background:#a4b5c2;margin-left:25px}.hero{min-height:560px;padding-top:10px;grid-template-columns:1fr 1fr}.copy>.eyebrow{display:none}h1{font-size:clamp(38px,4.7vw,70px);font-weight:600;letter-spacing:-.055em;line-height:1.52}.intro{font-size:clamp(14px,1.3vw,19px);max-width:640px;line-height:1.9}.intro br{display:none}.cta{border-radius:40px;padding:16px 29px;min-height:56px}.scene{width:108%;margin-left:-3%}.orbit{position:absolute;inset:12% 4%;border:1px solid #7eacc533;border-radius:50%;transform:rotate(-27deg) scaleY(.48);pointer-events:none}.orbit.two{transform:rotate(36deg) scaleY(.68);inset:8% 7%;border-style:dotted}.orbit:after{content:'';position:absolute;top:27%;right:5%;width:6px;height:6px;background:#5e97b1;border-radius:50%}.motion{bottom:2%;right:12%;font-size:11px}.about{max-width:1440px;padding-inline:5.6%;gap:6%;margin-top:0;margin-bottom:100px}.paper{max-width:550px;margin:0}.brush{display:none}.eyebrow{display:flex;align-items:center;gap:18px;margin-bottom:20px}.eyebrow:after{content:'';width:38px;height:1px;background:#99aebb}h2{font-size:clamp(28px,3vw,40px);font-weight:600;margin:0 0 22px;line-height:1.5}.paint{position:absolute;right:0;top:0;width:180px;height:205px;pointer-events:none;overflow:hidden;opacity:.58}.paint svg{width:100%;height:100%}.section{max-width:1280px;margin:auto;padding:80px 5%;border-top:1px solid #e3eaf0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:6%;margin-bottom:40px}.section p{font-size:15px;line-height:2.1}.formats,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;padding:0;list-style:none}.format,.steps li{border-top:1px solid #a8bcc9;padding-top:22px}.number{font-size:11px;color:#708a9c;letter-spacing:.1em}.format h3{font-size:24px;font-weight:500;margin:24px 0 14px}.format p,.steps p{font-size:14px;color:#486377}.small{font-size:12px!important;color:#61798a}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid #a4b7c4;padding-bottom:7px;margin-top:14px}.details{max-width:1280px;padding:80px 5%}.facts strong{font-weight:500}.steps{margin-top:35px}.steps h3{font-size:17px;font-weight:500}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}details{border-bottom:1px solid #dfe7ec;padding:22px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:22px;font-size:15px;line-height:1.8}summary:after{content:'+';color:#7697a9}details[open] summary:after{content:'−'}summary:focus-visible{outline:2px solid #558fa4;outline-offset:7px}.contact{text-align:center;padding:95px 7%}.contact .eyebrow{justify-content:center}.contact .eyebrow:after{display:none}.contact p{line-height:2}.contact h2{font-size:clamp(28px,3.6vw,48px)}footer{display:flex;justify-content:space-between;gap:25px;align-items:start}footer p{font-size:11px;line-height:1.9}footer nav{font-size:11px;gap:20px}html{scroll-padding-top:35px}
@media(max-width:1000px){.brand:after{display:none}.hero{min-height:500px}h1{font-size:4.7vw}.intro{max-width:350px}}@media(max-width:800px){header{padding-block:24px}.hero{padding-top:40px;min-height:0;grid-template-columns:1fr}h1{font-size:clamp(32px,8vw,58px)}.intro{font-size:14px}.scene{width:100%;margin:15px auto;aspect-ratio:1}.paint{width:90px;height:140px;opacity:.4}.about{grid-template-columns:1fr;gap:28px;padding-inline:7%;margin-bottom:65px}.paper{max-width:440px;margin:auto}.section,.details{padding:60px 7%}.section-head,.faq{grid-template-columns:1fr;gap:20px}.formats,.steps{grid-template-columns:1fr;gap:26px}.contact{padding-block:65px}footer{flex-direction:column}footer nav{flex-wrap:wrap}.facts{display:block}.facts p{padding-bottom:15px;border-bottom:1px solid #e3eaf0}.facts strong{font-size:23px}}
.skip-link{position:absolute;left:20px;top:-100px;z-index:100;background:white;padding:16px}.skip-link:focus{top:12px}
.ufo-flight{position:absolute;inset:8%;pointer-events:none;animation:ufo-orbit 34s linear infinite;animation-play-state:paused;z-index:1}
.ufo-craft{position:absolute;left:82%;top:20%;width:38px;height:26px;overflow:visible;animation:ufo-attitude 34s linear infinite;animation-play-state:paused}
.ufo-flight--2{inset:17%;animation-duration:49s;animation-direction:reverse;transform:rotate(155deg);opacity:.62}
.ufo-flight--2 .ufo-craft{width:25px;height:18px;left:8%;top:70%;animation-duration:49s;animation-direction:reverse}
.scene.space-moving .ufo-flight,.scene.space-moving .ufo-craft{animation-play-state:running}
.scene .motion{display:none!important}
@keyframes ufo-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ufo-attitude{0%{transform:rotate(-12deg)}50%{transform:rotate(-168deg)}100%{transform:rotate(-372deg)}}
@media(max-width:800px){.ufo-craft{width:29px;height:21px}.ufo-flight--2 .ufo-craft{width:21px;height:15px}}
@media(prefers-reduced-motion:reduce){.ufo-flight,.ufo-craft{animation:none!important}}
.copy>.eyebrow{display:flex}h1{text-wrap:balance;word-break:normal;overflow-wrap:normal}

/* Keep the ABOUT photograph present on narrow screens without pushing the copy below it. */
@media (max-width: 800px) {
  section.about#about {
    position: relative;
    display: block;
    min-height: 0;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(38px, 9vw, 58px) 7%;
    background: #fff;
  }

  section.about#about > .paper {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: auto;
    height: auto;
    max-width: none;
    margin: 0;
    overflow: hidden;
    opacity: 0.22;
    pointer-events: none;
  }

  section.about#about > .paper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
    filter: saturate(0.72) contrast(0.9);
    mix-blend-mode: multiply;
  }

  section.about#about > .paper::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.32)),
      linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.42));
    content: "";
  }

  section.about#about > .paper .brush {
    display: none;
  }

  section.about#about > :not(.paper) {
    position: relative;
    z-index: 1;
    max-width: 620px;
    margin-inline: auto;
    padding: 8px 0;
  }

  section.about#about h2 {
    max-width: 14em;
    text-wrap: balance;
  }

  section.about#about p {
    max-width: 42em;
    text-wrap: pretty;
  }
}
