@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

/* Shared Nukimeki design tokens. Keep palette and layout primitives global so
 * components retain their treatment even when they are rendered outside a
 * page-specific wrapper. */
:root {
  --nk-color-bg: #07070a;
  --nk-color-section: #0d0d12;
  --nk-color-surface: #141218;
  --nk-color-surface-raised: #1d1a1c;
  --nk-color-surface-soft: #1a171e;
  --nk-color-text: #f7f1f4;
  --nk-color-muted: #b8aeb4;
  --nk-color-muted-dark: #8f878c;
  --nk-color-accent: #e92561;
  --nk-color-accent-soft: #f45b8a;
  --nk-color-gold: #c8a45d;
  --nk-color-gold-soft: #e0c27e;
  --nk-color-line: rgba(255,255,255,.10);
  --nk-color-line-soft: rgba(255,255,255,.07);
  --nk-color-line-strong: rgba(255,255,255,.16);
  --nk-color-gold-line: rgba(200,164,93,.45);
  --nk-radius-control: 8px;
  --nk-width-content: 1180px;
  --nk-width-prose: 820px;
  --nk-width-narrow: 640px;
  --nk-space-section: clamp(56px, 6vw, 96px);
  --nk-space-hero: clamp(44px, 5vw, 72px);
}

/************************************
** ヌキめきトップページ ベース
************************************/


.nukimeki-home * {
  box-sizing: border-box;
}

.nukimeki-home a {
  color: inherit;
  text-decoration: none;
}

.nukimeki-home img {
  display: block;
  height: auto;
  max-width: 100%;
}

.nukimeki-home .nukimeki-latest {
  background: var(--nk-color-bg);
  border-top: 1px solid rgba(255,255,255,.04);
  margin-left: auto;
  margin-right: auto;
  padding: 56px 0;
  width: min(calc(100% - 64px), 1320px);
}

.nukimeki-home .nukimeki-section__label {
  color: var(--nk-color-accent-soft);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  margin: 0 0 12px;
}

.nukimeki-home .nukimeki-section__title {
  color: var(--nk-color-text);
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.35;
  margin: 0;
}

.nukimeki-home .nukimeki-section__text {
  color: var(--nk-color-muted);
  margin: 14px 0 0;
}

.nukimeki-home .nukimeki-section__head {
  margin-bottom: 24px;
}

.nukimeki-home .nukimeki-section__head--row {
  align-items: end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.nukimeki-home .nukimeki-section__title {
  font-size: clamp(24px, 3vw, 34px);
}

.nukimeki-home .nukimeki-sp-break {
  display: none;
}

.nukimeki-home .nukimeki-link {
  border-bottom: 1px solid var(--nk-color-accent);
  color: var(--nk-color-accent-soft);
  display: inline-block;
  font-weight: 700;
  padding-bottom: 3px;
}

.nukimeki-home .nukimeki-review-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nukimeki-home .nukimeki-latest .nukimeki-section__head {
  margin-bottom: 24px;
}

.nukimeki-home .nukimeki-latest .nukimeki-section__label {
  color: var(--nk-color-accent-soft);
  margin-bottom: 8px;
}

.nukimeki-home .nukimeki-latest .nukimeki-link--desktop {
  display: inline-block;
  flex: 0 0 auto;
}

.nukimeki-home .nukimeki-latest .nukimeki-link--mobile {
  display: none;
}

.nukimeki-home .nukimeki-latest .nukimeki-link {
  border-bottom-color: rgba(233,37,97,.55);
  color: var(--nk-color-accent-soft);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
  padding-bottom: 3px;
}

.nukimeki-home .nukimeki-latest .nukimeki-link::after {
  content: " →";
}

.nukimeki-home .nukimeki-latest .nukimeki-review-grid {
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nukimeki-home .nukimeki-latest .nukimeki-review-grid--count-1 {
  grid-template-columns: minmax(0, 1fr);
  max-width: 360px;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-grid--count-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: var(--nk-width-prose);
}

.nukimeki-home .nukimeki-latest .nukimeki-review-grid--count-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0)),
    #111015;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(0,0,0,.24);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  position: relative;
  overflow: visible;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card:hover {
  background:
    linear-gradient(180deg, rgba(233,37,97,.075), rgba(255,255,255,.012) 56%),
    var(--nk-color-surface);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 22px 48px rgba(0,0,0,.34), 0 0 0 1px rgba(233,37,97,.36);
  transform: translateY(-2px);
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__link {
  color: inherit;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  text-decoration: none;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__image {
  background:
    linear-gradient(135deg, rgba(255,255,255,.025), rgba(233,37,97,.055)),
    #08080b;
  border-bottom: 1px solid rgba(255,255,255,.08);
  position: relative;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__image::after {
  background: linear-gradient(180deg, rgba(7,7,10,0), rgba(7,7,10,.20));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__image img {
  height: auto;
  object-fit: contain;
  object-position: center;
  width: 100%;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__placeholder {
  align-items: center;
  aspect-ratio: 16 / 9;
  background:
    linear-gradient(135deg, rgba(233,37,97,.08), rgba(255,255,255,.018) 48%, rgba(255,255,255,0)),
    var(--nk-color-bg);
  display: flex;
  height: 100%;
  isolation: isolate;
  justify-content: center;
  padding: 20px;
  width: 100%;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__placeholder img {
  height: auto;
  max-height: 84px;
  max-width: min(90%, 300px);
  mix-blend-mode: screen;
  object-fit: contain;
  opacity: .98;
  width: auto;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__badge {
  align-self: flex-start;
  background: var(--nk-color-accent);
  border-radius: 999px;
  color: #fff;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  margin: 16px 18px 9px;
  padding: 6px 9px;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__category {
  color: var(--nk-color-accent-soft);
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.45;
  margin: 0 18px 6px;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: var(--nk-color-text);
  display: -webkit-box;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.58;
  margin: 0 18px 10px;
  min-height: calc(1.58em * 2);
  overflow: hidden;
  transition: color .2s ease;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__excerpt {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: var(--nk-color-muted);
  display: -webkit-box;
  font-size: 13px;
  line-height: 1.72;
  margin: 0 18px 18px;
  overflow: hidden;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__meta {
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.08);
  color: rgba(247,241,244,.66);
  display: flex;
  font-size: 12px;
  gap: 12px;
  justify-content: space-between;
  line-height: 1.4;
  margin: auto 18px 0;
  min-height: 45px;
  padding: 13px 0 16px;
  transition: border-color .2s ease, color .2s ease;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__score {
  color: var(--nk-color-accent-soft);
  font-weight: 700;
  white-space: nowrap;
  transition: color .2s ease, transform .2s ease;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card:hover .nukimeki-review-card__title {
  color: #fff;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card:hover .nukimeki-review-card__meta {
  border-top-color: rgba(233,37,97,.55);
  color: rgba(247,241,244,.78);
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card:hover .nukimeki-review-card__score {
  color: #ff6aa0;
  transform: translateX(-1px);
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card--empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 22px;
}



.nukimeki-home .nukimeki-review-card__image img {
  height: auto;
  object-fit: initial;
  object-position: center;
  width: 100%;
}

.nukimeki-home .nukimeki-review-card__image:has(.nukimeki-review-card__placeholder) {
  aspect-ratio: 16 / 9;
}

.nukimeki-home .nukimeki-review-card__category {
  color: var(--nk-color-accent-soft);
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  margin: 14px 16px 4px;
}

.nukimeki-home .nukimeki-review-card__title {
  color: var(--nk-color-text);
  display: block;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  margin: 0 16px 8px;
}

@media screen and (max-width: 1023px) {
  .nukimeki-home {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    padding-top: calc(var(--cocoon--mobile-header-menu-buttons--height, 50px) + 10px);
  }

  .nukimeki-home .nukimeki-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nukimeki-home .nukimeki-latest .nukimeki-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nukimeki-home .nukimeki-latest .nukimeki-review-grid--count-1,
  .nukimeki-home .nukimeki-latest .nukimeki-review-grid--count-2,
  .nukimeki-home .nukimeki-latest .nukimeki-review-grid--count-3 {
    max-width: none;
  }
}

@media screen and (max-width: 640px) {
  .nukimeki-home {
    padding-left: 0;
    padding-right: 0;
    padding-top: calc(var(--cocoon--mobile-header-menu-buttons--height, 50px) + 10px);
  }

  .nukimeki-home .nukimeki-latest {
    width: calc(100% - 32px);
  }

  .nukimeki-home .nukimeki-latest {
    padding-bottom: 40px;
    padding-top: 40px;
    width: calc(100% - 32px);
  }

  .nukimeki-home .nukimeki-section__head--row {
    align-items: flex-start;
    flex-direction: column;
  }

  .nukimeki-home .nukimeki-latest .nukimeki-section__head--row {
    margin-bottom: 22px;
  }

  .nukimeki-home .nukimeki-latest .nukimeki-link--desktop {
    display: none;
  }

  .nukimeki-home .nukimeki-latest .nukimeki-link--mobile {
    display: inline-block;
    margin-top: 22px;
  }

  .nukimeki-home .nukimeki-review-grid {
    grid-template-columns: 1fr;
  }

  .nukimeki-home .nukimeki-latest .nukimeki-review-grid {
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nukimeki-home .nukimeki-latest .nukimeki-review-card__image {
    height: auto;
    min-height: 0;
  }

  .nukimeki-home .nukimeki-latest .nukimeki-review-card__badge {
    font-size: 10px;
    margin-left: 10px;
    margin-right: 10px;
    padding-left: 7px;
    padding-right: 7px;
  }

  .nukimeki-home .nukimeki-latest .nukimeki-review-card__category,
  .nukimeki-home .nukimeki-latest .nukimeki-review-card__title {
    margin-left: 10px;
    margin-right: 10px;
  }

  .nukimeki-home .nukimeki-latest .nukimeki-review-card__title {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 8px;
  }

  .nukimeki-home .nukimeki-latest .nukimeki-review-card__excerpt {
    display: none;
  }

  .nukimeki-home .nukimeki-latest .nukimeki-review-card__meta {
    font-size: 11px;
    margin-left: 10px;
    margin-right: 10px;
  }

  .nukimeki-home .nukimeki-sp-break {
    display: block;
  }
}

/* Home finder: keep the search action in the same compact editor-tool language. */
body.nukimeki-top-page,
body.nukimeki-rating-page-template-body,
body.nukimeki-lower-page-template-body,
body.nukimeki-review-list-page-template-body,
body.nukimeki-sale-page-template-body,
body.nukimeki-review-post-body {
  overflow-x: hidden;
}

html:has(body.nukimeki-top-page),
html:has(body.nukimeki-rating-page-template-body),
html:has(body.nukimeki-lower-page-template-body),
html:has(body.nukimeki-review-list-page-template-body),
html:has(body.nukimeki-sale-page-template-body),
html:has(body.nukimeki-review-post-body) {
  overflow-x: hidden;
}

/* Shared discovery and conversion layer. Keep the editorial palette, but give
 * high-intent controls and conversion surfaces one predictable treatment. */
.nukimeki-rating-page,
.nukimeki-lower-page,
.nukimeki-review-list-page,
.nukimeki-review-article {
}

/* Editor's PICK: one source of truth for the selected-work carousel. */
.nukimeki-home--editorial .nukimeki-featured {
  background: var(--nk-color-bg);
  border-bottom: 1px solid var(--nk-color-line);
  border-top: 1px solid var(--nk-color-line);
  color: var(--nk-color-text);
  display: block;
  overflow: hidden;
  padding: clamp(38px, 5vw, 72px) max(16px, calc((100vw - var(--nk-width-content)) / 2));
}

.nukimeki-home--editorial .nukimeki-featured__head,
.nukimeki-home--editorial .nukimeki-featured__viewport,
.nukimeki-home--editorial .nukimeki-featured__thumbs,
.nukimeki-home--editorial .nukimeki-featured__archive-link {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--nk-width-content);
}

.nukimeki-home--editorial .nukimeki-featured__head {
  margin-bottom: 28px;
}

.nukimeki-home--editorial .nukimeki-featured__badge {
  align-items: center;
  background: var(--nk-color-gold);
  color: var(--nk-color-bg);
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  margin: 0 0 14px;
  min-height: 32px;
  padding: 6px 11px;
}

.nukimeki-home--editorial .nukimeki-featured__head h2 {
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.25;
  margin: 0 0 10px;
}

.nukimeki-home--editorial .nukimeki-featured__head > p:last-child {
  color: var(--nk-color-muted);
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
}

.nukimeki-home--editorial .nukimeki-featured__viewport {
  overflow: hidden;
  outline-offset: 5px;
}

.nukimeki-home--editorial .nukimeki-featured__track {
  display: flex;
  gap: 16px;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}

.nukimeki-home--editorial .nukimeki-featured__slide {
  background: var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  display: grid;
  flex: 0 0 100%;
  grid-template-columns: minmax(0, 800px) minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  scroll-snap-align: start;
}

.nukimeki-home--editorial .nukimeki-featured__media-column {
  align-items: center;
  background: var(--nk-color-bg);
  border-right: 1px solid var(--nk-color-line);
  display: flex;
  justify-content: center;
  min-width: 0;
  padding: 0;
}

.nukimeki-home--editorial .nukimeki-featured__media {
  background: var(--nk-color-surface-raised);
  overflow: hidden;
  position: relative;
  width: min(100%, 800px);
}

.nukimeki-home--editorial .nukimeki-featured__picture {
  display: block;
  line-height: 0;
  margin: 0;
  max-width: 100%;
}

.nukimeki-home--editorial .nukimeki-featured__picture img {
  display: block;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  width: min(800px, 100%);
}

.nukimeki-home--editorial .nukimeki-featured__placeholder {
  align-items: center;
  display: flex;
  min-height: 260px;
  justify-content: center;
  margin: 0;
  width: 100%;
}

.nukimeki-home--editorial .nukimeki-featured__placeholder img {
  height: auto;
  max-height: 260px;
  max-width: min(90%, 300px);
  object-fit: contain;
  object-position: center;
  width: auto;
}

.nukimeki-home--editorial .nukimeki-featured__content {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(28px, 4vw, 58px);
}

.nukimeki-home--editorial .nukimeki-featured__content h3 {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: clamp(24px, 2.6vw, 36px);
  line-height: 1.35;
  margin: 0 0 7px;
  overflow: hidden;
}

.nukimeki-home--editorial .nukimeki-featured__catch {
  color: var(--nk-color-muted);
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.6;
  margin: 0 0 22px;
}

.nukimeki-home--editorial .nukimeki-featured__details {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 18px;
}

.nukimeki-home--editorial .nukimeki-featured__score {
  align-items: baseline;
  display: flex;
  gap: 7px;
  margin: 0;
}

.nukimeki-home--editorial .nukimeki-featured__score span,
.nukimeki-home--editorial .nukimeki-featured__score small {
  color: var(--nk-color-muted);
  font-size: 13px;
}

.nukimeki-home--editorial .nukimeki-featured__score strong {
  color: var(--nk-color-gold);
  font-family: "Shippori Mincho", serif;
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1;
}

.nukimeki-home--editorial .nukimeki-featured__tags {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  min-width: 0;
}

.nukimeki-home--editorial .nukimeki-featured__tags span {
  border: 1px solid var(--nk-color-accent);
  border-radius: var(--nk-radius-control);
  color: var(--nk-color-text);
  font-size: 13px;
  line-height: 1.35;
  padding: 6px 9px;
  white-space: normal;
}

.nukimeki-home--editorial .nukimeki-featured__text {
  color: var(--nk-color-muted);
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 24px;
}

.nukimeki-home--editorial .nukimeki-featured__content .nukimeki-editorial-button {
  align-self: flex-start;
  min-height: 52px;
}

.nukimeki-home--editorial .nukimeki-featured__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.nukimeki-home--editorial .nukimeki-featured-thumb {
  align-items: center;
  background: var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  color: var(--nk-color-text);
  display: inline-flex;
  flex: 1 1 150px;
  gap: 9px;
  justify-content: flex-start;
  min-height: 48px;
  min-width: 0;
  padding: 9px 12px;
  text-decoration: none;
}

.nukimeki-home--editorial .nukimeki-featured-thumb:hover,
.nukimeki-home--editorial .nukimeki-featured-thumb:focus-visible,
.nukimeki-home--editorial .nukimeki-featured-thumb[aria-current="true"] {
  background: var(--nk-color-surface-raised);
  border-color: var(--nk-color-gold);
  color: var(--nk-color-text);
}

.nukimeki-home--editorial .nukimeki-featured-thumb__number {
  color: var(--nk-color-gold);
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
}

.nukimeki-home--editorial .nukimeki-featured-thumb__title {
  font-size: 14px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.nukimeki-home--editorial .nukimeki-featured__archive-link {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}

@media screen and (max-width: 1199px) {
  .nukimeki-home--editorial .nukimeki-featured__slide {
    grid-template-columns: 1fr;
  }

  .nukimeki-home--editorial .nukimeki-featured__media-column {
    border-bottom: 1px solid var(--nk-color-line);
    border-right: 0;
  }
}

@media screen and (max-width: 640px) {
  .nukimeki-home--editorial .nukimeki-featured {
    padding-left: 16px;
    padding-right: 16px;
  }

  .nukimeki-home--editorial .nukimeki-featured__track {
    gap: 12px;
  }

  .nukimeki-home--editorial .nukimeki-featured__slide {
    align-content: start;
  }

  .nukimeki-home--editorial .nukimeki-featured__media-column {
    align-self: start;
    padding: 22px 20px;
  }

  .nukimeki-home--editorial .nukimeki-featured__picture img {
    max-width: 100%;
    width: auto;
  }

  .nukimeki-home--editorial .nukimeki-featured__content {
    justify-content: flex-start;
    padding: 28px 20px 32px;
  }

  .nukimeki-home--editorial .nukimeki-featured__content h3 {
    min-height: calc(2 * 1.35em);
  }

  .nukimeki-home--editorial .nukimeki-featured__catch {
    margin-bottom: 18px;
    min-height: calc(2 * 1.6em);
  }

  .nukimeki-home--editorial .nukimeki-featured__details {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .nukimeki-home--editorial .nukimeki-featured-thumb {
    flex-basis: calc(50% - 5px);
    padding-left: 10px;
    padding-right: 10px;
  }

  .nukimeki-home--editorial .nukimeki-featured-thumb__title {
    font-size: 13px;
  }

  .nukimeki-home--editorial .nukimeki-featured__archive-link {
    justify-content: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nukimeki-home--editorial .nukimeki-featured__track {
    scroll-behavior: auto;
  }
}

.nukimeki-review-list-page .nukimeki-review-finder {
  display: grid;
  gap: 16px;
  margin: 28px auto 16px;
  max-width: var(--nk-width-content);
  padding: 20px;
  border: 1px solid var(--nk-color-line);
  background: var(--nk-color-surface);
}

.nukimeki-review-list-page .nukimeki-review-finder label,
.nukimeki-review-list-page .nukimeki-review-finder__search label {
  display: grid;
  gap: 7px;
  color: var(--nk-color-muted);
  font-size: 14px;
  font-weight: 700;
}

.nukimeki-review-list-page .nukimeki-review-finder input,
.nukimeki-review-list-page .nukimeki-review-finder select {
  min-height: 46px;
  border: 1px solid var(--nk-color-line);
  border-radius: var(--nk-radius-control);
  background: #0d0d0d;
  color: var(--nk-color-text);
  padding: 10px 12px;
}

.nukimeki-review-list-page .nukimeki-review-finder select {
  font-size: 16px;
}

.nukimeki-review-list-page .nukimeki-review-finder__controls {
  display: grid;
  grid-template-columns: minmax(0, 280px);
  gap: 12px;
}

.nukimeki-review-list-page .nukimeki-review-finder__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.nukimeki-review-list-page .nukimeki-review-finder__actions button,
.nukimeki-review-list-page .nukimeki-review-finder__actions a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid var(--nk-color-accent);
  border-radius: var(--nk-radius-control);
  background: var(--nk-color-accent);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.nukimeki-review-list-page .nukimeki-review-finder__actions a {
  border-color: var(--nk-color-line);
  background: transparent;
  color: var(--nk-color-text);
}

.nukimeki-review-list-page .nukimeki-review-finder__count {
  max-width: var(--nk-width-content);
  margin: 0 auto 18px;
  color: var(--nk-color-muted);
  font-size: 14px;
}

@media screen and (max-width: 480px) {
  .nukimeki-review-list-page .nukimeki-review-finder {
    margin-right: 16px;
    margin-left: 16px;
    padding: 16px;
  }
}

/* Shared review-card metadata: the reason to click is visible before the excerpt. */
.nukimeki-review-list-page .nukimeki-review-list-card__actress,
.nukimeki-search-page .nukimeki-review-list-card__actress,
.nk-actress-directory .nukimeki-review-list-card__actress,
.nukimeki-actress-detail .nukimeki-review-list-card__actress {
  margin: 0 0 8px;
  color: var(--nk-color-muted);
  font-size: 14px;
}

.nukimeki-review-list-page .nukimeki-review-list-card__tags,
.nukimeki-search-page .nukimeki-review-list-card__tags,
.nk-actress-directory .nukimeki-review-list-card__tags,
.nukimeki-actress-detail .nukimeki-review-list-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}

.nukimeki-review-list-page .nukimeki-review-list-card__tags span,
.nukimeki-search-page .nukimeki-review-list-card__tags span,
.nk-actress-directory .nukimeki-review-list-card__tags span,
.nukimeki-actress-detail .nukimeki-review-list-card__tags span {
  padding: 4px 8px;
  border: 1px solid rgba(233, 37, 97, .36);
  border-radius: 999px;
  color: #ffd9e4;
  font-size: 12px;
}

.nukimeki-review-list-page .nukimeki-review-list-empty__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0;
}

.nukimeki-review-list-page .nukimeki-review-list-empty__links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid var(--nk-color-line, rgba(255,255,255,.14));
  color: var(--nk-color-text, var(--nk-color-text));
  text-decoration: none;
}

.nukimeki-review-list-page .nukimeki-review-list-empty h2 {
  margin-top: 28px;
}

.nukimeki-review-list-page .nukimeki-review-list-grid--empty-recommendations {
  margin-top: 12px;
}

.nukimeki-search-page .nukimeki-search-empty__recommendations {
  margin-top: 16px;
}

/* Utility completion: neutral reading surfaces, reachable forms, clear exits. */


.nukimeki-ad-policy-page .nukimeki-lower-content p,
.nukimeki-privacy-policy-page .nukimeki-lower-content p,
.nukimeki-contact-page .nukimeki-lower-section__text {
  font-size: 17px;
  line-height: 1.9;
}

.nukimeki-privacy-policy-page .nukimeki-lower-content,
.nukimeki-search-page .nukimeki-review-list-empty {
  background: rgba(255,255,255,.025);
  border-color: rgba(255,255,255,.13);
  border-radius: 0;
  box-shadow: none;
}

.nukimeki-contact-page .wpcf7 input:not([type="checkbox"]):not([type="radio"]) {
  border-radius: 0;
  font-size: 16px;
  min-height: 48px;
}

.nukimeki-search-page .nukimeki-search-form,
.nukimeki-not-found-page .nukimeki-search-form {
  border-radius: 0;
}

.nukimeki-not-found-page .nukimeki-lower-button {
  border-radius: 0;
  min-height: 48px;
}

.nukimeki-review-tag-page .nukimeki-review-list-card,
.nukimeki-actress-page .nukimeki-review-list-card,
.nukimeki-search-page .nukimeki-review-list-card {
  border-radius: 0;
}

/* Guide pages completion: shared editorial rhythm with page-specific tools. */
.nukimeki-lower-page.nukimeki-about-page .nukimeki-about-card-grid,
.nukimeki-lower-page.nukimeki-about-page .nukimeki-about-note-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nukimeki-lower-page.nukimeki-about-page .nukimeki-about-card,
.nukimeki-lower-page.nukimeki-about-page .nukimeki-about-note {
  background: linear-gradient(90deg, rgba(233,37,97,.045), transparent 52%);
  border: 0;
  border-radius: 0;
  border-top: 1px solid rgba(255,255,255,.15);
  box-shadow: none;
}







.nukimeki-about-page .nukimeki-lower-button {
  border-radius: 0;
  min-height: 48px;
}

@media screen and (max-width: 640px) {
  .nukimeki-lower-page.nukimeki-about-page .nukimeki-about-card-grid,
  .nukimeki-lower-page.nukimeki-about-page .nukimeki-about-note-grid {
    grid-template-columns: 1fr;
  }

}

/************************************
** ヌキめきトップページ コンテンツ幅調整
************************************/
.nukimeki-home {
  background: var(--nk-color-bg);
  color: var(--nk-color-text);
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic", sans-serif;
  line-height: 1.8;
  margin: 0;
  max-width: none;
  overflow-x: hidden;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

/************************************
** ヌキめきトップページ Cocoon外枠調整
************************************/
body:has(.nukimeki-home),
body:has(.nukimeki-home) #container,
body:has(.nukimeki-home) #container-in,
body:has(.nukimeki-home) .container,
body:has(.nukimeki-home) .container-in,
body:has(.nukimeki-home) .wrap,
body:has(.nukimeki-home) #content,
body:has(.nukimeki-home) #main,
body:has(.nukimeki-home) .content,
body:has(.nukimeki-home) .main,
body:has(.nukimeki-home) .content-in,
body:has(.nukimeki-home) .main-in,
body:has(.nukimeki-home) .entry-content {
  background: var(--nk-color-bg);
  border: 0;
  box-shadow: none;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
}

body:has(.nukimeki-home) #content,
body:has(.nukimeki-home) #main,
body:has(.nukimeki-home) .content,
body:has(.nukimeki-home) .main,
body:has(.nukimeki-home) .content-in,
body:has(.nukimeki-home) .main-in,
body:has(.nukimeki-home) .entry-content {
  max-width: none;
  padding: 0;
  width: 100%;
}

body:has(.nukimeki-home) .sidebar,
body:has(.nukimeki-home) .sidebar-scroll,
body:has(.nukimeki-home) .entry-title,
body:has(.nukimeki-home) .sns-share,
body:has(.nukimeki-home) .sns-share-buttons,
body:has(.nukimeki-home) .date-tags,
body:has(.nukimeki-home) .post-date,
body:has(.nukimeki-home) .breadcrumb,
body:has(.nukimeki-home) .toc,
body:has(.nukimeki-home) .toc-box,
body:has(.nukimeki-home) #toc {
  display: none;
}

/************************************
** ヌキめき共通ヘッダー
************************************/
#header-container,
#header-container-in,
#header,
#navi {
  background: var(--nk-color-bg);
  color: var(--nk-color-text);
}

#header-container {
  border-bottom: 1px solid rgba(255,255,255,.04);
}

#header .header-in,
#navi .navi-in {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

#navi .menu-header.menu-pc {
  align-items: center;
  display: flex;
  gap: clamp(22px, 2.8vw, 42px);
  justify-content: flex-end;
}

#navi .menu-header.menu-pc > .menu-item {
  width: auto;
}

#navi .menu-header.menu-pc > .menu-item > a {
  min-height: 58px;
  padding-left: 0;
  padding-right: 0;
}

#navi .menu-header.menu-pc > .nukimeki-nav-search {
  flex: 0 1 220px;
  margin-left: auto;
  margin-right: 12px;
  min-width: 200px;
  width: clamp(200px, 22vw, 240px);
}

#navi .menu-header.menu-pc > .nukimeki-nav-search .search-box {
  margin: 0;
  position: relative;
  width: 100%;
}

#navi .menu-header.menu-pc > .nukimeki-nav-search .search-edit {
  background: var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: var(--nk-radius-control);
  box-sizing: border-box;
  color: var(--nk-color-text);
  font-size: 14px;
  height: 44px;
  line-height: 1.3;
  padding: 0 44px 0 12px;
  width: 100%;
}

#navi .menu-header.menu-pc > .nukimeki-nav-search .search-edit::placeholder {
  color: var(--nk-color-muted);
  opacity: 1;
}

#navi .menu-header.menu-pc > .nukimeki-nav-search .search-submit {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--nk-color-muted);
  display: inline-flex;
  font-size: 18px;
  height: 40px;
  justify-content: center;
  min-width: 40px;
  padding: 0;
  right: 2px;
  top: 2px;
  width: 40px;
}

#navi .menu-header.menu-pc > .nukimeki-nav-search .search-edit:focus-visible,
#navi .menu-header.menu-pc > .nukimeki-nav-search .search-submit:focus-visible {
  outline: 2px solid var(--nk-color-accent-soft);
  outline-offset: 2px;
}

@media screen and (max-width: 1023px) {
  #navi .menu-header.menu-pc > .nukimeki-nav-search {
    display: none;
  }
}

