:root {
  --aok-ink: #10162f;
  --aok-muted: #66708d;
  --aok-bg: #f5f7ff;
  --aok-panel: #ffffff;
  --aok-navy: #070b26;
  --aok-violet: #6f5cff;
  --aok-cyan: #18c8ff;
  --aok-pink: #ff5ecf;
  --aok-line: rgba(64, 78, 125, .14);
  --aok-shadow: 0 24px 70px rgba(20, 30, 80, .13);
  --aok-radius-xl: 32px;
  --aok-radius-lg: 24px;
  --aok-radius-md: 18px;
}

html {
  scroll-behavior: smooth;
}

body.aok-home-2026 {
  overflow-x: hidden;
  color: var(--aok-ink);
  background:
    radial-gradient(circle at 12% 18%, rgba(111, 92, 255, .07), transparent 25rem),
    radial-gradient(circle at 88% 35%, rgba(24, 200, 255, .07), transparent 26rem),
    var(--aok-bg);
  font-family: "M PLUS Rounded 1c", "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Segoe UI", "Yu Gothic UI", sans-serif !important;
  letter-spacing: .015em;
}

body.aok-home-2026 * {
  box-sizing: border-box;
}

.aok-scroll-progress {
  position: fixed;
  inset: 0 auto auto 0;
  z-index: 9999;
  width: 100%;
  height: 3px;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, var(--aok-violet), var(--aok-cyan), var(--aok-pink));
  box-shadow: 0 0 16px rgba(24, 200, 255, .6);
}

.aok-shell {
  width: min(1280px, calc(100% - 48px));
  margin-inline: auto;
}

/* Compact, credible header */
body.aok-home-2026 #header-container {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(22, 33, 77, .08);
  background: rgba(255, 255, 255, .86) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  box-shadow: 0 8px 30px rgba(17, 24, 61, .04);
}

body.aok-home-2026 #header-container-in {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between;
  width: min(1280px, calc(100% - 48px));
  height: 84px;
  min-height: 84px;
  margin-inline: auto;
}

body.aok-home-2026 #header,
body.aok-home-2026 #header-in,
body.aok-home-2026 #navi,
body.aok-home-2026 #navi-in {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.aok-home-2026 #header {
  flex: 0 0 auto;
}

body.aok-home-2026 #header,
body.aok-home-2026 #header-in,
body.aok-home-2026 #navi,
body.aok-home-2026 #navi-in {
  display: flex !important;
  align-items: center;
  height: 84px !important;
}

body.aok-home-2026 #navi {
  flex: 1 1 auto;
  margin-left: auto !important;
}

body.aok-home-2026 .logo-header {
  margin: 0 !important;
  line-height: 0;
}

body.aok-home-2026 .header-site-logo-image {
  width: 222px !important;
  height: auto !important;
  max-height: 70px !important;
  object-fit: contain;
}

.aok-main-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aok-main-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 15px;
  border-radius: 999px;
  color: #263052 !important;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none !important;
  transition: color .25s ease, background .25s ease, transform .25s ease;
}

.aok-main-nav a:hover,
.aok-main-nav a:focus-visible {
  color: #3727d8 !important;
  background: rgba(111, 92, 255, .10);
  transform: translateY(-1px);
}

.aok-main-nav .aok-nav-cta {
  color: #fff !important;
  background: linear-gradient(135deg, #6656f7, #3579f4);
  box-shadow: 0 10px 24px rgba(87, 77, 224, .25);
}

.aok-main-nav .aok-nav-cta:hover,
.aok-main-nav .aok-nav-cta:focus-visible {
  color: #fff !important;
  background: linear-gradient(135deg, #7465ff, #20a9f5);
}

/* Hero */
.aok-hero {
  position: relative;
  isolation: isolate;
  min-height: 660px;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(130deg, rgba(8, 12, 41, .99), rgba(13, 20, 61, .96) 52%, rgba(17, 25, 73, .93)),
    var(--aok-navy);
}

.aok-hero::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  opacity: .22;
  background-image:
    linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: linear-gradient(to bottom, #000 5%, transparent 86%);
  mask-image: linear-gradient(to bottom, #000 5%, transparent 86%);
}

.aok-hero::after {
  position: absolute;
  inset: -30%;
  z-index: -3;
  content: "";
  background:
    radial-gradient(circle at var(--aok-mx, 25%) var(--aok-my, 28%), rgba(111, 92, 255, .38), transparent 20%),
    radial-gradient(circle at 78% 18%, rgba(24, 200, 255, .23), transparent 18%),
    radial-gradient(circle at 78% 78%, rgba(255, 94, 207, .16), transparent 20%);
  filter: blur(10px);
  transition: background-position .2s linear;
}

.aok-orb {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  opacity: .5;
  filter: blur(2px);
  pointer-events: none;
}

.aok-orb-one {
  top: 86px;
  right: 8%;
  width: 140px;
  height: 140px;
  border: 1px solid rgba(123, 111, 255, .45);
  box-shadow: inset 0 0 50px rgba(111, 92, 255, .16), 0 0 80px rgba(111, 92, 255, .12);
  animation: aok-float 8s ease-in-out infinite;
}

.aok-orb-two {
  bottom: 70px;
  left: 4%;
  width: 86px;
  height: 86px;
  background: linear-gradient(145deg, rgba(24, 200, 255, .24), rgba(111, 92, 255, .05));
  animation: aok-float 6s ease-in-out -2s infinite reverse;
}

.aok-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(440px, .96fr);
  align-items: center;
  gap: clamp(48px, 6vw, 92px);
  min-height: 660px;
  padding: 88px 0 112px;
}

.aok-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 24px;
  padding: 8px 13px;
  border: 1px solid rgba(132, 150, 255, .28);
  border-radius: 999px;
  color: #bfcaff;
  background: rgba(255, 255, 255, .055);
  font-family: "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.aok-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #43ecb5;
  box-shadow: 0 0 0 5px rgba(67, 236, 181, .12), 0 0 16px rgba(67, 236, 181, .6);
  animation: aok-pulse 2.2s ease-in-out infinite;
}

.aok-hero h1 {
  max-width: 720px;
  margin: 0;
  color: #fff;
  font-size: clamp(40px, 4.7vw, 70px);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -.045em;
}

.aok-hero h1 span {
  display: inline-block;
  color: transparent;
  background: linear-gradient(100deg, #b9acff 5%, #6ee4ff 52%, #ff8add 96%);
  -webkit-background-clip: text;
  background-clip: text;
}

.aok-hero-lead {
  max-width: 660px;
  margin: 25px 0 0;
  color: rgba(231, 236, 255, .76);
  font-size: clamp(15px, 1.45vw, 18px);
  line-height: 1.95;
}

.aok-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.aok-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.aok-button::after {
  content: "→";
  font-size: 18px;
  transition: transform .25s ease;
}

.aok-button:hover,
.aok-button:focus-visible {
  transform: translateY(-2px);
}

.aok-button:hover::after,
.aok-button:focus-visible::after {
  transform: translateX(4px);
}

.aok-button-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #755fff, #318bf5 60%, #20c0ed);
  box-shadow: 0 16px 40px rgba(72, 86, 244, .35);
}

.aok-button-secondary {
  background: rgba(255, 255, 255, .055);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.aok-button-secondary:hover {
  border-color: rgba(126, 208, 255, .4);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .17);
}

.aok-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 42px 0 0;
  padding: 0;
  list-style: none;
}

