/* =========================================================
   MinamoWorks — DIGITAL RIPPLE / Base & Reset
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:var(--mw-jp);
  font-size:var(--mw-body);
  line-height:1.75;
  color:var(--mw-text);
  background:var(--mw-white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video,canvas{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font:inherit;color:inherit}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--mw-blue);outline-offset:3px;border-radius:3px}
::selection{background:var(--mw-aqua);color:var(--mw-ink-950)}

/* ---- Skip link (a11y) ---- */
.mw-skip{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--mw-ink-950);color:#fff;padding:12px 20px;border-radius:0 0 8px 0}
.mw-skip:focus{left:0}

/* ---- Type helpers ---- */
.mw-eyebrow{
  font-family:var(--mw-sans);
  font-size:.72rem;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--mw-aqua-dark);
}
.on-dark .mw-eyebrow{color:var(--mw-aqua)}
h1,h2,h3,h4{font-family:var(--mw-sans);font-weight:700;line-height:1.14;letter-spacing:-.01em;color:inherit}
h1 .jp,h2 .jp,h3 .jp{font-family:var(--mw-jp)}
/* 日本語見出し: 改行は <br> 指定箇所のみ。単語途中での不自然な折返しを防ぐ */
h1:lang(ja),h2:lang(ja),h3:lang(ja),
.hero h1,.sh h2,.cag-step h3,.finalcta h2{word-break:keep-all;overflow-wrap:normal}
p{max-width:var(--mw-measure)}

/* ---- Section theming: light / dark alternation ---- */
.mw-section{padding-block:var(--mw-section-pc)}
.sec-light{background:var(--mw-paper);color:var(--mw-text)}
.sec-white{background:var(--mw-white);color:var(--mw-text)}
.sec-dark{background:var(--mw-ink-950);color:var(--mw-text-dark)}
.sec-dark.on-dark p,.on-dark p{color:var(--mw-muted-dark)}
.sec-light p,.sec-white p{color:var(--mw-muted)}

.mw-container{width:100%;max-width:var(--mw-container);margin-inline:auto;padding-inline:var(--mw-gutter-pc)}

/* ---- Reveal (IntersectionObserver, progressive enhancement) ---- */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--mw-ease-out),transform .8s var(--mw-ease-out)}
.js .reveal.is-in{opacity:1;transform:none}
.js .reveal-d1.is-in{transition-delay:.08s}
.js .reveal-d2.is-in{transition-delay:.16s}
.js .reveal-d3.is-in{transition-delay:.24s}

@media(max-width:1024px){
  .mw-section{padding-block:var(--mw-section-tablet)}
}
@media(max-width:640px){
  .mw-section{padding-block:var(--mw-section-sp)}
  .mw-container{padding-inline:var(--mw-gutter-sp)}
  p{font-size:.95rem}
}

/* ---- Respect reduced motion globally ---- */
@media(prefers-reduced-motion:reduce){
  .js .reveal{opacity:1!important;transform:none!important;transition:none!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