#header .tagline {
  display: none;
}

#header .site-name-text-link,
#header .site-name-text {
  color: var(--nk-color-text);
}

#navi .navi-in a,
.mobile-menu-buttons .menu-button > a,
.mobile-menu-buttons .menu-button-in {
  color: var(--nk-color-text);
}

#navi .navi-in a:hover,
#navi .navi-in .current-menu-item > a,
#navi .navi-in .current_page_item > a {
  background: rgba(233,37,97,.12);
  color: var(--nk-color-accent-soft);
}

@media screen and (min-width: 1024px) {
  #header-container-in {
    align-items: center;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    margin-left: auto;
    margin-right: auto;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
    width: min(calc(100% - 64px), 1320px);
  }

  #header .logo,
  #header .logo-header {
    text-align: left;
  }

  #header,
  #navi {
    min-width: 0;
  }

  #header .header-in,
  #navi .navi-in {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  #navi .menu-header.menu-pc {
    margin-left: auto;
  }
}

.mobile-menu-buttons,
.menu-content {
  background: var(--nk-color-bg);
  border-color: rgba(255,255,255,.10);
  color: var(--nk-color-text);
}

.navi-menu-content,
.navi-menu-content a,
.navi-menu-content .menu-drawer a,
.navi-menu-content .menu-close-button {
  color: var(--nk-color-text);
}

@media screen and (max-width: 1023px) {
  body {
    --cocoon--mobile-header-menu-buttons--height: 56px;
  }

  #navi {
    display: none;
  }

  .mobile-header-menu-buttons {
    justify-content: flex-end;
  }

  .mobile-header-menu-buttons .logo-menu-button {
    flex: 1 1 auto;
    justify-content: flex-start;
    order: -1;
    padding-left: 16px;
    text-align: left;
  }

  .mobile-header-menu-buttons .logo-menu-button img {
    height: auto;
    max-height: 56px;
    margin-left: 0;
    margin-right: auto;
    width: auto;
  }

  .mobile-header-menu-buttons .navi-menu-button,
  .mobile-header-menu-buttons .search-menu-button {
    flex: 0 0 56px;
    width: 56px;
  }

  .mobile-header-menu-buttons .menu-button-in {
    align-items: center;
    display: flex;
    height: 56px;
    justify-content: center;
  }

  .mobile-header-menu-buttons .navi-menu-caption,
  .mobile-header-menu-buttons .search-menu-caption {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}

/************************************
** ヌキめき下層ページ 共通
************************************/
.nukimeki-lower-page,
.nukimeki-review-list-page {
  background: var(--nk-color-bg);
  color: var(--nk-color-text);
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic", sans-serif;
  line-height: 1.8;
  margin: 0 auto;
  overflow-x: hidden;
  padding: 0 0 72px;
  width: 100%;
}

.nukimeki-lower-page *,
.nukimeki-review-list-page * {
  box-sizing: border-box;
}

.nukimeki-lower-page a,
.nukimeki-review-list-page a {
  color: inherit;
  text-decoration: none;
}

.nukimeki-lower-page img,
.nukimeki-review-list-page img {
  display: block;
  height: auto;
  max-width: 100%;
}

.nukimeki-lower-page .nukimeki-lower-section {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: var(--nk-space-section);
  padding-top: var(--nk-space-section);
  width: min(calc(100% - 64px), var(--nk-width-content));
}



.nukimeki-lower-page .nukimeki-lower-hero__inner {
  max-width: var(--nk-width-prose);
}

.nukimeki-lower-page .nukimeki-lower-page__eyebrow,
.nukimeki-review-list-page .nukimeki-review-list-page__eyebrow,
.nukimeki-lower-page .nukimeki-lower-page__label {
  color: var(--nk-color-accent-soft);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .10em;
  line-height: 1.5;
  margin: 0 0 12px;
}

.nukimeki-review-list-page .nukimeki-review-list-breadcrumb {
  align-items: center;
  color: var(--nk-color-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 8px;
  letter-spacing: .04em;
  line-height: 1.5;
  margin: 0 0 18px;
}

.nukimeki-review-list-page .nukimeki-review-list-breadcrumb a {
  color: var(--nk-color-accent-soft);
}

.nukimeki-review-list-page .nukimeki-review-list-breadcrumb a:hover,
.nukimeki-review-list-page .nukimeki-review-list-breadcrumb a:focus-visible {
  color: var(--nk-color-accent);
}

.nukimeki-lower-page .nukimeki-lower-section__title {
  background: transparent;
  border: 0;
  color: var(--nk-color-text);
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.35;
  margin: 0;
  padding: 0;
}

.nukimeki-not-found-page .nukimeki-lower-hero__title > span {
  display: inline;
}



.nukimeki-lower-page .nukimeki-lower-hero__text {
  color: var(--nk-color-muted);
  font-size: clamp(15px, 1.4vw, 17px);
  margin: 18px 0 0;
  max-width: var(--nk-width-prose);
}

.nukimeki-review-tag-page .nukimeki-review-tag-hero__label {
  color: var(--nk-color-accent-soft);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  margin: 18px 0 0;
}

.nukimeki-review-tag-page .nukimeki-review-tag-hero__text {
  color: rgba(255,255,255,.72);
  font-size: clamp(15px, 1.25vw, 16px);
  line-height: 1.85;
  margin: 14px 0 0;
  max-width: var(--nk-width-prose);
}

.nukimeki-review-tag-page .nukimeki-review-tag-hero__count {
  align-items: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: rgba(255,255,255,.74);
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  margin: 20px 0 0;
  min-height: 34px;
  padding: 7px 13px;
}

.nukimeki-actress-page .nukimeki-actress-description {
  color: rgba(255,255,255,.72);
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.9;
  margin-top: 18px;
  max-width: var(--nk-width-prose);
}

.nukimeki-actress-page .nukimeki-actress-description p {
  margin: 0;
}

.nukimeki-actress-page .nukimeki-actress-description p + p {
  margin-top: 12px;
}

.nukimeki-about-page .nukimeki-lower-hero,
.nukimeki-ad-policy-page .nukimeki-lower-hero,
.nukimeki-privacy-policy-page .nukimeki-lower-hero,
.nukimeki-contact-page .nukimeki-lower-hero {
  padding-bottom: clamp(36px, 4vw, 52px);
  padding-top: clamp(44px, 4vw, 56px);
}

.nukimeki-about-page .nukimeki-lower-hero__inner,
.nukimeki-ad-policy-page .nukimeki-lower-hero__inner,
.nukimeki-privacy-policy-page .nukimeki-lower-hero__inner,
.nukimeki-contact-page .nukimeki-lower-hero__inner {
  max-width: var(--nk-width-prose);
}

.nukimeki-about-page .nukimeki-lower-hero__title,
.nukimeki-ad-policy-page .nukimeki-lower-hero__title,
.nukimeki-privacy-policy-page .nukimeki-lower-hero__title,
.nukimeki-contact-page .nukimeki-lower-hero__title {
  letter-spacing: 0;
  line-height: 1.3;
  max-width: var(--nk-width-prose);
  word-break: keep-all;
}

.nukimeki-about-page .nukimeki-lower-hero__text,
.nukimeki-ad-policy-page .nukimeki-lower-hero__text,
.nukimeki-privacy-policy-page .nukimeki-lower-hero__text,
.nukimeki-contact-page .nukimeki-lower-hero__text {
  font-size: clamp(15px, 1.25vw, 16px);
  line-height: 1.85;
  margin-top: 14px;
  max-width: var(--nk-width-prose);
}

.nukimeki-about-page .nukimeki-lower-section {
  padding-top: 40px;
}

.nukimeki-about-page .nukimeki-about-content p,
.nukimeki-about-page .nukimeki-about-note p,
.nukimeki-about-page .nukimeki-about-message span {
  color: rgba(247,241,244,.74);
  font-size: 15px;
  line-height: 1.9;
  margin: 0;
}

.nukimeki-about-page .nukimeki-about-content p + p,
.nukimeki-about-page .nukimeki-about-note p + p {
  margin-top: 12px;
}

.nukimeki-about-page .nukimeki-about-card-grid,
.nukimeki-about-page .nukimeki-about-note-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}



.nukimeki-about-page .nukimeki-about-card__number {
  color: var(--nk-color-accent-soft);
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1;
  margin-bottom: 12px;
}

.nukimeki-about-page .nukimeki-about-card h3,
.nukimeki-about-page .nukimeki-about-note h3 {
  background: transparent;
  border: 0;
  color: var(--nk-color-text);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

.nukimeki-about-page .nukimeki-about-card p {
  color: rgba(247,241,244,.74);
  font-size: 14px;
  line-height: 1.75;
  margin: 10px 0 0;
}

.nukimeki-about-page .nukimeki-about-note p {
  margin-top: 12px;
}

.nukimeki-about-page .nukimeki-about-note a {
  color: var(--nk-color-accent-soft);
  text-decoration: underline;
  text-underline-offset: 4px;
}



.nukimeki-about-page .nukimeki-about-message p {
  color: var(--nk-color-text);
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 700;
  line-height: 1.45;
  margin: 0 0 8px;
}



.nukimeki-ad-policy-page .nukimeki-ad-policy-section + .nukimeki-ad-policy-section {
  border-top: 1px solid rgba(255,255,255,.055);
  margin-top: 40px;
}

.nukimeki-ad-policy-page .nukimeki-ad-policy-section:last-of-type {
  border-bottom: 1px solid rgba(255,255,255,.045);
  padding-bottom: 40px;
}



.nukimeki-ad-policy-page .nukimeki-ad-policy-card-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}



.nukimeki-ad-policy-page .nukimeki-ad-policy-card__number {
  color: var(--nk-color-accent-soft);
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1;
  margin-bottom: 12px;
}

.nukimeki-ad-policy-page .nukimeki-ad-policy-card h3 {
  background: transparent;
  border: 0;
  color: var(--nk-color-text);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

.nukimeki-ad-policy-page .nukimeki-ad-policy-content p,
.nukimeki-ad-policy-page .nukimeki-ad-policy-card p,
.nukimeki-ad-policy-page .nukimeki-ad-policy-note p {
  color: rgba(247,241,244,.74);
  font-size: 15px;
  line-height: 1.9;
  margin: 0;
}

.nukimeki-ad-policy-page .nukimeki-ad-policy-content p + p,
.nukimeki-ad-policy-page .nukimeki-ad-policy-note p + p {
  margin-top: 12px;
}

.nukimeki-ad-policy-page .nukimeki-ad-policy-card p {
  font-size: 14px;
  line-height: 1.75;
  margin-top: 10px;
}

.nukimeki-privacy-policy-page .nukimeki-privacy-policy-content {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)),
    var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 10px;
  max-width: var(--nk-width-prose);
  padding: clamp(20px, 2.6vw, 28px);
}

.nukimeki-privacy-policy-page .nukimeki-privacy-policy-section + .nukimeki-privacy-policy-section {
  border-top: 1px solid rgba(255,255,255,.055);
  margin-top: 40px;
}

.nukimeki-privacy-policy-page .nukimeki-privacy-policy-section:last-of-type {
  border-bottom: 1px solid rgba(255,255,255,.045);
  padding-bottom: 40px;
}

.nukimeki-privacy-policy-page .nukimeki-privacy-policy-content p {
  color: rgba(247,241,244,.74);
  font-size: 15px;
  line-height: 1.9;
  margin: 0;
}

.nukimeki-privacy-policy-page .nukimeki-privacy-policy-content p + p {
  margin-top: 12px;
}

.nukimeki-privacy-policy-page .nukimeki-privacy-policy-content a {
  color: var(--nk-color-accent-soft);
  text-decoration: underline;
  text-underline-offset: 4px;
}



.nukimeki-contact-page .nukimeki-contact-section {
  border-bottom: 1px solid rgba(255,255,255,.045);
  padding-bottom: 40px;
}

.nukimeki-contact-page .nukimeki-contact-card form,
.nukimeki-contact-page .nukimeki-contact-card p {
  margin: 0;
}

.nukimeki-contact-page .nukimeki-contact-card p + p {
  margin-top: 18px;
}

.nukimeki-contact-page .wpcf7 label {
  color: rgba(247,241,244,.88);
  display: block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.65;
}

.nukimeki-contact-page .wpcf7-form-control-wrap {
  display: block;
  margin-top: 8px;
}

.nukimeki-contact-page .wpcf7 input[type="text"],
.nukimeki-contact-page .wpcf7 input[type="email"] {
  appearance: none;
  background: #0d0d12;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 8px;
  box-shadow: none;
  color: var(--nk-color-text);
  font: inherit;
  font-size: 15px;
  line-height: 1.7;
  min-height: 48px;
  outline: none;
  padding: 11px 14px;
  transition: border-color .2s ease, background-color .2s ease;
  width: 100%;
}





.nukimeki-contact-page .wpcf7 input::placeholder,
.nukimeki-contact-page .wpcf7 textarea::placeholder {
  color: rgba(184,174,180,.62);
}

.nukimeki-contact-page .wpcf7 input[type="text"]:focus,
.nukimeki-contact-page .wpcf7 input[type="email"]:focus,
.nukimeki-contact-page .wpcf7 select:focus,
.nukimeki-contact-page .wpcf7 textarea:focus {
  background: #101016;
  border-color: rgba(233,37,97,.78);
}

.nukimeki-contact-page .wpcf7 .wpcf7-acceptance label {
  align-items: flex-start;
  color: rgba(247,241,244,.74);
  cursor: pointer;
  display: flex;
  font-size: 13px;
  font-weight: 500;
  gap: 9px;
  letter-spacing: 0;
  padding: 6px 0;
}

.nukimeki-contact-page .wpcf7 .wpcf7-list-item {
  margin: 0;
}

.nukimeki-contact-page .wpcf7 input[type="checkbox"] {
  accent-color: var(--nk-color-accent);
  margin-top: .45em;
}



.nukimeki-contact-page .wpcf7 input[type="submit"]:hover,
.nukimeki-contact-page .wpcf7 input[type="submit"]:focus-visible {
  background: #b81745;
  border-color: var(--nk-color-accent-soft);
  transform: translateY(-1px);
}

.nukimeki-contact-page .wpcf7-spinner {
  background-color: rgba(255,255,255,.30);
}

.nukimeki-contact-page .wpcf7-not-valid-tip {
  color: #ff8aa9;
  font-size: 13px;
  line-height: 1.6;
  margin-top: 6px;
}

.nukimeki-contact-page .wpcf7 form .wpcf7-response-output {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: rgba(247,241,244,.82);
  font-size: 14px;
  line-height: 1.8;
  margin: 18px 0 0;
  padding: 12px 14px;
}

.nukimeki-contact-page .wpcf7 form.invalid .wpcf7-response-output,
.nukimeki-contact-page .wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: rgba(255,138,169,.45);
}

.nukimeki-contact-page .wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(233,37,97,.50);
}

.nukimeki-contact-page .nukimeki-contact-note {
  color: rgba(247,241,244,.62);
  font-size: 13px;
  line-height: 1.8;
  margin: 16px 0 0;
  max-width: var(--nk-width-prose);
}

.nukimeki-lower-page .nukimeki-lower-section__head {
  margin-bottom: 22px;
}

.nukimeki-lower-page .nukimeki-lower-section__title {
  font-size: clamp(24px, 3vw, 34px);
}

.nukimeki-review-list-page .nukimeki-review-list-empty {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)),
    var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 10px;
  color: var(--nk-color-text);
}

.nukimeki-lower-page .nukimeki-lower-card-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}



.nukimeki-lower-page a.nukimeki-lower-card:hover,
.nukimeki-lower-page a.nukimeki-lower-card:focus-visible {
  background: #17141c;
  border-color: rgba(233,37,97,.62);
  transform: translateY(-2px);
}

.nukimeki-lower-page .nukimeki-lower-card span {
  color: var(--nk-color-accent-soft);
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  margin-bottom: 12px;
}



.nukimeki-lower-page .nukimeki-lower-card p:first-of-type {
  color: var(--nk-color-text);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.55;
}

.nukimeki-lower-page .nukimeki-lower-card p + p {
  font-size: 13px;
  line-height: 1.7;
  margin-top: 10px;
}

.nukimeki-lower-page .nukimeki-lower-links {
  margin-left: auto;
  margin-right: auto;
  width: min(calc(100% - 64px), var(--nk-width-content));
  padding: clamp(44px, 5vw, 72px) 0 0;
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding-top: 28px;
}





.nukimeki-lower-page .nukimeki-lower-button--sub {
  background: transparent;
  border-color: var(--nk-color-line-strong);
  color: var(--nk-color-muted);
}

.nukimeki-lower-page .nukimeki-lower-button:hover,
.nukimeki-lower-page .nukimeki-lower-button:focus-visible,
.nukimeki-lower-page .nukimeki-lower-link:hover,
.nukimeki-lower-page .nukimeki-lower-link:focus-visible {
  background: rgba(233,37,97,.16);
  border-color: var(--nk-color-accent);
  color: var(--nk-color-accent-soft);
  transform: translateY(-1px);
}

.nukimeki-lower-page.nukimeki-about-page,
.nukimeki-lower-page.nukimeki-ad-policy-page,
.nukimeki-lower-page.nukimeki-privacy-policy-page,
.nukimeki-lower-page.nukimeki-contact-page {
  padding-bottom: 24px;
}

.nukimeki-lower-page.nukimeki-about-page .nukimeki-lower-links,
.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-links,
.nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-links,
.nukimeki-lower-page.nukimeki-contact-page .nukimeki-lower-links {
  padding-top: 24px;
}

.nukimeki-lower-page.nukimeki-about-page .nukimeki-lower-button,
.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-button,
.nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-button,
.nukimeki-lower-page.nukimeki-contact-page .nukimeki-lower-button {
  background: transparent;
  border-color: var(--nk-color-line-strong);
  color: rgba(255,255,255,.78);
}

.nukimeki-lower-page.nukimeki-about-page .nukimeki-lower-button:hover,
.nukimeki-lower-page.nukimeki-about-page .nukimeki-lower-button:focus-visible,
.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-button:hover,
.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-button:focus-visible,
.nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-button:hover,
.nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-button:focus-visible,
.nukimeki-lower-page.nukimeki-contact-page .nukimeki-lower-button:hover,
.nukimeki-lower-page.nukimeki-contact-page .nukimeki-lower-button:focus-visible {
  background: rgba(233,37,97,.08);
  border-color: rgba(233,37,97,.68);
  color: var(--nk-color-accent-soft);
}