.aok-metrics li {
  min-width: 128px;
  padding: 0 26px;
  border-left: 1px solid rgba(255, 255, 255, .13);
}

.aok-metrics li:first-child {
  padding-left: 0;
  border-left: 0;
}

.aok-metrics strong {
  display: block;
  color: #fff;
  font-family: "Segoe UI", sans-serif;
  font-size: 29px;
  font-weight: 850;
  line-height: 1;
}

.aok-metrics span {
  display: block;
  margin-top: 8px;
  color: #8f9abb;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Tech console: motion that communicates quality */
.aok-console {
  position: relative;
  padding: 18px;
  border: 1px solid rgba(145, 158, 255, .22);
  border-radius: 30px;
  background: linear-gradient(155deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .035));
  box-shadow: 0 35px 90px rgba(0, 0, 0, .37), inset 0 1px rgba(255, 255, 255, .09);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  transform: perspective(1000px) rotateY(-2deg) rotateX(1deg);
  transition: transform .25s ease;
}

.aok-console::before {
  position: absolute;
  inset: -1px;
  z-index: -1;
  content: "";
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(111, 92, 255, .35), transparent 38%, transparent 68%, rgba(24, 200, 255, .26));
  filter: blur(18px);
  opacity: .72;
}

.aok-console-top {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 2px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.aok-console-top i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff718f;
}

.aok-console-top i:nth-child(2) { background: #ffd36a; }
.aok-console-top i:nth-child(3) { background: #52dfb0; }

.aok-console-top span {
  margin-left: auto;
  color: #8391bf;
  font-family: "Segoe UI", sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
}

.aok-console-headline {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 4px 18px;
}

.aok-console-headline small {
  display: block;
  margin-bottom: 7px;
  color: #7d8cba;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .17em;
}

.aok-console-headline strong {
  display: block;
  color: #fff;
  font-size: 22px;
  line-height: 1.35;
}

.aok-console-signal {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 34px;
}

.aok-console-signal i {
  width: 4px;
  height: 30%;
  border-radius: 99px;
  background: linear-gradient(to top, var(--aok-violet), var(--aok-cyan));
  animation: aok-signal 1.25s ease-in-out infinite alternate;
}

.aok-console-signal i:nth-child(2) { height: 58%; animation-delay: -.45s; }
.aok-console-signal i:nth-child(3) { height: 82%; animation-delay: -.2s; }
.aok-console-signal i:nth-child(4) { height: 48%; animation-delay: -.7s; }
.aok-console-signal i:nth-child(5) { height: 100%; animation-delay: -.35s; }

.aok-console-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.aok-console-card {
  overflow: hidden;
  padding: 9px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 17px;
  background: rgba(5, 9, 32, .62);
}

.aok-console-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 11px;
  object-fit: cover;
}

.aok-console-card span {
  display: block;
  margin-top: 9px;
  overflow: hidden;
  color: #cbd4f7;
  font-size: 10px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aok-console-status {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 14px 15px;
  border-radius: 15px;
  color: #9da8cc;
  background: rgba(5, 9, 32, .64);
  font-size: 11px;
  font-weight: 700;
}

.aok-console-status::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  content: "";
  background: #4ce8b0;
  box-shadow: 0 0 14px rgba(76, 232, 176, .68);
}

.aok-console-status strong {
  min-width: 112px;
  color: #fff;
}

/* Intent finder */
.aok-finder {
  position: relative;
  z-index: 6;
  margin-top: -54px;
  padding-bottom: 68px;
}

.aok-finder-panel {
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(84, 96, 152, .12);
  border-radius: var(--aok-radius-xl);
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--aok-shadow);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.aok-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 27px;
}

