@charset "UTF-8";

:root {
  --ink: #040913;
  --card: #121721;
  --gold: #625a4b;
  --gold-bright: #86754b;
  --gold-text: #a8925c;   --blue: #4a588f;
  --hairline: #262523;
  --white: #fff;
  --font-min: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --font-sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --header-h: 51px;
  --rgbnav-h: 57px;
}.rgblp, .rgblp * { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

.nw { white-space: nowrap; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.hero-cmkv { background: var(--ink); }
.hero-cmkv img { display: block; width: 100%; height: auto; }
.sp-only { display: none; }.rgblp {
  line-break: strict;
  background: var(--ink);
  color: var(--white);
  font-family: var(--font-sans);
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}.rgblp img { display: block; max-width: 100%; }.rgblp a { color: inherit; text-decoration: none; }.rgblp ul { list-style: none; }
main { display: block; }.rgblp section, .rgblp .rgbnav { scroll-margin-top: calc(var(--rgbnav-h) + 10px); }

sup.note-ref {
  font-size: 0.6em;
  vertical-align: super;
  line-height: 1;
  opacity: 0.85;
}
sup.note-ref a {
  text-decoration: none;
  transition: opacity 0.3s;
}
sup.note-ref a:hover { opacity: 0.6; text-decoration: underline; }

.slash {
  display: inline-block;
  width: 1.5px;
  height: 16px;
  background: rgba(255, 255, 255, 0.75);
  transform: rotate(21deg);
  margin: 0 2px;
}.rgblp img, .rgblp video {
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}
.guard img { pointer-events: none; }
.guard button img { pointer-events: none; }

.rgbnav {
  position: sticky;
  top: var(--mast-h, 0px);
  transition: top 0.3s ease;
    z-index: 100;
  background: rgba(4, 9, 19, 0.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.rgbnav__inner {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 30px);
  padding: 12px clamp(20px, 5.5vw, 80px);
  min-height: var(--rgbnav-h);
}
.rgbnav__brand {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 0 0 auto;
}
@media (min-width: 1081px) and (max-width: 1320px) {
  .rgbnav__brand { display: none; }
}
.rgbnav__tv { width: 30px; height: 23px; object-fit: contain; }
.rgbnav__series {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-min);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.rgbnav__series a { font-weight: 600; transition: opacity 0.3s; }
.rgbnav__series a:hover { opacity: 0.7; }
.rgbnav__links {
  display: flex;
  gap: clamp(14px, 2.2vw, 32px);
  justify-content: center;
  flex: 1;
  min-width: 0;
}
.rgbnav__links a {
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #c9c9c5;
  white-space: nowrap;
  transition: color 0.3s;
  position: relative;
  padding-bottom: 3px;
}
.rgbnav__links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--gold-bright);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s var(--ease-out);
}
.rgbnav__links a:hover { color: #fff; }
.rgbnav__links a:hover::after { transform: scaleX(1); transform-origin: left; }
.rgbnav__cta { display: flex; gap: 10px; flex: 0 0 auto; }
.btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-feature-settings: "pkna" 1;
  white-space: nowrap;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.btn-cta--fill { background: var(--gold); }
.btn-cta--fill:hover { background: #7a7059; }
.btn-cta--line { border: 1px solid var(--gold); }
.btn-cta--line:hover { background: var(--gold); }

.hero {
  position: relative;
    height: max(830px, 55.97vw);
  overflow: hidden;
    display: flex;
  align-items: center;
}
.hero__bg { position: absolute; inset: 0; }
.hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
    object-position: center top;
  transform-origin: center top;   transform: scale(1.06);
  transition: transform 2.4s var(--ease-soft);
}
.is-loaded .hero__bg img { transform: scale(1); }
.hero__logo {
  position: absolute;
  top: 40px;
  right: 50px;
  width: 86px;
}
.hero__body {
  position: relative;
  width: 596px;
  margin-left: 145px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.hero__tv { width: 100%; }
.hero__tv img { width: 100%; }
.hero__copy {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
.hero__series {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-min);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.slash--hero { height: 20px; }
.hero__title {
  font-family: var(--font-min);
  font-size: 44px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.4;
  white-space: nowrap;
}
.hero__sub {
  font-family: var(--font-min);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4;
  white-space: nowrap;
}

.benebar { background: var(--ink); border-bottom: 1px solid var(--hairline); }
.benebar__inner {
  max-width: 1440px;
  margin-inline: auto;
  padding: 0 80px;
  display: flex;
}
.bcard {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 46px 24px;
  transition: background 0.4s;
}
.bcard + .bcard { border-left: 1px solid var(--hairline); }
.bcard:hover { background: rgba(255, 255, 255, 0.04); }
.bcard__ico { flex: 0 0 auto; width: 48px; height: 48px; }
.bcard__ico svg { width: 100%; height: 100%; display: block; }
.bcard__body { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.bcard__body b {
  font-family: var(--font-min);
    font-size: clamp(17px, 1.53vw, 22px);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.35;
  position: relative;
}
.bcard__body b::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 1px;
  background: var(--gold-bright);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s var(--ease-out);
}
.bcard:hover .bcard__body b::after { transform: scaleX(1); }
.bcard__body small {
  font-size: 11.5px;
  letter-spacing: 0.06em;
  opacity: 0.72;
}
.bcard__body small sup.note-ref { font-size: 8px; }
.anim-hero-bene { opacity: 0; transform: translateY(24px); }
.is-loaded .anim-hero-bene { animation: fade-up 1s var(--ease-out) 1.1s forwards; }
body.is-flat .anim-hero-bene { opacity: 1 !important; transform: none !important; animation: none !important; }

.line-mask { display: block; overflow: hidden; }
.line-mask .line { display: block; transform: translateY(110%); }
.is-loaded .line-mask .line { animation: line-up 1s var(--ease-out) forwards; }
.is-loaded .anim-hero-title .line { animation-delay: 0.55s; }
.is-loaded .anim-hero-sub .line { animation-delay: 0.75s; }
@keyframes line-up { to { transform: translateY(0); } }
.anim-hero-tv, .anim-hero-series, .anim-hero-logo {
  opacity: 0;
  transform: translateY(24px);
}
.is-loaded .anim-hero-tv {
  animation: fade-up 1.2s var(--ease-out) 0.15s forwards;
}
.is-loaded .anim-hero-series {
  animation: fade-up 0.9s var(--ease-out) 0.45s forwards;
}
.is-loaded .anim-hero-logo {
  animation: fade-up 0.9s var(--ease-out) 0.9s forwards;
}
@keyframes fade-up {
  to { opacity: 1; transform: translateY(0); }
}

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out);
}
.reveal.is-in { opacity: 1; transform: translateY(0); }
.stagger > .reveal:nth-child(2) { transition-delay: 0.1s; }
.stagger > .reveal:nth-child(3) { transition-delay: 0.2s; }
.stagger > .reveal:nth-child(4) { transition-delay: 0.3s; }
.reveal-clip {
  clip-path: inset(8% 0 8% 0);
  opacity: 0;
  transform: translateY(24px) scale(1.02);
  transition: clip-path 1.1s var(--ease-out), opacity 0.9s var(--ease-out), transform 1.1s var(--ease-out);
}
.reveal-clip.is-in {
  clip-path: inset(0 0 0 0);
  opacity: 1;
  transform: translateY(0) scale(1);
}
body.is-flat .reveal, body.is-flat .reveal-clip,
body.is-flat .anim-hero-tv, body.is-flat .anim-hero-series, body.is-flat .anim-hero-logo {
  opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; animation: none !important;
}
body.is-flat .line-mask .line { transform: none !important; animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-clip, .anim-hero-tv, .anim-hero-series, .anim-hero-logo { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; animation: none !important; }
  .line-mask .line { transform: none !important; animation: none !important; }
}

.award { background: #fff; color: #2c2c2c; }
.award__inner { padding: 40px 80px; }
.award__frame {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  column-gap: 40px;
  row-gap: 26px;
  align-items: start;
  padding: 44px 0;
  border-top: 1px solid var(--gold-bright);
  border-bottom: 1px solid var(--gold-bright);
}
.award__label {
  grid-column: 1;
  grid-row: 1;
  font-size: 26px;
  letter-spacing: 0.1em;
  white-space: nowrap;
  padding-top: 6px;
}
.award__logos {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: 20px;
  align-items: start;
}
.award__cell { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.award__cell--sep { padding-left: 20px; border-left: 1px solid rgba(0, 0, 0, 0.12); }
.award__logo { display: block; }
.award__logos img { width: 76px; height: 76px; object-fit: contain; }
.award__cap {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.01em;
}
.award__cap span {
  display: block;
  margin-top: 5px;
  font-weight: 400;
  font-size: 10.5px;
  line-height: 1.6;
  color: #5b5b5b;
}
.award__cap .nw {
  display: inline;
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}
.allion {
  margin-top: 28px;
  display: grid;
  grid-template-columns: 380px minmax(0, 1fr);   column-gap: 40px;
  align-items: center;
  padding: 26px 36px;
  border: 1px solid #e2dccb;
  background: #faf9f6;
}
.allion__body { min-width: 0; }
.allion__title { font-size: 17px; font-weight: 700; letter-spacing: 0.08em; margin-bottom: 8px; }
.allion__text { font-size: 14.5px; line-height: 1.8; }
.allion__models { font-size: 13.5px; font-weight: 600; margin-top: 8px; letter-spacing: 0.02em; }
.allion__img { grid-column: 1; grid-row: 1 / 3; display: block; transition: opacity 0.3s; }
.allion__img img { display: block; width: 100%; height: auto; border: 1px solid #e2dccb; background: #fff; }
.allion__img:hover { opacity: 0.8; }
.allion__body { grid-column: 2; }
.allion__note { grid-column: 2; font-size: 12.5px; line-height: 1.7; color: #767676; margin-top: 10px; }

.award__notes {
  margin-top: 16px;
  font-size: 13px;
  line-height: 1.6;
  color: #5b5b5b;
  text-align: right;
}
.award__frame .award__morewrap { grid-column: 1 / -1; text-align: right; margin-top: -6px; }
.award__more {
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.3s;
}
.award__more:hover { opacity: 0.6; }

.series {
  position: relative;
  background: var(--ink) url("../images/bg-dark-texture.webp") center / cover;
  background-blend-mode: soft-light;
}
.series__inner { padding: 120px 80px 50px; max-width: 1440px; margin-inline: auto; }
.series__head {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
  margin-bottom: 50px;
}
.series__title {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  font-family: var(--font-min);
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
}
.series__rgb { display: inline-flex; flex-direction: column; gap: 12px; }
.rgb-line { display: flex; height: 3px; width: 100%; }
.titem__text h3 .rgb-line {
  width: 92px;
  height: 2px;
  gap: 5px;
  margin-top: 18px;
}
.rgb-line b { flex: 1; transform: scaleX(0); transform-origin: left; }
.rgb-line b:nth-child(1) { background: #f90f0f; }
.rgb-line b:nth-child(2) { background: #0dc400; }
.rgb-line b:nth-child(3) { background: #1202f9; }
.is-in .rgb-line b { transition: transform 0.6s var(--ease-out); transform: scaleX(1); }
.is-in .rgb-line b:nth-child(1) { transition-delay: 0.5s; }
.is-in .rgb-line b:nth-child(2) { transition-delay: 0.65s; }
.is-in .rgb-line b:nth-child(3) { transition-delay: 0.8s; }
.series__lead {
  font-family: var(--font-min);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.series__lead em { font-style: normal; color: rgba(255, 255, 255, 0.66); }
.series__lead strong { color: #fff; font-weight: 600; }

.series__cards {
    display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
.scard {
  min-width: 0;
  background: var(--card);
  padding: 36px 22px 32px;
  display: flex;
  flex-direction: column;
  position: relative;
  background-image: url("../images/bg-dark-texture.webp");
  background-size: cover;
  background-blend-mode: soft-light;
  transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out);
}
.scard:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45); }
.scard--gold { border-top: 4px solid var(--gold); }
.scard--blue { border-top: 4px solid var(--blue); }
.scard__grade {
  font-family: var(--font-min);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--gold-text);
  padding-bottom: 14px;
  text-align: center;
}
.scard__grade--blue { color: #8591bc; }
.scard__name {
  font-family: var(--font-min);
  font-size: 44px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding-bottom: 10px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
}
.scard__model {
  font-family: var(--font-min);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-align: center;
  color: var(--gold-text);
  padding-bottom: 16px;
}
.scard--blue .scard__model { color: #8591bc; }
.scard__name small {
  font-size: 16.5px;
  letter-spacing: 0.08em;
  opacity: 0.7;
  padding-bottom: 5px;
}
.scard__tv {
  height: 168px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
.scard__tv img { width: 100%; max-width: 220px; height: 100%; object-fit: contain; margin-inline: auto; }
.scard__sizes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-bottom: 18px;
  min-height: 60px;
}
.scard__sizes li { border-right: 1px solid var(--hairline); }
.scard__sizes li:last-child { border-right: none; }
.scard__sizes a {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  padding: 6px 10px;
  transition: background 0.3s;
}
.scard__sizes a:hover { background: rgba(255, 255, 255, 0.07); }
.scard__sizes b {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  font-feature-settings: "pkna" 1;
}
.scard__sizes span {
  font-family: var(--font-min);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  opacity: 0.6;
}
.scard__price {
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-align: center;
  margin-bottom: 16px;
  font-feature-settings: "palt" 1, "pkna" 1;
}
.scard__price small { font-size: 13px; font-weight: 500; opacity: 0.75; margin-left: 2px; }
.scard__price sup.note-ref { font-size: 9px; opacity: 0.6; }
.hikaku__table sup.note-ref { font-size: 9px; }
.scard__price--s { text-align: center; margin: -6px 0 20px; }
.scard__copy {
  font-size: 14.5px;
  line-height: 1.7;
  text-align: center;
  opacity: 0.82;
  letter-spacing: 0.01em;
  margin-bottom: 18px;
  min-height: 70px;
  text-wrap: balance;
}
.scard__logos {
  width: 100%;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.lcell {
  min-width: 0;
  flex: 0 0 25%;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 6px;
}
.lcell.is-dim { opacity: 0.28; }
.flogo-link { transition: opacity 0.3s, transform 0.3s var(--ease-out); }
.flogo-link:hover { opacity: 0.75; transform: translateY(-2px); }
.flogo-link:focus-visible { outline: 1px solid var(--gold-bright); outline-offset: 2px; }

.flogo {
  width: auto;
  height: 24px;
  max-width: 100%;
  object-fit: contain;
  display: block;
}
.flogo--tall { height: 33px; }
.flogo--s { height: 24px; }
.flogo--s.flogo--tall { height: 32px; }

.scard__btn {
  margin-top: auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 34px 18px 24px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-feature-settings: "pkna" 1;
  overflow: hidden;
  transition: filter 0.3s;
}
.scard__btn img { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); transition: transform 0.4s var(--ease-out); }
.scard__btn:hover img { transform: translate(4px, -50%); }
.scard__btn--gold { background: var(--gold); }
.scard__btn--gold:hover { filter: brightness(1.15); }
.scard__btn--blue { background: var(--blue); }
.scard__btn--blue:hover { filter: brightness(1.15); }

.ctabar {
  display: flex;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  margin: 40px 0;
}
.ctabar a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 25px 32px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-feature-settings: "pkna" 1;
  backdrop-filter: blur(10px);
  transition: background 0.3s;
}
.ctabar a:hover { background: rgba(255, 255, 255, 0.06); }
.ctabar a + a { border-left: 1px solid var(--hairline); }

.hikaku { padding: 50px 0 90px; }
.hikaku__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.8s var(--ease-out);
}
.hikaku.is-open .hikaku__body { grid-template-rows: 1fr; }
.hikaku__bodyin { overflow: hidden; min-height: 0; }
.hikaku__bodyin .hikaku__title { padding-top: 10px; }
.hikaku__bodyin > .hikaku__scroll { margin-top: 12px; }
.hikaku__imgrow td { padding: 20px 16px 6px; }
.hikaku__imgrow img { width: 100%; max-width: 130px; height: 84px; object-fit: contain; margin-inline: auto; }
.hikaku__title {
  font-family: var(--font-min);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 28px;
}
.hikaku__scroll { overflow-x: auto; }
.hikaku__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  min-width: 640px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.008));
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35);
}
.hikaku__table th, .hikaku__table td {
  border: 1px solid var(--hairline);
  padding: 14px 16px;
  text-align: center;
  font-weight: 400;
  transition: background 0.35s;
}
.hikaku__table .col-hl { background: rgba(134, 117, 75, 0.13); }
.hikaku__table tbody tr:hover th,
.hikaku__table tbody tr:hover td { background: rgba(255, 255, 255, 0.035); }
.hikaku__table thead th {
  position: relative;
  background: rgba(255, 255, 255, 0.045);
  padding: 22px 16px 16px;
  white-space: nowrap;
}
.hikaku__table thead th::before {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  height: 3px;
  transform: scaleX(0);
  transition: transform 0.8s var(--ease-out) 0.3s;
}
.hikaku.is-open .hikaku__table thead th::before { transform: scaleX(1); }
.hikaku__table thead th:nth-child(2)::before,
.hikaku__table thead th:nth-child(3)::before { background: linear-gradient(90deg, var(--gold), #a89163); }
.hikaku__table thead th:nth-child(4)::before,
.hikaku__table thead th:nth-child(5)::before,
.hikaku__table thead th:nth-child(6)::before { background: linear-gradient(90deg, var(--blue), #6a7ab8); }
.hikaku__table thead b {
  display: block;
  font-family: var(--font-min);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.08em;
}
.hikaku__table thead b small {
  font-size: 12px;
  font-weight: inherit;
  margin-left: 3px;
  letter-spacing: 0.08em;
}
.hikaku__table thead span {
  display: block;
  font-size: 11px;
  letter-spacing: 0.14em;
  opacity: 0.6;
  margin-top: 6px;
}
.hikaku__table thead th:nth-child(2) span,
.hikaku__table thead th:nth-child(3) span { color: #c9b585; opacity: 0.9; }
.hikaku__table thead th:nth-child(4) span,
.hikaku__table thead th:nth-child(5) span,
.hikaku__table thead th:nth-child(6) span { color: #9aa8d8; opacity: 0.9; }
.hikaku__table tbody th {
  text-align: left;
  background: rgba(255, 255, 255, 0.02);
  font-weight: 500;
  white-space: nowrap;
}
.hikaku__table tbody tr {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out);
}
.hikaku.is-open .hikaku__table tbody tr { opacity: 1; transform: none; }
.hikaku.is-open .hikaku__table tbody tr:nth-child(1) { transition-delay: 0.15s; }
.hikaku.is-open .hikaku__table tbody tr:nth-child(2) { transition-delay: 0.22s; }
.hikaku.is-open .hikaku__table tbody tr:nth-child(3) { transition-delay: 0.29s; }
.hikaku.is-open .hikaku__table tbody tr:nth-child(4) { transition-delay: 0.36s; }
.hikaku.is-open .hikaku__table tbody tr:nth-child(5) { transition-delay: 0.43s; }
.hikaku.is-open .hikaku__table tbody tr:nth-child(6) { transition-delay: 0.5s; }
.hikaku.is-open .hikaku__table tbody tr:nth-child(7) { transition-delay: 0.57s; }
.hikaku.is-open .hikaku__table tbody tr:nth-child(8) { transition-delay: 0.64s; }
.hikaku.is-open .hikaku__table tbody tr:nth-child(9) { transition-delay: 0.71s; }
body.is-flat .hikaku__table tbody tr { opacity: 1; transform: none; transition: none; }
body.is-flat .hikaku__table thead th::before { transform: scaleX(1); transition: none; }
.rowicon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 40px;
  margin-right: 12px;
  vertical-align: middle;
  overflow: visible;
}
.rowicon img { margin-inline: auto; }
.rowicon img, .rowicon svg { display: inline-block; }
.hikaku__table td[colspan] { text-align: center; }
.hikaku__imgrow img { transition: transform 0.5s var(--ease-out); }
.hikaku__imgrow td.col-hl img { transform: scale(1.1); }
.hikaku__links td { border: none; padding-top: 18px; }
.hikaku__links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid var(--gold);
    padding: 0 22px 2px;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
  transition: background 0.3s;
}
.hikaku__links a:hover { background: var(--gold); }
.hikaku__note {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-top: 26px;
  padding: 16px 26px;
  background: rgba(98, 90, 75, 0.28);
  border: 1px solid rgba(246, 226, 123, 0.35);
  font-size: 14px;
  line-height: 1.8;
  color: #e9ecf2;
  opacity: 1;
}
.hikaku__note::before {
  content: "";
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  margin-top: 0.5em;
  border-radius: 50%;
  background: linear-gradient(to bottom, #f6e27b, #b39129 70%);
  box-shadow: 0 0 0 5px rgba(246, 226, 123, 0.1);
}
.hikaku__note a {
  color: #f6e27b;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: opacity 0.25s;
}
.hikaku__note a:hover { opacity: 0.75; }
.hikaku__note a::after { content: "\2197"; margin-left: 3px; display: inline-block; text-decoration: none; }

.hikaku__table--full { min-width: 1760px; font-size: 12.5px; background: #fff; color: #1c1c1c; }
.hikaku__table--rgb { min-width: 1000px; width: 100%; }
.hikaku__table--rgb .hf__models th { min-width: 0; }
.hikaku__table--rgb .hf__svctext { font-weight: 700; letter-spacing: 0.06em; padding-block: 16px; }
.hikaku__table--full th, .hikaku__table--full td { padding: 12px 10px; vertical-align: middle; border-color: #d9d9d9; }
.hikaku__table--full thead th { white-space: normal; background: none; }
.hikaku__table--full thead th::before { display: none; }

.hikaku__table--full .hf__corner { background: #000; padding: 0 !important; position: relative; }
.hf__corner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.hf__corner > .cspan { position: static !important; max-width: none !important; display: block; height: 100%; }
.hf__corner2 { position: sticky; left: 0; z-index: 4; background: #fff; }

.hikaku__table--full .hf__cat,
.hikaku__table--full .hf__series th {
  background: #0f1319;
  color: #fff;
}
.hikaku__table--full .hf__cat { position: relative; }
.hikaku__table--full .hf__cat::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
}
.hikaku__table--full .hf__cat--rgb::after { background: linear-gradient(90deg, #f90f0f 0 33.3%, #0dc400 33.3% 66.6%, #1202f9 66.6% 100%); }
.hikaku__table--full .hf__cat--oled::after { background: #ac3150; }
.hikaku__table--full .hf__cat--mini::after { background: #8d7390; }
.hikaku__table--full .hf__cat--lcd::after { background: #6790b1; }
.hikaku__table--full .hf__cat {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-top: 20px !important;
  border-bottom: none !important;
}
.hikaku__table--full thead th.hf__cat,
.hikaku__table--full thead th.hf__cat > .cspan { color: #fff; opacity: 1; }
.hikaku__table--full thead th.hf__cat > .cspan { font-size: inherit; letter-spacing: inherit; margin-top: 0; display: block; }
.hikaku__table--full thead th.hf__cat span:not(.cspan) {
  display: block;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.86);
  opacity: 1;
  white-space: nowrap;
}
.hikaku__table--full .hf__series th { border-top: none !important; padding-bottom: 14px !important; }
.hikaku__table--full .hf__series b { display: block; font-family: inherit; font-size: 20px; font-weight: 700; letter-spacing: 0.06em; color: #fff; }
.hikaku__table--full thead th span { color: inherit; }
.hikaku__table--full .hf__series b small { font-size: 11px; margin-left: 3px; letter-spacing: 0.08em; }
.hikaku__table--full .hf__series i {
  display: block;
  font-style: normal;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.14em;
  color: #fff;   margin-top: 6px;
}
.hikaku__table--full thead th > .cspan { opacity: 1; color: inherit; font-size: inherit; letter-spacing: inherit; margin-top: 0; }
.hikaku__table--full thead .gs { border-left-color: rgba(255, 255, 255, 0.22); }

.hikaku__table--full .hf__models th { min-width: 146px; vertical-align: bottom; padding-bottom: 14px; background: #fff; color: #1c1c1c; }
.hf__models img { display: block; width: 100%; max-width: 118px; height: 74px; object-fit: contain; margin: 8px auto; }
.hf__models b { display: block; font-size: 14px !important; letter-spacing: 0.06em; font-family: inherit !important; font-weight: 700; }
.hf__new { display: block; font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: 0.04em; color: #e60012; white-space: nowrap; }

.hikaku__table--full tbody td { line-height: 1.65; text-align: center; }
.hikaku__table--full tbody td small {
  display: block;
  font-size: 10px;
  color: #777;
  margin-top: 6px;
  line-height: 1.55;
}
.hikaku__table--full tbody td b { font-weight: 700; }
.hikaku__table--full sup { font-size: 9px; color: #1d9ad6; margin-left: 1px; }
.hikaku__table--full .no { color: #9a9a9a; }
.hf__common td { padding-block: 8px; }

.hikaku__table--full tbody tr td { background: #fff; }
.hikaku__table--full tbody tr.t-gray td { background: #efefef; }
.hikaku__table--full tbody tr.t-a td { background: #faf9f2; }
.hikaku__table--full tbody tr.t-b td { background: #edf2f6; }
.hikaku__table--full tbody tr.t-c td { background: #f4f7f4; }
.hikaku__table--full tbody tr.t-d td { background: #f6f2f4; }
.hikaku__table--full tbody tr:hover th { background: #000; }
.hikaku__table--full tbody tr.t-gray:hover td { background: #efefef; }
.hikaku__table--full tbody tr.t-w:hover td,
.hikaku__table--full tbody tr.hikaku__links:hover td { background: #fff; }

.hikaku__table--full .gs { border-left: 2px solid #bdbdbd; }

.hikaku__table--full tbody th.hf__lbl,
.hikaku__table--full .hikaku__links th.hf__lbl {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 156px;
  min-width: 156px;
  background: #000;
  color: #fff;
  text-align: left;
  font-weight: 700;
  border-color: #000 #333 !important;
}
.hikaku__table--full tbody th.hf__lbl::before {
  content: "";
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: -2px;
  width: 4px;
  background: #000;
}
.hikaku__table--full tbody th.hf__lbl small { font-weight: 400; font-size: 9.5px; opacity: 0.75; display: block; margin-top: 4px; line-height: 1.5; }
.hikaku__table--full tbody th.hf__lbl sup { color: #7fc5e8; }
.hikaku__table--full thead .hf__corner { position: sticky; left: 0; z-index: 4; }
.hikaku__table--full thead .hf__corner::after,
.hikaku__table--full .hf__corner2::after {
  content: "";
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: -2px;
  width: 4px;
  background: #000;
}
.hikaku__table--full .hf__corner2::after { background: #fff; }

.hfi { display: block; margin-inline: auto; max-width: 100%; height: auto; }
.hfi--bz { margin-bottom: 7px; }
.hikaku__table img.hfi--sens { display: inline-block; vertical-align: middle; }
.hfx { display: inline-flex; align-items: center; gap: 2px; max-width: 100%; }
.hfx--col { flex-direction: column; gap: 6px; }
.hfic { display: inline-flex; align-items: center;  justify-content: center; gap: 16px; row-gap: 8px; max-width: 100%; flex-wrap: wrap; }
.hfic img { max-width: 100%; height: auto; }

.hikaku__table--full .hikaku__links td { border: none; padding-top: 18px; background: #fff; }
.hikaku__table--full .hikaku__links a { border-color: #1c1c1c; color: #1c1c1c; }
.hikaku__table--full .hikaku__links a:hover { background: #1c1c1c; color: #fff; }

.hikaku__table--full td[colspan] > .cspan {
  display: inline-block;
  position: sticky;
  left: calc(var(--thw, 190px) + 16px);
  max-width: min(640px, calc(100vw - var(--thw, 190px) - 56px));
}
.hikaku__table--full td.hf__wide > .cspan { position: static; max-width: none; display: block; }
.hf__svc { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.hf__svc img { max-width: 100%; height: auto; }

.hikaku__table--full thead th > .cspan { position: static; max-width: none; }
@media (max-width: 1080px) {
  .hikaku__table--full td[colspan] > .cspan { position: static; max-width: none; }
}

.hkfloat {
  position: fixed;
    top: calc(var(--mast-h, 0px) + var(--rgbnav-h, 52px));
  transition: opacity 0.25s, transform 0.25s, top 0.3s ease;
  z-index: 90;
  overflow: hidden;
  background: #0b1019;
  border-bottom: 1px solid rgba(201, 181, 133, 0.55);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
}
.hkfloat.is-on { opacity: 1; transform: none; }
.hkfloat__track {
  display: flex;
  will-change: transform;
}
.hkfloat__cell {
  flex: 0 0 auto;
  box-sizing: border-box;
  padding: 10px 4px;
  text-align: center;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  border-left: 1px solid rgba(255, 255, 255, 0.07);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hkfloat__corner {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: #0b1019;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.hf__notes { margin-top: 16px; }
.hf__notes p { font-size: 12px; line-height: 1.9; color: #9b9b9b; margin-bottom: 6px; }

.buyhub {
  display: flex;
  gap: 60px;
  align-items: stretch;
}
.buyhub__title {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 30px;
}
.buyhub__shops { flex: 1; min-width: 0; padding: 60px 0; }
.buyhub__logos {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px 14px;
}
.buyhub__logos li { background: #fff; }
.buyhub__logos a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 51.5px;
  padding: 7px 10px;
  transition: opacity 0.3s;
}
.buyhub__logos a:hover { opacity: 0.75; }
.buyhub__logos img { max-width: 100%; max-height: 100%; object-fit: contain; }
.buyhub__or {
  flex: 0 0 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 10px 0;
}
.buyhub__or i { flex: 1; width: 1px; background: rgba(255, 255, 255, 0.25); }
.buyhub__or span {
  font-size: 11px;
  letter-spacing: 0.15em;
  line-height: 1.35;
  opacity: 0.8;
  text-align: center;
}
.buyhub__store {
    width: calc((100% - 230px) / 7);
  flex: 0 0 auto;
  padding: 60px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.buyhub__store .buyhub__title { font-size: clamp(12px, 1.05vw, 15px); letter-spacing: 0.01em; line-height: 1.6; margin-bottom: 20px; }
.buyhub__storebtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 51.5px;
  padding: 7px 10px;
  background: #00442d;
  transition: filter 0.3s;
}
.buyhub__storebtn img { max-width: 100%; height: auto; }
.buyhub__storebtn:hover { filter: brightness(1.3); }

.movie__yt {
  position: absolute;
  right: clamp(14px, 1.8vw, 28px);
  bottom: clamp(14px, 1.8vw, 28px);
  z-index: 3;
}
.movie__yt a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 44px 12px 24px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: rgba(4, 9, 19, 0.55);
  backdrop-filter: blur(6px);
  font-size: 13.5px;
  letter-spacing: 0.05em;
  color: #fff;
  transition: background 0.3s, border-color 0.3s;
}
.movie__yt a img { position: absolute; right: 17px; transition: transform 0.4s var(--ease-out); }
.movie__yt a:hover { background: rgba(98, 90, 75, 0.8); border-color: var(--gold); }
.movie__yt a:hover img { transform: translateX(3px); }
.movie__yt a:focus-visible { outline: 1px solid var(--gold-bright); outline-offset: 3px; }
.movie__inner.is-playing .movie__yt { display: none; }

@media (min-width: 1081px) and (max-width: 1240px) {
  .buyhub { flex-direction: column; gap: 0; }
  .buyhub__shops { padding: 56px 0 24px; }
  .buyhub__or { flex-direction: row; width: 100%; flex-basis: auto; }
  .buyhub__or i { height: 1px; width: auto; flex: 1; }
  .buyhub__or span br { display: none; }
  .buyhub__or span { letter-spacing: 0.3em; }
  .buyhub__store { width: 100%; padding: 24px 0 56px; align-items: center; text-align: center; }
  .buyhub__store .buyhub__title { font-size: 18px; margin-bottom: 16px; }
  .buyhub__store .buyhub__title br { display: none; }
  .buyhub__storebtn { width: calc((100% - 70px) / 6); }
}

.ambient { height: 800px; overflow: hidden; position: relative; background: #000; }
.ambient__img { position: absolute; inset: -8% 0; }
.ambient__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  will-change: transform;
}

.what { position: relative; padding: 170px 80px; overflow: hidden; isolation: isolate; --p: 1; }
.orb {
  position: absolute;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  filter: blur(90px);
  opacity: calc(0.12 + var(--p) * 0.3);
  pointer-events: none;
}
.orb--r { background: radial-gradient(circle, rgba(249, 15, 15, 0.55), transparent 70%); left: -6%; top: 8%; transform: translateY(calc(var(--p) * -140px)); }
.orb--g { background: radial-gradient(circle, rgba(24, 214, 60, 0.62), transparent 70%); right: 2%; top: 26%; transform: translateY(calc(var(--p) * -260px)); }
.orb--b { background: radial-gradient(circle, rgba(18, 60, 249, 0.55), transparent 70%); left: 34%; bottom: -12%; transform: translateY(calc(var(--p) * -200px)); }
.what .sec-head__title {
    background: linear-gradient(100deg,
    #fff 0%, #fff 42%,
    #ff5a4a 47%, #ffd34a 52%, #43e06b 57%, #45a8ff 62%, #b06bff 67%,
    #fff 75%, #fff 100%);
  background-size: 260% 100%;
  background-position: calc((1 - var(--p)) * 100%) 0;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.what__visual { position: relative; }
.what__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #040913;
  opacity: calc((1 - var(--p)) * 0.62);
  pointer-events: none;
  z-index: 1;
}
.what__visual img:first-child { transform: scale(calc(1.05 - var(--p) * 0.05)); }
.what__logo { z-index: 2; }
.what__bg {
  position: absolute;
  inset: 0;
  background: url("../images/bg-dark-texture.webp") center / cover;
  opacity: 0.7;
}
.what__inner {
  position: relative;
  max-width: 1280px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.sec-head { display: flex; flex-direction: column; gap: 10px; }
.sec-head__en {
  font-family: var(--font-min);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--gold-text);
}
.what .sec-head__en { color: #e9d9a6; text-shadow: 0 1px 14px rgba(0, 0, 0, 0.75); }
.sec-head__title {
  text-wrap: balance;
  font-family: var(--font-min);
  font-size: 60px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.what .sec-head, .what__body, .what__stats { padding-inline: 80px; }
.what__visual {
  position: relative;
  height: 459px;
  overflow: hidden;
}
.what__visual > img:first-child {
  width: 100%;
  height: 505px;
  object-fit: cover;
    object-position: 50% 40%;
  margin-top: -2px;
}
.what__model {
  position: absolute;
  right: 20px;
  bottom: 5px;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.72);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.75);
}
.what__logo {
  position: absolute;
  left: 40px;
  bottom: 40px;
  width: 121px;
  height: auto;
}
.what__body p {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.7);
}
.what__body strong { color: #fff; font-weight: 500; }
.what__stats { display: flex; gap: 40px; }
.stat {
  flex: 1;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 20px 0 10px;
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.stat__label {
  font-size: clamp(14px, 1.25vw, 18px);
  letter-spacing: 0.2em;
  opacity: 0.8;
}
.stat__num {
  font-family: var(--font-min);
  white-space: nowrap;
  font-size: clamp(96px, 8.4vw, 120px);
  font-weight: 600;
  line-height: 0.85;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  font-feature-settings: "palt" 1, "pkna" 1;
}
.stat__num small {
  font-size: 48px;
  line-height: 1;
  opacity: 0.8;
  padding-bottom: 6px;
  letter-spacing: -0.02em;
}
.stat__num sup.note-ref { font-size: 10px; align-self: flex-start; margin: 8px 0 0 1px; opacity: 0.6; }

.benefit { position: relative; height: 1019px; overflow: hidden; --p: 1; }
.benefit__bg { position: absolute; inset: 0; }
.benefit__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(calc(1.16 - var(--p) * 0.16));
}
.benefit__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #040913;
  opacity: calc((1 - var(--p)) * 0.66);
  pointer-events: none;
}
.benefit__inner { z-index: 2; }
.benefit__title {
    background: linear-gradient(100deg,
    #fff 0%, #fff 42%,
    #ff5a4a 48%, #43e06b 56%, #45a8ff 64%,
    #fff 75%, #fff 100%);
  background-size: 260% 100%;
  background-position: calc((1 - var(--p)) * 100%) 0;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.benefit__inner {
  position: relative;
  display: flex;
  gap: 105px;
  align-items: center;
  justify-content: center;
  padding: 110px 80px 0;
}
.benefit__title {
  font-family: var(--font-min);
  font-size: 40px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.benefit__text {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  opacity: 0.8;
}

.tech { padding: 120px 80px 240px; }
.tech__inner { max-width: 1280px; margin-inline: auto; }
.tech .sec-head { margin-bottom: 80px; }
.tech__list { display: flex; flex-direction: column; }
.tgroup { display: flex; flex-direction: column; }
.tgroup--engine { margin-top: 140px; }
.tgroup__head {
  border-top: 1px solid var(--hairline);
  padding-top: 28px;
  margin-bottom: 56px;
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  column-gap: 40px;
  align-items: start;
}
.tgroup__label {
  grid-row: 1;
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 15px;
  letter-spacing: 0.08em;
  color: var(--gold-text);
}
.tgroup__label span {
  font-family: var(--font-min);
  font-size: 12px;
  letter-spacing: 0.22em;
  opacity: 0.75;
}
.tgroup__title {
  grid-column: 1;
  grid-row: 2;
  font-family: var(--font-min);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.4;
  margin-top: 6px;
  position: relative;
  display: inline-block;
}
.tgroup__lead {   grid-column: 2;
  grid-row: 2;
  font-size: 15.5px;
  line-height: 1.9;
  letter-spacing: 0.02em;
  opacity: 0.72;
  max-width: none;   margin-top: 12px;
}
.titem--01, .titem--02 {
  padding-bottom: 48px;
  margin-bottom: 52px;
}

.titem--01 {
  display: grid;
    grid-template-columns: 70px minmax(0, 620px) minmax(300px, 1fr);
  gap: clamp(28px, 4.2vw, 60px);
}
.titem__num span {
  font-family: var(--font-min);
  font-size: 54px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--gold-text);
}
.titem--01 .titem__img img { width: 100%; height: 460px; object-fit: cover; }
.titem--01 .titem__text {
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: flex-end;
  padding-bottom: 80px;
}
.titem__text h3 {
  font-family: var(--font-min);
  font-size: clamp(25px, 2.25vw, 32px);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.45;
}
.titem__text p {
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 2;
  letter-spacing: 0.05em;
  opacity: 0.8;
}
.titem--02 {
  display: grid;
  grid-template-columns: 70px minmax(0, 620px) minmax(300px, 1fr);
  gap: clamp(28px, 4.2vw, 60px);
  align-items: start;
}
.titem__num--sticky {
  position: sticky;
  top: calc(var(--rgbnav-h) + 40px);
  padding: 100px 0;
}
.titem--02 .titem__main {
  position: sticky;
  top: calc(var(--rgbnav-h) + 40px);
  padding: 100px 0 40px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.titem--02 .titem__text { gap: 30px; display: flex; flex-direction: column; }
.titem--02 .titem__text p { line-height: 1.95; }
.titem__graph { padding: 0; width: 100%; }
.titem__graph img { width: 100%; height: auto; display: block; }
.titem__side {
  display: flex;
  flex-direction: column;
  gap: 60px;
  padding: 305px 0 40px;
}
.titem__side--plain { gap: 44px; }
.tcase { position: relative; }
.tcase img { width: 100%; height: auto; display: block; }
.tcase figcaption {
  padding: 14px 4px 0;
  font-size: 15px;
  line-height: 1.7;
}
.tcase figcaption .dim { color: rgba(255, 255, 255, 0.72); }
.tcase figcaption strong { color: #fff; font-weight: 600; }
.tcase-wrap { display: flex; flex-direction: column; gap: 10px; }
.tcase__note { font-size: 13px; color: #999; opacity: 1; line-height: 1.6; padding: 0 4px; }

.tsubs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  padding-top: 40px;
}
.tsubs--wide { grid-template-columns: minmax(0, 1fr); }
.tsub {
  display: grid;
  grid-template-columns: 46% minmax(0, 1fr);
  align-items: center;
  gap: 26px;
  background: rgba(255, 255, 255, 0.022);
  padding: 22px;
}
.tsub__img { min-width: 0; }
.tsub__img img { width: 100%; height: auto; display: block; }
.tsub__img--light img { background: #fff; }
.tsub__body { min-width: 0; }
.tsub__img--full, .tsub__body--full { grid-column: 1 / -1; }
.tsub--stack { align-items: start; align-content: start; }
.tsub__body--full { padding: 4px 8px 0; }
.tsub--span { grid-column: 1 / -1; grid-template-columns: 56% minmax(0, 1fr); }
.tsub__num {
  font-family: var(--font-min);
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  color: var(--gold-text);
  margin-bottom: 10px;
}
.tsub__title {
  font-family: var(--font-min);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.45;
  margin-bottom: 12px;
}
.tsub__desc {
  font-size: 15.5px;
  line-height: 1.85;
  letter-spacing: 0.02em;
  opacity: 0.82;
}
.tsub__note { margin-top: 10px; font-size: 13px; line-height: 1.7; color: #999; }

.tsub--wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 30px;
  align-items: start;
}
.tsub--wide .tsub__body { grid-column: 1 / -1; padding: 4px 8px 0; } .tsub__img--graph img { background: transparent; }

.ai { background: #45474b; padding: 120px 80px 240px; }
.ai__inner { max-width: 1280px; margin-inline: auto; }
.ai__head { display: flex; flex-direction: column; gap: 60px; margin-bottom: 120px; }
.ai__en {
  font-family: var(--font-min);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.05em;
    color: #efe3bd;
}
.ai__title {
  text-wrap: balance;
  font-family: var(--font-min);
  font-size: 60px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: -50px;
}
.ai__lead {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  opacity: 0.8;
}
.ai__list { display: flex; flex-direction: column; gap: 120px; }
.aitem {
  display: grid;
  grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
  column-gap: 56px;
  align-items: center;
}
.aitem--rev { grid-template-columns: minmax(0, 1fr) minmax(0, 38%); }
.aitem--eq { grid-template-columns: minmax(0, 1fr) minmax(0, 30%); }
.aitem--rev .aitem__text { order: 2; }
.aitem--rev .aitem__stage { order: 1; }
.aitem__text { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.aitem__num {
  font-family: var(--font-min);
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
  color: #e0cf9a;
  opacity: 0.9;
}
.aitem__text h3 {
  font-family: var(--font-min);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-wrap: balance;
}
.aitem__text p { font-size: 16px; line-height: 1.9; letter-spacing: 0.02em; opacity: 0.88; }
.aitem__note { font-size: 13.5px !important; opacity: 0.62 !important; }
.aitem__text .model-chip {
  align-self: flex-start;
  font-size: 12px;
  letter-spacing: 0.06em;
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  opacity: 0.85;
}
.aitem__pts { display: flex; flex-direction: column; gap: 8px; margin-top: 2px; }
.aitem__pts li {
  position: relative;
  padding-left: 18px;
  font-size: 15px;
  line-height: 1.8;
  opacity: 0.78;
}
.aitem__pts li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e0cf9a;
}
.aitem__stage { min-width: 0; }
.aitem__stage > span { display: block; position: relative; overflow: hidden; }
.aitem__stage img { width: 100%; height: auto; display: block; }
.aitem__cap { margin-top: 10px; font-size: 12.5px; letter-spacing: 0.04em; opacity: 0.5; }

.aitem--profile { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
.aitem--profile .aitem__text { max-width: 72ch; }
.apf2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.apf2__item { min-width: 0; }
.apf2__screen {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 600 / 350;
  background: var(--ink);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.apf2__screen img { position: absolute; top: 0; left: 0; width: 200%; height: 100%; max-width: none; object-fit: cover; }
.apf2__screen img[data-half="1"] { transform: translateX(-50%); }
.apf2__cap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
  font-size: 14px;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.9);
}
.apf2__cap em { font-style: normal; font-weight: 700; }
.apf2__cap::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.14); }
.apf2__cap--papa::before { color: #2f6fd0; }
.apf2__cap--mama::before { color: #d0338a; }

.aitem__stage--chat > .chatui {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46%;
  aspect-ratio: 16 / 9;
  background: #05070c;
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.chatui__prog {
    background: url("../images/ai-chat-bg.webp?v=3") center / cover;
}
.chatui__side {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 3.4%;
  justify-content: center;
  padding: 6% 6% 16%;
  background: linear-gradient(180deg, #14171d, #0b0e14);
}
.bub {
  display: block;
  max-width: 88%;
  padding: 3.4% 5%;
  border-radius: 1.1em;
  font-size: clamp(9px, 1.06vw, 14px);
  line-height: 1.55;
  letter-spacing: 0.01em;
  opacity: 0;
  transform: translateY(10px);
}
.bub--me { align-self: flex-end; background: #d9dade; color: #17181c; }
.bub--ai { align-self: flex-start; background: #1b6ef3; color: #fff; max-width: 100%; }
.aitem--chat.is-live .bub { animation-duration: 9s; animation-timing-function: var(--ease-out); animation-iteration-count: infinite; animation-fill-mode: both; }
.aitem--chat.is-live .bub--1 { animation-name: bub-1; }
.aitem--chat.is-live .bub--2 { animation-name: bub-2; }
.aitem--chat.is-live .bub--3 { animation-name: bub-3; }
@keyframes bub-1 {
  0%, 3% { opacity: 0; transform: translateY(10px); }
  9%, 80% { opacity: 1; transform: none; }
  87%, 100% { opacity: 0; transform: translateY(-6px); }
}
@keyframes bub-2 {
  0%, 17% { opacity: 0; transform: translateY(10px); }
  23%, 80% { opacity: 1; transform: none; }
  87%, 100% { opacity: 0; transform: translateY(-6px); }
}
@keyframes bub-3 {
  0%, 31% { opacity: 0; transform: translateY(10px); }
  37%, 80% { opacity: 1; transform: none; }
  87%, 100% { opacity: 0; transform: translateY(-6px); }
}
body.is-flat .bub,
.aitem--chat:not(.is-live) .bub { opacity: 1; transform: none; }
body.is-flat .bub { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  .aitem--chat.is-live .bub { animation: none !important; opacity: 1; transform: none; }
}
.aitem__stage .chatui__logo {
  position: absolute;
  left: 5%;
  bottom: 12%;
  width: 14%;
  height: auto;
  max-width: none;
}
.chatui__note {
  position: absolute;
  right: 5%;
  bottom: 6%;
  font-size: clamp(5px, 0.62vw, 8px);
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.42);
  text-align: right;
}

.aitem--scenes { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
.aitem--scenes .aitem__text { max-width: 72ch; }
.scenegrid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 34px 24px;
}
.scenecard { grid-column: span 2; display: flex; flex-direction: column; gap: 12px; } .sc__shot { position: relative; display: block; overflow: hidden; background: var(--ink); }
.sc__shot > img { width: 100%; height: auto; display: block; }
.sc__pre {
  position: absolute;
  inset: 0 0 0 50%;
    background-image: var(--src);
  background-size: 200% 100%;
  background-position: left center;
  background-repeat: no-repeat;
  clip-path: inset(0 0 0 0);
}
.sc__edge {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 12%, #fff 88%, rgba(255, 255, 255, 0));
  box-shadow: 0 0 18px 3px rgba(255, 255, 255, 0.55);
  opacity: 0;
}
.scenecard.is-in .sc__pre { animation: sc-wipe 1.15s var(--ease-out) calc(0.25s + var(--n, 0) * 0.16s) 1 both; }
.scenecard.is-in .sc__edge { animation: sc-edge 1.15s var(--ease-out) calc(0.25s + var(--n, 0) * 0.16s) 1 both; }
@keyframes sc-wipe {
  0% { clip-path: inset(0 0 0 0); }
  100% { clip-path: inset(0 0 0 100%); }
}
@keyframes sc-edge {
  0% { opacity: 0; left: 50%; }
  10% { opacity: 1; }
  86% { opacity: 1; }
  100% { opacity: 0; left: 100%; }
}
.scenecard figcaption { font-size: 14.5px; line-height: 1.75; color: #ceccc7; }
.scenecard figcaption b {
  display: block;
  margin-bottom: 4px;
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #e0cf9a;
}

.eqfx { background: var(--ink); }
.eqfx__sweep {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 22%;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0));
  opacity: 0;
}
.aitem.is-in .eqfx__sweep { animation: eq-sweep 1.6s var(--ease-out) 0.35s 1 both; }
@keyframes eq-sweep {
  0% { opacity: 0; transform: translateX(-60%); }
  16% { opacity: 1; }
  100% { opacity: 0; transform: translateX(500%); }
}

.others { background: var(--ink); padding: 96px 80px 40px; }
.others__inner { max-width: 1280px; margin-inline: auto; }
.others .sec-head { margin-bottom: 60px; }
.others .sec-head__title { font-size: 40px; }
.carouselArea { overflow: hidden; margin: 0 -80px; --carousel-num: 6; --carousel-tlz: 420px; }
.carouselArea.num7 { --carousel-num: 7; }
.carouselArea .sec-head { margin: 0 80px 50px; }
.carouselArea .main { position: relative; }
.carouselArea .carousel { position: relative; margin: -600px auto 500px; width: 400px; height: 700px; perspective: 1500px; padding-top: 700px; }
.carouselArea.num7 .carousel { width: 360px; }
.carouselArea .list { width: 100%; position: absolute; transform-style: preserve-3d; transition: transform 0.6s cubic-bezier(0, 0.5, 0.5, 1); }
.carouselArea .list li { position: absolute; transition: transform 0.3s; transform-style: preserve-3d; cursor: pointer; }
.carouselArea .list li .inner { transform-style: preserve-3d; }
.carouselArea .list li .inner img { transition: all 0.6s cubic-bezier(0, 0.5, 0.5, 1); max-width: 100%; height: auto; display: block; }
.carouselArea .list li:nth-child(1) { transform: rotateY(0deg) translateZ(var(--carousel-tlz)); }
.carouselArea .list li:nth-child(2) { transform: rotateY(calc(360deg / var(--carousel-num))) translateZ(var(--carousel-tlz)); }
.carouselArea .list li:nth-child(3) { transform: rotateY(calc(360deg / var(--carousel-num) * 2)) translateZ(var(--carousel-tlz)); }
.carouselArea .list li:nth-child(4) { transform: rotateY(calc(360deg / var(--carousel-num) * 3)) translateZ(var(--carousel-tlz)); }
.carouselArea .list li:nth-child(5) { transform: rotateY(calc(360deg / var(--carousel-num) * 4)) translateZ(var(--carousel-tlz)); }
.carouselArea .list li:nth-child(6) { transform: rotateY(calc(360deg / var(--carousel-num) * 5)) translateZ(var(--carousel-tlz)); }
.carouselArea .list li:nth-child(7) { transform: rotateY(calc(360deg / var(--carousel-num) * 6)) translateZ(var(--carousel-tlz)); }
.carouselArea .list li:nth-child(1) .inner { transform: rotateY(-0deg); }
.carouselArea .list li:nth-child(2) .inner { transform: rotateY(calc(-360deg / var(--carousel-num))); }
.carouselArea .list li:nth-child(3) .inner { transform: rotateY(calc(-360deg / var(--carousel-num) * 2)); }
.carouselArea .list li:nth-child(4) .inner { transform: rotateY(calc(-360deg / var(--carousel-num) * 3)); }
.carouselArea .list li:nth-child(5) .inner { transform: rotateY(calc(-360deg / var(--carousel-num) * 4)); }
.carouselArea .list li:nth-child(6) .inner { transform: rotateY(calc(-360deg / var(--carousel-num) * 5)); }
.carouselArea .list li:nth-child(7) .inner { transform: rotateY(calc(-360deg / var(--carousel-num) * 6)); }
.carouselArea .list li img { transform-origin: center bottom; }
.carouselArea .list li:first-child img { transform: scale(1.1); }
.carouselArea .list li.dark1 img { filter: brightness(80%); }
.carouselArea .list li.dark2 img { filter: brightness(60%); }
.carouselArea .list li.dark3 img { filter: brightness(40%); }
.carouselArea .list li.dark4 img { filter: brightness(20%); }
.carouselArea .leftBtn { position: absolute; top: 860px; left: 0; width: 80px; height: 80px; padding: 0; border: 0; background-color: #00442d; cursor: pointer; transition: opacity 0.2s; }
.carouselArea .leftBtn::after { content: ''; position: absolute; top: 50%; left: 43%; width: 10px; height: 10px; border-top: 1px solid #fff; border-left: 1px solid #fff; transform-origin: left top; transform: rotate(-45deg); }
.carouselArea .rightBtn { position: absolute; top: 860px; right: 0; width: 80px; height: 80px; padding: 0; border: 0; background-color: #00442d; cursor: pointer; transition: opacity 0.2s; }
.carouselArea .rightBtn::after { content: ''; position: absolute; top: 50%; right: 43%; width: 10px; height: 10px; border-top: 1px solid #fff; border-right: 1px solid #fff; transform-origin: right top; transform: rotate(45deg); }
.carouselArea .leftBtn:hover, .carouselArea .rightBtn:hover { opacity: 0.7; }
.carouselArea .leftBtn:focus-visible, .carouselArea .rightBtn:focus-visible { outline: 1px solid var(--gold-bright); outline-offset: 3px; }
@media screen and (max-width: 1500px) {
  .carouselArea { --carousel-tlz: 28vw; }
  .carouselArea .carousel { margin: -40vw auto 34vw; width: 27vw; height: 47vw; perspective: 100vw; padding-top: 47vw; }
  .carouselArea.num7 .carousel { width: 24vw; }
  .carouselArea .leftBtn { top: 57vw; width: 5.3vw; height: 5.3vw; }
  .carouselArea .rightBtn { top: 57vw; width: 5.3vw; height: 5.3vw; }
}
@media screen and (max-width: 767px) {
  .carouselArea { margin: 0 -20px; --carousel-tlz: 42vw; }
  .carouselArea .sec-head { margin: 0 20px 8vw; }
  .carouselArea .carousel { margin: -40vw auto 58vw; width: 35vw; }
  .carouselArea .leftBtn { top: 89vw; width: 10vw; height: 10vw; }
  .carouselArea .leftBtn::after { left: 40%; width: 3vw; height: 3vw; }
  .carouselArea .rightBtn { top: 89vw; width: 10vw; height: 10vw; }
  .carouselArea .rightBtn::after { right: 40%; width: 3vw; height: 3vw; }
}
.productInfo { font-family: var(--font-min); color: #fff; }
.productInfo li { display: none; text-align: center; }
.productInfo li.cur { display: block; }
.productInfo p { margin-bottom: 10px; font-size: 18px; }
.productInfo .name { display: flex; justify-content: center; align-items: flex-end; gap: 30px; font-size: 20px; }
.productInfo .name strong { font-size: 250%; font-weight: normal; line-height: 1; }
.productInfo .name small { font-size: 50%; }
.productInfo a { margin: 25px auto 0; display: block; border-radius: 5px; background-color: #daac3a; width: 280px; padding: 6px; text-align: center; color: #000; font-family: sans-serif; font-size: 18px; transition: opacity 0.2s; }
.productInfo a:hover { opacity: 0.7; }
@media screen and (max-width: 767px) {
  .productInfo p { margin-bottom: 3vw; font-size: 3.2vw; }
  .productInfo .name { padding: 0 5vw; flex-direction: column; align-items: center; gap: 2vw; font-size: 4.8vw; }
  .productInfo .name strong { font-size: 180%; }
}
.sp-br { display: none; }

.buy { background: var(--ink); padding: 100px 80px; }
.buy__inner { max-width: 1280px; margin-inline: auto; display: flex; flex-direction: column; gap: 80px; }
.campaign { padding: 60px 0; }
.campaign__title {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
}
.campaign__grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 40px;
}
.campaign__item {
    width: calc(50% - 20px);
  height: auto;
  overflow: hidden;
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.campaign__item img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s var(--ease-out);
}
.campaign__item:hover img { transform: scale(1.03); }

.zanmai { background: #000; padding: 120px 80px; }
.zanmai__inner {
  max-width: 1280px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 19px;
  align-items: center;
}
.zanmai__head {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  width: 100%;
  padding: 0 40px;
  align-items: flex-start;
}
.zanmai__catch {
  font-family: var(--font-min);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.8;
  margin-bottom: 20px;
}
.zanmai__logo { width: 526px; height: auto; }
.zanmai__desc { font-size: 15px; line-height: 1.9; letter-spacing: 0.03em; opacity: 0.85; white-space: nowrap; }
.zanmai__screen {
  position: relative;
  width: 1200px;
  max-width: 100%;
  margin-top: 20px;
}
.zanmai__screen img { width: 100%; }
.pulse {
  position: absolute;
  width: 54px;
  height: 54px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.pulse::before, .pulse::after, .pulse i {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: linear-gradient(to bottom, #f6e27b, #b39129 70%);
}
.pulse::before { opacity: 0.09; animation: pulse-ring 2.6s ease-out infinite; }
.pulse::after {
  inset: 8.6px;
  opacity: 0.59;
  animation: pulse-ring 2.6s ease-out 0.4s infinite;
}
.pulse i { inset: 15.7px; }
body.show-notes [data-need] { outline: 2px dashed #ff6b6b; outline-offset: 6px; position: relative; }
body.show-notes [data-need]::before {
  content: "支給素材・情報待ち（" attr(data-need) "）";
  position: absolute;
  top: -30px;
  left: 0;
  z-index: 5;
  background: #ff6b6b;
  color: #fff;
  font-size: 11px;
  padding: 4px 10px;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
body.show-notes [data-new] { outline: 2px dashed var(--gold-bright); outline-offset: 6px; position: relative; }
body.show-notes [data-new]::before {
  content: "新規追加コンテンツ（要確認）";
  position: absolute;
  top: -30px;
  left: 0;
  z-index: 5;
  background: var(--gold-bright);
  color: #fff;
  font-size: 11px;
  padding: 4px 10px;
  letter-spacing: 0.08em;
}
@keyframes pulse-ring {
  0% { transform: scale(0.6); opacity: 0.7; }
  100% { transform: scale(1.25); opacity: 0; }
}
.hotspot {
  position: absolute;
    transform: translate(calc(var(--pulse-size, 54px) / -2), -50%);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 2px;
  z-index: 2;
}
.hotspot .pulse { position: relative; left: auto; top: auto; transform: none; flex: 0 0 auto; }
.hotspot__chip {
  background: rgba(4, 9, 19, 0.72);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(246, 226, 123, 0.45);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 8px 12px;
  white-space: nowrap;
  transition: background 0.3s, border-color 0.3s;
}
.hotspot:hover .hotspot__chip { background: rgba(98, 90, 75, 0.85); border-color: #f6e27b; }
.zanmai__hinttext { display: inline; }
.zanmai__hint {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 13px;
  line-height: 1;
  padding: 14px 28px;
  background: rgba(98, 90, 75, 0.28);
  border: 1px solid rgba(246, 226, 123, 0.35);
}
.pulse--inline {
  position: relative;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  align-self: center;
  transform: none;   left: auto;
  top: auto;
}
.pulse--inline::before { inset: 0; }
.pulse--inline::after { inset: 3px; }
.pulse--inline i { inset: 5px; }
.zpopup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -47%);
  width: min(520px, 88vw);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  color: #1c1c1c;
  z-index: 400;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
  opacity: 0;
  transition: opacity 0.35s ease, transform 0.35s var(--ease-out);
  pointer-events: none;
}
.zpopup.is-open { opacity: 1; transform: translate(-50%, -50%); pointer-events: auto; }
.zpopup__scroll { max-height: 70vh; overflow-y: auto; padding: 36px 32px; }
.zpopup__sec { display: none; }
.zpopup__sec.is-active { display: block; }
.zpopup__sec h4 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 28px 0 12px;
}
.zpopup__sec h4:first-child { margin-top: 0; }
.zpopup__sec img { width: 100%; height: auto; margin-bottom: 12px; }
.zpopup__sec p { font-size: 13.5px; line-height: 1.85; margin-bottom: 8px; }
.zpopup__close {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: #040913;
  cursor: pointer;
  transition: background 0.3s;
}
.zpopup__close:hover { background: var(--gold); }
.zpopup__close span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 1.5px;
  background: #fff;
}
.zpopup__close span:first-child { transform: translate(-50%, -50%) rotate(45deg); }
.zpopup__close span:last-child { transform: translate(-50%, -50%) rotate(-45deg); }
.zanmai__services { font-size: 13px; line-height: 1.8; text-align: center; color: #999; opacity: 1; } .model-chip {
  display: inline-block;
  border: 1px solid rgba(133, 133, 133, 0.37);
  padding: 8px 16px;
  font-size: 14px;
  line-height: 1.5;
}
.zanmai__note { font-size: 13px; text-align: center; color: #999; opacity: 1; }

.feat { background: var(--ink); padding: 120px 80px; }
.feat__inner { max-width: 1280px; margin-inline: auto; }
.feat__title {
  font-family: var(--font-min);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 56px;
}
.feat__grid { display: flex; gap: 80px; align-items: flex-start; }
.fcard { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.fcard figure { margin-bottom: 16px; }
.fcard figure img { width: 100%; aspect-ratio: 199.8 / 157.9; object-fit: cover; }
.fcard h3 {
  font-family: var(--font-min);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.02em;
  font-feature-settings: "pkna" 1;
}
.fcard p { font-size: 15px; line-height: 1.5; opacity: 0.7; }
.fcard .model-chip { opacity: 1; align-self: flex-start; display: flex; align-items: center;
    min-height: 63px; }
.fcard__note { font-size: 13px !important; color: #999; opacity: 1 !important; }

.movie--ambient { border-bottom: none; }
.movie--ambient .movie__inner { max-width: 1280px; }
.movie--ambient .movie__poster { margin-inline: auto; }
.movie--ambient .movie__poster img { width: 100%; height: 100%; object-fit: cover; }
.movie--ambient .movie__frame { margin-inline: auto; }

.loopvid { width: 100%; height: 460px; object-fit: cover; display: block; background: #000; }

.movie { background: #000; border-bottom: 1px solid var(--hairline); padding: 80px; }
.movie__inner { max-width: 1280px; margin-inline: auto; position: relative; }
.movie__poster {
  position: relative;
  display: block;
  width: 100%;
    aspect-ratio: 16 / 9;
  border: none;
  padding: 0;
  background: #000;
  cursor: pointer;
  overflow: hidden;
}
.movie__poster img { width: 100%; height: 100%; object-fit: cover; transition: transform 6s var(--ease-soft), opacity 0.4s; }
.movie__poster:hover img { transform: scale(1.02); }
.movie__play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 92px;
  height: 92px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(4, 9, 19, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(6px);
  transition: transform 0.4s var(--ease-out), background 0.4s;
}
.movie__poster:hover .movie__play {
  transform: translate(-50%, -50%) scale(1.08);
  background: rgba(98, 90, 75, 0.7);
}
.movie__label {
  position: absolute;
  left: 50%;
  top: calc(50% + 62px);
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 12px 22px;
  background: rgba(4, 9, 19, 0.74);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(246, 226, 123, 0.28);
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #fff;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.8);
  white-space: nowrap;
}
.movie__label small {
  font-family: var(--font-min);
  font-size: 11px;
  letter-spacing: 0.22em;
  color: #c9b585;
}
@media (max-width: 1080px) {
  .movie__label { top: calc(50% + 48px); font-size: 12px; }
  .movie__label small { font-size: 10px; }
}
.movie__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.movie__frame iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.bottom { background: var(--ink); color: #fff; padding-top: 120px; }
.bottom__inner {
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: 80px;
}
.bottom__banner {
  position: relative;
  display: block;
  height: 320px;
  overflow: hidden;
}
.bottom__banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease-out);
}
.bottom__banner:hover img { transform: scale(1.03); }
.bottom__banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.16));
}
.bottom__banner { height: auto; display: flex; flex-direction: column; }
.bottom__banner img { height: 320px; }
.bottom__banner::after { top: auto; height: 320px; }
.bottom__bannertext {
  position: relative;
  order: -1;   z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0 0 22px;
  font-family: var(--font-min);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #fff;
}
.bottom__bannertext::after { content: ""; width: 10px; height: 10px; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); opacity: 0.8; }
.special { padding: 120px 0; }
.special__title {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
}
.special__grid { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px; }
.special__item {
  width: calc((100% - 80px) / 3);
  height: auto;
  overflow: hidden;
  display: block;
}
.special__item--bordered { border: 1px solid rgba(255, 255, 255, 0.22); }
.special__item img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s var(--ease-out), opacity 0.4s;
}
.special__item:hover img { transform: scale(1.03); opacity: 0.9; }
.bottom__hr { border: none; border-top: 1px solid rgba(255, 255, 255, 0.16); margin: 0; }
.legal { padding: 70px 0; }
.legal p {
  font-size: 12px;
  line-height: 2.4;
  color: #9b9b9b;
}

@media (max-width: 1080px) {
  :root { --header-h: 56px; --rgbnav-h: 52px; }

  .rgbnav__inner { padding: 8px 16px; gap: 14px; }
  .rgbnav__brand { display: none; }
  .rgbnav__links { gap: 18px; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .rgbnav__links::-webkit-scrollbar { display: none; }
    .rgbnav__links {
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
    mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
  }
  .rgbnav__links a { font-size: 12px; }
  .rgbnav__cta { gap: 6px; border-left: 1px solid rgba(255, 255, 255, 0.14); padding-left: 10px; }
  .rgbnav__links { position: relative; padding-right: 12px; }
  .btn-cta { padding: 9px 12px; font-size: 12px; }
  .btn-cta--line { display: none; }

      .hero {
    height: auto;
    min-height: 0;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    background: var(--ink);
  }
  .hero__bg { position: relative; inset: auto; }
  .hero__bg picture { display: block; width: 100%; }
  .hero__bg img { height: auto; object-fit: unset; }
    .hero__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(4, 9, 19, 0) 82%, rgba(4, 9, 19, 0.6) 100%);
  }
    .benebar__inner { padding: 14px 12px; gap: 8px; }
  .bcard {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    gap: 10px;
    padding: 20px 6px 18px;
    border: 1px solid rgba(201, 181, 133, 0.32);
    background: rgba(255, 255, 255, 0.035);
  }
  .bcard:active { background: rgba(201, 181, 133, 0.16); }
  .bcard + .bcard { border-left: 1px solid rgba(201, 181, 133, 0.32); border-top: none; }
  .bcard__ico { width: 34px; height: 34px; }
  .bcard__body { align-items: center; gap: 6px; }
  .bcard__body b { font-size: 13px; letter-spacing: 0.01em; white-space: normal; line-height: 1.45; }
  .bcard__body b::after { display: none; }
    .bcard__body small { display: none; }
    .bcard { position: relative; padding-bottom: 40px; }
  .bcard::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 10px;
    width: 22px;
    height: 22px;
    margin-left: -11px;
    border: 1px solid var(--gold-bright);
    border-radius: 50%;
    opacity: 0.9;
  }
  .bcard::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 20px;
    width: 6px;
    height: 6px;
    margin-left: -3px;
    border-right: 1.5px solid var(--gold-bright);
    border-bottom: 1.5px solid var(--gold-bright);
    transform: rotate(45deg);
    opacity: 0.9;
  }
  .bcard__body b { text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.35); text-underline-offset: 4px; text-decoration-thickness: 1px; }
  .hero__body {
    width: min(84vw, 430px);
    margin-inline: auto;
    padding-top: 26px;
    gap: 18px;
  }
  .hero__tv { width: 56%; margin-inline: auto; }
  .hero__copy { gap: 14px; padding-bottom: 34px; }
  .hero__logo { top: 20px; right: 20px; width: 60px; }
  .hero__logo img { width: 100%; height: auto; }
  .hero__title { font-size: clamp(24px, 6.2vw, 34px); white-space: nowrap; }
  .hero__sub { font-size: clamp(12px, 3.4vw, 15px); }
  .hero__series { font-size: 16px; }

    .award__inner { padding: 32px 20px; }
  .award__frame { grid-template-columns: minmax(0, 1fr); row-gap: 20px; padding: 36px 0; }
  .award__label { grid-column: 1; font-size: 20px; padding-top: 0; }
  .award__logos { grid-column: 1; }
  .award__notes { padding-left: 0; margin-top: 14px; }
    .award__logos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; row-gap: 24px; }
  .award__cell { gap: 10px; }
  .award__cell--sep { padding-left: 0; border-left: none; padding-top: 0; }
  .award__logos img { width: 64px; height: 64px; }
  .award__notes { font-size: 12px; }
    .allion { grid-template-columns: minmax(0, 1fr); row-gap: 16px; padding: 22px 20px; margin-top: 22px; }
  .allion__img, .allion__body, .allion__note { grid-column: 1; grid-row: auto; }
  .allion__img { max-width: 360px; }
  .allion__text { font-size: 12.5px; }
  .allion__models { font-size: 12px; }
  .allion__note { font-size: 12px; margin-top: 0; }
  .award__cap { font-size: 12.5px; }
  .award__cap span { font-size: 12px; }

    .scard__sizes a {
    min-height: 44px;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.22);
    padding: 8px 14px;
  }
  .hikaku__links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    text-decoration: none;
  }
  .ctabar a { min-height: 56px; }
  .award__more { display: inline-block; min-height: 32px; }
    .movie { padding: 40px 20px; }
  .movie__yt { top: 12px; right: 12px; bottom: auto; }
  .movie__yt a { min-height: 44px; padding: 11px 36px 11px 16px; font-size: 12.5px; }
  .movie__yt a img { right: 13px; }

    .series__inner { padding: 80px 20px 40px; }
  .series__title { flex-direction: column; gap: 12px; align-items: center; font-size: clamp(26px, 6.8vw, 34px); text-align: center; line-height: 1.35; }
  .series__lead { font-size: 16px; text-align: center; }
  .series__cards { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .scard { padding: 32px 22px 28px; }
  .scard__tv { height: 150px; margin-bottom: 16px; }
  .scard__name { font-size: 46px; padding-bottom: 10px; }
  .scard__model { font-size: 18px; padding-bottom: 16px; }
  .scard__sizes { gap: 8px; min-height: 0; }
  .lcell { height: 54px; padding: 6px 10px; }
  .flogo { height: 28px; }
  .flogo--tall { height: 38px; }
  .scard__sizes li { border-right: none; }
  .scard__sizes a { background: rgba(255, 255, 255, 0.05); }
  .scard__price {
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-align: center;
  margin-bottom: 16px;
  font-feature-settings: "palt" 1, "pkna" 1;
}
.scard__price small { font-size: 13px; font-weight: 500; opacity: 0.75; margin-left: 2px; }
.scard__price sup.note-ref { font-size: 9px; opacity: 0.6; }
.hikaku__table sup.note-ref { font-size: 9px; }
.scard__price--s { text-align: center; margin: -6px 0 20px; }
.scard__copy { min-height: 0; font-size: 13.5px; text-wrap: balance; }

    .ctabar {
    flex-direction: column;
    gap: 12px;
    border: none;
    margin: 32px 0;
  }
  .ctabar a {
    justify-content: center;
    gap: 12px;
    padding: 20px 20px;
    min-height: 60px;
    border: 1px solid var(--gold);
    background: rgba(98, 90, 75, 0.18);
    font-size: 15px;
    white-space: nowrap;
  }
  .ctabar a + a { border-left: 1px solid var(--gold); border-top: 1px solid var(--gold); }
  .ctabar a img { width: 20px; height: 20px; }

  .hikaku { padding: 40px 0 60px; }
  .hikaku__title { font-size: 22px; }
  .hikaku__table { font-size: 12px; }
  .hikaku__table td[colspan] { text-align: left; }
    .hikaku__table th, .hikaku__table td { padding: 12px 10px; }
    .hikaku__table tbody th[scope="row"] { width: 96px; min-width: 96px; text-align: left; }
  .hikaku__table thead th:first-child { width: 96px; min-width: 96px; }
  .hikaku__table .rowicon { display: none; }
  .hikaku__scroll {
        background: linear-gradient(90deg, rgba(4, 9, 19, 0) 0%, rgba(0, 0, 0, 0.85) 100%) right / 40px 100% no-repeat;
    padding-bottom: 4px;
  }
  .hikaku__note {
    display: block;
    padding: 14px 16px;
    font-size: 13px;
    line-height: 1.8;
    margin-top: 20px;
  }
    .hikaku__title::after {
    content: "← 横にスクロールして比較できます";
    display: block;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #f6e27b;
  }
  .hikaku__note::before { display: none; }

  .buyhub { flex-direction: column; gap: 0; }
  .buyhub__shops { padding: 40px 0 24px; }
  .buyhub__logos { grid-template-columns: repeat(3, 1fr); gap: 12px 10px; }
  .buyhub__or { flex-direction: row; width: 100%; }
  .buyhub__or i { height: 1px; width: auto; flex: 1; }
  .buyhub__or span br { display: none; }
  .buyhub__or span { letter-spacing: 0.3em; }
  .buyhub__store { width: 100%; padding: 24px 0 40px; text-align: center; align-items: center; }
  .buyhub__store .buyhub__title { font-size: 18px; margin-bottom: 16px; }
  .buyhub__storebtn { width: calc((100% - 20px) / 3); }
  .buyhub__store .buyhub__title br { display: none; }

    .loopvid { height: auto; aspect-ratio: 730 / 520; }

    .what { padding: 72px 20px; }
  .what .sec-head, .what__body, .what__stats { padding-inline: 0; }
    .what .sec-head { position: relative; z-index: 1; }
  .what .sec-head::before {
    content: "";
    position: absolute;
    inset: -28px -20px;
    background: radial-gradient(ellipse 90% 100% at 50% 50%, rgba(4, 9, 19, 0.55), rgba(4, 9, 19, 0) 78%);
    z-index: -1;
    pointer-events: none;
  }
  .sec-head__title { font-size: clamp(26px, 7vw, 36px); letter-spacing: 0.03em; }
  .what__visual { height: auto; }
  .what__visual > img:first-child { height: auto; margin-top: 0; }
  .what__logo { width: 84px; left: 20px; bottom: 20px; }
  .what__body p { font-size: 16px; }
  .what__stats { flex-direction: column; gap: 24px; }
  .stat { gap: 14px; }
  .stat__num { font-size: 84px; }
  .stat__num small { font-size: 34px; }

    .benefit { height: auto; min-height: 175vw; }
  .benefit__bg { position: absolute; inset: 0; }
  .benefit__bg img {
    min-height: 100%;
    object-position: 0% center;
    will-change: object-position;
  }
  .benefit__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(4, 9, 19, 0.96) 0%, rgba(4, 9, 19, 0.88) 30%, rgba(4, 9, 19, 0.55) 52%, rgba(4, 9, 19, 0) 78%);
  }
  .benefit__inner {
    flex-direction: column;
    gap: 24px;
    padding: 80px 20px 56px;
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(4, 9, 19, 0.94) 0%, rgba(4, 9, 19, 0.88) 62%, rgba(4, 9, 19, 0) 100%);
  }
  .benefit__title { font-size: clamp(26px, 6.8vw, 32px); }
  .benefit__text { font-size: 15px; }

    .tgroup--engine { margin-top: 80px; }
  .tgroup__head { grid-template-columns: minmax(0, 1fr); margin-bottom: 36px; }
  .tgroup__title { grid-column: 1; grid-row: 2; font-size: 24px; }
  .tgroup__lead { grid-column: 1; grid-row: 3; font-size: 15.5px; margin-top: 10px; }
  .tech { padding: 72px 20px 72px; }
  .tech .sec-head { margin-bottom: 48px; }
  .titem--01 { padding-bottom: 56px; margin-bottom: 56px; }
  .titem--02 { padding-bottom: 40px; margin-bottom: 0; }
  .tech__list { gap: 0; }
  .titem--01, .titem--02 { display: flex; flex-direction: column; gap: 24px; }
  .titem__num--sticky, .titem--02 .titem__main { position: static; padding: 0; }
  .titem--01 .titem__img img { height: auto; }
  .titem--01 .titem__text { padding-bottom: 0; gap: 20px; }
  .titem__text h3 { font-size: 24px; }
  .titem__text p { font-size: 15px; }
  .titem__graph { padding: 0; }
  .titem__graph img { height: auto; }
  .titem__side { padding: 0; gap: 24px; }
    .tsubs { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-top: 28px; }
  .tsub { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 18px; }
  .tsub--wide { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .tsub--wide .tsub__body { order: -1; }
  .tsub__num { font-size: 22px; margin-bottom: 8px; }
  .tsub__title { font-size: 18px; margin-bottom: 10px; }
  .tsub__desc { font-size: 13.5px; }

    .ai { padding: 72px 20px 84px; }
  .ai__head { gap: 24px; margin-bottom: 56px; }
  .ai__title { font-size: clamp(28px, 7vw, 38px); margin-top: 0; }
  .ai__lead { font-size: 16px; }
  .ai__list { gap: 64px; }
  .aitem, .aitem--rev { grid-template-columns: minmax(0, 1fr); row-gap: 20px; }
  .aitem--rev .aitem__text, .aitem--rev .aitem__stage { order: 0; }
  .aitem__num { font-size: 24px; }
  .aitem__text { gap: 10px; }
  .aitem__text h3 { font-size: 20px; text-wrap: balance; }
  .aitem__text p { font-size: 15px; line-height: 1.85; }
  .aitem__pts li { font-size: 13px; }
  .chatui { grid-template-columns: minmax(0, 1fr) 52%; }
  .bub { font-size: clamp(8px, 2.5vw, 12px); }
  .chatui__note { font-size: clamp(5px, 1.5vw, 7px); }
  .scenegrid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .scenecard, .scenecard.sc--lg { grid-column: 1; }
  .scenecard figcaption { font-size: 12.5px; }
  .apf2 { grid-template-columns: minmax(0, 1fr); gap: 20px; }

    .others { padding: 72px 20px 12px; }
  .others .sec-head { margin-bottom: 36px; }
  .others .sec-head__title { font-size: clamp(24px, 6.4vw, 32px); }
  .sp-br { display: inline; }
    .buy { padding: 72px 20px; }
  .buy__inner { gap: 40px; }
  .campaign { padding: 20px 0; }
  .campaign__grid { gap: 16px; }
  .campaign__item { width: 100%; }

    .zanmai { padding: 72px 20px; }
  .zanmai__head { flex-direction: column; gap: 20px; padding: 0; }
  .zanmai__desc { white-space: normal; }
  .zanmai__catch { font-size: 17px; margin-bottom: 12px; }
  .zanmai__logo { width: min(100%, 420px); }
  .zanmai__screen { width: 100%; }
  .pulse { width: 36px; height: 36px; }
  .pulse::after { inset: 6px; }
  .pulse span { inset: 10.5px; }
  .zanmai__services { font-size: 12px; }
  .hotspot__chip { display: none; }
  .zanmai__hint { font-size: 12px; gap: 10px; padding: 12px 18px; }
  .pulse--inline { width: 14px; height: 14px; }
  .pulse--inline::after { inset: 2px; }
  .pulse--inline i { inset: 4px; }
  .zanmai__services br { display: none; }

    .feat { padding: 72px 20px; }
  .feat__title { font-size: clamp(19px, 5.1vw, 24px); margin-bottom: 36px; text-wrap: balance; }
  .feat__grid { display: grid; grid-template-columns: 1fr; gap: 36px; }
  .fcard { display: grid; grid-template-columns: 128px 1fr; column-gap: 16px; align-items: start; }
  .fcard figure { grid-row: 1 / span 5; margin-bottom: 0; }
  .fcard h3 { font-size: 17px; }
  .fcard p { font-size: 13px; }
  .fcard .model-chip { font-size: 12px; padding: 6px 10px; min-height: 0; }

    .movie__play { width: 64px; height: 64px; }

    .bottom { padding-top: 72px; }
  .bottom__inner { padding: 0 20px; }
  .bottom__banner img, .bottom__banner::after { height: 180px; }
  .bottom__bannertext { font-size: clamp(20px, 5.4vw, 26px); padding: 0 0 16px; text-align: center; }
  .special { padding: 70px 0; }
  .special__grid { gap: 16px; }
  .special__item { width: 100%; }
  .legal { padding: 48px 0; }
  .legal p { line-height: 2; text-indent: -1em; padding-left: 1em; }
  .award__notes p, .zanmai__note, .fcard__note, .tcase__note, .aitem__note {
    text-indent: -1em;
    padding-left: 1em;
  }

    .aitem--eq .aitem__text { display: flex; flex-direction: column; }
  .aitem--eq .aitem__text .aitem__note { order: 3; }
  .aitem--eq .aitem__text .model-chip { order: 2; align-self: flex-start; }

    .aitem__cap { font-size: 12px; }
  .buyhub__or span { font-size: 12px; }
  .hikaku__table thead span { font-size: 12px; }
}

@media (max-width: 1080px) {
  .pc-only { display: none; }
  .sp-only { display: inline; }
}

.loopvid-wrap { position: relative; }
.loopvid__play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  background: rgba(4, 9, 19, 0.78);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(246, 226, 123, 0.4);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 13px;
  letter-spacing: 0.06em;
  cursor: pointer;
}
.loopvid__ico { display: inline-flex; color: #f6e27b; }

body.is-lowpower .orb { display: none; }
body.is-lowpower .benefit__bg img,
body.is-lowpower .what__visual img:first-child {
  filter: none !important;
  transform: none !important;
}
body.is-lowpower .what .sec-head__title,
body.is-lowpower .benefit__title {
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: #fff;
}
body.is-lowpower .rgbnav,
body.is-lowpower .movie__label,
body.is-lowpower .hotspot__chip,
body.is-lowpower .zpopup,
body.is-lowpower .ctabar a { backdrop-filter: none; }
body.is-lowpower .scard:hover { transition: none; }
body.is-lowpower .pulse::before,
body.is-lowpower .pulse::after { animation: none; }
body.is-lowpower .fx-profile,

@media (max-width: 1080px) {
  body.is-lowpower .tech,
  body.is-lowpower .ai,
  body.is-lowpower .feat { content-visibility: auto; contain-intrinsic-size: auto 1400px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.bcard__ico svg { overflow: visible; }

.ic-led { animation: ic-led 4.4s ease-in-out infinite; }
.ic-led--r { animation-delay: 0s; }
.ic-led--g { animation-delay: 0.15s; }
.ic-led--b { animation-delay: 0.3s; }
.ic-panel { transform-origin: 37.5px 24px; animation: ic-panel 4.4s ease-in-out infinite; }
.ic-ray {
  stroke-dasharray: 14;
  stroke-dashoffset: 14;
  animation: ic-ray 4.4s ease-in-out infinite;
}
.ic-ray--r { animation-delay: 0.2s; }
.ic-ray--g { animation-delay: 0.35s; }
.ic-ray--b { animation-delay: 0.5s; }
@keyframes ic-led {
  0%, 6% { opacity: 0.3; }
  20%, 66% { opacity: 1; }
  88%, 100% { opacity: 0.3; }
}
@keyframes ic-ray {
  0%, 8% { stroke-dashoffset: 14; opacity: 0; }
  32%, 62% { stroke-dashoffset: 0; opacity: 1; }
  86%, 100% { stroke-dashoffset: 0; opacity: 0.2; }
}
@keyframes ic-panel {
  0%, 18% { opacity: 0.5; transform: scale(1); }
  44%, 68% { opacity: 1; transform: scale(1.05); }
  90%, 100% { opacity: 0.5; transform: scale(1); }
}

.ic-bubble { transform-origin: 24px 24px; animation: ic-bubble 3.6s ease-in-out infinite; }
.ic-spark { transform-origin: 24px 22px; animation: ic-spark 3.6s ease-in-out infinite; }
@keyframes ic-bubble {
  0%, 100% { transform: scale(1); opacity: 0.75; }
  50% { transform: scale(1.05); opacity: 1; }
}
@keyframes ic-spark {
  0% { transform: scale(0.7) rotate(0deg); opacity: 0.5; }
  35% { transform: scale(1.15) rotate(90deg); opacity: 1; }
  60% { transform: scale(0.95) rotate(140deg); opacity: 0.9; }
  100% { transform: scale(0.7) rotate(180deg); opacity: 0.5; }
}

.ic-tv { transform-origin: 3px 35.8px; animation: ic-tv 3.9s ease-in-out infinite; opacity: 0.4; }
.ic-tv--s { animation-delay: 0s; }
.ic-tv--m { animation-delay: 0.4s; }
.ic-tv--l { animation-delay: 0.8s; }
@keyframes ic-tv {
  0%, 6% { opacity: 0.35; }
  18%, 34% { opacity: 1; }
  50%, 100% { opacity: 0.35; }
}

body.is-lowpower .ic-led,
body.is-lowpower .ic-panel,
body.is-lowpower .ic-ray,
body.is-lowpower .ic-bubble,
body.is-lowpower .ic-spark,
body.is-lowpower .ic-tv {
  animation: none !important;
  opacity: 1 !important;
  stroke-dashoffset: 0 !important;
  transform: none !important;
}

@media print {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }
  html, body { background: #fff !important; color: #000 !important; }
  body * {
    background-color: transparent !important;
    background-image: none !important;
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    border-color: #9a9a9a !important;
  }
    .guard, .noCopy, .noPrint, .hero-cmkv, .movie__poster, .special__item.guard { display: none !important; }
  .reveal, .reveal-clip, .stagger > *, .is-flat .reveal {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    visibility: visible !important;
  }
  img { max-width: 100% !important; opacity: 1 !important; filter: none !important; }
  video, canvas, .loopvid, .movie, .hkfloat, .apps, .mobile-aside, .zpopup, .rgbnav, .leftBtn, .rightBtn,
  .chatui__prog, .apf2__screen, .sc__pre, .sc__edge, .eqfx__sweep { display: none !important; }
  .hero { min-height: 0 !important; height: auto !important; }
  a { text-decoration: underline; }
    .hikaku__body { grid-template-rows: 1fr !important; }
  .hikaku__bodyin, .hikaku__scroll { overflow: visible !important; }
  .hikaku__table th, .hikaku__table td { border: 1px solid #9a9a9a !important; position: static !important; }
  .hf__corner img, .hf__lbl::before, .hf__corner::after, .hf__corner2::after, .hf__cat::after { display: none !important; }
  .hikaku__table--full .hf__cat, .hikaku__table--full .hf__series th,
  .hikaku__table--full th.hf__lbl { background-color: #efefef !important; }
  .cspan { position: static !important; }
  .hikaku__title::after { display: none !important; }
  .hikaku__table tbody tr, .hikaku__table thead th { opacity: 1 !important; transform: none !important; }
  .hikaku__table--full { min-width: 0 !important; width: 100% !important; font-size: 8.5px; }
  .hikaku__table--full th, .hikaku__table--full td { min-width: 0 !important; width: auto !important; }
  .hikaku__table--full .hf__corner { width: 90px !important; }
  .hikaku__table--full .hfi, .hf__models img { max-width: 100% !important; height: auto !important; }
  .hikaku__table--full th, .hikaku__table--full td { padding: 6px 4px !important; }
    .flogo, .buyhub__storebtn img, .movie__yt img { filter: invert(1) !important; }
    .carouselArea .carousel { height: auto !important; perspective: none !important; }
  .carouselArea .list { position: static !important; transform: none !important; width: auto !important; margin: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .carouselArea .list li, .carouselArea .list li .inner, .carouselArea .list li img { position: static !important; transform: none !important; filter: none !important; }
  .productInfo li { display: block !important; }
  section { break-inside: avoid-page; }
}

.kvanchors { display: flex; background: #0b1524; border-top: 1px solid rgba(255, 255, 255, 0.08); border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.kvanchors a {
  flex: 1; display: flex; justify-content: center; align-items: center; height: 64px;
  font-size: 15px; font-weight: 700; letter-spacing: 0.04em; color: #fff; text-align: center;
  transition: background 0.25s;
}
.kvanchors a + a { border-left: 1px solid rgba(255, 255, 255, 0.12); background: #08111c; }
.kvanchors a:hover { background: #142238; }
.kvanchors a span { position: relative; padding-right: 26px; }
.kvanchors a span::after {
  content: ""; position: absolute; right: 2px; top: 0.35em; width: 9px; height: 9px;
  border-right: 1.5px solid #e0cf9a; border-bottom: 1.5px solid #e0cf9a; transform: rotate(45deg);
}
@media screen and (max-width: 1080px) {
  .kvanchors a { height: 58px; font-size: 13px; line-height: 1.4; }
  .kvanchors a span { padding: 0 22px 0 6px; }
  .kvanchors a span::after { top: 50%; margin-top: -7px; }
}
.aitem__uiwrap { display: block; width: 100%; background: #000; } .aitem__ui { width: 100%; height: auto; display: block; }
.hfi--rec2 { margin-left: 12px; }
.hikaku__table img.hfi--rec { display: inline-block; vertical-align: middle; }
main p, main li, main figcaption, main h3, main dd, main dt { word-break: keep-all; overflow-wrap: anywhere; }
.tgroup__lead, .tsub__desc, .titem__text > p:not(.model-chip),
.aitem__text > p:not(.aitem__num):not(.model-chip):not(.aitem__note) { text-wrap: balance; }
@media (min-width: 1081px) {
    .aitem--profile { grid-template-columns: minmax(0, 1fr) minmax(0, 67%); column-gap: 48px; row-gap: 0; align-items: center; }
  .aitem--profile .aitem__text { max-width: none; }
  .apf2 { gap: 24px; }
  .aitem--chat { grid-template-columns: minmax(0, 40%) minmax(0, 1fr); }
}

/* Magnolia: HTMLコンポーネント直前の <br> を打ち消す(本番 .mainvisual{margin-top:-24px/-21px} と同等) */
br:has(~ .rgblp) { display: none; }
@supports not selector(br:has(~ .rgblp)) {
  .rgblp { margin-top: -24px; }
  @media screen and (min-width: 768px) and (max-width: 1366px) { .rgblp { margin-top: -21px; } }
}