.nukimeki-review-list-page .nukimeki-review-list-filter {
  align-items: start;
  display: grid;
  gap: 9px;
  margin-top: 24px;
  max-width: var(--nk-width-content);
}

.nukimeki-review-list-page .nukimeki-review-list-active-filter {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}







.nukimeki-review-list-page .nukimeki-review-list-active-filter a:hover,
.nukimeki-review-list-page .nukimeki-review-list-active-filter a:focus-visible {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.22);
  color: #fff;
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav {
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
    rgba(12,12,16,.48);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 12px;
  display: grid;
  gap: 14px;
  margin-top: 26px;
  max-width: var(--nk-width-content);
  padding: 18px;
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__head {
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  padding-bottom: 12px;
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__copy {
  display: grid;
  gap: 8px;
  min-width: min(100%, 320px);
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__copy > span {
  color: var(--nk-color-accent-soft);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.4;
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__copy p {
  color: rgba(255,255,255,.58);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.65;
  margin: 0;
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__section {
  background: rgba(255,255,255,.018);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  display: grid;
  gap: 14px;
  padding: 14px;
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__section--years {
  background: rgba(255,255,255,.032);
  border-color: rgba(255,255,255,.13);
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__section--months {
  background:
    linear-gradient(180deg, rgba(233,37,97,.045), rgba(255,255,255,.012)),
    rgba(255,255,255,.014);
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__label {
  color: rgba(255,255,255,.58);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.4;
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__group,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__years {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}







.nukimeki-review-list-page .nukimeki-nuita-archive-nav__chip small,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__year small {
  color: rgba(255,255,255,.58);
  font-size: 11px;
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__chip:hover,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__chip:focus-visible,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__chip.is-active {
  background: rgba(233,37,97,.12);
  border-color: rgba(233,37,97,.60);
  color: var(--nk-color-accent-soft);
  transform: translateY(-1px);
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__year:hover,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__year:focus-visible,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__year.is-active {
  background: rgba(233,37,97,.16);
  border-color: rgba(233,37,97,.72);
  box-shadow: 0 0 0 1px rgba(233,37,97,.14) inset;
  color: var(--nk-color-accent-soft);
  transform: translateY(-1px);
}

.nukimeki-review-list-page .nukimeki-nuita-archive-nav__chip.is-active small,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__year.is-active small {
  color: var(--nk-color-accent-soft);
}

.nukimeki-review-list-page .nukimeki-review-list-filter__heading {
  color: var(--nk-color-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.4;
  white-space: nowrap;
}

.nukimeki-review-list-page .nukimeki-review-list-filter__items {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}



.nukimeki-review-list-page .nukimeki-review-list-filter__button:hover,
.nukimeki-review-list-page .nukimeki-review-list-filter__button:focus-visible {
  background: rgba(233,37,97,.10);
  border-color: var(--nk-color-accent);
  color: var(--nk-color-accent-soft);
  transform: translateY(-1px);
}

.nukimeki-review-list-page .nukimeki-review-list-filter__button.is-active {
  background: rgba(233,37,97,.88);
  border-color: rgba(244,91,138,.92);
  box-shadow: 0 6px 16px rgba(233,37,97,.12);
  color: #fff;
  transform: none;
}



.nukimeki-review-list-page .nukimeki-review-list-card__link {
  display: block;
  flex: 1 1 auto;
  height: auto;
}



.nukimeki-review-list-page .nukimeki-review-list-card__image:has(.nukimeki-review-list-card__placeholder) {
  aspect-ratio: 16 / 9;
  background:
    linear-gradient(135deg, rgba(233,37,97,.08), rgba(255,255,255,.018) 48%, rgba(255,255,255,0)),
    var(--nk-color-bg);
}

.nukimeki-review-list-page .nukimeki-review-list-card__image img {
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.nukimeki-review-list-page .nukimeki-review-list-card__placeholder {
  align-items: center;
  aspect-ratio: 16 / 9;
  background: transparent;
  display: flex;
  height: 100%;
  isolation: isolate;
  justify-content: center;
  padding: 20px;
  width: 100%;
}

.nukimeki-review-list-page .nukimeki-review-list-card__placeholder img {
  height: auto;
  max-height: 84px;
  max-width: min(90%, 300px);
  mix-blend-mode: screen;
  object-fit: contain;
  opacity: .98;
  width: auto;
}

.nukimeki-review-list-page .nukimeki-review-list-card__category {
  color: var(--nk-color-accent-soft);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  margin: 0;
}



.nukimeki-review-list-page .nukimeki-review-list-card__excerpt {
  color: var(--nk-color-muted);
  display: -webkit-box;
  font-size: 13px;
  line-height: 1.75;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.nukimeki-review-list-page .nukimeki-review-list-card__more {
  color: var(--nk-color-accent-soft);
  font-size: 13px;
  font-weight: 700;
  margin-top: 2px;
  transition: color .2s ease, transform .2s ease;
}

.nukimeki-review-list-page .nukimeki-review-list-card__meta {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-top: 2px;
  min-height: 22px;
}

.nukimeki-review-list-page .nukimeki-review-list-card__score {
  color: var(--nk-color-accent-soft);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
  transition: color .2s ease, transform .2s ease;
}

.nukimeki-review-list-page .nukimeki-sale-badge,
.nukimeki-review-article .nukimeki-sale-badge {
  align-items: center;
  background: var(--nk-color-accent);
  border: 1px solid var(--nk-color-accent-soft);
  border-radius: 999px;
  color: var(--nk-color-text);
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.2;
  padding: 5px 9px;
  width: fit-content;
}

.nukimeki-review-list-page .nukimeki-sale-badge--card {
  margin: 0;
}

.nukimeki-review-article .nukimeki-sale-badge--cta {
  margin: 0 0 10px;
}

.nukimeki-sale-page__sync,
.nukimeki-sale-page__disclaimer {
  color: var(--nk-color-muted);
  font-size: 13px;
  line-height: 1.7;
  margin: 10px 0 0;
}

.nukimeki-sale-page__disclaimer {
  color: var(--nk-color-text);
  font-weight: 700;
}

.nukimeki-review-list-page .nukimeki-review-list-card:hover .nukimeki-review-list-card__more,
.nukimeki-review-list-page .nukimeki-review-list-card:focus-within .nukimeki-review-list-card__more,
.nukimeki-review-list-page .nukimeki-review-list-card:hover .nukimeki-review-list-card__score,
.nukimeki-review-list-page .nukimeki-review-list-card:focus-within .nukimeki-review-list-card__score {
  color: #ff6aa0;
  transform: translateX(1px);
}

.nukimeki-random-review {
  margin: 34px auto;
  max-width: var(--nk-width-content);
  padding: 22px 26px;
  color: var(--nk-color-text);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0% 0%, rgba(233,37,97,.1), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.014)),
    #09090d;
}

.nukimeki-random-review__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 24px;
  row-gap: 7px;
  text-align: left;
}

.nukimeki-random-review__title {
  margin: 0;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: clamp(1.45rem, 2.1vw, 2rem);
  font-weight: 700;
  line-height: 1.3;
}

.nukimeki-random-review__text {
  margin: 0;
  color: var(--nk-color-muted);
  font-size: 14px;
  line-height: 1.75;
}

.nukimeki-random-review__button {
  appearance: none;
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 210px;
  padding: 13px 22px;
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  border: 1px solid rgba(233,37,97,.72);
  border-radius: 999px;
  background: var(--nk-color-accent);
  box-shadow: 0 10px 24px rgba(233,37,97,.18);
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.nukimeki-random-review__button:hover,
.nukimeki-random-review__button:focus-visible {
  border-color: rgba(255,255,255,.55);
  box-shadow: 0 12px 28px rgba(233,37,97,.25);
  transform: translateY(-1px);
}

.nukimeki-random-review__result {
  display: grid;
  gap: 18px;
  margin-top: 20px;
}

.nukimeki-random-review__result[hidden] {
  display: none;
}

.nukimeki-home .nukimeki-random-review__card {
  display: var(--nk-random-review-card-display, grid);
  grid-template-columns: var(--nk-random-review-card-columns, minmax(0, 38%) minmax(0, 1fr));
  overflow: visible;
  border: 1px solid var(--nk-random-review-card-border, rgba(255,255,255,.12));
  border-radius: var(--nk-random-review-card-radius, 0 18px 18px 0);
  background: var(--nk-random-review-card-background, rgba(8,8,12,.82));
  position: relative;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.nukimeki-random-review__card:hover,
.nukimeki-random-review__card:focus-within {
  border-color: rgba(255,255,255,.18);
  background: rgba(18,15,23,.92);
  box-shadow: 0 20px 46px rgba(0,0,0,.30), 0 0 0 1px rgba(233,37,97,.34);
  transform: translateY(-2px);
}

.nukimeki-home .nukimeki-random-review__card-link {
  color: inherit;
  display: block;
  grid-column: 2;
  min-height: 100%;
  text-decoration: none;
}

.nukimeki-home .nukimeki-random-review__image {
  grid-column: 1;
  display: grid;
  align-items: center;
  min-height: 190px;
  background: var(--nk-color-bg);
  border-right: 1px solid rgba(255,255,255,.1);
  overflow: visible;
}

.nukimeki-random-review__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.nukimeki-random-review__placeholder {
  display: grid;
  place-items: center;
  min-height: 190px;
  padding: 24px;
  background:
    linear-gradient(135deg, rgba(233,37,97,.08), rgba(255,255,255,.018) 50%, rgba(255,255,255,0)),
    var(--nk-color-bg);
}

.nukimeki-random-review__placeholder img {
  width: auto;
  max-width: min(88%, 280px);
  max-height: 84px;
  object-fit: contain;
  mix-blend-mode: screen;
}

.nukimeki-random-review__body {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 22px;
  transition: background-color .2s ease, box-shadow .2s ease;
}

.nukimeki-random-review__card:hover .nukimeki-random-review__body,
.nukimeki-random-review__card:focus-within .nukimeki-random-review__body {
  background:
    linear-gradient(90deg, rgba(233,37,97,.46), rgba(233,37,97,0) 7px),
    linear-gradient(180deg, rgba(233,37,97,.105), rgba(233,37,97,.032));
  box-shadow: inset 1px 0 0 rgba(233,37,97,.36);
}

.nukimeki-random-review__tag {
  margin: 0;
  color: var(--nk-color-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

.nukimeki-random-review__card-title {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.nukimeki-random-review__excerpt {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: rgba(255,255,255,.64);
  font-size: 13px;
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.nukimeki-random-review__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
  margin-top: 4px;
}

.nukimeki-random-review__more,
.nukimeki-random-review__score {
  color: var(--nk-color-accent);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
  transition: color .2s ease, transform .2s ease;
}

.nukimeki-random-review__card:hover .nukimeki-random-review__more,
.nukimeki-random-review__card:focus-within .nukimeki-random-review__more,
.nukimeki-random-review__card:hover .nukimeki-random-review__score,
.nukimeki-random-review__card:focus-within .nukimeki-random-review__score {
  color: #ff6aa0;
  transform: translateX(1px);
}

@media (max-width: 768px) {

  .nukimeki-random-review {
    --nk-random-review-card-display: block;
    --nk-random-review-card-columns: 1fr;
    --nk-random-review-card-radius: 0 0 18px 18px;
  }

  .nukimeki-random-review {
    width: calc(100% - 44px);
    max-width: 390px;
    margin: 30px auto;
    padding: 28px 22px 30px;
    border-radius: 22px;
  }

  .nukimeki-random-review__intro {
    grid-template-columns: 1fr;
    gap: 12px;
    text-align: center;
  }

  .nukimeki-random-review__title {
    font-size: 1.72rem;
  }

  .nukimeki-random-review__text {
    font-size: 14px;
    line-height: 1.7;
  }

  .nukimeki-random-review__button {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    max-width: 330px;
    min-width: 0;
    margin: 2px auto 0;
    min-height: 54px;
    padding: 13px 20px;
  }

  .nukimeki-random-review__result {
    margin-top: 18px;
  }

  .nukimeki-random-review__card-link {
    display: block;
  }

  .nukimeki-random-review__image {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }

  .nukimeki-random-review__placeholder {
    aspect-ratio: 16 / 9;
    min-height: 0;
    padding: 20px;
  }

  .nukimeki-random-review__body {
    gap: 10px;
    padding: 20px;
  }

  .nukimeki-random-review__card-title {
    font-size: 17px;
  }

  .nukimeki-random-review__excerpt {
    font-size: 13px;
    line-height: 1.7;
  }
}

/************************************
** トップページ「深夜の編集室」
************************************/
.nukimeki-home--editorial {
  background: var(--nk-color-bg);
  color: var(--nk-color-text);
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  overflow: hidden;
}

.nukimeki-home--editorial,
.nukimeki-home--editorial * {
  box-sizing: border-box;
}

.nukimeki-home--editorial h1,
.nukimeki-home--editorial h2,
.nukimeki-home--editorial h3,
.nukimeki-home--editorial p {
  margin-top: 0;
}

.nukimeki-home--editorial h1,
.nukimeki-home--editorial h2,
.nukimeki-home--editorial h3 {
  color: var(--nk-color-text);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 600;
  letter-spacing: .035em;
}

.nukimeki-home--editorial a {
  text-decoration: none;
}

body.nukimeki-top-page #header-container {
  background: transparent;
  border-bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 20;
}

body.nukimeki-top-page #header-container-in,
body.nukimeki-top-page #header,
body.nukimeki-top-page #navi {
  background: transparent;
}

.nukimeki-home--editorial .nukimeki-editorial-hero {
  align-items: center;
  display: flex;
  min-height: 760px;
  overflow: hidden;
  padding: 150px max(40px, calc((100vw - var(--nk-width-content)) / 2)) 112px;
  position: relative;
}

.nukimeki-home--editorial .nukimeki-editorial-hero::before {
  background: linear-gradient(90deg, rgba(7,7,10,.98) 0%, rgba(7,7,10,.88) 30%, rgba(7,7,10,.23) 69%, rgba(7,7,10,.52) 100%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}

.nukimeki-home--editorial .nukimeki-editorial-hero__backdrop {
  background: url("assets/nukimeki-hero-first-view.jpg") center right / cover no-repeat;
  inset: 0;
  position: absolute;
  transform: scale(1.01);
}

.nukimeki-home--editorial .nukimeki-editorial-hero__content {
  max-width: 620px;
  position: relative;
  z-index: 2;
}



.nukimeki-home--editorial .nukimeki-editorial-label--gold {
  color: var(--nk-color-gold-soft);
}

.nukimeki-home--editorial .nukimeki-editorial-hero h1 {
  font-size: clamp(48px, 5.2vw, 76px);
  line-height: 1.14;
  margin-bottom: 18px;
}

.nukimeki-home--editorial .nukimeki-editorial-hero__tagline {
  color: var(--nk-color-accent-soft);
  font-family: "Shippori Mincho", "Yu Mincho", serif;
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 600;
  letter-spacing: .08em;
  margin-bottom: 28px;
}

.nukimeki-home--editorial .nukimeki-editorial-hero__description {
  color: var(--nk-color-muted);
  font-size: 15px;
  line-height: 2;
  margin-bottom: 34px;
}

.nukimeki-home--editorial .nukimeki-editorial-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.nukimeki-home--editorial .nukimeki-editorial-hero__actions > br {
  display: none;
}

.nukimeki-home--editorial .nukimeki-editorial-button {
  align-items: center;
  background: var(--nk-color-accent);
  border: 1px solid var(--nk-color-accent);
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  justify-content: center;
  min-height: 48px;
  padding: 12px 24px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.nukimeki-home--editorial .nukimeki-editorial-button:not(.nukimeki-editorial-button--quiet):not(.nukimeki-editorial-button--gold):hover,
.nukimeki-home--editorial .nukimeki-editorial-button:not(.nukimeki-editorial-button--quiet):not(.nukimeki-editorial-button--gold):focus-visible {
  background: #b81745;
  border-color: var(--nk-color-accent-soft);
  color: #fff;
}

.nukimeki-home--editorial .nukimeki-editorial-button--quiet:hover,
.nukimeki-home--editorial .nukimeki-editorial-button--quiet:focus-visible {
  background: rgba(255,255,255,.08);
  border-color: var(--nk-color-accent-soft);
  color: var(--nk-color-text);
}

.nukimeki-home--editorial .nukimeki-editorial-button--quiet {
  background: rgba(7,7,10,.35);
  border-color: var(--nk-color-line);
  color: var(--nk-color-text);
}

.nukimeki-home--editorial .nukimeki-editorial-button--gold {
  background: var(--nk-color-gold);
  border-color: var(--nk-color-gold);
  color: #09080a;
}

.nukimeki-home--editorial .nukimeki-editorial-button--gold:hover,
.nukimeki-home--editorial .nukimeki-editorial-button--gold:focus-visible {
  background: var(--nk-color-gold-soft);
  border-color: var(--nk-color-gold-soft);
  color: #09080a;
}



.nukimeki-home--editorial .nukimeki-editorial-intro {
  margin-bottom: 42px;
}

.nukimeki-home--editorial .nukimeki-editorial-intro--split,
.nukimeki-home--editorial .nukimeki-editorial-intro--row {
  align-items: end;
  display: flex;
  justify-content: space-between;
}

.nukimeki-home--editorial .nukimeki-editorial-intro h2 {
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.5;
  margin-bottom: 0;
}

.nukimeki-home--editorial .nukimeki-editorial-intro > p,
.nukimeki-home--editorial .nukimeki-editorial-intro > div > p:last-child {
  color: var(--nk-color-muted);
  font-size: 14px;
  line-height: 1.9;
}

.nukimeki-actress-detail .nukimeki-actress-work-card--featured {
  background: var(--nk-color-surface-soft);
  border-color: var(--nk-color-gold);
}








.nukimeki-home--editorial .nukimeki-editorial-link:hover,
.nukimeki-home--editorial .nukimeki-editorial-link:focus-visible {
  color: #fff;
}

.nukimeki-home--editorial .nukimeki-editorial-link--mobile {
  display: none;
}

.nukimeki-home--editorial .nukimeki-latest {
  padding-bottom: var(--nk-space-section);
  padding-top: var(--nk-space-section);
}

.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card {
  background: var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  color: var(--nk-color-text);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-bottom: 20px;
}

.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card.is-hall-of-fame {
  border-color: rgba(200,164,93,.55);
}

.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__image {
  background: #0a090c;
  display: block;
  margin-bottom: 0;
  width: 100%;
}

.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__image img {
  width: 100%;
}



.nukimeki-home--editorial .nukimeki-latest .is-hall-of-fame .nukimeki-review-card__badge {
  background: var(--nk-color-gold);
  color: #09080a;
}

.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__title {
  margin-left: 20px;
  margin-right: 20px;
}



.nukimeki-home--editorial .nukimeki-latest .is-hall-of-fame .nukimeki-review-card__category,
.nukimeki-home--editorial .nukimeki-latest .is-hall-of-fame .nukimeki-review-card__score {
  color: var(--nk-color-gold-soft);
}

.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__title {
  color: var(--nk-color-text);
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
  line-height: 1.65;
  margin-bottom: 13px;
}





.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__score {
  color: var(--nk-color-accent-soft);
  font-weight: 700;
}

.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review {
  background: transparent;
  border: 0;
  margin: 0;
  max-width: none;
  padding: 0;
}

.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__intro {
  display: block;
  padding: 0;
}

.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__title {
  font-family: "Shippori Mincho", serif;
  font-size: 30px;
  margin-bottom: 10px;
}

.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__text {
  color: var(--nk-color-muted);
  font-size: 13px;
  margin-bottom: 26px;
}

.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__button {
  background: var(--nk-color-accent);
  border: 1px solid var(--nk-color-accent);
  border-radius: 0;
  color: #fff;
  display: block;
  min-height: 46px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 22px;
}

.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__result {
  margin-top: 22px;
}

.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review {
  --nk-random-review-card-background: var(--nk-color-surface);
  --nk-random-review-card-border: var(--nk-color-line);
  --nk-random-review-card-radius: 0;
}

.nukimeki-home--editorial .nukimeki-discovery__lottery,
.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__intro {
  text-align: left;
}

@media screen and (max-width: 1239px) {
  .nukimeki-home--editorial .nukimeki-editorial-section {
    margin-left: 32px;
    margin-right: 32px;
  }

  .nukimeki-home--editorial .nukimeki-discovery {
    margin-left: 32px;
    margin-right: 32px;
  }
}

@media screen and (max-width: 1023px) {
  .nukimeki-home--editorial .nukimeki-editorial-hero {
    min-height: 520px;
  }

  .nukimeki-home--editorial .nukimeki-latest .nukimeki-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nukimeki-home--editorial .nukimeki-latest .nukimeki-review-grid--count-3,
  .nukimeki-home--editorial .nukimeki-latest .nukimeki-review-grid--count-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nukimeki-home--editorial .nukimeki-editorial-hero__backdrop {
    background-color: var(--nk-color-bg);
    background-position: 62% top;
    background-size: auto 58%;
  }

}

@media screen and (max-width: 640px) {
  .nukimeki-home--editorial .nukimeki-editorial-hero {
    align-items: flex-end;
    min-height: 500px;
    padding: 96px 22px 98px;
  }

  .nukimeki-home--editorial .nukimeki-editorial-hero::before {
    background: linear-gradient(180deg, rgba(7,7,10,.14), rgba(7,7,10,.50) 35%, rgba(7,7,10,.98) 76%);
  }

  .nukimeki-home--editorial .nukimeki-editorial-hero__backdrop {
    background-position: 62% top;
    background-size: auto 58%;
    background-color: var(--nk-color-bg);
  }

  .nukimeki-home--editorial .nukimeki-editorial-hero h1 {
    font-size: clamp(34px, 11vw, 46px);
    margin-bottom: 12px;
  }

  .nukimeki-home--editorial .nukimeki-editorial-hero__eyebrow {
    font-size: 9px;
    margin-bottom: 12px;
  }

  .nukimeki-home--editorial .nukimeki-editorial-hero__tagline {
    font-size: 18px;
    margin-bottom: 18px;
  }

  .nukimeki-home--editorial .nukimeki-editorial-hero__description {
    font-size: 12px;
    line-height: 1.8;
    margin-bottom: 22px;
  }

  .nukimeki-home--editorial .nukimeki-desktop-only {
    display: none;
  }

  .nukimeki-home--editorial .nukimeki-editorial-button {
    font-size: 11px;
    min-height: 44px;
    padding: 10px 16px;
  }

  .nukimeki-home--editorial .nukimeki-editorial-section {
    margin-left: 20px;
    margin-right: 20px;
    padding: var(--nk-space-section) 0;
  }

  .nukimeki-home--editorial .nukimeki-editorial-intro--split,
  .nukimeki-home--editorial .nukimeki-editorial-intro--row {
    align-items: start;
    display: block;
  }

  .nukimeki-home--editorial .nukimeki-editorial-intro--split > p {
    margin-top: 18px;
  }

  .nukimeki-home--editorial .nukimeki-editorial-intro h2 {
    font-size: 25px;
  }

  .nukimeki-home--editorial .nukimeki-latest {
    padding-bottom: var(--nk-space-section);
    padding-top: var(--nk-space-section);
  }

  .nukimeki-home--editorial .nukimeki-editorial-link--desktop {
    display: none;
  }

  .nukimeki-home--editorial .nukimeki-editorial-link--mobile {
    display: inline-flex;
    margin-top: 22px;
  }

  .nukimeki-home--editorial .nukimeki-latest .nukimeki-review-grid {
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__title {
    font-size: 24px;
  }
}

.nukimeki-review-list-page .nukimeki-review-list-pagination {
  display: flex;
	box-sizing: border-box;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 34px;
	max-width: 100%;
	padding-inline: 2px;
	width: 100%;
}



.nukimeki-review-list-page .nukimeki-review-list-pagination .page-numbers.next,
.nukimeki-review-list-page .nukimeki-review-list-pagination .page-numbers.prev {
	flex: 0 0 auto;
	max-width: 100%;
}

.nukimeki-review-list-page .nukimeki-review-list-pagination .current,
.nukimeki-review-list-page .nukimeki-review-list-pagination a:hover,
.nukimeki-review-list-page .nukimeki-review-list-pagination a:focus-visible {
  background: rgba(233,37,97,.16);
  border-color: var(--nk-color-accent);
  color: var(--nk-color-accent-soft);
}

.nukimeki-review-list-page .nukimeki-review-list-pagination .current {
  background: rgba(233,37,97,.88);
  border-color: rgba(244,91,138,.92);
  color: #fff;
}

.nukimeki-review-tag-page .nukimeki-review-tag-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.nukimeki-review-tag-page .nukimeki-review-tag-link {
  align-items: center;
  background: rgba(233,37,97,.10);
  border: 1px solid rgba(233,37,97,.55);
  border-radius: 999px;
  color: rgba(255,255,255,.86);
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  justify-content: center;
  line-height: 1.4;
  min-height: 44px;
  padding: 10px 18px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.nukimeki-review-tag-page .nukimeki-review-tag-link--sub {
  background: transparent;
  border-color: rgba(255,255,255,.18);
  color: rgba(255,255,255,.72);
}

.nukimeki-review-tag-page .nukimeki-review-tag-link:hover,
.nukimeki-review-tag-page .nukimeki-review-tag-link:focus-visible {
  background: rgba(233,37,97,.16);
  border-color: rgba(233,37,97,.72);
  color: var(--nk-color-accent-soft);
  transform: translateY(-1px);
}

.nukimeki-review-list-page .nukimeki-review-list-empty {
  padding: 28px;
  text-align: center;
}

.nukimeki-review-list-page .nukimeki-review-list-empty p {
  color: var(--nk-color-text);
  font-weight: 700;
  margin: 0 0 8px;
}

.nukimeki-review-list-page .nukimeki-review-list-empty span {
  color: var(--nk-color-muted);
}

.nukimeki-search-page .nukimeki-lower-hero {
  border-bottom: 0;
  padding-bottom: clamp(34px, 4vw, 48px);
  padding-top: clamp(44px, 4vw, 56px);
}

.nukimeki-search-page .nukimeki-lower-hero__inner {
  max-width: var(--nk-width-prose);
}

.nukimeki-search-page .nukimeki-lower-hero__title {
  letter-spacing: 0;
  line-height: 1.3;
  max-width: var(--nk-width-prose);
}

.nukimeki-search-page .nukimeki-search-section {
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  width: min(calc(100% - 64px), var(--nk-width-content));
}

.nukimeki-search-page .nukimeki-search-results {
  padding-top: 24px;
}

.nukimeki-search-page .nukimeki-search-form,
.nukimeki-not-found-page .nukimeki-search-form {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
    var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 14px;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 10px;
}



.nukimeki-search-page .nukimeki-search-form__input::placeholder,
.nukimeki-not-found-page .nukimeki-search-form__input::placeholder {
  color: rgba(255,255,255,.42);
}

.nukimeki-search-page .nukimeki-search-form__input:focus,
.nukimeki-not-found-page .nukimeki-search-form__input:focus {
  background: #0d0d12;
  border-color: rgba(233,37,97,.72);
  box-shadow: 0 0 0 3px rgba(233,37,97,.14);
}



.nukimeki-search-page .nukimeki-search-form__button:hover,
.nukimeki-search-page .nukimeki-search-form__button:focus-visible,
.nukimeki-not-found-page .nukimeki-search-form__button:hover,
.nukimeki-not-found-page .nukimeki-search-form__button:focus-visible {
  background: #b81745;
  border-color: var(--nk-color-accent-soft);
  transform: translateY(-1px);
}

.nukimeki-search-page .nukimeki-search-empty {
  background:
    linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
    var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 14px;
  color: var(--nk-color-text);
  padding: clamp(24px, 4vw, 40px);
  text-align: center;
}

.nukimeki-search-page .nukimeki-search-empty p {
  font-size: clamp(19px, 2vw, 24px);
  font-weight: 700;
  line-height: 1.6;
  margin: 0 0 8px;
}

.nukimeki-search-page .nukimeki-search-empty span {
  color: var(--nk-color-muted);
  display: block;
  line-height: 1.8;
}

.nukimeki-search-page .nukimeki-search-empty__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 24px;
}

.nukimeki-search-page .nukimeki-search-empty__links a {
  align-items: center;
  border: 1px solid var(--nk-color-line-strong);
  border-radius: 999px;
  color: rgba(255,255,255,.78);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  min-height: 42px;
  min-width: 150px;
  padding: 10px 18px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.nukimeki-search-page .nukimeki-search-empty__links a:hover,
.nukimeki-search-page .nukimeki-search-empty__links a:focus-visible {
  background: rgba(233,37,97,.08);
  border-color: rgba(233,37,97,.68);
  color: var(--nk-color-accent-soft);
  transform: translateY(-1px);
}

body:has(.nukimeki-lower-page),
body:has(.nukimeki-review-list-page),
body:has(.nukimeki-lower-page) #container,
body:has(.nukimeki-review-list-page) #container,
body:has(.nukimeki-lower-page) #container-in,
body:has(.nukimeki-review-list-page) #container-in,
body:has(.nukimeki-lower-page) #content,
body:has(.nukimeki-lower-page) #main,
body:has(.nukimeki-lower-page) .entry-content,
body:has(.nukimeki-review-list-page) .entry-content {
  background: var(--nk-color-bg);
  border: 0;
  box-shadow: none;
}

body:has(.nukimeki-lower-page) #content,
body:has(.nukimeki-lower-page) #main,
body:has(.nukimeki-lower-page) .entry-content,
body:has(.nukimeki-review-list-page) .entry-content {
  padding-left: 0;
  padding-right: 0;
}

body:has(.nukimeki-review-list-page) #content {
  background: var(--nk-color-bg);
  border: 0;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
  margin-top: 0;
}

body:has(.nukimeki-review-list-page) #main {
  background: var(--nk-color-bg);
  border: 0;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}

body:has(.nukimeki-about-page) #content,
body:has(.nukimeki-ad-policy-page) #content,
body:has(.nukimeki-privacy-policy-page) #content,
body:has(.nukimeki-contact-page) #content {
  margin-top: 0;
}

body:has(.nukimeki-about-page) #main,
body:has(.nukimeki-ad-policy-page) #main,
body:has(.nukimeki-privacy-policy-page) #main,
body:has(.nukimeki-contact-page) #main {
  padding-top: 0;
}

body:has(.nukimeki-about-page) .entry-content,
body:has(.nukimeki-ad-policy-page) .entry-content,
body:has(.nukimeki-privacy-policy-page) .entry-content,
body:has(.nukimeki-contact-page) .entry-content {
  margin-top: 0;
}

body:has(.nukimeki-about-page) .entry-content,
body:has(.nukimeki-ad-policy-page) .entry-content,
body:has(.nukimeki-privacy-policy-page) .entry-content,
body:has(.nukimeki-contact-page) .entry-content {
  margin-bottom: 36px;
}

body:has(.nukimeki-lower-page) .sidebar,
body:has(.nukimeki-review-list-page) .sidebar,
body:has(.nukimeki-lower-page) .entry-title,
body:has(.nukimeki-review-list-page) .entry-title,
body:has(.nukimeki-lower-page) .sns-share,
body:has(.nukimeki-review-list-page) .sns-share,
body:has(.nukimeki-lower-page) .date-tags,
body:has(.nukimeki-review-list-page) .date-tags,
body:has(.nukimeki-lower-page) .breadcrumb,
body:has(.nukimeki-review-list-page) .breadcrumb,
body:has(.nukimeki-lower-page) .toc,
body:has(.nukimeki-review-list-page) .toc,
body:has(.nukimeki-lower-page) .sns-follow,
body:has(.nukimeki-review-list-page) .sns-follow {
  display: none;
}

/************************************
** レビュー記事 Cocoon外枠調整
************************************/
body.nukimeki-review-post-body,
body.nukimeki-review-post-body #container,
body.nukimeki-review-post-body #container-in,
body.nukimeki-review-post-body .container,
body.nukimeki-review-post-body .container-in,
body.nukimeki-review-post-body .main,
body.nukimeki-review-post-body .main-in,
body.nukimeki-review-post-body .article {
  background: #050508;
  border: 0;
  box-shadow: none;
  color: var(--nk-color-text);
}

body.nukimeki-review-post-body .main,
body.nukimeki-review-post-body .main-in {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}

body.nukimeki-review-post-body #content {
  background: #050508;
  border: 0;
  box-shadow: none;
  color: var(--nk-color-text);
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  margin-top: 0;
}

body.nukimeki-review-post-body #main {
  background: #050508;
  border: 0;
  box-shadow: none;
  color: var(--nk-color-text);
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  padding-top: 0;
}

body.nukimeki-review-post-body .article {
  border-radius: 0;
  margin: 0 auto;
  max-width: none;
  padding: 0;
  width: 100%;
}

body.nukimeki-review-post-body .entry-title {
  color: var(--nk-color-text);
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: clamp(24px, 2.7vw, 36px);
  letter-spacing: .01em;
  line-height: 1.3;
  margin: 0 auto;
  max-width: var(--nk-width-content);
  padding: 40px 24px 14px;
  width: min(100%, 1040px);
}

body.nukimeki-review-post-body .entry-title::before {
  color: var(--nk-color-accent-soft);
  content: "REVIEW";
  display: block;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1;
  margin-bottom: 16px;
}

body.nukimeki-review-post-body .nukimeki-review-title__main {
  display: block;
}



body.nukimeki-review-post-body .entry-content {
  background: #050508;
  border: 0;
  box-shadow: none;
  color: var(--nk-color-text);
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  margin-top: 0;
}



body.nukimeki-review-post-body .nukimeki-review-jump-nav {
  border-bottom: 1px solid rgba(255,255,255,.10);
  border-top: 1px solid rgba(255,255,255,.10);
  display: grid;
  gap: 12px;
  margin: 28px 0 34px;
  padding: 16px 0;
}

body.nukimeki-review-post-body .nukimeki-review-jump-nav__label {
  color: rgba(247,241,244,.64);
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.4;
}

body.nukimeki-review-post-body .nukimeki-review-jump-nav__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}



body.nukimeki-review-post-body .nukimeki-review-jump-nav__links a:hover,
body.nukimeki-review-post-body .nukimeki-review-jump-nav__links a:focus-visible {
  background: rgba(233,37,97,.12);
  border-color: rgba(233,37,97,.66);
  color: #fff;
  transform: translateY(-1px);
}

body.nukimeki-review-post-body .nukimeki-review-article #nukimeki-review-info-title,
body.nukimeki-review-post-body .nukimeki-review-article #nukimeki-review-axis-title,
body.nukimeki-review-post-body .nukimeki-review-article #nukimeki-review-point-title,
body.nukimeki-review-post-body .nukimeki-review-article #nukimeki-review-summary-title {
  scroll-margin-top: 24px;
}

body.nukimeki-review-post-body .sidebar,
body.nukimeki-review-post-body .sidebar-scroll {
  display: none;
}

body.nukimeki-review-post-body .entry-categories-tags,
body.nukimeki-review-post-body .related-entry-heading,
body.nukimeki-review-post-body .related-list {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--nk-width-prose);
  width: min(calc(100% - 64px), 920px);
}

body.nukimeki-review-post-body .entry-categories-tags {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.nukimeki-review-post-body .entry-categories-tags > div {
  display: contents;
  margin-bottom: 0;
}

body.nukimeki-review-post-body .entry-categories-tags .cat-link,
body.nukimeki-review-post-body .entry-categories-tags .tag-link {
  align-items: center;
  display: inline-flex;
  min-height: 44px;
  padding: 8px 12px;
}

body.nukimeki-review-post-body .related-entry-heading,
body.nukimeki-review-post-body .related-list h2 {
  color: rgba(247,241,244,.9);
}



body.nukimeki-review-post-body .related-entry-card-wrap:hover,
body.nukimeki-review-post-body .related-entry-card-wrap:focus-visible {
  background: rgba(233,37,97,.115);
  color: rgba(247,241,244,.86);
  box-shadow: 0 20px 46px rgba(0,0,0,.30), 0 0 0 1px rgba(233,37,97,.34);
}

body.nukimeki-review-post-body .cat-link,
body.nukimeki-review-post-body .tag-link,
body.nukimeki-review-post-body .related-entry-card .cat-label {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.20);
  color: rgba(247,241,244,.82);
}

body.nukimeki-review-post-body .cat-link:hover,
body.nukimeki-review-post-body .tag-link:hover {
  background: rgba(233,37,97,.14);
  border-color: rgba(233,37,97,.48);
  color: #fff;
  opacity: 1;
}



body.nukimeki-review-post-body .related-entry-card-thumb img,
body.nukimeki-review-post-body .related-entry-card-thumb.card-thumb img,
body.nukimeki-review-post-body .related-entry-card-thumb .card-thumb-image {
  aspect-ratio: auto;
  display: block;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
  width: 100%;
}

body.nukimeki-review-post-body .related-entry-card-thumb:has(.no-image) {
  align-items: center;
  aspect-ratio: 16 / 9;
  background:
    linear-gradient(135deg, rgba(233,37,97,.08), rgba(255,255,255,.018) 48%, rgba(255,255,255,0)),
    var(--nk-color-bg);
  display: flex;
  justify-content: center;
  padding: 20px;
}

body.nukimeki-review-post-body .related-entry-card-thumb img.no-image,
body.nukimeki-review-post-body .related-entry-card-thumb.card-thumb img.no-image {
  height: auto;
  margin: 0 auto;
  max-height: 84px;
  max-width: min(90%, 300px);
  mix-blend-mode: screen;
  object-fit: contain;
  opacity: .98;
  width: auto;
}

body.nukimeki-review-post-body .related-entry-card-title,
body.nukimeki-review-post-body .related-entry-card-title a {
  color: rgba(247,241,244,.9);
  font-weight: 800;
  line-height: 1.55;
}

body.nukimeki-review-post-body .related-entry-card-snippet,
body.nukimeki-review-post-body .related-entry-snippet,
body.nukimeki-review-post-body .related-entry-card-content {
  color: rgba(247,241,244,.62);
  line-height: 1.7;
  transition: background-color .2s ease, box-shadow .2s ease, color .2s ease;
}

body.nukimeki-review-post-body .related-entry-card-content {
  display: block;
  text-decoration: none;
}

body.nukimeki-review-post-body .related-entry-card:hover .related-entry-card-content,
body.nukimeki-review-post-body .related-entry-card-wrap:hover .related-entry-card-content,
body.nukimeki-review-post-body .related-entry-card-wrap:focus-visible .related-entry-card-content {
  background:
    linear-gradient(90deg, rgba(233,37,97,.46), rgba(233,37,97,0) 7px),
    linear-gradient(180deg, rgba(233,37,97,.105), rgba(233,37,97,.032));
  box-shadow: inset 1px 0 0 rgba(233,37,97,.36);
  color: rgba(247,241,244,.76);
}

body.nukimeki-review-post-body .related-entry-card-date,
body.nukimeki-review-post-body .related-entry-card-meta,
body.nukimeki-review-post-body .related-entry-card-category {
  color: rgba(247,241,244,.5);
}

body.nukimeki-review-post-body .related-entry-card:hover .related-entry-card-title,
body.nukimeki-review-post-body .related-entry-card:hover .related-entry-card-title a,
body.nukimeki-review-post-body .related-entry-card-wrap:hover .related-entry-card-title,
body.nukimeki-review-post-body .related-entry-card-wrap:hover .related-entry-card-title a {
  color: #fff;
}

@media screen and (max-width: 767px) {
  body.nukimeki-review-post-body .entry-title {
    font-size: clamp(20px, 5.4vw, 26px);
    letter-spacing: 0;
    line-height: 1.24;
    padding: 22px 16px 6px;
    width: 100%;
  }

  body.nukimeki-review-post-body .entry-title::before {
    font-size: 13px;
    margin-bottom: 10px;
  }

  body.nukimeki-review-post-body .nukimeki-review-title__sub {
    font-size: .55em;
    line-height: 1.45;
    margin-top: 6px;
  }

  body.nukimeki-review-post-body .nukimeki-review-article {
    padding: 14px 16px 60px;
  }
}

/* Rating guide completion: neutral comparison surfaces with rose identifiers. */
.nukimeki-lower-page.nukimeki-rating-page .nukimeki-rating-policy-card,
.nukimeki-lower-page.nukimeki-rating-page .nukimeki-rating-axis-card,
.nukimeki-lower-page.nukimeki-rating-page .nukimeki-rating-note__body,
.nukimeki-lower-page.nukimeki-rating-page .nukimeki-rating-point__body,
.nukimeki-lower-page.nukimeki-rating-page .nukimeki-rating-cta__body {
  border-radius: 0;
  box-shadow: none;
}







/************************************
** レビューの見方ページ
************************************/
.nukimeki-rating-page {
  padding-bottom: 72px;
}

.nukimeki-rating-page .nukimeki-rating-section {
  border-bottom: 1px solid rgba(255,255,255,.04);
  margin-left: auto;
  margin-right: auto;
  padding-bottom: var(--nk-space-section);
  padding-top: var(--nk-space-section);
  width: min(calc(100% - 64px), var(--nk-width-content));
}



.nukimeki-rating-page .nukimeki-rating-hero__inner {
  max-width: var(--nk-width-prose);
}

.nukimeki-rating-page .nukimeki-rating-page__eyebrow {
  color: var(--nk-color-accent-soft);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .10em;
  line-height: 1.5;
  margin: 0 0 12px;
}

.nukimeki-rating-page .nukimeki-rating-section__title {
  color: var(--nk-color-text);
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.35;
  margin: 0;
}



.nukimeki-rating-page .nukimeki-rating-hero__text,
.nukimeki-rating-page .nukimeki-rating-scale-card p {
  color: var(--nk-color-muted);
}

.nukimeki-rating-page .nukimeki-rating-hero__text {
  font-size: clamp(15px, 1.25vw, 16px);
  letter-spacing: .01em;
  line-height: 1.85;
  margin: 14px 0 0;
  max-width: var(--nk-width-prose);
}

.nukimeki-rating-page .nukimeki-rating-nowrap {
  white-space: nowrap;
}

.nukimeki-rating-page .nukimeki-rating-sp-break {
  display: none;
}

.nukimeki-rating-page .nukimeki-rating-section:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
}

.nukimeki-rating-page .nukimeki-rating-policy {
  padding-top: clamp(40px, 4vw, 56px);
}

.nukimeki-rating-page .nukimeki-rating-section__head {
  margin-bottom: 22px;
  max-width: var(--nk-width-prose);
}

.nukimeki-rating-page .nukimeki-rating-section__label {
  margin-bottom: 16px;
}

.nukimeki-rating-page .nukimeki-rating-section__title {
  font-size: clamp(24px, 3vw, 34px);
}



.nukimeki-rating-page .nukimeki-rating-policy__grid {
  display: grid;
  gap: 18px;
}

.nukimeki-rating-page .nukimeki-rating-policy__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}



.nukimeki-rating-page .nukimeki-rating-body-guide__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nukimeki-rating-page .nukimeki-rating-scale__grid {
  border: 1px solid rgba(255,255,255,.13);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
}

.nukimeki-rating-page .nukimeki-rating-policy-card,
.nukimeki-rating-page .nukimeki-rating-body-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)),
    var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 10px;
  color: var(--nk-color-text);
}

.nukimeki-rating-page .nukimeki-rating-policy-card {
  min-height: 100%;
  padding: 24px;
}
.nukimeki-rating-page .nukimeki-rating-axis-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)),
    var(--nk-color-surface);
  border-color: rgba(255,255,255,.13);
  border: 1px solid var(--nk-color-line);
  border-radius: 10px;
  color: var(--nk-color-text);
  min-height: 100%;
  padding: 24px;
}

.nukimeki-rating-page .nukimeki-rating-body-card {
  min-height: 100%;
  padding: 24px;
}

.nukimeki-rating-page .nukimeki-rating-policy-card__mark {
  align-items: center;
  color: var(--nk-color-accent-soft);
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: .08em;
  line-height: 1;
  margin-bottom: 14px;
}

.nukimeki-rating-page .nukimeki-rating-policy-card__mark::before,
.nukimeki-rating-page .nukimeki-rating-axis-card__num::before {
  background: rgba(233,37,97,.92);
  border-radius: 999px;
  content: "";
  height: 8px;
  width: 8px;
}

.nukimeki-rating-page .nukimeki-rating-card__title,
.nukimeki-rating-page .nukimeki-rating-scale-card h3 {
  color: var(--nk-color-text);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55;
  margin: 0;
}

.nukimeki-rating-page .nukimeki-rating-axis-card .nukimeki-rating-card__title {
  display: grid;
  gap: 5px;
  line-height: 1.45;
}

.nukimeki-rating-page .nukimeki-rating-body-card .nukimeki-rating-card__title {
  display: grid;
  gap: 5px;
  line-height: 1.45;
}



.nukimeki-rating-page .nukimeki-rating-axis-card__name {
  color: var(--nk-color-text);
  display: block;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .01em;
}

.nukimeki-rating-page .nukimeki-rating-body-card__catch {
  color: var(--nk-color-accent-soft);
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.35;
}

.nukimeki-rating-page .nukimeki-rating-body-card__name {
  color: var(--nk-color-text);
  display: block;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .01em;
}

.nukimeki-rating-page .nukimeki-rating-body-card p {
  font-size: 14px;
  line-height: 1.8;
  margin: 12px 0 0;
}

.nukimeki-rating-page .nukimeki-rating-scale-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  border-right: 1px solid rgba(255,255,255,.13);
  box-shadow: none;
  min-height: 132px;
  padding: 18px 16px;
}