.aok-kicker {
  display: block;
  margin-bottom: 8px;
  color: #6354e9;
  font-family: "Segoe UI", sans-serif;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.aok-section-head h2,
.aok-curated-head h2 {
  margin: 0;
  color: var(--aok-ink);
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: -.025em;
}

.aok-section-head p,
.aok-curated-head p {
  max-width: 500px;
  margin: 0;
  color: var(--aok-muted);
  font-size: 13px;
  line-height: 1.75;
}

.aok-intent-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

.aok-intent-card {
  position: relative;
  display: flex;
  min-height: 142px;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 19px;
  border: 1px solid var(--aok-line);
  border-radius: 20px;
  color: var(--aok-ink) !important;
  background: linear-gradient(145deg, #fff, #f8f9ff);
  text-decoration: none !important;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.aok-intent-card::before {
  position: absolute;
  inset: auto -25px -34px auto;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  content: "";
  background: radial-gradient(circle, rgba(111, 92, 255, .16), transparent 66%);
  transition: transform .35s ease;
}

.aok-intent-card:hover,
.aok-intent-card:focus-visible {
  transform: translateY(-5px);
  border-color: rgba(111, 92, 255, .3);
  box-shadow: 0 18px 40px rgba(42, 54, 112, .12);
}

.aok-intent-card:hover::before {
  transform: scale(1.4);
}

.aok-intent-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  color: #5c4fe2;
  background: rgba(111, 92, 255, .10);
  font-family: "Segoe UI Symbol", sans-serif;
  font-size: 17px;
  font-weight: 800;
}

.aok-intent-card strong {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.5;
}

.aok-intent-card small {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 4px;
  color: #7d86a2;
  font-size: 10px;
  font-weight: 700;
}

/* Curated Bento */
body.aok-home-2026 .recommended {
  margin: 0 !important;
  padding: 22px 0 82px !important;
  background: transparent !important;
}

body.aok-home-2026 .recommended-in {
  width: min(1280px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

.aok-curated-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 25px;
}

body.aok-home-2026 .recommended .navi-entry-cards {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(170px, auto));
  gap: 16px !important;
}

body.aok-home-2026 .recommended .navi-entry-card-link {
  position: relative;
  display: block !important;
  width: auto !important;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(71, 83, 136, .12);
  border-radius: 24px;
  color: var(--aok-ink) !important;
  background: #fff;
  box-shadow: 0 15px 40px rgba(31, 43, 94, .08);
  text-decoration: none !important;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease, border-color .35s ease;
}

body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(1) {
  grid-column: span 2;
  grid-row: span 2;
}

body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(2) {
  grid-column: span 2;
}

body.aok-home-2026 .recommended .navi-entry-card-link:hover,
body.aok-home-2026 .recommended .navi-entry-card-link:focus-visible {
  z-index: 2;
  transform: translateY(-6px);
  border-color: rgba(111, 92, 255, .25);
  box-shadow: 0 24px 58px rgba(31, 43, 94, .16);
}

body.aok-home-2026 .recommended .navi-entry-card {
  display: flex;
  height: 100%;
  flex-direction: column;
}

body.aok-home-2026 .recommended figure {
  margin: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
}

body.aok-home-2026 .recommended img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 132px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.2, .8, .2, 1), filter .4s ease;
}

body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(1) img {
  min-height: 330px;
}

body.aok-home-2026 .recommended .navi-entry-card-link:hover img {
  transform: scale(1.045);
  filter: saturate(1.06) contrast(1.03);
}

body.aok-home-2026 .recommended .navi-entry-card-content {
  display: block !important;
  padding: 15px 17px 17px !important;
  background: #fff !important;
}

body.aok-home-2026 .recommended .navi-entry-card-title {
  display: -webkit-box;
  overflow: hidden;
  color: #17203b !important;
  font-size: 13px !important;
  font-weight: 850;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(1) .navi-entry-card-title {
  font-size: 17px !important;
}

/* Main content hierarchy */
body.aok-home-2026 #content {
  margin-top: 0 !important;
  background: transparent !important;
}

body.aok-home-2026 #content-in {
  width: min(1280px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 0 0 96px !important;
}

body.aok-home-2026 #main {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.aok-home-2026 #sidebar {
  display: none !important;
}

body.aok-home-2026 #list-wrap {
  display: grid;
  gap: 70px;
}

body.aok-home-2026 .list-new-entries,
body.aok-home-2026 #list-columns > [class*="list-category-"] {
  padding: clamp(25px, 4vw, 44px);
  border: 1px solid rgba(70, 83, 136, .1);
  border-radius: 30px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 20px 65px rgba(31, 43, 94, .075);
}

body.aok-home-2026 .list-title {
  position: relative;
  margin: 0 0 28px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--aok-ink) !important;
  background: transparent !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  font-weight: 900 !important;
  letter-spacing: -.025em;
}

body.aok-home-2026 .list-title::before {
  display: block;
  width: auto !important;
  height: auto !important;
  margin: 0 0 8px !important;
  content: "02 / FRESH INTELLIGENCE";
  color: #6354e9;
  background: transparent !important;
  font-family: "Segoe UI", sans-serif;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .16em;
}

body.aok-home-2026 #list-columns > [class*="list-category-"] .list-title::before {
  content: "CURATED COLLECTION";
}

.aok-search-lab {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin: -6px 0 26px;
  padding: 15px;
  border: 1px solid rgba(78, 92, 148, .13);
  border-radius: 20px;
  background: #f7f8ff;
}

.aok-search-field {
  position: relative;
}

.aok-search-field::before {
  position: absolute;
  top: 50%;
  left: 17px;
  content: "⌕";
  color: #6254e8;
  font-family: "Segoe UI Symbol", sans-serif;
  font-size: 22px;
  transform: translateY(-53%);
}

.aok-search-field input {
  width: 100%;
  min-height: 48px;
  padding: 0 18px 0 48px;
  border: 1px solid transparent;
  border-radius: 14px;
  outline: 0;
  color: var(--aok-ink);
  background: #fff;
  box-shadow: 0 8px 20px rgba(35, 47, 95, .05);
  font-size: 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.aok-search-field input:focus {
  border-color: rgba(111, 92, 255, .48);
  box-shadow: 0 0 0 4px rgba(111, 92, 255, .09), 0 8px 22px rgba(35, 47, 95, .08);
}

.aok-search-status {
  min-width: 94px;
  color: #707995;
  font-size: 11px;
  font-weight: 750;
  text-align: right;
}

.aok-search-status strong {
  color: #5748db;
  font-size: 17px;
}

.aok-filter-chips {
  display: flex;
  grid-column: 1 / -1;
  flex-wrap: wrap;
  gap: 8px;
}

.aok-filter-chip {
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(91, 104, 157, .13);
  border-radius: 999px;
  color: #5d6682;
  background: #fff;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}

.aok-filter-chip:hover,
.aok-filter-chip[aria-pressed="true"] {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, #6b5bf4, #4684f2);
  transform: translateY(-1px);
}

.aok-no-results {
  display: none;
  padding: 30px;
  border: 1px dashed rgba(93, 80, 225, .3);
  border-radius: 18px;
  color: #737d99;
  text-align: center;
}

.aok-no-results.is-visible {
  display: block;
}

body.aok-home-2026 .list-new-entries > .list,
body.aok-home-2026 #list-columns > [class*="list-category-"] > .list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px !important;
}

body.aok-home-2026 .entry-card-wrap {
  position: relative;
  display: block !important;
  width: auto !important;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(73, 86, 139, .11) !important;
  border-radius: 22px !important;
  color: var(--aok-ink) !important;
  background: #fff;
  box-shadow: 0 12px 30px rgba(32, 44, 94, .06);
  text-decoration: none !important;
  transition: transform .34s cubic-bezier(.2, .8, .2, 1), box-shadow .34s ease, border-color .34s ease;
}

body.aok-home-2026 .entry-card-wrap::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0;
  background: radial-gradient(420px circle at var(--spot-x, 50%) var(--spot-y, 0%), rgba(111, 92, 255, .12), transparent 40%);
  transition: opacity .3s ease;
}

