:root {
  color: var(--mw-brand-ink);
  background: var(--mw-brand-canvas);
  font-family: Inter, Pretendard, "Noto Sans", "Noto Sans KR", system-ui, sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--mw-brand-canvas); color: var(--mw-brand-ink); }
.search-fallback a { color: inherit; }
.search-fallback { width: min(1080px, calc(100% - 40px)); margin: 0 auto; padding: clamp(72px, 11vw, 144px) 0; }
.search-fallback__eyebrow { color: var(--mw-brand-action); font-size: .78rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.search-fallback h1 { max-width: 14ch; margin: 18px 0 24px; font-size: clamp(2.6rem, 7vw, 5.2rem); line-height: 1.03; letter-spacing: -.06em; }
.search-fallback p, .search-fallback li { max-width: 720px; color: var(--mw-brand-muted); font-size: 1.05rem; line-height: 1.8; }
.search-fallback nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 30px; color: var(--mw-brand-action); font-weight: 800; }

.seo-page {
  --seo-ink: var(--mw-brand-ink);
  --seo-ink-soft: var(--mw-brand-muted);
  --seo-line: var(--mw-brand-border);
  --seo-paper: var(--mw-brand-canvas);
  --seo-action: var(--mw-brand-action);
  --seo-forest: var(--mw-brand-forest);
  --seo-coral: var(--mw-brand-role-notice);
  --seo-mint: var(--mw-brand-role-inquiry);
  --seo-citrus: var(--mw-brand-role-event);
  --seo-aqua: var(--mw-brand-role-survey);
  min-height: 100vh;
  background: var(--seo-paper);
  color: var(--seo-ink);
  font-family: Inter, "Noto Sans JP", "Noto Sans KR", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.seo-page a { color: inherit; }
.seo-page :focus-visible { outline: 3px solid var(--seo-action); outline-offset: 4px; }
.seo-page h1, .seo-page h2, .seo-page h3, .seo-page p, .seo-page figure { margin-top: 0; }
.seo-page h1, .seo-page h2, .seo-page h3 { text-wrap: balance; }
.seo-page p { text-wrap: pretty; }
.seo-skip { position: fixed; z-index: 40; top: -80px; left: 18px; padding: 12px 18px; border-radius: 0 0 12px 12px; background: var(--seo-ink); color: white !important; font-weight: 750; text-decoration: none; }
.seo-skip:focus { top: 0; }

.seo-page .seo-nav { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--seo-line); background: rgba(251, 250, 246, .92); backdrop-filter: blur(18px); }
.seo-nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 26px; width: min(1320px, calc(100% - 64px)); min-height: 74px; margin: auto; }
.seo-brand { display: inline-flex; align-items: center; gap: 10px; flex: none; font-size: 1.12rem; font-weight: 800; letter-spacing: -.045em; text-decoration: none; }
.seo-brand img { display: block; width: 34px; height: 34px; }
.seo-nav nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(13px, 1.65vw, 26px); font-size: .86rem; font-weight: 650; }
.seo-nav nav a { white-space: nowrap; text-decoration: none; }
.seo-nav nav a:not(.seo-cta) { color: var(--seo-ink-soft); }
.seo-nav nav a:not(.seo-cta):hover { color: var(--seo-ink); text-decoration: underline; text-underline-offset: 5px; }
.seo-nav .seo-cta { display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-height: 42px; padding: 0 17px; border-radius: 10px; background: var(--seo-action); color: #fff; font-weight: 750; }
.seo-nav .seo-cta:hover, .seo-actions__primary:hover { background: #185a44; }

.seo-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr); align-items: center; gap: clamp(34px, 4vw, 70px); width: min(1320px, calc(100% - 64px)); margin: auto; padding: clamp(72px, 8.5vw, 124px) 0 110px; isolation: isolate; }
.seo-hero::before, .seo-hero::after { display: none; }
.seo-hero__intro { position: relative; z-index: 2; }
.seo-eyebrow { display: flex; align-items: center; gap: 9px; margin-bottom: 20px; color: var(--seo-action); font-size: .77rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.seo-eyebrow__dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--mw-brand-signal); box-shadow: 0 0 0 5px rgba(53, 167, 111, .14); }
.seo-hero h1 { margin-bottom: 28px; font-size: clamp(3.5rem, 5.15vw, 5.4rem); font-weight: 730; line-height: .99; letter-spacing: -.074em; }
.seo-hero h1 span { color: var(--seo-action); }
.seo-hero--ja h1 { font-size: clamp(3.2rem, 5vw, 5.2rem); letter-spacing: -.08em; }
.seo-lede { max-width: 55ch; margin-bottom: 0; color: var(--seo-ink-soft); font-size: clamp(1.07rem, 1.45vw, 1.25rem); line-height: 1.72; }
.seo-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 33px; }
.seo-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 52px; padding: 0 22px; border-radius: 11px; font-size: .95rem; font-weight: 760; text-decoration: none; }
.seo-actions__primary { background: var(--seo-action); color: #fff !important; }
.seo-actions__secondary { border: 1px solid var(--seo-line); background: rgba(255,255,255,.54); }
.seo-actions__secondary:hover { background: white; }
.seo-hero__aside { margin: 22px 0 0; color: #62766b; font-size: .78rem; line-height: 1.6; }

.seo-stage { position: relative; min-width: 0; min-height: 580px; margin: 0; overflow: hidden; border: 1px solid var(--seo-line); border-radius: 32px; background: #F0F0EC; box-shadow: 0 42px 95px -54px rgba(35,49,45,.25); }
.seo-stage__topline { position: absolute; z-index: 3; top: 24px; left: 27px; right: 27px; display: flex; justify-content: space-between; gap: 10px; color: var(--seo-ink-soft); font-size: .63rem; font-weight: 830; letter-spacing: .12em; }
.seo-stage__browser { position: absolute; top: 75px; right: 42px; bottom: 94px; left: 34px; overflow: hidden; border: 1px solid rgba(23,50,38,.15); border-radius: 20px; background: #fffefa; box-shadow: 0 25px 65px rgba(25,52,37,.18); }
.seo-stage__browserbar { display: flex; align-items: center; justify-content: space-between; height: 38px; padding: 0 14px; border-bottom: 1px solid var(--seo-line); color: var(--seo-ink-soft); font-size: .65rem; font-weight: 700; }
.seo-stage__lights { display: flex; gap: 5px; }
.seo-stage__lights i { width: 7px; height: 7px; border-radius: 50%; background: var(--mw-brand-warm); }
.seo-stage__lights i:nth-child(2) { background: var(--mw-brand-role-event); }
.seo-stage__lights i:nth-child(3) { background: var(--mw-brand-signal); }
.seo-stage__site { padding: 30px 32px; }
.seo-stage__site-nav { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 24px; border-bottom: 1px solid var(--seo-line); color: var(--seo-ink); font-size: .72rem; }
.seo-stage__site-nav strong { font-size: .92rem; letter-spacing: -.035em; }
.seo-stage__site-nav span { color: var(--seo-ink-soft); }
.seo-stage__site-kicker { margin: 40px 0 12px; color: var(--mw-brand-role-notice-strong); font-size: .63rem; font-weight: 800; letter-spacing: .14em; }
.seo-stage__site h2 { max-width: 15ch; margin-bottom: 14px; font-size: clamp(1.7rem, 2.7vw, 2.45rem); line-height: 1.08; letter-spacing: -.055em; }
.seo-stage__site > p:not(.seo-stage__site-kicker) { max-width: 27ch; color: var(--seo-ink-soft); font-size: .75rem; line-height: 1.55; }
.seo-stage__site-line { display: block; width: 100px; height: 7px; margin-top: 28px; border-radius: 8px; background: var(--seo-line); }
.seo-stage__widget { position: absolute; z-index: 2; right: 24px; bottom: 66px; width: min(295px, calc(100% - 48px)); padding: 18px; border: 1px solid var(--seo-line); border-radius: 20px; background: white; box-shadow: 0 27px 63px rgba(35,49,45,.18); }
.seo-stage__widget-head { display: flex; align-items: center; gap: 8px; margin-bottom: 17px; color: var(--mw-brand-role-inquiry-strong); font-size: .67rem; font-weight: 800; }
.seo-stage__widget-symbol { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--seo-mint); color: var(--mw-brand-role-inquiry-strong); font-size: .9rem; }
.seo-stage__widget-close { margin-left: auto; color: #8da298; font-size: 1.15rem; }
.seo-stage__widget h3 { margin-bottom: 7px; font-size: 1.14rem; letter-spacing: -.04em; }
.seo-stage__widget p { margin-bottom: 15px; color: var(--seo-ink-soft); font-size: .74rem; line-height: 1.5; }
.seo-stage__field { min-height: 33px; margin-top: 7px; padding: 9px 11px; border: 1px solid var(--seo-line); border-radius: 8px; color: var(--seo-ink-soft); font-size: .7rem; }
.seo-stage__field--message { min-height: 52px; }
.seo-stage__submit { display: flex; align-items: center; justify-content: space-between; min-height: 36px; margin-top: 10px; padding: 0 12px; border-radius: 8px; background: var(--seo-action); color: white; font-size: .72rem; font-weight: 800; }
.seo-stage figcaption { position: absolute; right: 24px; bottom: 22px; left: 24px; color: var(--seo-ink-soft); font-size: .69rem; font-weight: 700; line-height: 1.4; }

.seo-stage--ja { background: #F0F0EC; }
.seo-stage__japan-scene { position: absolute; inset: 67px 24px 56px; }
.seo-stage__poster { position: absolute; top: 26px; left: 15px; width: 60%; height: 380px; padding: 30px; border: 1px solid rgba(23,50,38,.12); border-radius: 20px; background: #fffefa; box-shadow: 0 24px 63px rgba(23,50,38,.17); transform: rotate(-5deg); }
.seo-stage__poster p { margin-bottom: 34px; color: var(--mw-brand-role-notice-strong); font-size: .76rem; font-weight: 780; }
.seo-stage__poster h2 { max-width: 10ch; margin-bottom: 26px; font-size: clamp(1.8rem, 2.6vw, 2.4rem); line-height: 1.22; letter-spacing: -.055em; }
.seo-stage__poster small { display: block; margin-top: 13px; color: #667d70; font-size: .58rem; font-weight: 800; letter-spacing: .15em; }
.seo-stage__qr { position: relative; width: 102px; height: 102px; padding: 6px; background: repeating-conic-gradient(#183a2b 0% 25%, #fff 0% 50%) 50% / 14px 14px; box-shadow: 0 0 0 6px #fff; }
.seo-stage__qr span { position: absolute; width: 28px; height: 28px; border: 7px solid #183a2b; background: #fff; }
.seo-stage__qr span:nth-child(1) { top: 4px; left: 4px; }
.seo-stage__qr span:nth-child(2) { top: 4px; right: 4px; }
.seo-stage__qr span:nth-child(3) { bottom: 4px; left: 4px; }
.seo-stage__phone { position: absolute; top: 70px; right: 8px; width: min(255px, 50%); min-height: 400px; padding: 17px; border: 6px solid #214532; border-radius: 31px; background: white; box-shadow: 0 27px 67px rgba(23,50,38,.24); transform: rotate(5deg); }
.seo-stage__phone-top { display: flex; justify-content: space-between; align-items: center; padding: 1px 3px 13px; border-bottom: 1px solid #e4eae3; color: #3c654c; font-size: .68rem; }
.seo-stage__phone-top span { font-size: 1.1rem; }
.seo-stage__phone-kicker { margin: 23px 0 6px; color: var(--mw-brand-role-notice-strong); font-size: .56rem; font-weight: 800; letter-spacing: .12em; }
.seo-stage__phone h3 { margin-bottom: 9px; font-size: 1.28rem; line-height: 1.25; letter-spacing: -.055em; }
.seo-stage__phone > p:not(.seo-stage__phone-kicker) { margin-bottom: 14px; color: #6a7f72; font-size: .67rem; line-height: 1.5; }
.seo-stage__phone .seo-stage__submit { margin-top: 15px; }

.seo-section { width: min(1320px, calc(100% - 64px)); margin: 0 auto; padding: 88px 0 108px; border-top: 1px solid var(--seo-line); scroll-margin-top: 95px; }
.seo-section__header { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, .75fr); align-items: end; gap: 40px; margin-bottom: 35px; }
.seo-section__header .seo-eyebrow { margin-bottom: 17px; }
.seo-section h2 { max-width: 15ch; margin-bottom: 0; font-size: clamp(2.6rem, 4.5vw, 4.4rem); line-height: 1.04; letter-spacing: -.065em; }
.seo-section__header > p { max-width: 48ch; margin: 0 0 4px; color: var(--seo-ink-soft); font-size: 1.06rem; line-height: 1.73; }
.seo-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; gap: 14px; }
.seo-tile { position: relative; min-width: 0; min-height: 240px; overflow: hidden; padding: clamp(24px, 2.7vw, 37px); border: 1px solid rgba(23,50,38,.08); border-radius: 25px; }
.seo-tile--feature { grid-column: span 6; grid-row: span 2; display: flex; flex-direction: column; min-height: 495px; background: var(--seo-ink); color: white; }
.seo-tile--coral, .seo-tile--mint, .seo-tile--lilac, .seo-tile--sky { grid-column: span 3; }
.seo-tile--coral { background: var(--seo-coral); }
.seo-tile--mint { background: var(--seo-mint); }
.seo-tile--lilac { background: var(--seo-citrus); }
.seo-tile--sky { background: var(--seo-aqua); }
.seo-tile summary { position: relative; display: block; min-height: 171px; cursor: pointer; list-style: none; }
.seo-tile summary::-webkit-details-marker { display: none; }
.seo-tile summary:focus-visible { border-radius: 10px; }
.seo-tile__preview-hint { display: inline-flex; align-items: center; gap: 7px; margin-top: 20px; color: var(--seo-ink); font-size: .76rem; font-weight: 800; }
.seo-tile[open] .seo-tile__preview-hint span { transform: rotate(90deg); }
.seo-tile__preview { display: grid; gap: 8px; margin-top: 20px; padding: 17px; border: 1px solid rgba(23,50,38,.12); border-radius: 15px; background: rgba(255,255,255,.72); }
.seo-tile__preview-label { color: var(--seo-ink-soft); font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
.seo-tile__preview strong { margin-bottom: 3px; font-size: 1rem; line-height: 1.35; }
.seo-tile__preview p { font-size: .8rem; line-height: 1.55; }
.seo-tile__preview-field { display: block; min-height: 32px; padding: 8px 9px; border: 1px solid rgba(23,50,38,.13); border-radius: 7px; background: white; color: var(--seo-ink-soft); font-size: .72rem; }
.seo-tile__preview-action { display: block; margin-top: 4px; padding: 10px 9px; border-radius: 7px; background: var(--seo-ink); color: white; text-align: center; font-size: .73rem; font-weight: 800; }
.seo-tile__number { display: block; margin-bottom: 25px; font-size: .68rem; font-weight: 830; letter-spacing: .12em; }
.seo-tile--feature .seo-tile__number { color: #DCECF2; }
.seo-tile:not(.seo-tile--feature) .seo-tile__number { display: inline-flex; align-items: center; min-height: 28px; margin-bottom: 20px; padding: 0 9px; border-radius: 7px; color: var(--seo-ink); }
.seo-tile--coral .seo-tile__number { background: var(--mw-brand-role-notice-strong); color: white; }
.seo-tile--mint .seo-tile__number { background: var(--mw-brand-role-inquiry-strong); color: white; }
.seo-tile--lilac .seo-tile__number { background: var(--mw-brand-role-event-strong); color: white; }
.seo-tile--sky .seo-tile__number { background: var(--mw-brand-role-survey-strong); color: white; }
.seo-tile h3 { max-width: 15ch; margin-bottom: 12px; font-size: clamp(1.45rem, 2.05vw, 2.2rem); line-height: 1.12; letter-spacing: -.05em; }
.seo-tile--feature h3 { max-width: 19ch; font-size: clamp(2rem, 3.2vw, 3rem); }
.seo-tile p { max-width: 33ch; margin-bottom: 0; font-size: .9rem; line-height: 1.65; }
.seo-tile--feature > p { max-width: 43ch; color: rgba(255,255,255,.68); }
.seo-tile__glyph { position: absolute; right: 25px; bottom: 13px; color: rgba(35,49,45,.28); font-size: 4.3rem; font-weight: 450; line-height: 1; }
.seo-inbox { width: 100%; margin-top: auto; padding: 15px 18px 6px; border: 1px solid rgba(255,255,255,.11); border-radius: 16px; background: rgba(255,255,255,.09); }
.seo-inbox__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 13px; font-size: .78rem; }
.seo-inbox__head span { color: #DCECF2; font-size: .68rem; font-weight: 750; }
.seo-inbox__row { display: grid; grid-template-columns: 9px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.12); font-size: .75rem; font-weight: 700; }
.seo-inbox__row small { display: block; margin-top: 4px; color: rgba(255,255,255,.48); font-size: .66rem; font-weight: 450; }
.seo-inbox__dot { width: 8px; height: 8px; border-radius: 50%; background: #DCECF2; }
.seo-inbox__dot--coral { background: var(--seo-coral); }
.seo-inbox__dot--lilac { background: var(--seo-citrus); }

.seo-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.seo-steps article { min-height: 228px; padding: 30px; border: 1px solid var(--seo-line); border-radius: 22px; background: rgba(255,255,255,.66); }
.seo-steps__num { display: inline-block; width: 39px; height: 39px; margin-bottom: 27px; padding-top: 9px; border-radius: 10px; background: var(--seo-mint); color: var(--mw-brand-role-inquiry-strong); text-align: center; font-size: .72rem; font-weight: 800; }
.seo-steps article:nth-child(2) .seo-steps__num { background: var(--seo-coral); color: var(--seo-ink); }
.seo-steps article:nth-child(3) .seo-steps__num { background: var(--seo-citrus); color: var(--seo-ink); }
.seo-steps h3 { margin-bottom: 9px; font-size: 1.5rem; letter-spacing: -.04em; }
.seo-steps p { max-width: 37ch; margin-bottom: 0; color: var(--seo-ink-soft); font-size: .95rem; line-height: 1.65; }

.seo-section--faq { padding-bottom: 105px; }
.seo-faq { border-top: 1px solid var(--seo-line); }
.seo-faq details { border-bottom: 1px solid var(--seo-line); }
.seo-faq summary { position: relative; display: block; padding: 24px 48px 24px 0; cursor: pointer; font-size: clamp(1.03rem, 1.5vw, 1.22rem); font-weight: 730; list-style: none; }
.seo-faq summary::-webkit-details-marker { display: none; }
.seo-faq summary::after { content: "+"; position: absolute; right: 7px; top: 19px; color: #397257; font-size: 1.7rem; font-weight: 400; }
.seo-faq details[open] summary::after { content: "−"; }
.seo-faq details p { max-width: 76ch; margin: 0 0 25px; color: var(--seo-ink-soft); font-size: .96rem; line-height: 1.75; }
.seo-final { display: flex; align-items: end; justify-content: space-between; gap: 32px; padding: 72px max(32px, calc((100vw - 1320px) / 2)) 82px; background: var(--seo-ink); color: white; }
.seo-final .seo-eyebrow { color: #DCECF2; }
.seo-final h2 { max-width: 20ch; margin-bottom: 0; font-size: clamp(2.6rem, 4.5vw, 4.65rem); line-height: 1.06; letter-spacing: -.065em; }
.seo-final > a { display: inline-flex; flex: none; align-items: center; justify-content: space-between; gap: 22px; min-height: 55px; padding: 0 22px; border-radius: 11px; background: var(--seo-coral); color: var(--seo-ink); font-weight: 790; text-decoration: none; }
.seo-final > a:hover { background: #F4D4C3; }
.seo-footer { display: flex; align-items: start; justify-content: space-between; gap: 35px; padding: 35px max(32px, calc((100vw - 1320px) / 2)) 55px; border-top: 1px solid rgba(255,255,255,.13); background: var(--seo-ink); color: rgba(255,255,255,.65); }
.seo-footer strong { color: white; font-size: 1.1rem; letter-spacing: -.035em; }
.seo-footer p { margin: 7px 0 0; font-size: .84rem; line-height: 1.6; }
.seo-footer nav { display: flex; flex-wrap: wrap; gap: 13px 23px; font-size: .8rem; }
.seo-footer nav a { text-decoration: none; }
.seo-footer nav a:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 1080px) {
  .seo-nav__inner, .seo-hero, .seo-section { width: min(100% - 44px, 1320px); }
  .seo-nav__anchor { display: none; }
  .seo-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
  .seo-hero h1 { font-size: clamp(3.15rem, 5.5vw, 4.4rem); }
  .seo-stage { min-height: 545px; }
  .seo-bento .seo-tile--feature { grid-column: span 12; grid-row: auto; min-height: 395px; }
  .seo-bento .seo-tile:not(.seo-tile--feature) { grid-column: span 6; }
  .seo-tile--feature .seo-inbox { max-width: 560px; margin-top: 28px; }
}
@media (max-width: 760px) {
  .seo-nav__inner { min-height: 66px; }
  .seo-hero { grid-template-columns: 1fr; padding: 66px 0 80px; }
  .seo-hero h1 { max-width: 15ch; font-size: clamp(3.3rem, 10.4vw, 5rem); }
  .seo-hero--ja h1 { max-width: none; font-size: clamp(3rem, 9.7vw, 4.6rem); }
  .seo-stage { min-height: 560px; }
  .seo-section { padding: 72px 0 86px; }
  .seo-section__header { grid-template-columns: 1fr; gap: 15px; }
  .seo-section h2 { max-width: 19ch; }
  .seo-steps { grid-template-columns: 1fr; }
  .seo-steps article { min-height: auto; }
  .seo-final { display: grid; padding: 70px 22px; }
  .seo-final > a { width: fit-content; }
}
@media (max-width: 560px) {
  .seo-nav__inner, .seo-hero, .seo-section { width: min(100% - 32px, 1320px); }
  .seo-brand { gap: 7px; font-size: 1rem; }
  .seo-brand img { width: 28px; height: 28px; }
  .seo-nav nav { gap: 9px; font-size: .72rem; }
  .seo-nav .seo-cta { min-height: 38px; padding: 0 10px; font-size: .72rem; }
  .seo-nav .seo-cta span { display: none; }
  .seo-hero { padding-top: 54px; }
  .seo-hero h1 { font-size: clamp(3.1rem, 13vw, 4.2rem); }
  .seo-hero--ja h1 { font-size: clamp(2.1rem, 9.6vw, 3rem); }
  .seo-lede { font-size: 1rem; }
  .seo-actions a { width: 100%; justify-content: space-between; }
  .seo-stage { min-height: 500px; border-radius: 22px; }
  .seo-stage--ja { min-height: 560px; }
  .seo-stage__topline { top: 18px; left: 18px; right: 18px; }
  .seo-stage__browser { top: 54px; left: 16px; right: 16px; bottom: 88px; }
  .seo-stage__site { padding: 20px; }
  .seo-stage__site-nav span { display: none; }
  .seo-stage__site-kicker { margin-top: 34px; }
  .seo-stage__site h2 { font-size: 1.55rem; }
  .seo-stage__widget { right: 12px; bottom: 55px; width: min(244px, calc(100% - 25px)); padding: 13px; }
  .seo-stage__widget h3 { font-size: 1rem; }
  .seo-stage__widget p { margin-bottom: 9px; }
  .seo-stage__field { min-height: 30px; padding: 7px 9px; }
  .seo-stage__field--message { min-height: 43px; }
  .seo-stage__japan-scene { inset: 53px 12px 48px; }
  .seo-stage__poster { top: 25px; left: 9px; width: 62%; height: 330px; padding: 20px; }
  .seo-stage__poster h2 { font-size: 1.55rem; }
  .seo-stage__phone { top: 76px; right: 0; width: 55%; min-height: 365px; padding: 12px; border-width: 5px; }
  .seo-stage__phone h3 { font-size: 1.07rem; }
  .seo-stage__phone .seo-stage__field { font-size: .6rem; }
  .seo-stage figcaption { right: 16px; bottom: 17px; left: 16px; }
  .seo-bento .seo-tile:not(.seo-tile--feature) { grid-column: span 12; }
  .seo-tile { min-height: 207px; padding: 25px; }
  .seo-tile--feature { padding: 27px; }
  .seo-tile h3 { max-width: 24ch; }
  .seo-section h2 { font-size: clamp(2.35rem, 10vw, 3.2rem); }
  .seo-final h2 { font-size: clamp(2.35rem, 9.4vw, 3.5rem); }
  .seo-footer { display: grid; padding: 33px 20px 55px; }
}
@media (max-width: 380px) {
  .seo-brand { font-size: 0; }
  .seo-nav nav { gap: 7px; }
  .seo-nav .seo-cta { padding: 0 8px; }
  .seo-stage__phone { width: 58%; }
}