.nukimeki-rating-page .nukimeki-rating-scale-card:last-child {
  border-right: 0;
}



.nukimeki-rating-page .nukimeki-rating-scale-card h3 {
  font-size: 16px;
  line-height: 1.45;
}

.nukimeki-rating-page .nukimeki-rating-scale-card p {
  font-size: 14px;
  line-height: 1.6;
  margin: 6px 0 0;
}

.nukimeki-rating-page .nukimeki-rating-body-scale__grid {
  border: 1px solid rgba(255,255,255,.13);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
}

.nukimeki-rating-page .nukimeki-rating-body-scale-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  border-right: 1px solid rgba(255,255,255,.13);
  box-shadow: none;
  min-height: 132px;
  padding: 18px 16px;
}

.nukimeki-rating-page .nukimeki-rating-body-scale-card:last-child {
  border-right: 0;
}

.nukimeki-rating-page .nukimeki-rating-body-scale-card > span {
  color: var(--nk-color-accent-soft);
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  margin-bottom: 6px;
}

.nukimeki-rating-page .nukimeki-rating-body-scale-card h3 {
  color: var(--nk-color-text);
  font-size: 16px;
  line-height: 1.45;
  margin: 0;
}

.nukimeki-rating-page .nukimeki-rating-body-scale-card p {
  color: var(--nk-color-muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 6px 0 0;
}

.nukimeki-rating-page .nukimeki-rating-scale__label {
  font-size: 13px;
  margin-bottom: 8px;
}

.nukimeki-rating-page .nukimeki-rating-supplement__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}