body.aok-home-2026 .entry-card-wrap:hover,
body.aok-home-2026 .entry-card-wrap:focus-visible {
  z-index: 2;
  transform: translateY(-5px);
  border-color: rgba(111, 92, 255, .24) !important;
  box-shadow: 0 23px 50px rgba(32, 44, 94, .13);
}

body.aok-home-2026 .entry-card-wrap:hover::after {
  opacity: 1;
}

body.aok-home-2026 .entry-card {
  display: grid !important;
  grid-template-columns: minmax(180px, 41%) minmax(0, 1fr);
  align-items: stretch;
  height: 100%;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.aok-home-2026 .entry-card-thumb {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 0 !important;
}

body.aok-home-2026 .entry-card-thumb img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 205px;
  aspect-ratio: auto !important;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.2, .8, .2, 1), filter .35s ease;
}

body.aok-home-2026 .entry-card-wrap:hover .entry-card-thumb img {
  transform: scale(1.04);
  filter: saturate(1.06);
}

body.aok-home-2026 .entry-card-content {
  position: relative;
  z-index: 1;
  display: flex;
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  flex-direction: column;
  padding: 20px !important;
}

body.aok-home-2026 .entry-card-title {
  display: -webkit-box;
  margin: 0 !important;
  overflow: hidden;
  color: #17203b !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1.62 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.aok-home-2026 .entry-card-snippet {
  display: -webkit-box !important;
  margin-top: 10px;
  overflow: hidden;
  color: #75809b !important;
  font-size: 11px !important;
  line-height: 1.75 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.aok-home-2026 .entry-card-meta {
  margin-top: auto !important;
  padding-top: 14px;
}

body.aok-home-2026 .entry-card-info,
body.aok-home-2026 .entry-card-categorys {
  color: #8b93aa !important;
  font-size: 10px !important;
}

body.aok-home-2026 .cat-label {
  border-radius: 0 0 10px 0 !important;
  background: rgba(8, 15, 48, .87) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

body.aok-home-2026 .entry-card-wrap.aok-hidden-card {
  display: none !important;
}

/* Footer */
body.aok-home-2026 #footer {
  position: relative;
  overflow: hidden;
  color: #aeb8d8 !important;
  background:
    radial-gradient(circle at 80% 20%, rgba(111, 92, 255, .18), transparent 25rem),
    #080d2a !important;
}

body.aok-home-2026 #footer::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: .13;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 44px 44px;
  pointer-events: none;
}

body.aok-home-2026 #footer a {
  color: #d7def7 !important;
}

body.aok-home-2026 .footer-site-logo-image {
  max-width: 210px;
  filter: drop-shadow(0 8px 30px rgba(98, 86, 255, .22));
}

/* Reveal state */
.aok-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .75s cubic-bezier(.2, .8, .2, 1), transform .75s cubic-bezier(.2, .8, .2, 1);
}

.aok-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@keyframes aok-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -16px, 0); }
}

@keyframes aok-pulse {
  0%, 100% { opacity: .7; transform: scale(.92); }
  50% { opacity: 1; transform: scale(1.08); }
}

@keyframes aok-signal {
  from { transform: scaleY(.55); opacity: .55; }
  to { transform: scaleY(1); opacity: 1; }
}

@media (max-width: 1080px) {
  .aok-main-nav li:nth-child(3),
  .aok-main-nav li:nth-child(4) { display: none; }

  .aok-hero-grid {
    grid-template-columns: 1fr 400px;
    gap: 38px;
  }

  .aok-intent-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  body.aok-home-2026 .entry-card {
    grid-template-columns: 1fr;
  }

  body.aok-home-2026 .entry-card-thumb img {
    min-height: 0;
    aspect-ratio: 16 / 9 !important;
  }
}