.nukimeki-rating-page .nukimeki-rating-note__body {
  background: rgba(18,18,22,.82);
  border: 1px solid var(--nk-color-line);
  border-radius: 10px;
  color: var(--nk-color-text);
  padding: clamp(22px, 2.4vw, 28px);
  border-color: rgba(255,255,255,.10);
  min-height: 100%;
}

.nukimeki-rating-page .nukimeki-rating-note__body .nukimeki-rating-section__title,
.nukimeki-rating-page .nukimeki-rating-point__body .nukimeki-rating-section__title {
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 700;
  letter-spacing: .01em;
}



.nukimeki-rating-page .nukimeki-rating-note__body .nukimeki-rating-section__title + p,
.nukimeki-rating-page .nukimeki-rating-point__body .nukimeki-rating-section__title + p {
  margin-top: 18px;
}

.nukimeki-rating-page .nukimeki-rating-note__body p,
.nukimeki-rating-page .nukimeki-rating-point__body p {
  color: rgba(255,255,255,.72);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.85;
}

.nukimeki-rating-page .nukimeki-rating-point__body {
  background: rgba(28,17,24,.82);
  border: 1px solid var(--nk-color-line);
  border-radius: 10px;
  color: var(--nk-color-text);
  padding: clamp(22px, 2.4vw, 28px);
  border-color: rgba(233,37,97,.10);
  min-height: 100%;
  box-shadow: inset 3px 0 0 rgba(233,37,97,.18);
}

.nukimeki-rating-page .nukimeki-rating-cta__body {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)),
    var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 10px;
  color: var(--nk-color-text);
  padding: clamp(24px, 3vw, 34px);
  text-align: left;
}

.nukimeki-rating-page .nukimeki-rating-cta__links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}







.nukimeki-rating-page .nukimeki-rating-button:hover,
.nukimeki-rating-page .nukimeki-rating-button:focus-visible,
.nukimeki-rating-page .nukimeki-rating-link:hover,
.nukimeki-rating-page .nukimeki-rating-link:focus-visible {
  border-color: var(--nk-color-accent);
  color: var(--nk-color-accent-soft);
  transform: translateY(-1px);
}

.nukimeki-rating-page .nukimeki-rating-button:hover,
.nukimeki-rating-page .nukimeki-rating-button:focus-visible {
  background: rgba(233,37,97,.16);
}

body:has(.nukimeki-rating-page) #content {
  margin-top: 0;
}

body:has(.nukimeki-rating-page) #main {
  padding-top: 0;
}

@media screen and (max-width: 1023px) {
  .nukimeki-lower-page .nukimeki-lower-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter {
    grid-template-columns: 1fr;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter__heading {
    align-self: start;
  }

  .nukimeki-rating-page .nukimeki-rating-policy__grid,
  .nukimeki-rating-page .nukimeki-rating-axis__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media screen and (max-width: 640px) {
  .nukimeki-lower-page,
  .nukimeki-review-list-page {
    padding-bottom: 52px;
  }

  .nukimeki-lower-page .nukimeki-lower-section,
.nukimeki-lower-page .nukimeki-lower-links {
    width: calc(100% - 32px);
  }


  .nukimeki-about-page .nukimeki-lower-hero,
  .nukimeki-ad-policy-page .nukimeki-lower-hero,
  .nukimeki-privacy-policy-page .nukimeki-lower-hero,
  .nukimeki-contact-page .nukimeki-lower-hero {
    padding-bottom: 34px;
    padding-top: 40px;
  }

  .nukimeki-lower-page .nukimeki-lower-hero__title {
    line-break: strict;
    word-break: keep-all;
  }

  .nukimeki-not-found-page .nukimeki-lower-hero__title > span {
    display: block;
  }

  .nukimeki-about-page .nukimeki-lower-hero__title,
  .nukimeki-ad-policy-page .nukimeki-lower-hero__title,
  .nukimeki-privacy-policy-page .nukimeki-lower-hero__title,
  .nukimeki-contact-page .nukimeki-lower-hero__title {
    letter-spacing: 0;
    line-height: 1.32;
    max-width: 100%;
  }

  .nukimeki-lower-page .nukimeki-lower-section {
    padding-top: 40px;
  }

  .nukimeki-about-page .nukimeki-lower-section,
  .nukimeki-ad-policy-page .nukimeki-lower-section,
  .nukimeki-privacy-policy-page .nukimeki-lower-section,
  .nukimeki-contact-page .nukimeki-lower-section {
    padding-top: 26px;
  }

  .nukimeki-about-page .nukimeki-about-card-grid,
  .nukimeki-about-page .nukimeki-about-note-grid,
  .nukimeki-ad-policy-page .nukimeki-ad-policy-card-grid {
    gap: 16px;
    grid-template-columns: 1fr;
  }

  .nukimeki-about-page .nukimeki-about-content,
  .nukimeki-about-page .nukimeki-about-card,
  .nukimeki-about-page .nukimeki-about-note,
  .nukimeki-about-page .nukimeki-about-message,
  .nukimeki-ad-policy-page .nukimeki-ad-policy-content,
  .nukimeki-ad-policy-page .nukimeki-ad-policy-card,
  .nukimeki-ad-policy-page .nukimeki-ad-policy-note,
  .nukimeki-privacy-policy-page .nukimeki-privacy-policy-content,
  .nukimeki-contact-page .nukimeki-contact-card {
    padding: 18px;
  }

  .nukimeki-about-page .nukimeki-about-content p,
  .nukimeki-about-page .nukimeki-about-note p,
  .nukimeki-about-page .nukimeki-about-message span,
  .nukimeki-ad-policy-page .nukimeki-ad-policy-content p,
  .nukimeki-ad-policy-page .nukimeki-ad-policy-card p,
  .nukimeki-ad-policy-page .nukimeki-ad-policy-note p,
  .nukimeki-privacy-policy-page .nukimeki-privacy-policy-content p {
    font-size: 14px;
    line-height: 1.85;
  }

  .nukimeki-about-page .nukimeki-about-card h3,
  .nukimeki-about-page .nukimeki-about-note h3,
  .nukimeki-ad-policy-page .nukimeki-ad-policy-card h3 {
    font-size: 17px;
  }

  .nukimeki-about-page .nukimeki-about-message {
    margin-top: 30px;
    width: calc(100% - 32px);
  }

  .nukimeki-contact-page .wpcf7 textarea {
    height: 190px;
    min-height: 170px;
  }

  .nukimeki-contact-page .wpcf7 input[type="submit"] {
    max-width: none;
    width: 100%;
  }



  .nukimeki-review-list-page .nukimeki-nuita-archive-nav {
    gap: 12px;
    padding: 14px;
  }

  .nukimeki-review-list-page .nukimeki-nuita-archive-nav__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    padding-bottom: 14px;
  }

  .nukimeki-review-list-page .nukimeki-nuita-archive-nav__copy {
    gap: 7px;
  }

  .nukimeki-review-list-page .nukimeki-nuita-archive-nav__copy p {
    line-height: 1.55;
  }

  .nukimeki-review-list-page .nukimeki-nuita-archive-nav__section {
    gap: 10px;
    padding: 12px;
  }

  .nukimeki-review-list-page .nukimeki-nuita-archive-nav__group,
  .nukimeki-review-list-page .nukimeki-nuita-archive-nav__years {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nukimeki-review-list-page .nukimeki-nuita-archive-nav__chip,
  .nukimeki-review-list-page .nukimeki-nuita-archive-nav__year {
    justify-content: space-between;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
  }

  .nukimeki-review-list-page .nukimeki-nuita-archive-nav__year {
    min-height: 52px;
  }

  .nukimeki-review-list-page .nukimeki-nuita-archive-nav__chip {
    min-height: 42px;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter {
    gap: 9px;
    margin-top: 18px;
  }


  .nukimeki-review-list-page .nukimeki-review-list-filter__items .nukimeki-review-list-filter__button:nth-child(1) {
    grid-column: 1 / -1;
  }

  .nukimeki-lower-page .nukimeki-lower-card-grid {
    gap: 16px;
    grid-template-columns: 1fr;
  }

  .nukimeki-lower-page .nukimeki-lower-card {
    padding: 18px;
  }

  .nukimeki-review-list-page .nukimeki-review-list-card__meta {
    align-items: center;
    flex-direction: row;
    gap: 10px;
    justify-content: space-between;
  }

  .nukimeki-review-list-page .nukimeki-review-list-card__excerpt {
    -webkit-line-clamp: 2;
  }

  .nukimeki-search-page .nukimeki-lower-hero {
    border-bottom: 0;
    padding-bottom: 34px;
    padding-top: 40px;
  }

  .nukimeki-search-page .nukimeki-lower-hero__title {
    letter-spacing: 0;
    line-height: 1.32;
    max-width: 100%;
  }

  .nukimeki-search-page .nukimeki-search-section {
    padding-top: 8px;
    width: calc(100% - 32px);
  }

  .nukimeki-search-page .nukimeki-search-results {
    padding-top: 22px;
  }

  .nukimeki-search-page .nukimeki-search-form,
  .nukimeki-not-found-page .nukimeki-search-form {
    gap: 10px;
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .nukimeki-search-page .nukimeki-search-form__button,
  .nukimeki-not-found-page .nukimeki-search-form__button {
    width: 100%;
  }

  .nukimeki-search-page .nukimeki-search-empty {
    padding: 22px 18px;
  }

  .nukimeki-search-page .nukimeki-search-empty__links {
    flex-direction: column;
    gap: 10px;
  }

  .nukimeki-search-page .nukimeki-search-empty__links a {
    width: 100%;
  }

  body.nukimeki-review-post-body .nukimeki-review-jump-nav {
    gap: 10px;
    margin: 24px 0 30px;
    padding: 14px 0;
  }

  body.nukimeki-review-post-body .nukimeki-review-jump-nav__links {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.nukimeki-review-post-body .nukimeki-review-jump-nav__links a {
    font-size: 12px;
    min-height: 44px;
    padding: 8px 10px;
    width: 100%;
  }

  body.nukimeki-review-post-body .entry-categories-tags,
  body.nukimeki-review-post-body .related-entry-heading,
  body.nukimeki-review-post-body .related-list {
    width: calc(100% - 32px);
  }

  body.nukimeki-review-post-body .related-list {
    flex-direction: column;
    row-gap: 16px;
  }

  body.nukimeki-review-post-body .related-entry-card-wrap {
    padding: 0;
    width: 100%;
  }

  .nukimeki-lower-page .nukimeki-lower-links {
    align-items: stretch;
    flex-direction: column;
    padding-top: 22px;
  }

  .nukimeki-lower-page .nukimeki-lower-button,
  .nukimeki-lower-page .nukimeki-lower-link {
    width: 100%;
  }

  .nukimeki-rating-page {
    padding-bottom: 52px;
  }

  .nukimeki-rating-page .nukimeki-rating-section {
    width: calc(100% - 32px);
  }


  .nukimeki-rating-page .nukimeki-rating-hero__title {
    line-height: 1.32;
    max-width: 100%;
  }

  .nukimeki-rating-page .nukimeki-rating-hero__text,
  .nukimeki-rating-page .nukimeki-rating-section__text {
    margin-top: 12px;
  }

  .nukimeki-rating-page .nukimeki-rating-policy__break {
    display: none;
  }

  .nukimeki-rating-page .nukimeki-rating-sp-break {
    display: block;
  }

  .nukimeki-rating-page .nukimeki-rating-section {
    padding-top: 40px;
  }

  .nukimeki-rating-page .nukimeki-rating-policy {
    padding-top: 32px;
  }

  .nukimeki-rating-page .nukimeki-rating-section__head {
    margin-bottom: 18px;
  }

  .nukimeki-rating-page .nukimeki-rating-policy__grid,
  .nukimeki-rating-page .nukimeki-rating-axis__grid,
  .nukimeki-rating-page .nukimeki-rating-supplement__grid {
    gap: 14px;
    grid-template-columns: 1fr;
  }

  .nukimeki-rating-page .nukimeki-rating-scale__grid {
    gap: 0;
    grid-template-columns: 1fr;
  }

  .nukimeki-rating-page .nukimeki-rating-policy-card,
.nukimeki-rating-page .nukimeki-rating-axis-card,
.nukimeki-rating-page .nukimeki-rating-note__body,
.nukimeki-rating-page .nukimeki-rating-point__body,
.nukimeki-rating-page .nukimeki-rating-cta__body {
    padding: 18px;
  }

  .nukimeki-rating-page .nukimeki-rating-card__title,
  .nukimeki-rating-page .nukimeki-rating-scale-card h3 {
    font-size: 17px;
  }


  .nukimeki-rating-page .nukimeki-rating-scale-card:last-child {
    border-bottom: 0;
  }

  .nukimeki-rating-page .nukimeki-rating-scale-card h3 {
    font-size: 16px;
  }

  .nukimeki-rating-page .nukimeki-rating-scale-card p {
    line-height: 1.65;
  }

  .nukimeki-rating-page .nukimeki-rating-cta__links {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .nukimeki-rating-page .nukimeki-rating-button,
  .nukimeki-rating-page .nukimeki-rating-link {
    width: 100%;
  }

  .nukimeki-rating-page .nukimeki-rating-axis-card {
    padding: 16px;
  }

  .nukimeki-rating-page .nukimeki-rating-axis-card__catch {
    font-size: 10.5px;
  }
}

.nukimeki-review-article {
  color: var(--nk-color-text);
  font-size: 17px;
  line-height: 1.9;
  margin: 0 auto;
  max-width: var(--nk-width-prose);
  width: 100%;
}

.nukimeki-review-article *,
.nukimeki-review-article *::before,
.nukimeki-review-article *::after {
  box-sizing: border-box;
}

.nukimeki-review-article a {
  color: inherit;
}

.nukimeki-review-article p,
.nukimeki-review-article ul,
.nukimeki-review-article ol {
  margin: 0 0 1.35em;
}

.nukimeki-review-article__pr {
  border-top: 1px solid rgba(255,255,255,.10);
  color: rgba(247,241,244,.52);
  font-size: 12px;
  letter-spacing: .04em;
  line-height: 1.6;
  margin: 28px 0 22px;
  padding-top: 16px;
  text-align: right;
}

.nukimeki-review-article__lead {
  color: rgba(247,241,244,.82);
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 400;
  letter-spacing: .015em;
  line-height: 1.95;
  margin: 30px 0 24px;
  max-width: var(--nk-width-prose);
}

.nukimeki-review-article__lead p:last-child,
.nukimeki-review-article__section p:last-child,
.nukimeki-review-article__point p:last-child {
  margin-bottom: 0;
}

.nukimeki-affiliate-cta-disabled .nukimeki-review-article__final-cta-wrap {
  display: none !important;
}

.article .nukimeki-review-article h2,
.nukimeki-review-article h2 {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
  border-left: 4px solid var(--nk-color-accent);
  border-radius: 0;
  color: var(--nk-color-text);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1.35;
  margin: 0 0 22px;
  padding: 0 0 14px 18px;
}

.article .nukimeki-review-article h2::before,
.article .nukimeki-review-article h2::after,
.nukimeki-review-article h2::before,
.nukimeki-review-article h2::after {
  background: none;
  border: 0;
  box-shadow: none;
  content: none;
  display: none;
}

.nukimeki-review-article h3 {
  align-items: baseline;
  color: var(--nk-color-text);
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(19px, 2vw, 24px);
  gap: 8px 12px;
  letter-spacing: .02em;
  line-height: 1.5;
  margin: 34px 0 14px;
}

.nukimeki-review-article h3:first-of-type {
  margin-top: 0;
}

.nukimeki-review-article__section--axis {
  display: grid;
  gap: 18px;
}

.nukimeki-review-article__section--axis > h2 {
  margin-bottom: 6px;
}

.nukimeki-review-article__body-layer {
  background: var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 16px;
  color: var(--nk-color-text);
  margin: 34px 0;
  padding: 22px 24px;
}

.nukimeki-review-article__body-layer > h2 {
  color: var(--nk-color-text);
  font-size: 18px;
  letter-spacing: .12em;
  margin: 0 0 16px;
  text-align: center;
}

.nukimeki-review-article__body-rows {
  display: grid;
  gap: 0;
}

.nukimeki-review-article__body-row {
  align-items: center;
  border-top: 1px solid var(--nk-color-line);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 12px 0;
}

.nukimeki-review-article__body-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.nukimeki-review-article__body-row:last-child {
  padding-bottom: 0;
}

.nukimeki-review-article__body-name {
  color: var(--nk-color-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}

.nukimeki-review-article__body-grade {
  align-items: center;
  background: var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 999px;
  color: var(--nk-color-text);
  display: inline-flex;
  font-size: 16px;
  font-weight: 900;
  justify-content: center;
  min-width: 42px;
  padding: 5px 10px;
}



.nukimeki-review-axis-detail__body p:last-child,
.nukimeki-review-axis-detail__body ul:last-child,
.nukimeki-review-axis-detail__body ol:last-child {
  margin-bottom: 0;
}

.nukimeki-review-axis-detail__head {
  align-items: center;
  border-left: 3px solid var(--nk-color-accent);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0 0 14px;
  padding-left: 16px;
}

.nukimeki-review-axis-detail__title {
  color: var(--nk-color-text);
  margin: 0;
  min-width: 0;
}

.nukimeki-review-axis-detail__main,
.nukimeki-review-axis-detail__sub {
  display: inline;
}

.nukimeki-review-axis-detail__main {
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 850;
  line-height: 1.45;
}

.nukimeki-review-axis-detail__sub {
  color: rgba(247,241,244,.88);
  font-size: clamp(16px, 1.55vw, 20px);
  font-weight: 800;
  line-height: 1.45;
}

.nukimeki-review-axis-detail__score {
  align-items: center;
  background: rgba(233,37,97,.08);
  border: 1px solid rgba(233,37,97,.28);
  border-radius: 999px;
  color: var(--nk-color-accent-soft);
  display: inline-flex;
  font-size: 14px;
  font-weight: 900;
  justify-content: center;
  letter-spacing: .02em;
  min-width: 58px;
  padding: 5px 11px;
  white-space: nowrap;
}





.article .nukimeki-review-article__info-table,
.nukimeki-review-article__info-table {
  border-collapse: collapse;
  color: rgba(247,241,244,.78);
  font-size: 15px;
  margin: 0;
  width: 100%;
}

.article .nukimeki-review-article__info-table,
.article .nukimeki-review-article__info-table tbody,
.article .nukimeki-review-article__info-table tr,
.article .nukimeki-review-article__info-table tr:nth-of-type(2n+1),
.article .nukimeki-review-article__info-table tr:nth-of-type(2n),
.nukimeki-review-article__info-table tbody,
.nukimeki-review-article__info-table tr,
.nukimeki-review-article__info-table tr:nth-of-type(2n+1),
.nukimeki-review-article__info-table tr:nth-of-type(2n) {
  background: transparent;
  background-color: transparent;
}



.article .nukimeki-review-article__info-table tr:last-child th,
.article .nukimeki-review-article__info-table tr:last-child td,
.nukimeki-review-article__info-table tr:last-child th,
.nukimeki-review-article__info-table tr:last-child td {
  border-bottom: 0;
}

.article .nukimeki-review-article__info-table th {
  background: transparent;
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: var(--nk-color-accent-soft);
  padding: 13px 16px;
  text-align: left;
  vertical-align: top;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  white-space: nowrap;
  width: 8.5em;
}
.nukimeki-review-article__info-table th {
  background: transparent;
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: var(--nk-color-accent-soft);
  padding: 13px 16px;
  text-align: left;
  vertical-align: top;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  white-space: nowrap;
  width: 8.5em;
}

.article .nukimeki-review-article__info-table td {
  background: transparent;
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: rgba(247,241,244,.88);
  padding: 13px 16px;
  text-align: left;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.8;
  overflow-wrap: anywhere;
  word-break: normal;
}
.nukimeki-review-article__info-table td {
  background: transparent;
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: rgba(247,241,244,.88);
  padding: 13px 16px;
  text-align: left;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.8;
  overflow-wrap: anywhere;
  word-break: normal;
}



.nukimeki-review-score-card__header {
  align-items: start;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) 112px;
}

.nukimeki-review-score-card__intro {
  min-width: 0;
}

.nukimeki-review-score-card__label {
  align-items: center;
  background: rgba(233,37,97,.12);
  border: 1px solid rgba(233,37,97,.42);
  border-radius: 999px;
  color: var(--nk-color-accent);
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  margin: 0 0 18px;
  padding: 8px 16px;
  text-transform: uppercase;
}

.article .nukimeki-review-article .nukimeki-review-score-card__title,
.nukimeki-review-score-card__title {
  background: transparent;
  border: 0;
  color: var(--nk-color-text);
  display: -webkit-box;
  font-size: clamp(26px, 2.2vw, 35px);
  font-weight: 900;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  letter-spacing: .02em;
  line-height: 1.45;
  margin: 0;
  overflow: hidden;
  padding: 0;
}

.article .nukimeki-review-article .nukimeki-review-score-card__title::before,
.article .nukimeki-review-article .nukimeki-review-score-card__title::after,
.nukimeki-review-score-card__title::before,
.nukimeki-review-score-card__title::after {
  content: none;
  display: none;
}

.nukimeki-review-score-card__stamp {
  align-items: center;
  background:
    radial-gradient(circle at 50% 70%, rgba(233,37,97,.20), transparent 52%),
    rgba(10,10,14,.82);
  border: 1px solid rgba(233,37,97,.64);
  border-radius: 50%;
  box-shadow: 0 0 22px rgba(233,37,97,.12), inset 0 0 0 4px rgba(233,37,97,.07);
  color: var(--nk-color-accent);
  display: grid;
  height: 104px;
  justify-items: center;
  line-height: 1;
  margin: 0;
  padding: 16px 10px 13px;
  place-content: center;
  position: static;
  justify-self: end;
  text-align: center;
  width: 104px;
}

.nukimeki-review-score-card__stamp-label {
  color: var(--nk-color-accent);
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.35;
}

.nukimeki-review-score-card__stamp-grade {
  color: var(--nk-color-accent);
  display: block;
  font-size: 46px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: .95;
  margin-top: 3px;
  text-shadow: 0 0 16px rgba(233,37,97,.24);
}

.nukimeki-review-score-card__average-box {
  align-items: center;
  background:
    radial-gradient(circle at 48% 60%, rgba(233,37,97,.12), transparent 42%),
    rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  display: flex;
  gap: 18px;
  justify-content: center;
  margin: 28px 0 30px;
  padding: 20px 24px;
  text-align: center;
}

.nukimeki-review-score-card__average-label {
  color: rgba(247,241,244,.76);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .08em;
}

.nukimeki-review-score-card__average-value {
  color: var(--nk-color-accent);
  font-size: clamp(45px, 4.8vw, 64px);
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1;
  text-shadow: 0 0 14px rgba(233,37,97,.22);
}

.nukimeki-review-score-card__average-max {
  color: rgba(247,241,244,.46);
  font-size: 19px;
  font-weight: 700;
  white-space: nowrap;
}

.nukimeki-review-score-card__axis {
  background: rgba(3,6,10,.54);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 18px;
  overflow: hidden;
}

.nukimeki-review-score-card__axis-heading {
  align-items: center;
  background:
    linear-gradient(90deg, rgba(233,37,97,.17), rgba(233,37,97,.09));
  border-bottom: 1px solid rgba(233,37,97,.26);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.03);
  color: var(--nk-color-text);
  display: flex;
  font-size: 16px;
  font-weight: 800;
  justify-content: center;
  letter-spacing: .14em;
  line-height: 1.4;
  padding: 15px 18px;
  text-align: center;
}

.nukimeki-review-score-card__axis-row {
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.08);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 16px 20px;
}

.nukimeki-review-score-card__axis-row:first-of-type {
  border-top: 0;
}

.nukimeki-review-score-card__axis-name {
  color: rgba(247,241,244,.78);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
  min-width: 0;
}

.nukimeki-review-score-card__axis-score {
  align-items: center;
  background: rgba(233,37,97,.08);
  border: 1px solid rgba(233,37,97,.28);
  border-radius: 999px;
  color: var(--nk-color-accent);
  display: inline-flex;
  font-size: 15px;
  font-weight: 900;
  justify-content: center;
  letter-spacing: .05em;
  margin: 0;
  min-width: 58px;
  padding: 5px 11px;
  white-space: nowrap;
}

.nukimeki-review-article .wp-block-image,
.nukimeki-review-article figure {
  margin: 30px 0;
}





.nukimeki-review-article .wp-block-image img,
.nukimeki-review-article figure img,
.nukimeki-review-article img {
  border-radius: 0;
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.nukimeki-review-article__pr + .wp-block-image img,
.nukimeki-review-article__pr + figure img {
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: none;
}

.nukimeki-review-article figcaption {
  color: rgba(247,241,244,.54);
  font-size: 12px;
  line-height: 1.7;
  margin-top: 10px;
  text-align: left;
}

.nukimeki-review-article__affiliate-image {
  margin: 24px 0;
}

.nukimeki-review-article__affiliate-image a {
  display: block;
}

.nukimeki-review-article__affiliate-image img {
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

.nukimeki-review-article .nukimeki-cta {
  margin: 24px 0;
}



.nukimeki-review-article .nukimeki-cta__button:hover,
.nukimeki-review-article .nukimeki-cta__button:focus-visible {
  background: #b81745;
  border-color: var(--nk-color-accent-soft);
  transform: translateY(-1px);
}

.nukimeki-review-article .nukimeki-cta--main .nukimeki-cta__button {
  width: min(100%, 520px);
}

.nukimeki-review-article__final-cta-wrap {
  margin: 36px auto 48px;
  text-align: center;
}

.nukimeki-review-article__final-cta-wrap .nukimeki-cta {
  margin-left: auto;
  margin-right: auto;
}

.nukimeki-review-article__final-cta-wrap .nukimeki-cta__button {
  margin-left: auto;
  margin-right: auto;
  width: min(100%, 420px);
}

.nukimeki-review-article__final-cta-wrap .nukimeki-cta__note {
  color: rgba(247,241,244,.52);
  font-size: 12px;
  line-height: 1.6;
  margin-top: 12px;
  text-align: center;
}

.nukimeki-review-article .nukimeki-cta--summary .nukimeki-cta__button {
  background: transparent;
  color: var(--nk-color-text);
}

.nukimeki-review-article .nukimeki-cta--summary .nukimeki-cta__button:hover,
.nukimeki-review-article .nukimeki-cta--summary .nukimeki-cta__button:focus-visible {
  background: rgba(233,37,97,.14);
  color: #fff;
}

.nukimeki-review-article .nukimeki-cta__note {
  color: rgba(247,241,244,.55);
  font-size: 12px;
  line-height: 1.7;
  margin: 8px 0 0;
}

@media screen and (max-width: 767px) {
  .nukimeki-review-article {
    font-size: 16px;
    line-height: 1.85;
  }

  .nukimeki-review-article__pr {
    font-size: 11px;
    line-height: 1.6;
    margin: 20px 0 18px;
    text-align: left;
  }

  .nukimeki-review-article__lead {
    margin-top: 18px;
  }


  .nukimeki-review-article__pr + .wp-block-image,
  .nukimeki-review-article__pr + figure {
    border-radius: 0;
    margin-bottom: 20px;
    padding: 0;
  }

  .nukimeki-review-article__section {
    border-radius: 12px;
    margin: 24px 0;
    padding: 18px;
  }

  .article .nukimeki-review-article h2,
  .nukimeki-review-article h2 {
    margin-bottom: 16px;
    padding: 0 0 12px 14px;
  }

  .nukimeki-review-article h3 {
    display: block;
    margin: 28px 0 12px;
  }


  .nukimeki-review-article__point p {
    font-size: 15px;
    line-height: 1.85;
  }

  .nukimeki-review-article__section--summary p {
    font-size: 15px;
    line-height: 1.85;
  }

  .nukimeki-review-article__section--story p {
    font-size: 15px;
    line-height: 1.85;
  }

  .nukimeki-review-article__section--axis {
    gap: 14px;
  }

  .nukimeki-review-article__body-layer {
    border-radius: 12px;
    margin: 24px 0;
    padding: 18px 16px;
  }

  .nukimeki-review-article__body-layer > h2 {
    font-size: 15px;
    margin-bottom: 12px;
  }

  .nukimeki-review-article__body-row {
    gap: 10px;
    padding: 10px 0;
  }

  .nukimeki-review-article__body-name {
    font-size: 12px;
    line-height: 1.5;
  }

  .nukimeki-review-article__body-grade {
    font-size: 13px;
    min-width: 34px;
    padding: 4px 8px;
  }

  .nukimeki-review-axis-detail {
    border-radius: 11px;
    padding: 18px 16px;
  }

  .nukimeki-review-axis-detail__head {
    align-items: start;
    border-left-width: 2px;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 12px;
    padding-left: 12px;
  }

  .nukimeki-review-axis-detail__main,
  .nukimeki-review-axis-detail__sub {
    display: block;
  }

  .nukimeki-review-axis-detail__main {
    font-size: 15px;
    line-height: 1.45;
  }

  .nukimeki-review-axis-detail__sub {
    font-size: 14px;
    line-height: 1.45;
    margin-top: 1px;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .nukimeki-review-axis-detail__score {
    display: inline-flex;
    font-size: 12px;
    justify-self: end;
    margin-top: 1px;
    min-width: 48px;
    padding: 4px 8px;
  }

  .article .nukimeki-review-article__info-table,
  .article .nukimeki-review-article__info-table tbody,
  .article .nukimeki-review-article__info-table tr,
  .article .nukimeki-review-article__info-table th,
  .article .nukimeki-review-article__info-table td,
  .nukimeki-review-article__info-table,
  .nukimeki-review-article__info-table tbody,
  .nukimeki-review-article__info-table tr,
  .nukimeki-review-article__info-table th,
  .nukimeki-review-article__info-table td {
    background: transparent;
    background-color: transparent;
    display: block;
    width: 100%;
  }

  .article .nukimeki-review-article__info-table th,
  .nukimeki-review-article__info-table th {
    border-bottom: 0;
    font-size: 11px;
    padding: 10px 0 2px;
  }

  .article .nukimeki-review-article__info-table td,
  .nukimeki-review-article__info-table td {
    font-size: 14px;
    line-height: 1.7;
    padding: 0 0 10px;
  }


  .nukimeki-review-score-card__header {
    align-items: center;
    display: grid;
    gap: 0 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    order: 1;
  }

  .nukimeki-review-score-card__intro {
    display: contents;
  }

  .nukimeki-review-score-card__label {
    align-self: center;
    font-size: 11px;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    margin-bottom: 10px;
    min-width: 0;
    padding: 8px 14px;
    white-space: nowrap;
    width: auto;
  }

  .article .nukimeki-review-article .nukimeki-review-score-card__title,
  .nukimeki-review-score-card__title {
    font-size: 21px;
    grid-column: 1 / -1;
    grid-row: 2;
    line-height: 1.55;
    margin-top: 18px;
  }

  .nukimeki-review-score-card__stamp {
    align-items: center;
    background: rgba(233,37,97,.08);
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
    display: inline-flex;
    gap: 7px;
    grid-column: 2;
    grid-row: 1;
    height: auto;
    justify-content: center;
    justify-self: end;
    margin: 0;
    padding: 8px 12px;
    white-space: nowrap;
    width: auto;
  }

  .nukimeki-review-score-card__stamp-label {
    font-size: 10px;
    line-height: 1.2;
  }

  .nukimeki-review-score-card__stamp-grade {
    font-size: 18px;
    line-height: 1;
    margin-top: 0;
  }

  .nukimeki-review-score-card__average-box {
    align-items: baseline;
    display: block;
    gap: 8px;
    margin: 22px 0 24px;
    order: 2;
    padding: 16px 14px;
  }

  .nukimeki-review-score-card__average-label {
    display: block;
    font-size: 12px;
    line-height: 1.4;
    margin-bottom: 8px;
    white-space: nowrap;
  }

  .nukimeki-review-score-card__average-value {
    font-size: 42px;
  }

  .nukimeki-review-score-card__average-max {
    font-size: 15px;
  }

  .nukimeki-review-score-card__axis {
    order: 3;
  }

  .nukimeki-review-score-card__axis-heading {
    font-size: 12px;
    padding: 11px 12px;
  }

  .nukimeki-review-score-card__axis-row {
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 14px 12px;
  }

  .nukimeki-review-score-card__axis-name {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
  }

  .nukimeki-review-score-card__axis-main,
  .nukimeki-review-score-card__axis-sub {
    display: block;
  }

  .nukimeki-review-score-card__axis-sub {
    color: rgba(247,241,244,.86);
    margin-top: 2px;
  }

  .nukimeki-review-score-card__axis-score {
    font-size: 12px;
    min-width: 48px;
    padding: 4px 8px;
  }

  .nukimeki-review-article .nukimeki-cta__button {
    min-height: 50px;
    width: 100%;
  }

  .nukimeki-review-article__final-cta-wrap {
    margin: 32px auto 42px;
  }

  .nukimeki-review-article__final-cta-wrap .nukimeki-cta__button {
    width: 100%;
  }

  .nukimeki-review-article__final-cta-wrap .nukimeki-cta__note {
    font-size: 11px;
  }

}

#footer,
#footer-container,
.footer,
.footer-container,
.footer-bottom,
.footer-in {
  background: var(--nk-color-bg);
  border-color: rgba(255,255,255,.10);
  color: var(--nk-color-muted);
}

#footer,
#footer-container,
.footer,
.footer-container {
  border-top: 1px solid rgba(255,255,255,.04);
  margin-top: 0;
}

.footer a,
.footer-logo {
  color: var(--nk-color-text);
}

#footer .footer-in {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: var(--nk-width-content);
  padding: 22px 24px 22px;
  width: 100%;
}

#footer .footer-bottom {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
  margin-top: 0;
  padding: 0;
  text-align: center;
}

#footer .footer-bottom-logo,
#footer .footer-bottom-content {
  float: none;
  margin: 0;
  max-width: none;
  width: 100%;
}

#footer .footer-bottom-logo {
  line-height: 0;
  order: 0;
  position: static;
}

#footer .footer-bottom-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
  order: 1;
}

#footer .logo-footer {
  line-height: 0;
  margin: 0 auto;
  text-align: center;
}

#footer .footer-site-logo-image,
#footer .logo-footer img {
  display: block;
  height: auto;
  margin: 0 auto;
  max-height: none;
  max-width: clamp(160px, 14vw, 200px);
  width: 100%;
}