@media (max-width: 820px) {
  .aok-shell,
  body.aok-home-2026 .recommended-in,
  body.aok-home-2026 #content-in,
  body.aok-home-2026 #header-container-in {
    width: min(100% - 28px, 720px) !important;
  }

  body.aok-home-2026 #header-container-in {
    flex-direction: row !important;
    justify-content: space-between;
    height: 70px;
    min-height: 70px;
  }

  body.aok-home-2026 #header,
  body.aok-home-2026 #header-in {
    display: flex !important;
    align-items: center;
    height: 70px !important;
    min-height: 70px !important;
  }

  body.aok-home-2026 #navi,
  body.aok-home-2026 #navi-in {
    display: flex !important;
    align-items: center;
    height: 70px !important;
  }

  body.aok-home-2026 .header-site-logo-image {
    width: 165px !important;
  }

  .aok-main-nav {
    overflow-x: auto;
    justify-content: flex-start;
    padding-left: 15px;
    scrollbar-width: none;
  }

  .aok-main-nav::-webkit-scrollbar { display: none; }
  .aok-main-nav li:nth-child(2),
  .aok-main-nav li:nth-child(3),
  .aok-main-nav li:nth-child(4) { display: none; }

  .aok-main-nav a { min-height: 38px; padding: 0 13px; font-size: 11px; }

  .aok-hero-grid {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 72px 0 110px;
  }

  .aok-hero-copy { text-align: left; }
  .aok-console { max-width: 620px; transform: none; }
  .aok-finder { margin-top: -44px; }
  .aok-section-head,
  .aok-curated-head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .aok-intent-grid { grid-template-columns: repeat(2, 1fr); }

  body.aok-home-2026 .recommended .navi-entry-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(1),
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(2) {
    grid-column: span 2;
    grid-row: auto;
  }

  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(1) img { min-height: 0; }
  body.aok-home-2026 .list-new-entries > .list,
  body.aok-home-2026 #list-columns > [class*="list-category-"] > .list { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  body.aok-home-2026 #header-container-in { width: calc(100% - 20px) !important; }
  body.aok-home-2026 .header-site-logo-image { width: 140px !important; }
  .aok-main-nav a:not(.aok-nav-cta) { display: none; }
  .aok-main-nav { padding-left: 8px; }

  .aok-shell,
  body.aok-home-2026 .recommended-in,
  body.aok-home-2026 #content-in {
    width: calc(100% - 22px) !important;
  }

  .aok-hero-grid { padding-top: 54px; gap: 42px; }
  .aok-hero h1 { font-size: clamp(36px, 11vw, 50px); }
  .aok-hero-lead { font-size: 14px; line-height: 1.85; }
  .aok-button { width: 100%; }
  .aok-metrics { display: grid; grid-template-columns: repeat(3, 1fr); }
  .aok-metrics li { min-width: 0; padding: 0 10px; text-align: center; }
  .aok-metrics li:first-child { padding-left: 0; }
  .aok-metrics strong { font-size: 24px; }
  .aok-metrics span { font-size: 8px; letter-spacing: .08em; }

  .aok-console { padding: 13px; border-radius: 23px; }
  .aok-console-headline { padding: 19px 2px 14px; }
  .aok-console-headline strong { font-size: 18px; }
  .aok-console-grid { gap: 6px; }
  .aok-console-card { padding: 6px; border-radius: 12px; }
  .aok-console-card span { font-size: 8px; }

  .aok-finder-panel,
  body.aok-home-2026 .list-new-entries,
  body.aok-home-2026 #list-columns > [class*="list-category-"] {
    padding: 22px 16px;
    border-radius: 23px;
  }

  .aok-intent-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .aok-intent-card { min-height: 126px; padding: 15px; border-radius: 17px; }
  .aok-intent-card strong { font-size: 12px; }

  body.aok-home-2026 .recommended { padding-bottom: 60px !important; }
  body.aok-home-2026 .recommended .navi-entry-cards { gap: 10px !important; }
  body.aok-home-2026 .recommended .navi-entry-card-content { padding: 12px !important; }
  body.aok-home-2026 .recommended .navi-entry-card-title { font-size: 11px !important; }
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(1) .navi-entry-card-title { font-size: 13px !important; }

  .aok-search-lab { grid-template-columns: 1fr; padding: 10px; }
  .aok-search-status { text-align: left; }

  body.aok-home-2026 .entry-card-content { padding: 15px !important; }
  body.aok-home-2026 .entry-card-title { font-size: 13px !important; }
  body.aok-home-2026 .entry-card-snippet { font-size: 10px !important; }
}

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


/* ===== 丸ゴシック化（2026-08-19）=====================================
   「もっとけいふぉんとみたいな感じに」という指示。
   けいふぉんと本体はWebフォント配信の可否が確認できなかったので、
   Google Fonts の丸ゴシック2種で同じ雰囲気を作る。
     本文  : M PLUS Rounded 1c
     見出し: Zen Maru Gothic（太らせると、けいふぉんとの丸くて厚い感じに近い）
   丸ゴシックは字面が大きく見えるので、行間と字間を少し広げて詰まりを取る。
   ==================================================================== */
body.aok-home-2026 h1,
body.aok-home-2026 h2,
body.aok-home-2026 h3,
body.aok-home-2026 .aok-hero-title,
body.aok-home-2026 .aok-curated-head h2,
body.aok-home-2026 .aok-metrics strong,
body.aok-home-2026 .aok-button,
body.aok-home-2026 .navi-entry-card-title,
body.aok-home-2026 .aok-intent-card strong,
body.aok-home-2026 .aok-console-title {
  font-family: "Zen Maru Gothic", "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Segoe UI", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
}

body.aok-home-2026 h1,
body.aok-home-2026 .aok-curated-head h2 {
  font-weight: 900 !important;
}

/* 丸ゴシックは詰まって見えるので、本文の行間を少し広げる */
body.aok-home-2026 p,
body.aok-home-2026 li,
body.aok-home-2026 .aok-hero-lead {
  line-height: 1.85;
}

/* 数字は等幅にして、カウントアップ中に横幅が揺れないようにする */
body.aok-home-2026 .aok-metrics strong {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* ===== スマホの直し（2026-08-19）==========================================
   実機幅375〜412pxで測って見つかったもの。

   1) ヘッダーからロゴがはみ出していた（ヘッダー70pxにロゴ76px）
   2) スマホだとナビ（配信サービス／ランキング／ジャンル特集）が全部
      display:none で、ハンバーガーも無かった。つまりスマホの読者は
      トップから他のページへ行く手段が「記事を探す」しか無かった。
      横スクロールの一列にして、常に見えるようにする。
   3) 見出しの「最短でたどり着く。」が9文字あって画面幅に入らず、
      「く。」だけが次の行に落ちていた。文字サイズを画面幅に合わせる。
   4) 本文の折り返しで「「選べ／る」」のように括弧と文字が離れていた。
      日本語の禁則処理を厳しくして直す。
   ======================================================================== */
@media (max-width: 834px) {
  /* 1) ロゴをヘッダーの高さに収める */
  body.aok-home-2026 .logo-header img,
  body.aok-home-2026 .logo-image img,
  body.aok-home-2026 .header-container img.site-logo-image {
    max-height: 52px !important;
    width: auto !important;
    height: auto !important;
  }

  /* 2) ナビを横一列で常に出す。実際のマークアップは ul.aok-main-nav > li > a */
  body.aok-home-2026 .aok-main-nav {
    display: flex !important;
    overflow-x: auto;
    gap: 6px;
    margin: 0;
    padding: 0 12px 8px;
    list-style: none;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  body.aok-home-2026 .aok-main-nav::-webkit-scrollbar { display: none; }
  body.aok-home-2026 .aok-main-nav > li {
    display: block !important;
    flex: 0 0 auto;
    margin: 0;
  }
  body.aok-home-2026 .aok-main-nav > li > a {
    display: inline-flex !important;
    align-items: center;
    height: 34px;
    padding: 0 13px;
    border: 1px solid rgba(111, 92, 255, .28);
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: #2b3557 !important;
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none !important;
  }
  /* ヘッダーが縦に伸びるので、中身を縦並びにして重ならないようにする */
  body.aok-home-2026 .header-container-in {
    flex-wrap: wrap;
    row-gap: 4px;
  }

  /* 3) 見出しを画面幅に収める。9文字が1行に入る大きさにする */
  body.aok-home-2026 #aok-hero-title {
    font-size: clamp(26px, 8.6vw, 36px) !important;
    line-height: 1.28 !important;
    letter-spacing: 0 !important;
  }
  body.aok-home-2026 #aok-hero-title span { display: block; }

  /* 4) 日本語の禁則処理。括弧や句読点が行頭・行末で泣き別れないように */
  body.aok-home-2026 p,
  body.aok-home-2026 li,
  body.aok-home-2026 h1,
  body.aok-home-2026 h2,
  body.aok-home-2026 h3,
  body.aok-home-2026 .navi-entry-card-title {
    line-break: strict;
    overflow-wrap: normal;
    word-break: normal;
  }
}

/* ===== Editor's Picksの4枚を均等化（2026-08-19）=========================
   1枚目だけ2×2分に拡大するBento配置では、画像枠の高さと元画像の比率が
   合わず、アイキャッチの文字が上下左右で切れていた。
   4枚を同じ2列×2段に揃え、画像は16:9の枠内に全体表示する。
   ======================================================================== */
body.aok-home-2026 #aok-featured .navi-entry-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, auto)) !important;
  gap: 20px !important;
}

body.aok-home-2026 #aok-featured .navi-entry-card-link,
body.aok-home-2026 #aok-featured .navi-entry-card-link:nth-child(1),
body.aok-home-2026 #aok-featured .navi-entry-card-link:nth-child(2) {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  justify-self: stretch;
  min-height: 0 !important;
}

body.aok-home-2026 #aok-featured .navi-entry-card-thumb {
  flex: 0 0 auto;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
  background: #0d1638;
}

body.aok-home-2026 #aok-featured .navi-entry-card-image {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
  object-fit: contain !important;
  object-position: center;
  background: #0d1638;
}

body.aok-home-2026 #aok-featured .navi-entry-card-title,
body.aok-home-2026 #aok-featured .navi-entry-card-link:nth-child(1) .navi-entry-card-title {
  font-size: 14px !important;
  line-height: 1.55;
  -webkit-line-clamp: 2;
}

body.aok-home-2026 #aok-featured .navi-entry-card-content {
  min-height: 78px !important;
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
}

body.aok-home-2026 #aok-featured .navi-entry-card-title {
  width: 100%;
}

@media (max-width: 560px) {
  body.aok-home-2026 #aok-featured .navi-entry-cards {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    gap: 14px !important;
  }
}

/* ===== 下部3ブロックを読みやすいカードへ再構成（2026-08-19）=========
   旧テーマの120×68サムネイル固定が残り、カード幅152px・タイトル83pxに
   押し込まれていた。3列の特集構成は残し、各列の中を画像＋3行タイトルの
   横長カードにして、見出しと記事内容が一目で伝わるようにする。
   ======================================================================== */
body.aok-home-2026 #list-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch;
}

body.aok-home-2026 #list-columns > .list-column {
  display: flex !important;
  min-width: 0;
  flex-direction: column;
  padding: 28px 22px 24px !important;
  border: 1px solid rgba(70, 83, 136, .12) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .95) !important;
  box-shadow: 0 20px 58px rgba(31, 43, 94, .08);
}

body.aok-home-2026 #list-columns > .list-column .list-title {
  min-height: 78px;
  margin-bottom: 20px !important;
  font-size: clamp(21px, 2.1vw, 29px) !important;
  line-height: 1.35 !important;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}

body.aok-home-2026 #list-columns > .list-column > .list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  flex: 1;
}

body.aok-home-2026 #list-columns > .list-column .new-entry-card-link {
  display: grid !important;
  grid-template-columns: 160px minmax(0, 1fr);
  align-items: stretch;
  width: 100% !important;
  min-width: 0;
  min-height: 112px;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(73, 86, 139, .13) !important;
  border-radius: 18px !important;
  color: var(--aok-ink) !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(32, 44, 94, .07);
  text-decoration: none !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

body.aok-home-2026 #list-columns > .list-column .new-entry-card-link:hover,
body.aok-home-2026 #list-columns > .list-column .new-entry-card-link:focus-visible {
  z-index: 2;
  border-color: rgba(111, 92, 255, .35) !important;
  box-shadow: 0 16px 34px rgba(32, 44, 94, .14);
  transform: translateY(-3px);
}

body.aok-home-2026 #list-columns > .list-column .new-entry-card-link > .new-entry-card {
  display: grid !important;
  grid-template-columns: 160px minmax(0, 1fr) !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.aok-home-2026 #list-columns > .list-column .new-entry-card-link {
  display: block !important;
}

body.aok-home-2026 #list-columns > .list-column .new-entry-card-thumb {
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0 !important;
  background: #0d1638;
}

body.aok-home-2026 #list-columns > .list-column .new-entry-card-thumb img {
  display: block;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: contain !important;
}

body.aok-home-2026 #list-columns > .list-column .new-entry-card-content {
  display: flex !important;
  min-width: 0;
  margin: 0 !important;
  padding: 14px 15px !important;
  flex-direction: column;
  justify-content: center;
}

body.aok-home-2026 #list-columns > .list-column .new-entry-card-title {
  display: -webkit-box !important;
  max-height: 66px;
  margin: 0 !important;
  overflow: hidden !important;
  color: #17203b !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.55 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3 !important;
}