#footer .navi-footer,
#footer .navi-footer-in {
  margin: 0;
  width: 100%;
}

#footer .menu-footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 22px;
  justify-content: center;
  line-height: 1.8;
  list-style: none;
  margin: 0 auto;
  max-width: var(--nk-width-prose);
  padding: 0;
}

#footer .menu-footer .menu-item {
  border: 0;
  display: block;
  margin: 0;
  padding: 0;
  width: auto;
}

#footer .menu-footer .menu-item::before,
#footer .menu-footer .menu-item::after {
  content: none;
}

#footer .menu-footer a {
  border: 0;
  color: var(--nk-color-muted);
  display: inline-flex;
  font-size: 13px;
  letter-spacing: .04em;
  line-height: 1.6;
  min-height: 44px;
  padding: 3px 0;
  text-decoration: none;
  transition: color .2s ease;
  white-space: nowrap;
}

#footer .menu-footer a:hover,
#footer .menu-footer a:focus-visible {
  background: transparent;
  color: var(--nk-color-accent-soft);
}

#footer .copyright {
  color: #8f858b;
  font-size: 13px;
  letter-spacing: .03em;
  line-height: 1.5;
  margin: 0;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  #footer .footer-in {
    padding: 24px 18px 52px;
  }

  #footer .footer-bottom {
    gap: 8px;
  }

  #footer .footer-site-logo-image,
  #footer .logo-footer img {
    max-width: 170px;
  }

  #footer .menu-footer {
    display: grid;
    gap: 2px 1px;
    grid-template-columns: repeat(2, minmax(132px, 160px));
    justify-content: center;
    max-width: 321px;
  }

  #footer .menu-footer .menu-item {
    min-width: 0;
    text-align: center;
  }

  #footer .menu-footer a {
    align-items: center;
    font-size: 13px;
    justify-content: center;
    min-height: 44px;
    padding: 3px 2px;
    white-space: normal;
    word-break: keep-all;
  }

  #footer .menu-footer .menu-item:has(a[href*="privacy-policy"]) {
    grid-column: 1 / -1;
  }

  #footer .menu-footer .menu-item:last-child {
    grid-column: 1 / -1;
  }
}

#navi .menu-header.menu-pc > .menu-item > a[href*="/search/"] {
  align-items: center;
  border: 0;
  display: inline-flex;
  height: 58px;
  justify-content: center;
  margin-left: 0;
  padding: 0;
  position: relative;
  transition: background-color .2s ease, color .2s ease;
  width: 44px;
}

#header .header-site-logo-image {
  height: auto;
  max-height: 60px;
  width: auto;
}

.skip-link {
  min-height: 44px;
}

#navi .menu-header.menu-pc > .menu-item > a[href*="/search/"] .caption-wrap {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

#navi .menu-header.menu-pc > .menu-item > a[href*="/search/"]::before,
#navi .menu-header.menu-pc > .menu-item > a[href*="/search/"]::after {
  content: "";
  display: block;
  position: absolute;
}

#navi .menu-header.menu-pc > .menu-item > a[href*="/search/"]::before {
  border: 2px solid currentColor;
  border-radius: 50%;
  height: 13px;
  left: 10px;
  top: calc(50% - 9px);
  width: 13px;
}

#navi .menu-header.menu-pc > .menu-item > a[href*="/search/"]::after {
  background: currentColor;
  border-radius: 999px;
  height: 2px;
  left: 22px;
  top: calc(50% + 5px);
  transform: rotate(45deg);
  transform-origin: left center;
  width: 9px;
}

#navi .menu-header.menu-pc > .menu-item > a[href*="/search/"]:hover,
#navi .menu-header.menu-pc > .menu-item > a[href*="/search/"]:focus-visible {
  background: rgba(233,37,97,.12);
  color: var(--nk-color-accent-soft);
}

#navi .menu-mobile > .menu-item > a[href*="/search/"],
.mobile-menu-buttons .search-menu-button .menu-button-in {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  min-height: 44px;
  padding: 0;
  position: relative;
  width: 44px;
}

#navi .menu-mobile > .menu-item > a[href*="/search/"] .caption-wrap,
.mobile-menu-buttons .search-menu-button .search-menu-icon,
.mobile-menu-buttons .search-menu-button .search-menu-caption {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

#navi .menu-mobile > .menu-item > a[href*="/search/"]::before,
#navi .menu-mobile > .menu-item > a[href*="/search/"]::after,
.mobile-menu-buttons .search-menu-button .menu-button-in::before,
.mobile-menu-buttons .search-menu-button .menu-button-in::after {
  content: "";
  display: block;
  position: absolute;
}

#navi .menu-mobile > .menu-item > a[href*="/search/"]::before,
.mobile-menu-buttons .search-menu-button .menu-button-in::before {
  border: 2px solid currentColor;
  border-radius: 50%;
  height: 13px;
  left: 13px;
  top: calc(50% - 9px);
  width: 13px;
}

#navi .menu-mobile > .menu-item > a[href*="/search/"]::after,
.mobile-menu-buttons .search-menu-button .menu-button-in::after {
  background: currentColor;
  border-radius: 999px;
  height: 2px;
  left: 25px;
  top: calc(50% + 5px);
  transform: rotate(45deg);
  transform-origin: left center;
  width: 9px;
}

html.nukimeki-age-gate-open,
html.nukimeki-age-gate-open body {
  overflow: hidden;
}

.nukimeki-age-gate {
  align-items: center;
  background: rgba(0, 0, 0, .86);
  bottom: 0;
  color: #fff;
  display: flex;
  justify-content: center;
  left: 0;
  padding: 24px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 99999;
}

.nukimeki-age-gate[hidden] {
  display: none;
}

.nukimeki-age-gate__panel {
  background:
    radial-gradient(circle at 0 0, rgba(233, 37, 97, .18), transparent 36%),
    linear-gradient(145deg, rgba(18, 18, 22, .98), rgba(5, 5, 8, .98));
  border: 1px solid rgba(233, 37, 97, .28);
  border-radius: 24px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .45);
  max-width: 520px;
  padding: 42px 40px 36px;
  text-align: center;
  width: min(100%, 520px);
}

.nukimeki-age-gate__eyebrow {
  color: var(--nk-color-accent);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.4;
  margin: 0 0 14px;
}

.nukimeki-age-gate__title {
  background: transparent;
  border: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.25;
  margin: 0 0 18px;
  padding: 0;
}

.nukimeki-age-gate__text {
  color: rgba(255, 255, 255, .76);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
  margin: 0 auto 28px;
  max-width: 420px;
}

.nukimeki-age-gate__actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  margin: 0 0 18px;
}

.nukimeki-age-gate__button {
  align-items: center;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font-size: .95rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1.4;
  min-height: 52px;
  min-width: 156px;
  padding: 14px 22px;
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.nukimeki-age-gate__button--enter {
  background: var(--nk-color-accent);
  border: 1px solid var(--nk-color-accent);
  color: #fff;
}

.nukimeki-age-gate__button--leave {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .2);
  color: rgba(255, 255, 255, .76);
}

.nukimeki-age-gate__button:hover,
.nukimeki-age-gate__button:focus-visible {
  border-color: var(--nk-color-accent);
  color: #fff;
}

.nukimeki-age-gate__button--enter:hover,
.nukimeki-age-gate__button--enter:focus-visible {
  background: #f33a72;
}

.nukimeki-age-gate__note {
  color: rgba(255, 255, 255, .52);
  font-size: .78rem;
  line-height: 1.7;
  margin: 0;
}

@media (max-width: 768px) {
  .nukimeki-age-gate {
    padding: 18px;
  }

  .nukimeki-age-gate__panel {
    border-radius: 20px;
    padding: 34px 22px 28px;
  }

  .nukimeki-age-gate__text {
    font-size: .94rem;
  }

  .nukimeki-age-gate__actions {
    flex-direction: column;
    gap: 10px;
  }

  .nukimeki-age-gate__button {
    min-height: 50px;
    width: 100%;
  }
}

/* Affiliate image safety: keep product/package images unrounded and untrimmed. */
.nukimeki-random-review__image,
.nukimeki-review-article .wp-block-image,
.nukimeki-review-article figure {
  border-radius: 0;
  overflow: visible;
}
.nukimeki-review-article__pr + figure {
  margin-top: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  margin-bottom: 34px;
  overflow: visible;
  padding: 0;
}
.nukimeki-review-article__pr + .wp-block-image {
  margin-top: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  margin-bottom: 34px;
  overflow: visible;
  padding: 0;
}

.nukimeki-home .nukimeki-latest .nukimeki-review-card__image::after {
  display: none;
}

.nukimeki-home .nukimeki-review-card__image img,
.nukimeki-review-list-page .nukimeki-review-list-card__image img,
.nukimeki-random-review__image img,
body.nukimeki-review-post-body .related-entry-card-thumb img,
body.nukimeki-review-post-body .related-entry-card-thumb.card-thumb img,
body.nukimeki-review-post-body .related-entry-card-thumb .card-thumb-image,
.nukimeki-review-article .wp-block-image img,
.nukimeki-review-article figure img,
.nukimeki-review-article img,
.nukimeki-review-article__pr + .wp-block-image img,
.nukimeki-review-article__pr + figure img {
  border-radius: 0;
  box-shadow: none;
  display: block;
  height: auto;
  max-height: none;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

body.nukimeki-review-post-body .related-entry-card-thumb .cat-label {
  display: none;
}

/* Keep product/package images full-width and undecorated. */
.nukimeki-home .nukimeki-review-card {
  background: var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 8px;
  color: var(--nk-color-text);
  overflow: visible;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nukimeki-random-review__image {
  box-sizing: border-box;
  overflow: visible;
}
.nukimeki-home .nukimeki-review-card__image {
  background: #08080b;
  display: block;
  overflow: visible;
  border-radius: 0;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .nukimeki-random-review {
    --nk-random-review-card-radius: 0 0 18px 18px;
  }

  body.nukimeki-review-post-body .related-entry-card,
  body.nukimeki-review-post-body .related-entry-card-wrap {
    border-top-right-radius: 0;
    border-bottom-left-radius: 18px;
  }

  .nukimeki-review-article__pr + .wp-block-image,
  .nukimeki-review-article__pr + figure {
    border-radius: 0;
    padding: 0;
  }
}

.nukimeki-home--editorial .nukimeki-editorial-section {
  margin: 0 auto;
  max-width: var(--nk-width-content);
  padding: var(--nk-space-section) 0;
}
.nukimeki-home--editorial .nukimeki-editorial-intro > p,
.nukimeki-home--editorial .nukimeki-editorial-intro > div > p:last-child,
.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__text { font-size: 16px; }
.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__excerpt {
  margin-left: 20px;
  margin-right: 20px;
  color: var(--nk-color-muted);
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 22px;
}

.nukimeki-home--editorial .nukimeki-discovery {
  margin: 0 auto;
  max-width: var(--nk-width-content);
  padding: var(--nk-space-section) 0;
}
.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__button { font-size: 14px; min-height: 48px; }
@media screen and (max-width: 640px) {
  .nukimeki-home--editorial .nukimeki-editorial-section { padding-bottom: var(--nk-space-section); padding-top: var(--nk-space-section); }
  .nukimeki-home--editorial .nukimeki-editorial-hero__eyebrow,
  .nukimeki-home--editorial .nukimeki-editorial-label,
  .nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__badge { font-size: 12px; }
  .nukimeki-home--editorial .nukimeki-latest { padding-bottom: var(--nk-space-section); padding-top: var(--nk-space-section); }
  .nukimeki-home--editorial .nukimeki-discovery {
    display: block;
    margin: 0 20px;
    padding: var(--nk-space-section) 0;
  }
}

/* Phase 03: review-list discovery page only. */
.nukimeki-review-list-page .nukimeki-review-list-hero__inner {
  max-width: var(--nk-width-content);
}
.nukimeki-review-list-page .nukimeki-review-list-section {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--nk-width-content);
  padding-bottom: var(--nk-space-section);
  padding-top: var(--nk-space-section);
  width: min(calc(100% - 64px), var(--nk-width-content));
}
.nukimeki-review-list-page .nukimeki-review-list-hero__text {
  color: var(--nk-color-muted);
  font-size: 17px;
  margin: 18px 0 0;
  max-width: var(--nk-width-prose);
  margin-top: 14px;
  line-height: 1.85;
}
.nukimeki-review-list-page .nukimeki-review-list-filter__heading,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__copy > span,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__copy p,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__label,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__chip small,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__year small { font-size: 13px; }
.nukimeki-review-list-page .nukimeki-review-list-active-filter a {
  border-radius: 999px;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  padding: 7px 12px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--nk-color-text);
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
  min-height: 44px;
}
.nukimeki-review-list-page .nukimeki-review-list-active-filter span {
  border-radius: 999px;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  padding: 7px 12px;
  background: rgba(233,37,97,.14);
  border: 1px solid rgba(233,37,97,.42);
  color: var(--nk-color-accent-soft);
  min-height: 44px;
}