body.aok-home-2026 #list-columns > .list-column .new-entry-card-meta {
  margin-top: 8px !important;
  color: #8b93aa !important;
  font-size: 10px !important;
}

body.aok-home-2026 #list-columns > .list-column:nth-child(1) .new-entry-card-link { border-left: 4px solid #6b5bf4 !important; }
body.aok-home-2026 #list-columns > .list-column:nth-child(2) .new-entry-card-link { border-left: 4px solid #4684f2 !important; }
body.aok-home-2026 #list-columns > .list-column:nth-child(3) .new-entry-card-link { border-left: 4px solid #f2875d !important; }

@media (max-width: 1100px) {
  body.aok-home-2026 #list-columns {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  body.aok-home-2026 #list-columns > .list-column {
    padding: 22px 16px 18px !important;
    border-radius: 23px !important;
  }

  body.aok-home-2026 #list-columns > .list-column .new-entry-card-link {
    grid-template-columns: 120px minmax(0, 1fr);
  }

  body.aok-home-2026 #list-columns > .list-column .new-entry-card-title {
    font-size: 13px !important;
  }
}

@media (max-width: 834px) {
  /* ナビを1段足したぶん、ヒーローの頭が隠れていた。その分だけ下げる */
  body.aok-home-2026 .aok-hero,
  body.aok-home-2026 #aok-hero {
    padding-top: 26px;
  }
}

@media (max-width: 834px) {
  /* おすすめカードの3枚目・4枚目で、枠が97pxしかないのに中の画像が132pxあって
     はみ出し、記事タイトルが切れて読めなくなっていた。
     行の高さを中身なりにして、画像は16:9のまま素直に縮ませる。 */
  body.aok-home-2026 .recommended .navi-entry-cards {
    grid-template-rows: auto !important;
  }
  body.aok-home-2026 .recommended .navi-entry-card-title {
    -webkit-line-clamp: 3;
    font-size: 12.5px !important;
  }

  /* 「いま知りたいことから選ぶ」は5枚。2列だと最後の1枚が余って
     左半分だけ埋まった変な形になる。最後の1枚を横いっぱいにする。 */
  body.aok-home-2026 .aok-intent-grid > *:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 834px) {
  /* カードの中身が縦に並ぶとき、外側が height:100% で高さを固定していたため
     画像だけで枠が埋まり、記事タイトルがはみ出して隠れていた。
     中身なりの高さにして、画像は16:9のまま、文字はその下に出す。 */
}

@media (max-width: 834px) {
  /* 3枚目・4枚目は枠が97pxしかなく、画像の上に記事タイトルの帯が
     かぶさって、絵がほとんど見えていなかった。
     パソコン版と同じ最低高さ（170px）を与えて、絵と文字を両立させる。 */
  body.aok-home-2026 .recommended .navi-entry-card-link {
    min-height: 172px;
  }
}

@media (max-width: 834px) {
  /* このカードは「絵を全面に敷いて、下に白い帯でタイトルを重ねる」作り。
     絵の高さを中身なりにすると帯が絵をほぼ全部覆ってしまうので、
     絵はカードいっぱいに伸ばす。カード自体の最低高さ（172px）で
     絵が見える余白を確保している。 */
  body.aok-home-2026 .recommended .navi-entry-card {
    height: 100% !important;
  }
  body.aok-home-2026 .recommended figure {
    height: 100%;
  }
  body.aok-home-2026 .recommended img,
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(1) img {
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover;
  }
}

@media (max-width: 834px) {
  /* ナビの帯に背景が無く、スクロールすると下の見出しが透けて重なって見えた。
     ヘッダーと同じすりガラスの背景を敷いて、常に読める状態にする。 */
  body.aok-home-2026 nav.navi {
    position: sticky;
    top: 71px;
    z-index: 99;
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(18px) saturate(1.5);
    -webkit-backdrop-filter: blur(18px) saturate(1.5);
    border-bottom: 1px solid rgba(71, 83, 136, .1);
  }
}

@media (max-width: 834px) {
  /* おすすめカードの3・4枚目が 170x170 の正方形になっていて、
     16:9の絵が左右を大きく切られていた（1枚目・2枚目は16:9なのに揃わない＝ズレて見える）。
     カードの高さを 16:9 + タイトル帯 で決めて、絵の比率を全部そろえる。 */
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(n+3) {
    min-height: 0;
    aspect-ratio: 16 / 11;
  }
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(1),
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(2) {
    aspect-ratio: 16 / 9;
    min-height: 0;
  }
}

/* ===== 「いま知りたいことから選ぶ」に絵を入れた（2026-08-19）================
   この5枚はアイコン1文字と文字だけで、記事カードには絵があるのに
   ここだけ無かった。面として文字ばかりに見える原因になっていた。
   カードの頭に16:9の絵を敷いて、その下にアイコン・見出し・説明を置く。
   ========================================================================= */
body.aok-home-2026 .aok-intent-card {
  overflow: hidden;
  padding-top: 0 !important;
}
body.aok-home-2026 .aok-intent-img {
  margin: 0 -16px 12px !important;
  line-height: 0;
  overflow: hidden;
}
body.aok-home-2026 .aok-intent-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.8,.2,1);
}
body.aok-home-2026 .aok-intent-card:hover .aok-intent-img img {
  transform: scale(1.05);
}
body.aok-home-2026 .aok-intent-card .aok-intent-icon {
  margin-top: 0;
}

@media (max-width: 834px) {
  /* まだ絵が 1.46:1 で、1・2枚目の 16:9 と揃っていなかった。
     絵そのものを16:9で固定して、タイトル帯はその下に置く形にする。
     これで4枚とも同じ形の絵になる。 */
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(n+3) {
    aspect-ratio: auto;
    min-height: 0;
  }
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(n+3) .navi-entry-card {
    height: auto !important;
  }
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(n+3) figure {
    height: auto;
  }
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(n+3) img {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }
  /* 絵の上に重なっていたタイトル帯を、絵の下へ出す */
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(n+3) .navi-entry-card-content {
    position: static !important;
    background: #fff !important;
  }
}