.nukimeki-review-list-page .nukimeki-review-list-card__category,
.nukimeki-review-list-page .nukimeki-review-list-card__meta,
.nukimeki-review-list-page .nukimeki-review-list-card__score { font-size: 13px; }

.nukimeki-review-list-page .nukimeki-review-list-card__excerpt { font-size: 15px; line-height: 1.8; -webkit-line-clamp: 3; }
.nukimeki-review-list-page .nukimeki-review-list-card__more { font-size: 14px; }
.nukimeki-review-list-page .nukimeki-review-list-pagination { gap: 12px; margin-top: 42px; }
.nukimeki-review-list-page .nukimeki-review-list-pagination .page-numbers {
  align-items: center;
  border: 1px solid var(--nk-color-line);
  border-radius: 999px;
  color: var(--nk-color-muted);
  display: inline-flex;
  font-size: 14px;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 7px 13px;
  white-space: nowrap;
}
@media screen and (min-width: 641px) and (max-width: 1239px) {
  .nukimeki-review-list-page .nukimeki-review-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 640px) {
  .nukimeki-review-list-page .nukimeki-review-list-section {
    padding-top: 26px;
    width: calc(100% - 32px);
  }

  .nukimeki-review-list-page .nukimeki-review-list-card__title { font-size: 19px; }
  .nukimeki-review-list-page .nukimeki-review-list-card__excerpt { font-size: 15px; }
}

/* Site redesign cascade: shared editorial accessibility baseline. */
.nukimeki-home--editorial a:focus-visible,
.nukimeki-review-list-page a:focus-visible,
.nukimeki-lower-page a:focus-visible,
.nukimeki-not-found-page a:focus-visible,
body.nukimeki-review-post-body a:focus-visible,
.nukimeki-age-gate__button:focus-visible {
  outline: 2px solid var(--nk-color-accent);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .nukimeki-home--editorial *,
  .nukimeki-review-list-page *,
  .nukimeki-lower-page *,
  .nukimeki-not-found-page *,
  body.nukimeki-review-post-body * {
    scroll-behavior: auto;
    transition-duration: .01ms !important;
  }
}

/* Wave 3: review article — preserve the manual-template and SEO title split. */
body.nukimeki-review-post-body .entry-title {
  max-width: var(--nk-width-prose);
  width: min(calc(100% - 48px), 840px);
}



body.nukimeki-review-post-body .nukimeki-review-article__info-table th,
body.nukimeki-review-post-body .nukimeki-review-article__info-table td,
body.nukimeki-review-post-body .nukimeki-review-article figcaption,
body.nukimeki-review-post-body .nukimeki-review-article .nukimeki-cta__note {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  body.nukimeki-review-post-body .entry-title {
    width: calc(100% - 32px);
  }

  body.nukimeki-review-post-body .nukimeki-review-article__info-table th,
  body.nukimeki-review-post-body .nukimeki-review-article__info-table td,
  body.nukimeki-review-post-body .nukimeki-review-article__final-cta-wrap .nukimeki-cta__note {
    font-size: 14px;
  }
}

/* Wave 4: shared guide-page information density. */
.nukimeki-rating-page .nukimeki-rating-axis__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nukimeki-lower-page .nukimeki-lower-content p {
  font-size: 16px;
}

@media screen and (max-width: 640px) {
  .nukimeki-rating-page .nukimeki-rating-axis__grid {
    grid-template-columns: 1fr;
  }
}

/* Wave 5: policy, utility, and contact controls use the same reachable rhythm. */
.nukimeki-contact-page .nukimeki-lower-section {
  max-width: var(--nk-width-prose);
  padding-top: 40px;
}
.nukimeki-ad-policy-page .nukimeki-lower-section {
  max-width: var(--nk-width-prose);
  padding-top: 40px;
}
.nukimeki-privacy-policy-page .nukimeki-lower-section {
  max-width: var(--nk-width-prose);
  padding-top: 40px;
}

.nukimeki-contact-page .wpcf7 input:not([type="checkbox"]):not([type="radio"]) {
  font-size: 16px;
  min-height: 48px;
}
.nukimeki-contact-page .wpcf7 select {
  border-radius: 8px;
  font-size: 16px;
  min-height: 48px;
  appearance: none;
  background: #0d0d12;
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: none;
  color: var(--nk-color-text);
  font: inherit;
  line-height: 1.7;
  outline: none;
  padding: 11px 14px;
  transition: border-color .2s ease, background-color .2s ease;
  width: 100%;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(247,241,244,.72) 50%),
    linear-gradient(135deg, rgba(247,241,244,.72) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-repeat: no-repeat;
  background-size: 6px 6px, 6px 6px;
  padding-right: 38px;
}
.nukimeki-contact-page .wpcf7 textarea {
  border-radius: 8px;
  font-size: 16px;
  min-height: 48px;
  appearance: none;
  background: #0d0d12;
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: none;
  color: var(--nk-color-text);
  font: inherit;
  line-height: 1.7;
  outline: none;
  padding: 11px 14px;
  transition: border-color .2s ease, background-color .2s ease;
  width: 100%;
  height: 240px;
  resize: vertical;
}
.nukimeki-search-page .nukimeki-search-form__button {
  border-radius: 999px;
  min-height: 48px;
  align-items: center;
  appearance: none;
  background: var(--nk-color-accent);
  border: 1px solid rgba(244,91,138,.72);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 16px;
  font-weight: 700;
  justify-content: center;
  min-width: 116px;
  padding: 10px 18px;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.nukimeki-search-page .nukimeki-search-form__input {
  border-radius: 999px;
  min-height: 48px;
  appearance: none;
  background: #0a0a0e;
  border: 1px solid rgba(255,255,255,.14);
  color: var(--nk-color-text);
  font-size: 16px;
  outline: none;
  padding: 10px 16px;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
  width: 100%;
}
.nukimeki-not-found-page .nukimeki-search-form__input {
  border-radius: 999px;
  min-height: 48px;
  appearance: none;
  background: #0a0a0e;
  border: 1px solid rgba(255,255,255,.14);
  color: var(--nk-color-text);
  font-size: 16px;
  outline: none;
  padding: 10px 16px;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
  width: 100%;
}
.nukimeki-not-found-page .nukimeki-search-form__button {
  border-radius: 999px;
  min-height: 48px;
  align-items: center;
  appearance: none;
  background: var(--nk-color-accent);
  border: 1px solid rgba(244,91,138,.72);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 16px;
  font-weight: 700;
  justify-content: center;
  min-width: 116px;
  padding: 10px 18px;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.nukimeki-contact-page .wpcf7 .wpcf7-acceptance .wpcf7-list-item-label {
  align-items: center;
  display: inline-flex;
  min-height: 44px;
}

/* QA fixes: keep compact editorial labels and controls reachable at every viewport. */
.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__meta {
  margin-left: 20px;
  margin-right: 20px;
  border-top: 1px solid var(--nk-color-line-soft);
  color: var(--nk-color-muted-dark);
  display: flex;
  font-size: 13px;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 16px;
}
.nukimeki-home--editorial .nukimeki-editorial-hero__eyebrow {
  color: var(--nk-color-accent-soft);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  margin-bottom: 18px;
  text-transform: uppercase;
}
.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__category {
  margin-left: 20px;
  margin-right: 20px;
  color: var(--nk-color-accent-soft);
  font-size: 13px;
  margin-bottom: 11px;
}
.nukimeki-home--editorial .nukimeki-editorial-label {
  color: var(--nk-color-accent-soft);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  margin-bottom: 18px;
  text-transform: uppercase;
}

body.nukimeki-review-post-body .nukimeki-review-article__pr {
  font-size: 14px;
}

body.nukimeki-review-post-body .nukimeki-review-jump-nav__label,
body.nukimeki-review-post-body .entry-categories-tags .cat-link,
body.nukimeki-review-post-body .entry-categories-tags .tag-link,
body.nukimeki-review-post-body .nukimeki-review-score-card__stamp-label {
  font-size: 13px;
}

.nukimeki-rating-page .nukimeki-rating-policy-card__mark,
.nukimeki-rating-page .nukimeki-rating-scale__label,
.nukimeki-about-page .nukimeki-about-card__number,
.nukimeki-ad-policy-page .nukimeki-ad-policy-card__number {
  font-size: 13px;
}
.nukimeki-rating-page .nukimeki-rating-axis-card__catch {
  color: var(--nk-color-accent-soft);
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.35;
}
.nukimeki-rating-page .nukimeki-rating-axis-card__num {
  color: var(--nk-color-accent-soft);
  align-items: center;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: .08em;
  line-height: 1;
  margin-bottom: 14px;
}
.nukimeki-rating-page .nukimeki-rating-scale-card span {
  color: var(--nk-color-accent-soft);
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  margin-bottom: 6px;
}

body.nukimeki-review-post-body .nukimeki-review-score-card__axis-heading,
body.nukimeki-review-post-body .nukimeki-review-score-card__axis-name,
body.nukimeki-review-post-body .nukimeki-review-score-card__axis-score,
body.nukimeki-review-post-body .nukimeki-review-score-card__average-label {
  font-size: 13px;
}

.nukimeki-lower-page .nukimeki-lower-link {
  align-items: center;
  border: 1px solid rgba(233,37,97,.55);
  border-radius: 999px;
  color: var(--nk-color-muted);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  line-height: 1.4;
  min-height: 44px;
  padding: 10px 18px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
  background: transparent;
  border-color: var(--nk-color-line-strong);
}

@media screen and (max-width: 640px) {
  body.nukimeki-top-page #header .search-submit,
  body.nukimeki-top-page .header .search-submit,
  body.nukimeki-review-post-body #header .search-submit,
  body.nukimeki-review-post-body .header .search-submit,
  body.nukimeki-rating-page-template-body #header .search-submit,
  body.nukimeki-rating-page-template-body .header .search-submit,
  body.nukimeki-lower-page-template-body #header .search-submit,
  body.nukimeki-lower-page-template-body .header .search-submit,
  body.nukimeki-review-list-page-template-body #header .search-submit,
  body.nukimeki-review-list-page-template-body .header .search-submit,
  body.search #header .search-submit,
  body.search .header .search-submit,
  body.error404 #header .search-submit,
  body.error404 .header .search-submit {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
  }

  body:is(.nukimeki-top-page, .nukimeki-review-post-body, .nukimeki-rating-page-template-body, .nukimeki-lower-page-template-body, .nukimeki-review-list-page-template-body, .search, .tag, .category, .tax-actress, .error404) #search-menu-content .search-submit {
    min-height: 44px;
    min-width: 44px;
  }
}

/* Top-page feedback refinement: keep discovery compact and editorial. */
.nukimeki-home--editorial .nukimeki-editorial-hero {
  padding-bottom: 72px;
}

.nukimeki-home--editorial .nukimeki-editorial-hero > .nukimeki-editorial-button:not(.nukimeki-editorial-button--quiet),
.nukimeki-home--editorial .nukimeki-editorial-hero__actions > .nukimeki-editorial-button:not(.nukimeki-editorial-button--quiet) {
  min-height: 56px;
  min-width: 240px;
}

@media screen and (min-width: 769px) {
  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review {
    --nk-random-review-card-display: grid;
    --nk-random-review-card-columns: 800px minmax(0, 378px);
  }

  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__card-link {
    grid-column: 2;
  }

  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__image {
    align-items: center;
    border-bottom: 0;
    border-right: 1px solid rgba(255,255,255,.1);
    min-height: 538px;
    padding: 0;
  }

  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__image img {
    height: auto;
    max-width: 100%;
    width: 800px;
  }
}

@media screen and (max-width: 768px) {
  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review {
    --nk-random-review-card-display: block;
    --nk-random-review-card-columns: 1fr;
  }

  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__card-link {
    grid-column: auto;
  }

  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__image {
    border-bottom: 1px solid rgba(255,255,255,.1);
    border-right: 0;
    min-height: 0;
  }

  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__image img {
    height: auto;
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .nukimeki-home--editorial .nukimeki-editorial-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .nukimeki-home--editorial .nukimeki-editorial-hero__actions > .nukimeki-editorial-button:not(.nukimeki-editorial-button--quiet) {
    min-width: 0;
  }

  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review {
    margin: 0;
    max-width: none;
    padding: 0;
    width: 100%;
  }
}

/* Top-page type scale: make primary choices legible at a glance. */
.nukimeki-home--editorial .nukimeki-editorial-hero__actions .nukimeki-editorial-button {
  font-size: 18px;
}

@media screen and (max-width: 640px) {
  .nukimeki-home--editorial .nukimeki-editorial-hero__actions .nukimeki-editorial-button {
    font-size: 16px;
  }
}

/* Non-top editorial alignment: compact heroes and rule-led discovery. */
.nukimeki-rating-page .nukimeki-rating-hero {
  margin-left: auto;
  margin-right: auto;
  width: min(calc(100% - 64px), var(--nk-width-content));
  border-bottom: 1px solid rgba(255,255,255,.04);
  padding-bottom: var(--nk-space-hero);
  padding-top: var(--nk-space-hero);
}
.nukimeki-review-list-page .nukimeki-review-list-hero {
  margin-left: auto;
  margin-right: auto;
  width: min(calc(100% - 64px), var(--nk-width-content));
  border-bottom: 1px solid rgba(255,255,255,.04);
  padding: clamp(64px, 8vw, 112px) 0 clamp(48px, 6vw, 80px);
  padding-bottom: clamp(44px, 5vw, 64px);
  padding-top: clamp(52px, 6vw, 76px);
}
.nukimeki-lower-page .nukimeki-lower-hero {
  margin-left: auto;
  margin-right: auto;
  width: min(calc(100% - 64px), var(--nk-width-content));
  border-bottom: 1px solid rgba(255,255,255,.04);
  padding: clamp(64px, 8vw, 112px) 0 clamp(48px, 6vw, 80px);
  padding-bottom: clamp(44px, 5vw, 64px);
  padding-top: clamp(52px, 6vw, 76px);
}

.nukimeki-review-list-page .nukimeki-review-list-hero__title {
  background: transparent;
  border: 0;
  color: var(--nk-color-text);
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  margin: 0;
  padding: 0;
  max-width: var(--nk-width-content);
  word-break: keep-all;
}
.nukimeki-lower-page .nukimeki-lower-hero__title {
  background: transparent;
  border: 0;
  color: var(--nk-color-text);
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.35;
  margin: 0;
  padding: 0;
  max-width: var(--nk-width-prose);
}
.nukimeki-rating-page .nukimeki-rating-hero__title {
  color: var(--nk-color-text);
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  margin: 0;
  max-width: var(--nk-width-prose);
  word-break: keep-all;
}



.nukimeki-review-list-page .nukimeki-review-list-grid {
  display: grid;
  column-gap: 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: 48px;
}

@media screen and (max-width: 1023px) {
  .nukimeki-review-list-page .nukimeki-review-list-grid {
    column-gap: 22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 640px) {
  .nukimeki-review-list-page .nukimeki-review-list-grid {
    column-gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 12px;
  }
}



.nukimeki-review-list-page .nukimeki-review-list-card:hover,
.nukimeki-review-list-page .nukimeki-review-list-card:focus-within {
  background: transparent;
  border-color: rgba(255,255,255,.28);
  box-shadow: none;
  transform: translateY(-2px);
}

.nukimeki-review-list-page .nukimeki-review-list-card__link {
  background: transparent;
  border: 0;
  border-radius: 0;
}

.nukimeki-review-list-page .nukimeki-review-list-card__image {
  background: #050508;
  border-bottom: 1px solid var(--nk-color-line);
  overflow: visible;
  border-radius: 0;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.12);
}

.nukimeki-review-list-page .nukimeki-review-list-card__body {
  background: transparent;
  display: grid;
  gap: 14px;
  padding: 20px 0 0;
  transition: background-color .2s ease, box-shadow .2s ease;
}

.nukimeki-review-list-page .nukimeki-review-list-card:hover .nukimeki-review-list-card__body,
.nukimeki-review-list-page .nukimeki-review-list-card:focus-within .nukimeki-review-list-card__body {
  background: transparent;
  box-shadow: inset 3px 0 0 rgba(233,37,97,.72);
  padding-left: 16px;
}

.nukimeki-review-list-page .nukimeki-review-list-card__title {
  color: var(--nk-color-text);
  display: -webkit-box;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.55;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .nukimeki-review-list-page .nukimeki-review-list-hero {
  width: calc(100% - 32px);
  padding-bottom: 40px;
  padding-top: 46px;
}
.nukimeki-lower-page .nukimeki-lower-hero {
  width: calc(100% - 32px);
  padding-bottom: 40px;
  padding-top: 46px;
}
.nukimeki-rating-page .nukimeki-rating-hero {
  width: calc(100% - 32px);
  padding-bottom: var(--nk-space-hero);
  padding-top: var(--nk-space-hero);
}

.nukimeki-review-list-page .nukimeki-review-list-hero__title {
  line-break: strict;
  word-break: keep-all;
  letter-spacing: 0;
  line-height: 1.32;
  max-width: 100%;
}

  .nukimeki-review-list-page .nukimeki-review-list-card__body {
    gap: 8px;
    padding: 12px 0 0;
  }

  .nukimeki-review-list-page .nukimeki-review-list-card__title {
    font-size: 16px;
    line-height: 1.45;
  }

  .nukimeki-review-list-page .nukimeki-review-list-card__actress {
    font-size: 12px;
    margin-bottom: 0;
  }

  .nukimeki-review-list-page .nukimeki-review-list-card__tags {
    gap: 4px;
    margin-bottom: 0;
  }

  .nukimeki-review-list-page .nukimeki-review-list-card__tags span {
    font-size: 11px;
    padding: 3px 6px;
  }

  .nukimeki-review-list-page .nukimeki-review-list-card__excerpt {
    display: none;
  }

  .nukimeki-review-list-page .nukimeki-review-list-card__meta {
    gap: 6px;
    min-height: 22px;
  }

  body:is(.nukimeki-review-list-page-template-body, .nukimeki-rating-page-template-body, .nukimeki-lower-page-template-body, .nukimeki-review-post-body, .search, .tag, .tax-actress, .error404) .footer-bottom-content a,
  body:is(.nukimeki-review-list-page-template-body, .nukimeki-rating-page-template-body, .nukimeki-lower-page-template-body, .nukimeki-review-post-body, .search, .tag, .tax-actress, .error404) .footer-menu-nav a,
  body:is(.nukimeki-review-list-page-template-body, .nukimeki-rating-page-template-body, .nukimeki-lower-page-template-body, .nukimeki-review-post-body, .search, .tag, .tax-actress, .error404) .go-to-top-button,
  body:is(.nukimeki-review-list-page-template-body, .nukimeki-rating-page-template-body, .nukimeki-lower-page-template-body, .nukimeki-review-post-body, .search, .tag, .tax-actress, .error404) .skip-link {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
  }

  body:is(.nukimeki-review-list-page-template-body, .nukimeki-rating-page-template-body, .nukimeki-lower-page-template-body, .nukimeki-review-post-body, .search, .tag, .tax-actress, .error404) .go-to-top-button {
    justify-content: center;
    min-width: 44px;
  }
}

/* 2026-08-14: editorial spacing and shared lower-page alignment refinements. */
.nukimeki-home--editorial .nukimeki-latest {
  padding-bottom: clamp(36px, 4vw, 52px);
}

.nukimeki-home--editorial .nukimeki-discovery {
  padding-top: clamp(28px, 4vw, 48px);
}

.nukimeki-lower-page.nukimeki-about-page .nukimeki-lower-links {
  justify-content: center;
}

body.nukimeki-review-list-page-template-body #main {
  padding-bottom: 0;
}

body.nukimeki-review-list-page-template-body .nukimeki-review-list-page {
  padding-bottom: 24px;
}

body:has(.nukimeki-search-page) #content,
body:has(.nk-actress-directory) #content {
  margin-top: 0;
}

body:has(.nukimeki-search-page) #main {
  margin-top: 0;
  padding-top: 0;
}

body:has(.nk-actress-directory) #main {
  margin-top: 0;
  padding-top: 0;
}

body:has(.nk-actress-directory) .nukimeki-lower-page.nk-actress-directory {
  padding-top: 60px;
}

@media screen and (max-width: 640px) {
  .nukimeki-home--editorial .nukimeki-latest {
    padding-bottom: 32px;
  }

  .nukimeki-home--editorial .nukimeki-discovery {
    padding-top: 28px;
  }

  body:has(.nk-actress-directory) .nukimeki-lower-page.nk-actress-directory {
    padding-top: 20px;
  }
}

/* Review article completion: reading-first hierarchy and axis-led scoring. */
body.nukimeki-review-post-body .nukimeki-review-article {
  padding: 22px 24px 80px;
  max-width: var(--nk-width-prose);
  font-size: 17px;
  line-height: 1.9;
}

.nukimeki-review-article__lead {
  border-bottom: 1px solid rgba(255,255,255,.12);
  font-size: 18px;
  margin-bottom: 34px;
  padding-bottom: 30px;
}

.nukimeki-review-article__point {
  background: var(--nk-color-surface);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
  margin: 34px 0;
  padding: clamp(22px, 3vw, 34px);
  color: rgba(247,241,244,.76);
  border-color: rgba(233,37,97,.26);
  box-shadow: none;
}



.nukimeki-review-score-card__average-box {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
  justify-content: flex-start;
  margin: 22px 0 24px;
  padding: 0 0 18px;
}

.nukimeki-review-score-card__average-value {
  font-size: clamp(36px, 3.2vw, 44px);
  text-shadow: none;
}

.nukimeki-review-score-card__axis {
  background: transparent;
  border-radius: 0;
}

.nukimeki-review-score-card__axis-row {
  min-height: 54px;
}



body.nukimeki-review-post-body .related-entry-card {
  background: rgba(255,255,255,.025);
  border-color: rgba(255,255,255,.12);
  color: rgba(247,241,244,.72);
  position: relative;
  overflow: visible;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-radius: 0;
}
body.nukimeki-review-post-body .related-entry-card-thumb {
  --card-ratio: auto;
  aspect-ratio: auto;
  background: #08080b;
  height: auto;
  max-height: none;
  overflow: visible;
  width: 100%;
  border-radius: 0;
  box-sizing: border-box;
}
body.nukimeki-review-post-body .related-entry-card-wrap {
  background: rgba(255,255,255,.025);
  border-color: rgba(255,255,255,.12);
  color: rgba(247,241,244,.72);
  position: relative;
  overflow: visible;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-radius: 0;
}

@media screen and (max-width: 767px) {
  body.nukimeki-review-post-body .nukimeki-review-article {
    font-size: 17px;
  }

  .nukimeki-review-article__lead {
    font-size: 18px;
    padding-bottom: 24px;
  }

  .nukimeki-review-article__section,
.nukimeki-review-axis-detail {
    border-radius: 0;
  }
.nukimeki-review-score-card {
  border-radius: 0;
  margin: 24px 0;
  padding: 26px 20px;
  display: flex;
  flex-direction: column;
}
.nukimeki-review-article__point {
  border-radius: 0;
  margin: 24px 0;
  padding: 18px;
  box-shadow: inset 3px 0 0 rgba(233,37,97,.72);
}

  .nukimeki-review-score-card__average-value {
    font-size: 38px;
  }

  .article .nukimeki-review-article .nukimeki-review-score-card__title,
  .nukimeki-review-score-card__title {
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
  }
}