/* ===== 見出しの改行位置（2026-08-19）=====================================
   「観たいアニメに、／最短でたどり着く。」の2行目が、画面幅1900px前後で
   3行に割れて「く。」だけが取り残されていた。
   原因は、文字サイズが vw で最大70pxまで伸びるのに、見出しの入る枠は
   グリッドで618pxに固定されていたこと。9文字×70px＝630px＞618px で溢れる。

   対策は2つ重ねる。
     ・2行目を必ずブロックにする（1行目とくっついて流れないように）
     ・枠の幅に合わせて文字を自動で縮める（9文字がぴったり1行に収まる上限）
   これで、どの画面幅でも「観たいアニメに、」「最短でたどり着く。」の2行になる。
   ========================================================================= */
body.aok-home-2026 #aok-hero-title span {
  display: block;
  white-space: nowrap;
}
body.aok-home-2026 #aok-hero-title {
  font-size: min(clamp(30px, 4.6vw, 66px), 10.5cqw);
  container-type: inline-size;
}
@supports not (width: 1cqw) {
  body.aok-home-2026 #aok-hero-title { font-size: clamp(30px, 4.2vw, 62px); }
}

/* ===== 新着カードのサムネイル（2026-08-19）================================
   新着14枚すべて、画像が 232x205（比1.13）に潰れていた。
   入れ物の figure は 16:9 で正しいのに、画像側に min-height:205px が
   効いていて、そこまで縦に引き伸ばされていた。
   結果、16:9で作った絵の左右が大きく切られ、記事ごとに見え方がバラバラ。
   figure の 16:9 に画像を素直に従わせる。
   ========================================================================= */
body.aok-home-2026 .entry-card-thumb img,
body.aok-home-2026 .entry-card-thumb-image {
  min-height: 0 !important;
  height: 100% !important;
  width: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover;
}
body.aok-home-2026 .entry-card-thumb {
  overflow: hidden;
  align-self: stretch;
}
/* 横並びカードは左が画像・右が文章。文章の高さに画像が引っぱられて
   232x182（比1.27）に潰れていた。高さを基準に幅を16:9で決めさせる。 */
body.aok-home-2026 .ect-entry-card .entry-card-thumb,
body.aok-home-2026 .list .entry-card-thumb {
  width: auto !important;
  height: 100%;
  aspect-ratio: 16 / 9;
  flex: 0 0 auto;
}
body.aok-home-2026 .ect-entry-card .entry-card-thumb img,
body.aok-home-2026 .list .entry-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* ===== 新着カードの比率をそろえる・仕上げ（2026-08-19）=====================
   ここまで直しても 1.27 と 1.12 が混ざっていた。真因は figure ではなく
   カードのグリッド定義：
     grid-template-columns: minmax(180px, 41%) minmax(0, 1fr)
   画像の列幅が「カード幅の41%」で決まり、行の高さは右の文章の量で決まる。
   だから記事によって 1.27 だったり 1.12 だったりバラつく。

   直し方：画像の列だけ先に高さを決めて、幅をその16:9で取る。
   行の高さを固定すれば、どの記事でも同じ形の絵になる。
   ========================================================================= */
body.aok-home-2026 .list .entry-card,
body.aok-home-2026 .ect-entry-card .entry-card {
  grid-template-columns: 41% minmax(0, 1fr) !important;
  align-items: stretch;
}
body.aok-home-2026 .list .entry-card-thumb,
body.aok-home-2026 .ect-entry-card .entry-card-thumb {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  align-self: start;
}
body.aok-home-2026 .list .entry-card-thumb img,
body.aok-home-2026 .ect-entry-card .entry-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: cover;
}

/* ===== 見出しが3行に割れる問題（2026-08-19）================================
   パソコンで見たとき「最短でたどり着く。」の最後の「く。」だけが
   3行目に落ちることがあった。測ったら、1600px幅で
   枠618px に対して文字が596px。**余裕が21pxしか無い**。
   丸ゴシックは字面が大きいので、フォントの読み込み前後や環境差で
   簡単にはみ出して折り返してしまう。

   直し方
     ・文字サイズの上限を66px→58pxに下げ、枠に対する余裕を作る
     ・2行目は文の切れ目なので、途中で折り返させない（nowrap）
     ・それでも入らない狭い幅では、文字側が縮んで収まるようにする
   ========================================================================= */
@media (min-width: 835px) {
  body.aok-home-2026 #aok-hero-title {
    font-size: clamp(38px, 3.9vw, 58px) !important;
    line-height: 1.24 !important;
    letter-spacing: 0 !important;
  }
  body.aok-home-2026 #aok-hero-title span {
    display: block;
    white-space: nowrap;
  }
}

/* ===== パソコンでもカードの絵を16:9にそろえる（2026-08-19）================
   測ったら、パソコン表示で
     おすすめの大カード      398x330 → 比 1.21（縦長に潰れている）
     右上のコンソールの小カード 150x95 → 比 1.60
   と、絵の形がカードごとにバラバラだった。16:9（1.78）が1枚も無い。
   絵が同じ形で並んでいないと、面として「ずれている」ように見える。
   ========================================================================= */
@media (min-width: 835px) {
  /* おすすめの大カード：min-height 330px を外して16:9に */
  body.aok-home-2026 .recommended .navi-entry-card-link:nth-child(1) img,
  body.aok-home-2026 .recommended img {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover;
  }
  body.aok-home-2026 .recommended .navi-entry-card {
    height: auto !important;
  }
  /* 絵の上に重ねていたタイトル帯を、絵の下へ出す */
  body.aok-home-2026 .recommended .navi-entry-card-content {
    position: static !important;
    background: #fff !important;
  }
  /* コンソールの小カードも16:9に */
  body.aok-home-2026 .aok-console-card img {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    object-fit: cover;
  }
}

/* ヒーローの中の小カード（オフライン視聴／テレビで見る／作品ランキング）の絵だけ
   1.60 のままで、他の26枚（16:9）と形が違っていた。画面幅によらず16:9にそろえる。 */
body.aok-home-2026 .aok-console-card img {
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  width: 100% !important;
  object-fit: cover;
}