/* Non-top completion endpoint: keep approved refinements after legacy rules. */
.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-ad-policy-card,
.nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-content,
.nukimeki-lower-page.nukimeki-contact-page .nukimeki-contact-card,
.nukimeki-lower-page.nukimeki-search-page .nukimeki-review-list-empty,
.nukimeki-lower-page.nukimeki-not-found-page .nukimeki-search-section {
  background: rgba(255,255,255,.025);
  border-radius: 0;
  box-shadow: none;
}

.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-content p,
.nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-content p,
.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-ad-policy-content p,
.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-ad-policy-card p,
.nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-privacy-policy-content p {
  font-size: 17px;
  line-height: 1.9;
}

/* Keep the compact recommendation stamp label intact on narrow screens. */
body.nukimeki-review-post-body .nukimeki-review-score-card__stamp-label {
  flex: 0 0 auto;
  white-space: nowrap;
  word-break: keep-all;
}

/* Final accessibility corrections. */
.nukimeki-lower-page .nukimeki-lower-content p {
  font-size: 17px;
}
.nukimeki-rating-page .nukimeki-rating-policy-card p {
  color: var(--nk-color-muted);
  font-size: 17px;
  line-height: 1.8;
  margin: 12px 0 0;
}
.nukimeki-rating-page .nukimeki-rating-section__text {
  color: var(--nk-color-muted);
  font-size: 17px;
  letter-spacing: .01em;
  line-height: 1.85;
  margin: 14px 0 0;
  max-width: var(--nk-width-prose);
}
.nukimeki-rating-page .nukimeki-rating-axis-card p {
  color: var(--nk-color-muted);
  font-size: 17px;
  line-height: 1.8;
  margin: 12px 0 0;
}
.nukimeki-lower-page .nukimeki-lower-section__text {
  color: var(--nk-color-muted);
  font-size: 17px;
  margin: 18px 0 0;
  max-width: var(--nk-width-prose);
}
.nukimeki-rating-page .nukimeki-rating-cta p {
  color: var(--nk-color-muted);
  font-size: 17px;
  line-height: 1.85;
  margin: 12px 0 0;
  max-width: var(--nk-width-prose);
}
.nukimeki-rating-page .nukimeki-rating-note p {
  color: var(--nk-color-muted);
  font-size: 17px;
  line-height: 1.85;
  margin: 12px 0 0;
  max-width: var(--nk-width-prose);
}
.nukimeki-rating-page .nukimeki-rating-point p {
  color: var(--nk-color-muted);
  font-size: 17px;
  line-height: 1.85;
  margin: 12px 0 0;
  max-width: var(--nk-width-prose);
}
.nukimeki-lower-page .nukimeki-lower-card p {
  color: var(--nk-color-muted);
  margin: 0;
  font-size: 17px;
}

.nukimeki-lower-page.nukimeki-rating-page .nukimeki-rating-button,
.nukimeki-lower-page.nukimeki-rating-page .nukimeki-rating-link {
  min-height: 44px;
}
body.nukimeki-review-post-body .nukimeki-review-jump-nav__links a {
  align-items: center;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: rgba(247,241,244,.84);
  display: inline-flex;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  justify-content: center;
  line-height: 1.4;
  min-height: 44px;
  padding: 9px 14px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.nukimeki-about-page .nukimeki-about-note a,
.nukimeki-privacy-policy-page .nukimeki-privacy-policy-content a {
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

body.nukimeki-review-post-body .nukimeki-review-score-card__label,
body.nukimeki-review-post-body .nukimeki-review-axis-detail__score {
  font-size: 13px;
}
body.nukimeki-review-post-body .nukimeki-review-title__sub {
  display: block;
  color: rgba(247,241,244,.72);
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.48;
  margin-top: 8px;
}

.nukimeki-home--editorial .nukimeki-editorial-link {
  color: var(--nk-color-accent-soft);
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 8px;
  padding-bottom: 5px;
  align-items: center;
  min-height: 44px;
}

@media screen and (max-width: 640px) {
  .nukimeki-home--editorial .nukimeki-editorial-hero__description {
    font-size: 14px;
  }

  .nukimeki-home--editorial .nukimeki-editorial-button {
    font-size: 13px;
  }
}

/* UI/UX polish: one shape language, denser guides, and aligned utility pages. */

.nukimeki-home--editorial .nukimeki-editorial-button,
.nukimeki-home--editorial .nukimeki-random-review__button,
.nukimeki-search-form__input,
.nukimeki-search-form__button {
  border-radius: 0;
}
.nukimeki-rating-page .nukimeki-rating-link {
  border-radius: 0;
  min-height: 42px;
  align-items: center;
  border: 1px solid rgba(233,37,97,.55);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  line-height: 1.4;
  padding: 10px 18px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
  background: transparent;
  border-color: var(--nk-color-line-strong);
  color: rgba(255,255,255,.78);
}
.nukimeki-review-article .nukimeki-cta__button {
  align-items: center;
  background: #d51b50;
  border: 1px solid rgba(244,91,138,.72);
  border-radius: 0;
  color: #fff;
  display: inline-flex;
  font-size: 15px;
  font-weight: 800;
  justify-content: center;
  letter-spacing: .04em;
  line-height: 1.4;
  min-height: 52px;
  padding: 14px 26px;
  text-align: center;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
  width: min(100%, 460px);
}
.nukimeki-lower-page .nukimeki-lower-button {
  align-items: center;
  border: 1px solid rgba(233,37,97,.55);
  border-radius: 0;
  color: var(--nk-color-text);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  line-height: 1.4;
  min-height: 44px;
  padding: 10px 18px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
  background: rgba(233,37,97,.10);
}

.nukimeki-age-gate__panel {
  border-radius: 8px;
}

.nukimeki-age-gate__button {
  border-radius: 0;
}

.nukimeki-review-tag-page .nukimeki-review-tag-hero__count {
  border-radius: 999px;
}
.nukimeki-review-list-page .nukimeki-review-list-filter__button {
  align-items: center;
  background: rgba(255,255,255,.018);
  border: 1px solid rgba(233,37,97,.22);
  border-radius: 999px;
  color: var(--nk-color-text);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  line-height: 1.4;
  min-height: 44px;
  padding: 6px 11px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
  padding-left: 16px;
  padding-right: 16px;
}
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__chip {
  align-items: center;
  color: var(--nk-color-text);
  display: inline-flex;
  font-weight: 800;
  gap: 12px;
  justify-content: space-between;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
  background: rgba(255,255,255,.022);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  font-size: 13px;
  min-height: 44px;
  min-width: 104px;
  padding: 8px 14px;
}
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__year {
  align-items: center;
  color: var(--nk-color-text);
  display: inline-flex;
  font-weight: 800;
  gap: 12px;
  justify-content: space-between;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
  background: rgba(8,8,12,.54);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  font-size: 14px;
  min-height: 44px;
  min-width: 146px;
  padding: 13px 16px;
}

.nukimeki-review-list-page .nukimeki-review-list-filter__button.is-active,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__chip.is-active,
.nukimeki-review-list-page .nukimeki-nuita-archive-nav__year.is-active {
  background: #d51b50;
  border-color: rgba(244,91,138,.92);
  color: #fff;
}

.nukimeki-home--editorial .nukimeki-editorial-button:not(.nukimeki-editorial-button--quiet):not(.nukimeki-editorial-button--gold),
.nukimeki-home--editorial .nukimeki-random-review__button,
.nukimeki-search-form__button {
  background: #d51b50;
  border-color: #d51b50;
}
.nukimeki-rating-page .nukimeki-rating-button {
  border-radius: 0;
  min-height: 42px;
  align-items: center;
  border: 1px solid rgba(233,37,97,.55);
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  line-height: 1.4;
  padding: 10px 18px;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
  background: #d51b50;
  border-color: #d51b50;
  color: #fff;
}
.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__badge {
  align-self: flex-start;
  background: #d51b50;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  margin: 14px 20px 16px;
  padding: 6px 9px;
  position: relative;
  border-color: #d51b50;
}
.nukimeki-contact-page .wpcf7 input[type="submit"] {
  border-radius: 0;
  font-size: 16px;
  min-height: 48px;
  align-items: center;
  background: #d51b50;
  border: 1px solid rgba(244,91,138,.70);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  line-height: 1.4;
  min-width: 180px;
  padding: 12px 26px;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
  width: 100%;
  border-color: #d51b50;
}

.nukimeki-rating-page .nukimeki-rating-scale {
  padding-bottom: 48px;
  padding-top: 48px;
}

.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-hero,
.nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-hero,
.nukimeki-lower-page.nukimeki-contact-page .nukimeki-lower-hero,
.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-section,
.nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-section,
.nukimeki-lower-page.nukimeki-contact-page .nukimeki-lower-section,
.nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-links,
.nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-links,
.nukimeki-lower-page.nukimeki-contact-page .nukimeki-lower-links {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--nk-width-prose);
  width: min(calc(100% - 64px), var(--nk-width-prose));
}

.nukimeki-ad-policy-page .nukimeki-lower-hero__inner,
.nukimeki-privacy-policy-page .nukimeki-lower-hero__inner,
.nukimeki-contact-page .nukimeki-lower-hero__inner,
.nukimeki-ad-policy-page .nukimeki-lower-section__head,
.nukimeki-privacy-policy-page .nukimeki-lower-section__head,
.nukimeki-contact-page .nukimeki-lower-section__head {
  max-width: var(--nk-width-prose);
  text-align: left;
}

.nukimeki-privacy-policy-page .nukimeki-privacy-policy-content {
  background: transparent;
  border: 0;
  border-radius: 0;
  border-top: 1px solid rgba(255,255,255,.14);
  box-shadow: none;
  padding: 24px 0 0;
}
.nukimeki-ad-policy-page .nukimeki-ad-policy-note {
  background: transparent;
  border: 0;
  border-radius: 0;
  max-width: var(--nk-width-prose);
  padding: 24px 0 0;
  border-top: 1px solid rgba(255,255,255,.14);
  box-shadow: none;
}
.nukimeki-ad-policy-page .nukimeki-ad-policy-content {
  background: transparent;
  border: 0;
  border-radius: 0;
  max-width: var(--nk-width-prose);
  padding: 24px 0 0;
  border-top: 1px solid rgba(255,255,255,.14);
  box-shadow: none;
}

.nukimeki-ad-policy-page .nukimeki-ad-policy-card {
  background: transparent;
  border-color: rgba(255,255,255,.13);
  border-radius: 0;
  box-shadow: none;
  border: 0;
  padding: 20px 0 0;
  border-top: 1px solid rgba(255,255,255,.14);
}

.nukimeki-ad-policy-page .nukimeki-ad-policy-card-grid {
  gap: 28px;
}

.nukimeki-contact-page .nukimeki-contact-card {
  background: rgba(255,255,255,.025);
  border-color: rgba(255,255,255,.13);
  border-radius: 0;
  box-shadow: none;
  border: 1px solid rgba(255,255,255,.13);
  max-width: var(--nk-width-prose);
  padding: clamp(20px, 2.2vw, 26px);
}

.nukimeki-ad-policy-page .nukimeki-ad-policy-section + .nukimeki-ad-policy-section,
.nukimeki-privacy-policy-page .nukimeki-privacy-policy-section + .nukimeki-privacy-policy-section {
  margin-top: 28px;
}

.nukimeki-ad-policy-page .nukimeki-ad-policy-section:nth-of-type(n+3) .nukimeki-lower-page__label,
.nukimeki-privacy-policy-page .nukimeki-privacy-policy-section:nth-of-type(n+3) .nukimeki-lower-page__label {
  display: none;
}

.nukimeki-search-page .nukimeki-review-list-empty {
  border-radius: 0;
}
.nukimeki-review-axis-detail {
  background:
    linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 0;
  padding: 22px 24px;
  box-shadow: none;
}
.nukimeki-lower-page .nukimeki-lower-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)),
    var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 0;
  color: var(--nk-color-text);
  display: block;
  min-height: 100%;
  padding: 24px;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.nukimeki-about-page .nukimeki-about-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)),
    var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  border-radius: 0;
  padding: 18px 22px;
}
.nukimeki-review-article__section {
  background: var(--nk-color-surface);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
  margin: 34px 0;
  padding: clamp(22px, 3vw, 34px);
  color: rgba(247,241,244,.76);
  box-shadow: none;
}
.nukimeki-about-page .nukimeki-about-message {
  max-width: var(--nk-width-prose);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0)),
    var(--nk-color-surface);
  border: 1px solid var(--nk-color-line);
  margin: 40px auto 0;
  padding: 20px 24px;
  width: min(calc(100% - 64px), var(--nk-width-content));
}
.nukimeki-review-list-page .nukimeki-review-list-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--nk-color-text);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: visible;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top: 1px solid rgba(255,255,255,.16);
  box-shadow: none;
  padding-top: 16px;
}
.nukimeki-about-page .nukimeki-about-content {
  max-width: var(--nk-width-prose);
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 24px 0 0;
  border-top: 1px solid rgba(255,255,255,.14);
  box-shadow: none;
}
.nukimeki-about-page .nukimeki-about-note {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 24px 0 0;
  border-top: 1px solid rgba(255,255,255,.14);
  box-shadow: none;
}
.nukimeki-review-score-card {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
  margin: 34px 0;
  padding: clamp(26px, 3vw, 34px);
  border-color: rgba(233,37,97,.22);
  box-shadow: none;
  overflow: hidden;
  position: relative;
}

.nukimeki-not-found-page .nukimeki-search-section {
  background: rgba(255,255,255,.025);
  border-color: rgba(255,255,255,.13);
  border-radius: 0;
  box-shadow: none;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--nk-width-prose);
  padding-top: 10px;
  width: min(calc(100% - 64px), var(--nk-width-content));
}

@media screen and (max-width: 640px) {
  .nukimeki-not-found-page .nukimeki-search-section {
    padding-top: 8px;
    width: calc(100% - 32px);
  }
}

@media screen and (max-width: 640px) {
  .nukimeki-home--editorial .nukimeki-editorial-hero__actions {
    gap: 8px;
  }

  .nukimeki-home--editorial .nukimeki-editorial-hero__actions .nukimeki-editorial-button {
    min-height: 52px;
  }

  .nukimeki-rating-page .nukimeki-rating-scale {
    padding-bottom: 40px;
    padding-top: 40px;
  }

  .nukimeki-rating-page .nukimeki-rating-scale-card {
  padding: 16px;
  border-bottom: 1px solid rgba(255,255,255,.13);
  border-right: 0;
  min-height: 0;
}

  .nukimeki-rating-page .nukimeki-rating-body-scale-card {
    min-height: 0;
  }

  .nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-hero,
  .nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-hero,
  .nukimeki-lower-page.nukimeki-contact-page .nukimeki-lower-hero,
  .nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-section,
  .nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-section,
  .nukimeki-lower-page.nukimeki-contact-page .nukimeki-lower-section,
  .nukimeki-lower-page.nukimeki-ad-policy-page .nukimeki-lower-links,
  .nukimeki-lower-page.nukimeki-privacy-policy-page .nukimeki-lower-links,
  .nukimeki-lower-page.nukimeki-contact-page .nukimeki-lower-links {
    width: calc(100% - 32px);
  }
}

.nukimeki-rating-jump-nav {
  align-items: center;
  background: rgba(8, 8, 12, .96);
  border-bottom: 1px solid var(--nk-color-line);
  border-top: 1px solid var(--nk-color-line);
  display: flex;
  gap: 8px;
  justify-content: center;
  overflow-x: auto;
  padding: 10px max(16px, calc((100vw - 1180px) / 2));
  position: sticky;
  top: 0;
  z-index: 5;
}

.nukimeki-rating-jump-nav a {
  border: 1px solid var(--nk-color-line);
  color: var(--nk-color-text);
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 10px 14px;
  text-decoration: none;
}

.nukimeki-rating-jump-nav a:hover,
.nukimeki-rating-jump-nav a:focus-visible {
  border-color: var(--nk-color-accent);
  color: var(--nk-color-accent-soft);
}

.nukimeki-review-list-filter__items {
  scrollbar-width: thin;
}

@media screen and (max-width: 640px) {
  .nukimeki-rating-jump-nav {
    justify-content: flex-start;
  }

  .nukimeki-review-list-filter__items {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-right: -20px;
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 24px), transparent 100%);
    mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 24px), transparent 100%);
    overflow-x: auto;
    padding-right: 20px;
    scroll-snap-type: x proximity;
  }

  .nukimeki-review-list-filter__button {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .nukimeki-review-list-filter__items::after {
    content: "";
    flex: 0 0 18px;
  }

  .nukimeki-contact-page .wpcf7 .wpcf7-acceptance label {
    font-size: 14px;
    min-height: 44px;
    padding: 10px 0;
  }

  .nukimeki-contact-page .wpcf7 input[type="checkbox"] {
    block-size: 20px;
    flex: 0 0 20px;
    inline-size: 20px;
    margin-top: .15em;
  }

  .nukimeki-contact-page .nukimeki-contact-note,
  .nukimeki-contact-page .wpcf7-not-valid-tip {
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  .nukimeki-review-list-page .nukimeki-review-list-filter__items {
  gap: 8px;
  display: flex;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  flex-wrap: wrap;
  margin-right: 0;
  mask-image: none;
  overflow: visible;
  padding-right: 0;
}

  .nukimeki-review-list-page .nukimeki-review-list-filter__items > .nukimeki-review-list-filter__button,
  .nukimeki-review-list-page .nukimeki-review-list-filter__charm-items .nukimeki-review-list-filter__button {
    flex: 0 0 auto;
    width: auto;
  }
}

/* Review card titles: keep the work heading and catch copy as separate lines. */
.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__title,
.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__card-title,
.nukimeki-review-list-page .nukimeki-review-list-card__title {
  display: block;
  -webkit-line-clamp: unset;
}

.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__title .nukimeki-review-title__main,
.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__card-title .nukimeki-review-title__main,
.nukimeki-review-list-page .nukimeki-review-list-card__title .nukimeki-review-title__main,
.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__title .nukimeki-review-title__sub,
.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__card-title .nukimeki-review-title__sub,
.nukimeki-review-list-page .nukimeki-review-list-card__title .nukimeki-review-title__sub {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__title .nukimeki-review-title__main,
.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__card-title .nukimeki-review-title__main,
.nukimeki-review-list-page .nukimeki-review-list-card__title .nukimeki-review-title__main {
  -webkit-line-clamp: 2;
}

.nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__title .nukimeki-review-title__sub,
.nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__card-title .nukimeki-review-title__sub,
.nukimeki-review-list-page .nukimeki-review-list-card__title .nukimeki-review-title__sub {
  color: var(--nk-color-muted);
  font-size: .72em;
  font-weight: 500;
  line-height: 1.45;
  margin-top: .2em;
  -webkit-line-clamp: 2;
}

/* Package pictures keep the complete official package image on every device. */
.nukimeki-home--editorial .nukimeki-review-card__picture,
.nukimeki-home--editorial .nukimeki-random-review__picture {
  display: block;
  line-height: 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .nukimeki-home--editorial .nukimeki-latest .nukimeki-review-card__picture img,
  .nukimeki-home--editorial .nukimeki-discovery .nukimeki-random-review__picture img,
  .nukimeki-home--editorial .nukimeki-featured__picture img {
    margin-left: auto;
    margin-right: auto;
    width: auto;
  }
}

/* 下層ページの見出しは1つのスケールに統一する。 */
.nukimeki-review-list-page .nukimeki-review-list-hero__title,
.nukimeki-lower-page .nukimeki-lower-hero__title,
.nukimeki-search-page .nukimeki-lower-hero__title,
.nukimeki-rating-page .nukimeki-rating-hero__title {
  font-size: clamp(30px, 4.4vw, 48px);
}

.nukimeki-lower-page .nukimeki-lower-hero,
.nukimeki-review-list-page .nukimeki-review-list-hero {
  padding-bottom: var(--nk-space-hero);
  padding-top: var(--nk-space-hero);
}

/* スマホのレビュー一覧は、探索機能を残したまま最初のカードまでを短くする。 */
@media screen and (max-width: 640px) {
  .nukimeki-review-list-page .nukimeki-review-list-hero {
    padding-bottom: 12px;
    padding-top: 20px;
  }

  .nukimeki-review-list-page .nukimeki-review-list-hero__text {
    display: block;
    font-size: 14px;
    line-height: 1.6;
    margin-top: 8px;
    max-height: 1.6em;
    overflow: hidden;
  }

  /* §7: セールのリード文は375pxでも全文を読めるように2行を許可する。 */
  .nukimeki-sale-page .nukimeki-review-list-hero__text {
    max-height: none;
    overflow: visible;
  }

  .nukimeki-review-list-page .nukimeki-review-finder {
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin: 10px 0 8px;
    padding: 10px;
  }

  .nukimeki-review-list-page .nukimeki-review-finder__search {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
    height: auto;
  }

  .nukimeki-review-list-page .nukimeki-review-finder__search label {
    font-size: 13px;
    margin: 0;
    white-space: normal;
  }

  .nukimeki-review-list-page .nukimeki-review-finder__controls label {
    font-size: 13px;
    margin: 0;
    white-space: nowrap;
  }

  .nukimeki-review-list-page .nukimeki-review-finder__search input,
  .nukimeki-review-list-page .nukimeki-review-finder__controls select {
    min-height: 44px;
  }

  .nukimeki-review-list-page .nukimeki-review-finder__controls {
    display: block;
    grid-column: 1;
    height: auto;
  }

  .nukimeki-review-list-page .nukimeki-review-finder__controls label {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: max-content minmax(0, 1fr);
  }

  .nukimeki-review-list-page .nukimeki-review-finder__actions {
    display: block;
    grid-column: 2;
    height: auto;
  }

  .nukimeki-review-list-page .nukimeki-review-finder__actions button {
    min-height: 44px;
    padding: 8px 10px;
    width: 100%;
  }

  .nukimeki-review-list-page .nukimeki-review-finder__count {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 8px;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter {
    display: block;
    margin-top: 6px;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter__heading {
    display: block;
    font-size: 13px;
    margin-bottom: 6px;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter__items {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    mask-image: linear-gradient(90deg, transparent 0, black 12px, black calc(100% - 12px), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, black 12px, black calc(100% - 12px), transparent 100%);
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 6px;
    scrollbar-width: none;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter__items::-webkit-scrollbar {
    display: none;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter__button,
  .nukimeki-review-list-page .nukimeki-review-list-filter__charm {
    flex: 0 0 auto;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter__button {
    white-space: nowrap;
  }
}

/* Review index: keep style and charm tags in two explicit rows. */
.nukimeki-review-list-page .nukimeki-review-list-filter__items {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr);
  overflow: visible;
}

.nukimeki-review-list-page .nukimeki-review-list-filter__items::after {
  content: none;
  display: none;
}

.nukimeki-review-list-page .nukimeki-review-list-filter__row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.nukimeki-review-list-page .nukimeki-review-list-filter__row--charm {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 10px;
}

.nukimeki-review-list-page .nukimeki-review-list-filter__charm-label {
  color: var(--nk-color-muted);
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.4;
  margin-right: 2px;
}

.nukimeki-review-list-page .nukimeki-review-list-filter__charm-items {
  align-items: center;
  display: flex;
  flex: 1 1 0%;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

@media screen and (max-width: 640px) {
  .nukimeki-review-list-page .nukimeki-review-list-filter__items {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr);
    mask-image: none;
    -webkit-mask-image: none;
    overflow: visible;
    padding: 0;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter__row {
    align-items: flex-start;
    gap: 8px;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter__charm-items {
    gap: 8px;
  }

  .nukimeki-review-list-page .nukimeki-review-list-filter__button {
    flex: 0 0 auto;
  }
}
