:root {
  --rocktv-pitch-black: #0a0a0a;
  --rocktv-gunmetal: #1a1a1a;
  --rocktv-iron-grey: #333333;
  --rocktv-surface: #f7f5f4;
  --rocktv-surface-card: #ffffff;
  --rocktv-line: #d8d2d0;
  --rocktv-text: #111111;
  --rocktv-muted: #615957;
  --rocktv-red: #e60012;
  --rocktv-deep-red: #c0000d;
  --rocktv-brown: #4b3d36;
  --rocktv-white: #ffffff;
  --rocktv-container: 1024px;
  --rocktv-headline: "Anton", "Noto Sans JP", sans-serif;
  --rocktv-body: "Hanken Grotesk", "Noto Sans JP", sans-serif;
  --rocktv-mono: "JetBrains Mono", monospace;
}

body.ward-rocktv-page {
  margin: 0;
  background: #fff;
  color: var(--rocktv-text);
  font-family: var(--rocktv-body);
  line-height: 1.7;
  letter-spacing: 0.02em;
}

body.ward-rocktv-page::before {
  content: none;
}

.ward-rocktv,
.ward-rocktv * {
  box-sizing: border-box;
}

.ward-rocktv {
  color: var(--rocktv-text);
  font-family: var(--rocktv-body);
}

.ward-rocktv-content a,
.ward-rocktv-hero a {
  color: inherit;
  text-decoration: none;
}

/* Keep the page aligned to the legacy Ward Records 1024px width. Header and footer themselves are handled by the existing import.css. */
.ward-rocktv #header_wrap,
.ward-rocktv #footer_wrap {
  width: var(--rocktv-container);
  max-width: calc(100% - 48px);
  margin-left: auto;
  margin-right: auto;
}

/* Header/footer fallback. import.css is still loaded first, but this protects the page when the legacy CSS does not apply in WordPress. */
.ward-rocktv #header_wrap ul,
.ward-rocktv #footer_wrap ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ward-rocktv #header_wrap li,
.ward-rocktv #footer_wrap li {
  list-style: none;
}

.ward-rocktv #header_wrap {
  margin-top: 26px;
  margin-bottom: 10px;
  font-family: Arial, "Noto Sans JP", sans-serif;
  line-height: 1.4;
}

.ward-rocktv #header_wrap::after,
.ward-rocktv #footer_wrap::after,
.ward-rocktv .header_second_area::after {
  content: "";
  display: block;
  clear: both;
}

.ward-rocktv .header_second_area {
  position: relative;
  min-height: 92px;
}

.ward-rocktv #tel_area {
  position: absolute;
  right: 0;
  top: 0;
  text-align: right;
  color: #777;
  font-size: 11px;
}

.ward-rocktv #tel_area img {
  display: block;
  margin: 8px 0 0 auto;
  max-width: 180px;
  height: auto;
}

.ward-rocktv #logo_area {
  position: absolute;
  left: 0;
  top: 36px;
}

.ward-rocktv #logo_area img {
  display: block;
  width: auto;
  height: auto;
  max-width: 210px;
}

.ward-rocktv #header_right {
  position: absolute;
  right: 0;
  top: 34px;
  min-width: 390px;
  text-align: right;
}

.ward-rocktv #header_cart_area {
  float: right;
  width: 36px;
  height: 28px;
  margin-left: 8px;
}

.ward-rocktv #header_cart_area a,
.ward-rocktv .hover_change_image4 {
  display: block;
  width: 34px;
  height: 28px;
  background: #9a0010;
  position: relative;
}

.ward-rocktv #header_cart_area a::after {
  content: "CART";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font: 700 9px/1 Arial, sans-serif;
}

.ward-rocktv #header_login_area {
  margin: 0;
  padding: 0;
}

.ward-rocktv #header_login_area dt {
  margin: 0;
}

.ward-rocktv #header_login_area dd {
  display: inline-block;
  margin: 0 0 0 4px;
  vertical-align: top;
}

.ward-rocktv .searchform2 {
  display: inline-flex;
  align-items: center;
  vertical-align: top;
  margin: 0 5px 0 0;
}

.ward-rocktv #keywords2 {
  width: 168px;
  height: 24px;
  border: 1px solid #bbb;
  background: #fff;
  padding: 2px 6px;
}

.ward-rocktv .searchBtn2 {
  display: inline-block;
  width: auto;
  height: 24px;
  margin-left: 3px;
  vertical-align: top;
}

.ward-rocktv .hover_change_image6,
.ward-rocktv .hover_change_image3 {
  display: inline-grid;
  place-items: center;
  min-width: 76px;
  height: 24px;
  background: #111;
  color: #fff;
  font: 700 11px/1 Arial, sans-serif;
  text-decoration: none;
}

.ward-rocktv .hover_change_image6::after { content: "新規会員登録"; }
.ward-rocktv .hover_change_image3::after { content: "ログイン"; }

.ward-rocktv .site_navi_area {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  align-items: center;
  color: #6e5b55;
  font-size: 11px;
}

.ward-rocktv .site_navi_area a {
  color: #4b00aa;
  text-decoration: underline;
}

.ward-rocktv #header_right .site_navi_area {
  margin-top: 8px;
}

.ward-rocktv #header_wrap > nav.dropmenu {
  float: left;
  width: 25%;
  margin: 0;
  padding: 0;
}

.ward-rocktv #header_wrap > nav.dropmenu > ul,
.ward-rocktv #header_wrap > nav.dropmenu > ul > li {
  width: 100%;
  margin: 0;
  padding: 0;
}

.ward-rocktv #header_wrap > nav.dropmenu a {
  display: block;
  height: 42px;
  border: 1px solid #261b18;
  border-right: 0;
  background: linear-gradient(180deg, #4d3c34 0%, #181211 100%);
  color: #fff;
  text-align: center;
  font-weight: 900;
  font-size: 13px;
  line-height: 42px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.ward-rocktv #header_wrap > nav.dropmenu:last-child a {
  border-right: 1px solid #261b18;
}

.ward-rocktv .btn_header_rock::after { content: "ワードレコーズ"; }
.ward-rocktv .btn_header_rocktv::after { content: "伊藤政則のロックTV!"; }
.ward-rocktv .btn_header_goods::after { content: "アーティストグッズ"; }
.ward-rocktv .btn_header_live::after { content: "ライヴ＆チケット"; }

.ward-rocktv #footer_wrap {
  margin-top: 58px;
  margin-bottom: 36px;
  padding: 0 0 42px;
  background: #4f423b;
  color: #fff;
  border: 1px solid #2a2320;
  font-family: Arial, "Noto Sans JP", sans-serif;
  text-align: center;
}

.ward-rocktv #footer_wrap .title_sitemap {
  margin: 0 0 30px;
  height: 38px;
  line-height: 38px;
  background: #342922;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.ward-rocktv #footer_wrap .footer_nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
}

.ward-rocktv #footer_wrap .footer_nav > li {
  margin: 0;
  padding: 0;
}

.ward-rocktv #footer_wrap p {
  margin: 0 0 5px;
}

.ward-rocktv #footer_wrap a {
  color: #fff;
  text-decoration: none;
}

.ward-rocktv #footer_wrap a:hover {
  text-decoration: underline;
}

.ward-rocktv #footer_wrap .footer_nav_title {
  margin: 0 0 8px;
  font-weight: 700;
  color: #fff;
}

.ward-rocktv #footer_wrap .small {
  font-size: 12px;
  color: #e6dedb;
  line-height: 1.5;
}

.ward-rocktv #page-top {
  margin-top: 22px;
}

.ward-rocktv #page-top img {
  max-width: 70px;
  height: auto;
}

/* Hero */
.ward-rocktv .ward-rocktv-hero {
  width: min(var(--rocktv-container), calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 330px 1fr;
  min-height: 394px;
  background: var(--rocktv-pitch-black);
  border: 1px solid #222;
  overflow: hidden;
  position: relative;
}

.ward-rocktv .ward-rocktv-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 16%, rgba(230,0,18,0.75), transparent 31%),
    linear-gradient(90deg, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.72) 42%, rgba(230,0,18,0.42) 100%);
  z-index: 0;
}

.ward-rocktv .product-search {
  position: relative;
  z-index: 1;
  margin: 72px 0 0 45px;
  width: 254px;
  height: 242px;
  padding: 36px 24px 24px;
  background: linear-gradient(145deg, #e0b04f 0%, #a8752d 58%, #6c461c 100%);
  border: 3px solid rgba(0,0,0,0.25);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,0.28), 0 8px 18px rgba(0,0,0,0.4);
}

.ward-rocktv .product-search::before {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #49413d;
  box-shadow: 198px 0 0 #49413d, 0 188px 0 #49413d, 198px 188px 0 #49413d;
  left: 20px;
  top: 18px;
}

.ward-rocktv .product-search h2 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.3;
}

.ward-rocktv .product-search input {
  width: 100%;
  height: 26px;
  margin-bottom: 10px;
  border: 0;
  padding: 0 9px;
  background: #fff;
  color: #555;
  font-size: 12px;
}

.ward-rocktv .product-search button,
.ward-rocktv .product-search input[type="submit"] {
  width: 100%;
  height: 27px;
  margin-top: 12px;
  border: 0;
  background: #a11e36;
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.14em;
  cursor: pointer;
}

.ward-rocktv .hero-main {
  position: relative;
  z-index: 1;
  padding: 52px 34px 40px 0;
  min-height: 394px;
  display: grid;
  grid-template-columns: 1fr 265px;
  gap: 18px;
  align-items: center;
}

.ward-rocktv .hero-kicker {
  margin: 0 0 2px;
  font-family: var(--rocktv-headline);
  color: #fff;
  font-size: 26px;
  letter-spacing: 0.02em;
  text-shadow: 0 2px 0 #000;
}

.ward-rocktv .hero-title-jp {
  margin: 0;
  color: #fff;
  font-family: var(--rocktv-headline);
  font-size: 46px;
  line-height: 1.08;
  letter-spacing: 0.01em;
  text-shadow: 0 4px 0 #000;
}

.ward-rocktv .hero-title-red {
  margin: 16px 0 0;
  color: var(--rocktv-red);
  font-family: var(--rocktv-headline);
  font-size: 82px;
  line-height: 0.9;
  text-shadow: 0 4px 0 #000, 0 0 18px rgba(230,0,18,0.35);
}

.ward-rocktv .onair-card {
  width: 310px;
  margin-top: 24px;
  padding: 14px 18px;
  background: #fff;
  color: #111;
  font-weight: 900;
  text-align: center;
  border: 1px solid #d4d4d4;
  box-shadow: 0 8px 0 rgba(0,0,0,0.5);
}

.ward-rocktv .onair-card .small {
  display: block;
  font-size: 15px;
}

.ward-rocktv .onair-card .date {
  display: block;
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: 0.02em;
}

.ward-rocktv .host-placeholder {
  height: 320px;
  align-self: end;
  position: relative;
  filter: drop-shadow(0 15px 20px rgba(0,0,0,0.75));
}

.ward-rocktv .host-placeholder::before {
  content: "";
  position: absolute;
  right: 12px;
  bottom: -4px;
  width: 210px;
  height: 305px;
  background:
    radial-gradient(circle at 54% 18%, #f2cbbf 0 11%, transparent 12%),
    radial-gradient(circle at 50% 14%, #111 0 17%, transparent 18%),
    linear-gradient(145deg, #444 0%, #111 55%, #000 100%);
  clip-path: polygon(28% 0%, 74% 0%, 96% 44%, 88% 100%, 8% 100%, 0% 44%);
  border: 1px solid rgba(255,255,255,0.1);
}

.ward-rocktv .host-placeholder::after {
  content: "HOST IMAGE";
  position: absolute;
  right: 44px;
  bottom: 130px;
  transform: rotate(-7deg);
  font-family: var(--rocktv-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.45);
  border: 1px solid rgba(255,255,255,0.25);
  padding: 6px 8px;
}

/* Content */
.ward-rocktv .ward-rocktv-content {
  width: min(var(--rocktv-container), calc(100% - 48px));
  margin: 0 auto;
  padding: 64px 0 118px;
}

.ward-rocktv .section {
  margin-top: 78px;
}

.ward-rocktv .section:first-child {
  margin-top: 0;
}

.ward-rocktv .section-heading {
  display: flex;
  align-items: baseline;
  gap: 12px;
  border-bottom: 1px solid var(--rocktv-line);
  padding-bottom: 17px;
  margin-bottom: 34px;
}

.ward-rocktv .section-heading h2 {
  margin: 0;
  font-family: var(--rocktv-headline);
  font-size: 38px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #111;
}

.ward-rocktv .section-heading span,
.ward-rocktv .section-heading p {
  margin: 0;
  color: var(--rocktv-muted);
  font-size: 13px;
  font-weight: 700;
}

/* Program panel */
.ward-rocktv .program-panel {
  background: #f0eeee;
  border: 1px solid #ded8d6;
  padding: 38px;
}

.ward-rocktv .program-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 22px;
  margin-bottom: 28px;
}

.ward-rocktv .program-head h3 {
  margin: 0;
  font-family: var(--rocktv-headline);
  font-size: 42px;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #111;
}

.ward-rocktv .episode-no {
  display: block;
  margin-bottom: 6px;
  color: var(--rocktv-red);
  font-family: var(--rocktv-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ward-rocktv .program-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.ward-rocktv .meta-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 14px;
  border: 1px solid var(--rocktv-line);
  background: #fff;
  color: #555;
  font-family: var(--rocktv-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  white-space: nowrap;
  text-transform: uppercase;
}

.ward-rocktv .meta-pill.anchor-link {
  color: var(--rocktv-deep-red);
  border-color: rgba(192,0,13,0.35);
}

.ward-rocktv .onair-layout {
  display: grid;
  grid-template-columns: 44% 1fr;
  gap: 30px;
  align-items: start;
}

.ward-rocktv .onair-visual {
  background: #0a0a0a;
  border: 1px solid #151515;
  padding: 10px;
  position: sticky;
  top: 20px;
  margin: 0;
}

.ward-rocktv .onair-visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #000;
}

.ward-rocktv .placeholder-visual {
  min-height: 340px;
  display: grid;
  grid-template-rows: 1fr auto;
}

.ward-rocktv .placeholder-visual > span,
.ward-rocktv .placeholder-visual > div {
  display: grid;
  place-items: center;
  min-height: 290px;
  color: rgba(255,255,255,0.32);
  font-family: var(--rocktv-headline);
  font-size: 44px;
  letter-spacing: 0.08em;
  border: 1px dashed rgba(255,255,255,0.18);
  background:
    radial-gradient(circle at 50% 50%, rgba(230,0,18,0.2), transparent 36%),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 5px);
}

.ward-rocktv .visual-caption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: 11px;
  color: #d8d2d0;
  font-family: var(--rocktv-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.ward-rocktv .visual-caption strong {
  color: var(--rocktv-red);
}

.ward-rocktv .program-list {
  display: grid;
  gap: 12px;
}

.ward-rocktv .program-item {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  padding: 18px 18px 17px;
  background: #fff;
  border: 1px solid #ddd5d2;
  position: relative;
  overflow: hidden;
}

.ward-rocktv .program-item::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--rocktv-red);
  opacity: 0;
  transition: opacity 0.18s ease;
}

.ward-rocktv .program-item:hover::before {
  opacity: 1;
}

.ward-rocktv .program-index {
  display: grid;
  place-items: center;
  height: 36px;
  background: var(--rocktv-pitch-black);
  color: var(--rocktv-white);
  font-family: var(--rocktv-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.ward-rocktv .program-body h4,
.ward-rocktv .program-body h3 {
  margin: -2px 0 8px;
  font-family: var(--rocktv-body);
  font-size: 17px;
  line-height: 1.55;
  font-weight: 900;
  color: #151515;
}

.ward-rocktv .program-body ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 4px;
}

.ward-rocktv .program-body li {
  position: relative;
  padding-left: 18px;
  color: #4c4543;
  font-size: 13px;
  line-height: 1.65;
  font-weight: 600;
}

.ward-rocktv .program-body li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: #aaa09c;
}

.ward-rocktv .program-body li.media-line {
  color: var(--rocktv-deep-red);
  font-weight: 800;
}

.ward-rocktv .program-body li.media-line::before {
  content: "♪";
  color: var(--rocktv-deep-red);
  font-family: var(--rocktv-mono);
  font-size: 12px;
}


/* Pickups */
.ward-rocktv .pickup-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.ward-rocktv .pickup-card {
  position: relative;
  min-height: 174px;
  padding: 24px 18px;
  overflow: hidden;
  background: #111;
  border: 1px solid #111;
  color: #fff;
  display: flex;
  align-items: end;
  isolation: isolate;
}

.ward-rocktv .pickup-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 30%, rgba(255,255,255,0.18), transparent 20%),
    linear-gradient(135deg, rgba(255,255,255,0.12), transparent 32%),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 4px);
  opacity: 0.85;
  filter: grayscale(1);
  z-index: -2;
}

.ward-rocktv .pickup-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.92), rgba(0,0,0,0.2));
  z-index: -1;
}

.ward-rocktv .pickup-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.55;
  filter: grayscale(1);
  z-index: -2;
}

.ward-rocktv .pickup-card:hover img,
.ward-rocktv .pickup-card:hover::before {
  filter: grayscale(0);
  opacity: 1;
}

.ward-rocktv .pickup-card .tag,
.ward-rocktv .pickup-card span {
  display: block;
  margin-bottom: 8px;
  color: var(--rocktv-red);
  font-family: var(--rocktv-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
}

.ward-rocktv .pickup-card h3,
.ward-rocktv .pickup-card strong {
  margin: 0;
  font-family: var(--rocktv-headline);
  font-size: 35px;
  line-height: 0.96;
  text-transform: uppercase;
  text-shadow: 0 2px 0 #000;
  color: #fff;
}

/* Information */
.ward-rocktv .info-list,
.ward-rocktv .information-list {
  border-top: 1px solid var(--rocktv-line);
}

.ward-rocktv .info-row,
.ward-rocktv .information-list a {
  display: grid;
  grid-template-columns: 135px 88px 140px 1fr;
  gap: 22px;
  align-items: center;
  min-height: 67px;
  border-bottom: 1px solid var(--rocktv-line);
  font-size: 14px;
  color: inherit;
}

.ward-rocktv .info-date,
.ward-rocktv .information-list time {
  font-family: var(--rocktv-mono);
  color: #4c4543;
  font-size: 12px;
  letter-spacing: 0.12em;
}

.ward-rocktv .tag,
.ward-rocktv .information-list span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 22px;
  padding: 0 12px;
  background: var(--rocktv-red);
  color: #fff;
  font-family: var(--rocktv-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ward-rocktv .tag.release,
.ward-rocktv .tag.tv {
  background: #3b3330;
}

.ward-rocktv .info-artist,
.ward-rocktv .information-list strong {
  font-family: var(--rocktv-headline);
  font-size: 18px;
  line-height: 1;
  text-transform: uppercase;
  color: #111;
}

.ward-rocktv .info-title,
.ward-rocktv .information-list em {
  grid-column: auto;
  color: #3c3735;
  font-style: normal;
  font-weight: 600;
}

.ward-rocktv .center-action {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}

.ward-rocktv .outline-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 254px;
  min-height: 48px;
  border: 1px solid var(--rocktv-deep-red);
  color: var(--rocktv-deep-red);
  background: transparent;
  font-family: var(--rocktv-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  transition: background 0.2s ease, color 0.2s ease;
  text-transform: uppercase;
}

.ward-rocktv .outline-button:hover {
  background: var(--rocktv-deep-red);
  color: #fff;
}

/* Top archive CTA */
.ward-rocktv .archive-panel,
.ward-rocktv .year-nav {
  padding: 44px 38px 38px;
  background: #efeeee;
  border: 1px solid #ddd8d6;
}

.ward-rocktv .year-block + .year-block {
  margin-top: 34px;
  padding-top: 18px;
  border-top: 1px solid #d9d3d0;
}

.ward-rocktv .year-block h3,
.ward-rocktv .year-nav h2 {
  margin: 0 0 18px;
  font-family: var(--rocktv-headline);
  font-size: 38px;
  line-height: 1;
  color: #111;
}

.ward-rocktv .month-grid,
.ward-rocktv .year-link-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}

.ward-rocktv .month-grid a,
.ward-rocktv .year-link-grid a {
  display: grid;
  place-items: center;
  height: 44px;
  background: #fff;
  border: 1px solid #d9d4d2;
  font-family: var(--rocktv-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #333;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.ward-rocktv .month-grid a:hover,
.ward-rocktv .month-grid a.active,
.ward-rocktv .month-grid a.has-program,
.ward-rocktv .year-link-grid a:hover,
.ward-rocktv .year-link-grid a.active {
  background: var(--rocktv-red);
  border-color: var(--rocktv-red);
  color: #fff;
}

.ward-rocktv .month-grid a.disabled,
.ward-rocktv .year-link-grid a.disabled,
.ward-rocktv .bottom-year-nav a.disabled {
  opacity: 0.34;
  pointer-events: none;
  background: #d8d5d3;
  color: #fff;
}

/* Archive page */
.ward-rocktv .archive-hero {
  width: min(var(--rocktv-container), calc(100% - 48px));
  margin: 0 auto;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 62%, #320709 100%);
  border: 1px solid #222;
  color: #fff;
  padding: 34px 42px 32px;
  position: relative;
  overflow: hidden;
}

.ward-rocktv .archive-hero::after {
  content: "ARCHIVE";
  position: absolute;
  right: -10px;
  bottom: -20px;
  font-family: var(--rocktv-headline);
  font-size: 96px;
  line-height: 1;
  color: rgba(255,255,255,0.045);
  letter-spacing: 0.04em;
}

.ward-rocktv .archive-hero p {
  margin: 0 0 14px;
  color: #d5cdca;
  font-family: var(--rocktv-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
}

.ward-rocktv .archive-hero h1 {
  margin: 0;
  font-family: var(--rocktv-headline);
  font-size: 54px;
  line-height: 0.96;
  letter-spacing: 0.03em;
}

.ward-rocktv .archive-hero h1 span {
  color: #fff;
}

.ward-rocktv .month-heading h2 {
  color: var(--rocktv-red);
  font-size: 56px;
}

.ward-rocktv .bottom-year-nav {
  width: min(var(--rocktv-container), calc(100% - 48px));
  margin: 92px auto 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: center;
  padding-top: 32px;
  border-top: 1px solid var(--rocktv-line);
}

.ward-rocktv .bottom-year-nav a {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border: 1px solid var(--rocktv-deep-red);
  color: var(--rocktv-deep-red);
  font-family: var(--rocktv-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.ward-rocktv .bottom-year-nav a:hover {
  background: var(--rocktv-deep-red);
  color: #fff;
}

.ward-rocktv .bottom-year-nav a:nth-child(1) { justify-self: start; }
.ward-rocktv .bottom-year-nav a:nth-child(2) {
  min-width: 180px;
  border-color: var(--rocktv-pitch-black);
  color: var(--rocktv-pitch-black);
}
.ward-rocktv .bottom-year-nav a:nth-child(2):hover {
  background: var(--rocktv-pitch-black);
  color: #fff;
}
.ward-rocktv .bottom-year-nav a:nth-child(3) { justify-self: end; }

.ward-rocktv .empty-archive {
  text-align: center;
  min-height: 240px;
}

@media (max-width: 980px) {
  .ward-rocktv #header_wrap,
  .ward-rocktv #footer_wrap,
  .ward-rocktv .ward-rocktv-hero,
  .ward-rocktv .ward-rocktv-content,
  .ward-rocktv .archive-hero,
  .ward-rocktv .bottom-year-nav {
    width: min(100% - 24px, var(--rocktv-container));
  }

  .ward-rocktv #header_wrap,
  .ward-rocktv #footer_wrap {
    max-width: calc(100% - 24px);
  }

  .ward-rocktv .header_second_area {
    min-height: auto;
  }

  .ward-rocktv #tel_area,
  .ward-rocktv #logo_area,
  .ward-rocktv #header_right {
    position: static;
    text-align: left;
    min-width: 0;
    margin-bottom: 12px;
  }

  .ward-rocktv .site_navi_area {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .ward-rocktv #header_wrap > nav.dropmenu {
    float: none;
    width: 100%;
  }

  .ward-rocktv #footer_wrap .footer_nav {
    grid-template-columns: 1fr;
    max-width: calc(100% - 48px);
  }

  .ward-rocktv .ward-rocktv-hero,
  .ward-rocktv .hero-main,
  .ward-rocktv .onair-layout {
    grid-template-columns: 1fr;
  }

  .ward-rocktv .product-search,
  .ward-rocktv .host-placeholder {
    display: none;
  }

  .ward-rocktv .hero-main {
    padding: 36px 24px;
  }

  .ward-rocktv .hero-title-jp {
    font-size: 36px;
  }

  .ward-rocktv .hero-title-red {
    font-size: 62px;
  }

  .ward-rocktv .onair-card {
    width: 100%;
    max-width: 310px;
  }

  .ward-rocktv .ward-rocktv-content {
    padding: 48px 0 80px;
  }

  .ward-rocktv .program-panel,
  .ward-rocktv .archive-panel,
  .ward-rocktv .year-nav {
    padding: 22px;
  }

  .ward-rocktv .program-head {
    flex-direction: column;
  }

  .ward-rocktv .program-meta {
    justify-content: flex-start;
  }

  .ward-rocktv .onair-visual {
    position: relative;
    top: 0;
  }

  .ward-rocktv .pickup-grid {
    grid-template-columns: 1fr;
  }

  .ward-rocktv .info-row,
  .ward-rocktv .information-list a {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 0;
  }

  .ward-rocktv .month-grid,
  .ward-rocktv .year-link-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .ward-rocktv .archive-hero {
    padding: 28px 22px;
  }

  .ward-rocktv .archive-hero h1 {
    font-size: 42px;
  }

  .ward-rocktv .bottom-year-nav {
    grid-template-columns: 1fr;
  }

  .ward-rocktv .bottom-year-nav a,
  .ward-rocktv .bottom-year-nav a:nth-child(1),
  .ward-rocktv .bottom-year-nav a:nth-child(3) {
    justify-self: stretch;
  }
}

/* v1.0.7: top visual / banner operation adjustments */
.ward-rocktv .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ward-rocktv .ward-rocktv-hero.ward-rocktv-hero-banner {
  display: block;
  width: min(var(--rocktv-container), calc(100% - 48px));
  min-height: 0;
  aspect-ratio: 2048 / 800;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border: 0;
}

.ward-rocktv .ward-rocktv-hero.ward-rocktv-hero-banner::before {
  content: none;
}

.ward-rocktv .top-push-section {
  margin-top: 0;
  margin-bottom: 58px;
}

.ward-rocktv .top-push-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.ward-rocktv .top-push-card {
  display: block;
  background: #111;
  border: 1px solid #111;
  overflow: hidden;
}

.ward-rocktv .top-push-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 5;
  object-fit: cover;
}

.ward-rocktv .program-head h3 {
  font-size: 30px;
  line-height: 1.08;
  letter-spacing: 0.01em;
}

.ward-rocktv .pickup-grid.pickup-grid-image-only {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.ward-rocktv .pickup-grid-image-only .pickup-card {
  display: block;
  min-height: 0;
  padding: 0;
  aspect-ratio: 300 / 105;
  background: #111;
  border: 0;
  overflow: hidden;
  color: inherit;
  isolation: auto;
}

.ward-rocktv .pickup-grid-image-only .pickup-card::before,
.ward-rocktv .pickup-grid-image-only .pickup-card::after {
  content: none;
}

.ward-rocktv .pickup-grid-image-only .pickup-card img {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  filter: none;
  transition: none;
}

.ward-rocktv .pickup-grid-image-only .pickup-card:hover img {
  opacity: 1;
  filter: none;
}

.ward-rocktv .pickup-grid-image-only .pickup-card > div,
.ward-rocktv .pickup-grid-image-only .pickup-card .tag,
.ward-rocktv .pickup-grid-image-only .pickup-card h3,
.ward-rocktv .pickup-grid-image-only .pickup-card strong {
  display: none;
}

.ward-rocktv .pickup-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: #111;
}

@media (max-width: 980px) {
  .ward-rocktv .ward-rocktv-hero.ward-rocktv-hero-banner {
    width: min(var(--rocktv-container), calc(100% - 24px));
  }
  .ward-rocktv .top-push-grid,
  .ward-rocktv .pickup-grid.pickup-grid-image-only {
    grid-template-columns: 1fr;
  }
  .ward-rocktv .program-head h3 {
    font-size: 24px;
  }
}

/* v1.0.8: header rebuilt to match the legacy 1024px Ward Records header reference. */
.ward-rocktv #header_wrap.ward-rocktv-site-header {
  width: var(--rocktv-container);
  max-width: calc(100% - 24px);
  margin: 16px auto 8px;
  padding: 0;
  font-family: Arial, "Noto Sans JP", sans-serif;
  line-height: 1.2;
  background: transparent;
  color: #111;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header *,
.ward-rocktv #header_wrap.ward-rocktv-site-header *::before,
.ward-rocktv #header_wrap.ward-rocktv-site-header *::after {
  box-sizing: border-box;
}

.ward-rocktv .ward-header-top {
  position: relative;
  height: 70px;
}

.ward-rocktv .ward-header-logo {
  position: absolute;
  left: 0;
  top: 0;
  width: 190px;
}

.ward-rocktv .ward-header-logo img {
  display: block;
  width: 176px;
  max-width: 100%;
  height: auto;
}

.ward-rocktv .ward-header-actions {
  position: absolute;
  right: 0;
  top: 0;
  width: 520px;
  text-align: right;
}

.ward-rocktv .ward-header-links {
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
  gap: 9px;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #6f5f64;
  font-size: 12px;
  list-style: none !important;
  line-height: 1;
}

.ward-rocktv .ward-header-links li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ward-rocktv .ward-header-links a {
  color: #6c4bb0;
  text-decoration: underline;
}

.ward-rocktv .ward-header-tools {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 4px;
}

.ward-rocktv .ward-header-search {
  display: flex;
  align-items: flex-start;
  margin: 0;
  padding: 0;
}

.ward-rocktv .ward-header-search input[type="text"] {
  width: 206px;
  height: 25px;
  margin: 0;
  padding: 3px 6px;
  border: 1px solid #777;
  background: #fff;
  color: #111;
  font-size: 12px;
  line-height: 19px;
}

.ward-rocktv .ward-header-search-submit {
  width: 29px;
  height: 25px;
  margin: 0;
  padding: 0;
  border: 0;
  background: #9e0020;
  color: #fff;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  position: relative;
}

.ward-rocktv .ward-header-search-submit::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 6px;
  width: 9px;
  height: 9px;
  border: 2px solid #fff;
  border-radius: 50%;
}

.ward-rocktv .ward-header-search-submit::after {
  content: "";
  position: absolute;
  left: 18px;
  top: 16px;
  width: 9px;
  height: 2px;
  background: #fff;
  transform: rotate(45deg);
  transform-origin: left center;
}

.ward-rocktv .ward-header-register,
.ward-rocktv .ward-header-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 25px;
  min-width: 86px;
  padding: 0 9px;
  background: #111;
  color: #fff !important;
  border: 1px solid #111;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
}

.ward-rocktv .ward-header-cart {
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  width: 48px;
  height: 54px;
  margin-left: 2px;
  padding: 0 0 5px;
  background: #8d1d2f;
  color: #fff !important;
  font-size: 0;
  text-decoration: none !important;
  position: relative;
}

.ward-rocktv .ward-header-cart::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 13px;
  width: 21px;
  height: 17px;
  border: 4px solid #fff;
  border-top: 0;
  transform: skewX(-10deg);
}

.ward-rocktv .ward-header-cart::after {
  content: "";
  position: absolute;
  left: 16px;
  top: 34px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 15px 0 0 #fff;
}

.ward-rocktv .ward-header-nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  width: 100%;
  height: 44px;
  margin: 0;
  padding: 0;
}

.ward-rocktv .ward-header-nav a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 44px;
  overflow: hidden;
  border: 1px solid #1e1714;
  background: linear-gradient(180deg, #54433b 0%, #231b18 52%, #0f0b0a 100%);
  color: #fff !important;
  text-align: center;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.ward-rocktv .ward-header-nav a::before,
.ward-rocktv .ward-header-nav a::after {
  content: "";
  position: absolute;
  top: 0;
  width: 44px;
  height: 100%;
  background: linear-gradient(180deg, #d2aa56 0%, #8a601e 100%);
  opacity: 0.92;
}

.ward-rocktv .ward-header-nav a::before { left: 0; }
.ward-rocktv .ward-header-nav a::after { right: 0; }

.ward-rocktv .ward-header-nav strong,
.ward-rocktv .ward-header-nav span {
  position: relative;
  z-index: 1;
  display: block;
  color: #fff;
  text-shadow: 0 1px 0 #000;
}

.ward-rocktv .ward-header-nav strong {
  font-size: 18px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0.01em;
}

.ward-rocktv .ward-header-nav span {
  margin-top: 4px;
  color: #f3e5bc;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

/* v1.0.8: push banners are full-width stacked banners. */
.ward-rocktv .top-push-section {
  margin-top: 0;
  margin-bottom: 58px;
}

.ward-rocktv .top-push-grid {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 18px;
}

.ward-rocktv .top-push-card {
  display: block;
  width: 100%;
  background: transparent;
  border: 0;
  overflow: hidden;
}

.ward-rocktv .top-push-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

/* v1.0.8: prevent the episode heading from becoming overly dominant in the 1024px layout. */
.ward-rocktv .program-head h3 {
  font-size: 26px;
  line-height: 1.12;
  letter-spacing: 0;
  word-break: keep-all;
}

@media (max-width: 980px) {
  .ward-rocktv #header_wrap.ward-rocktv-site-header {
    width: calc(100% - 24px);
    max-width: calc(100% - 24px);
  }

  .ward-rocktv .ward-header-top {
    height: auto;
    display: grid;
    gap: 12px;
  }

  .ward-rocktv .ward-header-logo,
  .ward-rocktv .ward-header-actions {
    position: static;
    width: 100%;
  }

  .ward-rocktv .ward-header-actions,
  .ward-rocktv .ward-header-links {
    text-align: left;
    justify-content: flex-start;
  }

  .ward-rocktv .ward-header-tools {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .ward-rocktv .ward-header-nav {
    grid-template-columns: 1fr;
    height: auto;
    gap: 4px;
  }

  .ward-rocktv .ward-header-nav a {
    height: 42px;
  }

  .ward-rocktv .ward-header-nav strong {
    font-size: 16px;
  }

  .ward-rocktv .program-head h3 {
    font-size: 22px;
  }
}


/* v1.0.9: exact legacy Ward Records header.
   The navigation buttons are image sprites/backgrounds defined by wardrecords.css/import.css.
   This block prevents the plugin's previous text-based fallback header from overriding them. */
.ward-rocktv #header_wrap.ward-rocktv-site-header {
  width: 1024px !important;
  max-width: 1024px !important;
  margin: 16px auto 8px !important;
  padding: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-family: Arial, "Noto Sans JP", sans-serif !important;
  line-height: 1 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header .header_second_area::after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header ul,
.ward-rocktv #header_wrap.ward-rocktv-site-header li {
  list-style: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .header_second_area {
  position: relative !important;
  width: 1024px !important;
  height: 92px !important;
  min-height: 92px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #logo_area {
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #logo_area img {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #tel_area {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  font-size: 12px !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #tel_area img {
  display: block !important;
  margin: 6px 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right {
  position: absolute !important;
  right: 0 !important;
  top: 28px !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area {
  float: right !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 0 8px !important;
  padding: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area {
  margin: 0 !important;
  padding: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area dt,
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area dd {
  margin: 0 !important;
  padding: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area dd {
  display: inline-block !important;
  vertical-align: top !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .searchform2 {
  display: inline-block !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  vertical-align: top !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #keywords2 {
  width: 170px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 2px 4px !important;
  border: 1px solid #999 !important;
  background: #fff !important;
  vertical-align: top !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .searchBtn2 {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: top !important;
}

/* Use existing image-button classes exactly. */
.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image3,
.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image4,
.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image6 {
  display: block !important;
  min-width: 0 !important;
  background-color: transparent !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image3::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image4::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image6::after {
  content: none !important;
  display: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .site_navi_area {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area {
  margin-top: 8px !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .site_navi_area a {
  color: #4b00aa !important;
  text-decoration: underline !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu {
  float: left !important;
  width: 256px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  clear: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu > ul,
.ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu > ul > li {
  width: 256px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu a {
  display: block !important;
  width: 256px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  color: transparent !important;
  line-height: 0 !important;
  font-size: 0 !important;
  box-shadow: none !important;
}

/* Explicitly restore the legacy menu background images after plugin CSS. */
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rock,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rock_on {
  background: url(/user_data/packages/default/img/button/btn_header_rock.png) no-repeat 0 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rocktv,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rocktv_on {
  background: url(/user_data/packages/default/img/button/btn_header_rocktv.png) no-repeat 0 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_goods,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_goods_on {
  background: url(/user_data/packages/default/img/button/btn_header_goods.png) no-repeat 0 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_live,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_live_on {
  background: url(/user_data/packages/default/img/button/btn_header_live.png) no-repeat 0 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rock::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rocktv::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_goods::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_live::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1060px) {
  .ward-rocktv #header_wrap.ward-rocktv-site-header {
    width: calc(100% - 24px) !important;
    max-width: 1024px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .header_second_area {
    width: 100% !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu {
    width: 25% !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu > ul,
  .ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu > ul > li,
  .ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu a {
    width: 100% !important;
    background-size: 100% 46px !important;
  }
}


/* v1.0.10: tighten legacy header upper-right layout.
   Keep existing sprite menu untouched. */
.ward-rocktv #header_wrap.ward-rocktv-site-header {
  position: relative !important;
  overflow: visible !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .header_second_area {
  position: relative !important;
  width: 1024px !important;
  height: 82px !important;
  min-height: 82px !important;
  overflow: visible !important;
}

/* Logo position */
.ward-rocktv #header_wrap.ward-rocktv-site-header #logo_area {
  position: absolute !important;
  left: 0 !important;
  top: 17px !important;
  z-index: 2 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #logo_area a,
.ward-rocktv #header_wrap.ward-rocktv-site-header #logo_area img {
  display: block !important;
}

/* Hide duplicated upper-left tel area links if existing CSS fails.
   The current Ward header visual only needs the right-side guide links and search/login/cart block. */
.ward-rocktv #header_wrap.ward-rocktv-site-header #tel_area {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  z-index: 3 !important;
  width: auto !important;
  height: 18px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  background: transparent !important;
  overflow: visible !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #tel_area img {
  display: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #tel_area .site_navi_area {
  display: none !important;
}

/* Header right search/login/cart block */
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right {
  position: absolute !important;
  right: 0 !important;
  top: 18px !important;
  z-index: 4 !important;
  width: 430px !important;
  height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  background: transparent !important;
  overflow: visible !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: transparent !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area dt {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area dd {
  display: inline-block !important;
  vertical-align: top !important;
  margin: 0 0 0 4px !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .searchform2 {
  display: inline-flex !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  width: auto !important;
  height: 22px !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  vertical-align: top !important;
  float: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #keywords2 {
  display: inline-block !important;
  width: 170px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 2px 4px !important;
  border: 1px solid #999 !important;
  background: #fff !important;
  color: #333 !important;
  vertical-align: top !important;
  line-height: 18px !important;
  box-sizing: border-box !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .searchBtn2 {
  display: inline-block !important;
  width: auto !important;
  height: 22px !important;
  max-width: none !important;
  margin: 0 0 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  vertical-align: top !important;
}

/* Existing image buttons: keep exact sprite behavior, but place inline. */
.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image6,
.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image3 {
  display: inline-block !important;
  vertical-align: top !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  z-index: 5 !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area div {
  margin: 0 !important;
  padding: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image4 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

/* Move search/login block left so cart can sit at the far right without overlap. */
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area {
  padding-right: 48px !important;
}

/* Right-side small guide links under the buttons */
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  width: auto !important;
  margin: 8px 48px 0 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  list-style: none !important;
  text-align: right !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  background: transparent !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area li {
  display: inline-block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  list-style: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area a {
  display: inline !important;
  color: #4b00aa !important;
  text-decoration: underline !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

/* Keep the sprite navigation directly below the header_second_area */
.ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu {
  margin-top: 0 !important;
}

/* If WordPress/admin/global CSS injects bullets into the header, kill them. */
.ward-rocktv #header_wrap.ward-rocktv-site-header li::before,
.ward-rocktv #header_wrap.ward-rocktv-site-header li::after {
  content: none !important;
  display: none !important;
}

/* PC-first: do not let the mobile fallback affect the desktop legacy header. */
@media (min-width: 1061px) {
  .ward-rocktv #header_wrap.ward-rocktv-site-header {
    width: 1024px !important;
    max-width: 1024px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .header_second_area {
    width: 1024px !important;
  }
}


/* v1.0.11: stable legacy header rebuild.
   - Menu buttons keep the actual Ward Records sprite classes.
   - Upper-right tools are rendered by this plugin to avoid WP/EC-CUBE CSS conflicts. */

.ward-rocktv #header_wrap.ward-rocktv-site-header,
.ward-rocktv #header_wrap.ward-rocktv-site-header * {
  box-sizing: border-box !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header {
  position: relative !important;
  width: 1024px !important;
  max-width: 1024px !important;
  margin: 16px auto 8px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #111 !important;
  font-family: Arial, "Noto Sans JP", sans-serif !important;
  line-height: 1 !important;
  overflow: visible !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header .header_second_area::after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header ul,
.ward-rocktv #header_wrap.ward-rocktv-site-header li,
.ward-rocktv #header_wrap.ward-rocktv-site-header dl,
.ward-rocktv #header_wrap.ward-rocktv-site-header dt,
.ward-rocktv #header_wrap.ward-rocktv-site-header dd,
.ward-rocktv #header_wrap.ward-rocktv-site-header form {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header li::before,
.ward-rocktv #header_wrap.ward-rocktv-site-header li::after {
  content: none !important;
  display: none !important;
}

/* Upper row */
.ward-rocktv #header_wrap.ward-rocktv-site-header .header_second_area {
  position: relative !important;
  width: 1024px !important;
  height: 66px !important;
  min-height: 66px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #tel_area {
  display: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #logo_area {
  position: absolute !important;
  left: 0 !important;
  top: 13px !important;
  z-index: 2 !important;
  width: 220px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #logo_area a,
.ward-rocktv #header_wrap.ward-rocktv-site-header #logo_area img {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Right-side tools */
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right {
  position: absolute !important;
  right: 0 !important;
  top: 7px !important;
  z-index: 5 !important;
  width: 520px !important;
  height: 55px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  background: transparent !important;
  overflow: visible !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  gap: 4px !important;
  width: 100% !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .searchform2 {
  display: inline-flex !important;
  align-items: flex-start !important;
  width: auto !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #keywords2 {
  display: block !important;
  width: 170px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 2px 4px !important;
  border: 1px solid #8f8f8f !important;
  background: #fff !important;
  color: #333 !important;
  font: 12px/18px Arial, sans-serif !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  outline: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .searchBtn2 {
  display: block !important;
  width: auto !important;
  height: 22px !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 0 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 9px !important;
  border: 1px solid #000 !important;
  background: #111 !important;
  color: #fff !important;
  font: 700 11px/1 Arial, "Noto Sans JP", sans-serif !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-register {
  min-width: 98px !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-login {
  min-width: 58px !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-cart {
  position: relative !important;
  display: block !important;
  width: 42px !important;
  height: 40px !important;
  margin: -1px 0 0 5px !important;
  padding: 0 !important;
  background: #9a0010 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-cart::before {
  content: "🛒" !important;
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  text-indent: 0 !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

/* Small links under the action row */
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  width: 100% !important;
  height: 16px !important;
  margin: 9px 0 0 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  text-align: right !important;
  background: transparent !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area li {
  display: inline-block !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #6a4b86 !important;
  font: 12px/1 Arial, "Noto Sans JP", sans-serif !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area a {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #4b00aa !important;
  font: 12px/1 Arial, "Noto Sans JP", sans-serif !important;
  text-decoration: underline !important;
  background: transparent !important;
  border: 0 !important;
}

/* Legacy sprite menu: exact 4 x 256px buttons */
.ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu {
  float: left !important;
  display: block !important;
  clear: none !important;
  width: 256px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu > ul,
.ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu > ul > li {
  display: block !important;
  width: 256px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu a {
  display: block !important;
  width: 256px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background-color: transparent !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  line-height: 0 !important;
  font-size: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rock,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rock_on {
  background: url(/user_data/packages/default/img/button/btn_header_rock.png) no-repeat 0 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rocktv,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rocktv_on {
  background: url(/user_data/packages/default/img/button/btn_header_rocktv.png) no-repeat 0 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_goods,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_goods_on {
  background: url(/user_data/packages/default/img/button/btn_header_goods.png) no-repeat 0 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_live,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_live_on {
  background: url(/user_data/packages/default/img/button/btn_header_live.png) no-repeat 0 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rock::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_rocktv::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_goods::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header .btn_header_live::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1060px) {
  .ward-rocktv #header_wrap.ward-rocktv-site-header {
    width: calc(100% - 24px) !important;
    max-width: 1024px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .header_second_area {
    width: 100% !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right {
    width: 520px !important;
    max-width: calc(100% - 230px) !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu {
    width: 25% !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu > ul,
  .ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu > ul > li,
  .ward-rocktv #header_wrap.ward-rocktv-site-header > nav.dropmenu a {
    width: 100% !important;
    background-size: 100% 46px !important;
  }
}


/* v1.0.12: restore the legacy EC-CUBE cart button block.
   Use:
   <div id="header_cart_area"><div><a class="hover_change_image4" href="/cart/"></a></div></div>
   Do not draw the plugin emoji cart. Let import.css / wardrecords.css provide the cart sprite. */
.ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-actions {
  height: 42px !important;
  align-items: flex-start !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area {
  display: block !important;
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 0 5px !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  z-index: auto !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area div {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Keep the original image button class. Do not overwrite background-image.
   Width/height are fallback only, matching the current header's cart-size area. */
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area .hover_change_image4 {
  display: block !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  color: transparent !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Remove the emoji fallback from v1.0.11 if any cached CSS remains. */
.ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-cart,
.ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-cart::before,
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area .hover_change_image4::before,
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area .hover_change_image4::after {
  content: none !important;
}

/* Position the small guide links lower so they do not collide with the restored cart sprite. */
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right {
  height: 66px !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area {
  margin-top: 6px !important;
}


/* v1.0.13: exact legacy cart image button */
.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image4,
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area .hover_change_image4 {
  background: url(/user_data/packages/default/img/button/btn_header_cart.jpg) no-repeat 0 0 !important;
  display: block !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header a:hover.hover_change_image4,
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area a:hover.hover_change_image4 {
  background: url(/user_data/packages/default/img/button/btn_header_cart_on.jpg) no-repeat 0 0 !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
}

.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area div {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
}

/* Ensure no generated icon/text appears over the legacy cart sprite. */
.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image4::before,
.ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image4::after,
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area .hover_change_image4::before,
.ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area .hover_change_image4::after {
  content: none !important;
  display: none !important;
}


/* v1.0.15: imported text display polish */
.ward-rocktv .program-head h3 .episode-date {
  display: inline-block !important;
  font-family: var(--rocktv-body) !important;
  font-size: 0.48em !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  vertical-align: 0.15em !important;
}

.ward-rocktv .program-body h4.date-title {
  margin-bottom: 4px !important;
  color: #5c5654 !important;
  font-family: var(--rocktv-mono) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.03em !important;
}

.ward-rocktv .program-body li.media-line {
  color: #d2141c !important;
  font-weight: 900 !important;
}

.ward-rocktv .program-body li.media-line::before {
  content: "♪" !important;
  color: #d2141c !important;
}

.ward-rocktv .program-body li.date-line {
  color: #6f6865 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
}

.ward-rocktv .program-body li.date-line::before {
  content: "—" !important;
  color: #bbb2ae !important;
}

/* v1.0.15: reduce painful button red without changing the page's rock-red accents. */
.ward-rocktv .month-grid a.has-program,
.ward-rocktv .month-grid a:hover,
.ward-rocktv .month-grid a.active,
.ward-rocktv .year-link-grid a:hover,
.ward-rocktv .year-link-grid a.active {
  background: #cc1018 !important;
  border-color: #cc1018 !important;
  color: #fff !important;
}

.ward-rocktv .outline-button {
  border-color: #b91b22 !important;
  color: #b91b22 !important;
}

.ward-rocktv .outline-button:hover {
  background: #b91b22 !important;
  border-color: #b91b22 !important;
  color: #fff !important;
}

.ward-rocktv .information-list span {
  background: #cc1018 !important;
}

/* Archive year selector can now show 2017-; keep it compact on long histories. */
.ward-rocktv .year-link-grid {
  grid-template-columns: repeat(6, 1fr) !important;
}

@media (max-width: 720px) {
  .ward-rocktv .year-link-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}


/* v1.0.16: final color / font / archive nav polish */
.ward-rocktv {
  --rocktv-archive-red: #9e0000;
  --rocktv-archive-red-hover: #790000;
  --rocktv-bilingual-strong: "Hanken Grotesk", "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
}

/* INFORMATION artist name: avoid Anton/non-Japanese fallback split */
.ward-rocktv .info-artist,
.ward-rocktv .information-list strong {
  font-family: var(--rocktv-bilingual-strong) !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: #111 !important;
}

/* Darker archive red */
.ward-rocktv .month-grid a.has-program,
.ward-rocktv .month-grid a.active,
.ward-rocktv .year-link-grid a.active {
  background: var(--rocktv-archive-red) !important;
  border-color: var(--rocktv-archive-red) !important;
  color: #fff !important;
}

.ward-rocktv .month-heading h2 {
  color: var(--rocktv-archive-red) !important;
}

/* Archive year navigation: compact chips, no broken wide grid */
.ward-rocktv .year-nav {
  padding: 34px 34px 32px !important;
}

.ward-rocktv .year-nav .section-heading {
  margin-bottom: 18px !important;
}

.ward-rocktv .year-nav .section-heading h2 {
  margin-bottom: 0 !important;
}

.ward-rocktv .year-link-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  grid-template-columns: none !important;
  margin: 0 0 28px !important;
}

.ward-rocktv .year-link-grid a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 82px !important;
  height: 38px !important;
  padding: 0 16px !important;
  border-radius: 0 !important;
  background: #fff !important;
  border: 1px solid #d7d0cd !important;
  color: #2d2927 !important;
  font-family: var(--rocktv-mono) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  overflow: hidden !important;
  transform: translateY(0) !important;
  transition:
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease !important;
}

.ward-rocktv .year-link-grid a.active {
  background: var(--rocktv-archive-red) !important;
  border-color: var(--rocktv-archive-red) !important;
  color: #fff !important;
}

.ward-rocktv .year-link-grid a:not(.disabled):hover {
  background: var(--rocktv-archive-red-hover) !important;
  border-color: var(--rocktv-archive-red-hover) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 7px 14px rgba(90, 0, 0, 0.18) !important;
}

.ward-rocktv .year-link-grid a.disabled {
  opacity: 0.42 !important;
  pointer-events: none !important;
  background: #dedad8 !important;
  border-color: #dedad8 !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Month buttons: darker red + hover motion */
.ward-rocktv .month-grid a {
  position: relative !important;
  overflow: hidden !important;
  transform: translateY(0) !important;
  transition:
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease !important;
}

.ward-rocktv .month-grid a.has-program {
  background: var(--rocktv-archive-red) !important;
  border-color: var(--rocktv-archive-red) !important;
  color: #fff !important;
}

.ward-rocktv .month-grid a.has-program:hover,
.ward-rocktv .month-grid a.active:hover {
  background: var(--rocktv-archive-red-hover) !important;
  border-color: var(--rocktv-archive-red-hover) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 7px 14px rgba(90, 0, 0, 0.18) !important;
}

.ward-rocktv .month-grid a:not(.has-program):not(.disabled):hover {
  background: #3c3330 !important;
  border-color: #3c3330 !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 7px 14px rgba(40, 32, 30, 0.14) !important;
}

/* Other red action buttons: hover animation without making the red too bright */
.ward-rocktv .outline-button,
.ward-rocktv .information-list span,
.ward-rocktv .tag {
  transition:
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease !important;
}

.ward-rocktv .outline-button {
  border-color: var(--rocktv-archive-red) !important;
  color: var(--rocktv-archive-red) !important;
}

.ward-rocktv .outline-button:hover {
  background: var(--rocktv-archive-red) !important;
  border-color: var(--rocktv-archive-red) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 7px 14px rgba(90, 0, 0, 0.16) !important;
}

.ward-rocktv .information-list span {
  background: var(--rocktv-archive-red) !important;
}

.ward-rocktv .information-list a:hover span {
  background: var(--rocktv-archive-red-hover) !important;
}

/* Keep archive month index grid as a grid; only year-nav becomes chips */
.ward-rocktv .year-nav .month-grid {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 8px !important;
  margin: 0 !important;
}

@media (max-width: 720px) {
  .ward-rocktv .year-link-grid {
    gap: 7px !important;
  }

  .ward-rocktv .year-link-grid a {
    min-width: 74px !important;
    height: 36px !important;
    padding: 0 12px !important;
  }

  .ward-rocktv .year-nav .month-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}


/* v1.0.17: heading number, pickup ratio, disabled archive months, and product links */
.ward-rocktv .program-head h3 {
  font-size: 36px !important;
  line-height: 1.02 !important;
  letter-spacing: 0.005em !important;
}

.ward-rocktv .program-head h3 .episode-date {
  font-size: 0.44em !important;
  vertical-align: 0.22em !important;
}

.ward-rocktv .pickup-grid-image-only .pickup-card {
  aspect-ratio: 380 / 105 !important;
}

/* Month index now uses <span> for empty months so it is not clickable. */
.ward-rocktv .month-grid span,
.ward-rocktv .month-grid a {
  display: grid !important;
  place-items: center !important;
  height: 44px !important;
  border: 1px solid #d9d4d2 !important;
  font-family: var(--rocktv-mono) !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
}

.ward-rocktv .month-grid span.disabled,
.ward-rocktv .month-grid a.disabled {
  background: #d8d5d3 !important;
  border-color: #d8d5d3 !important;
  color: #fff !important;
  opacity: 0.34 !important;
  pointer-events: none !important;
  cursor: default !important;
  transform: none !important;
  box-shadow: none !important;
  transition: none !important;
}

.ward-rocktv .month-grid span.disabled:hover,
.ward-rocktv .month-grid a.disabled:hover {
  background: #d8d5d3 !important;
  border-color: #d8d5d3 !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Product link for each program item */
.ward-rocktv .program-item.has-product-link {
  cursor: pointer !important;
  transition:
    border-color 0.22s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.22s ease !important;
}

.ward-rocktv .program-item.has-product-link:hover {
  border-color: rgba(158, 0, 0, 0.42) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 18px rgba(60, 0, 0, 0.10) !important;
  background: #fffdfd !important;
}

.ward-rocktv .program-item.has-product-link::before {
  opacity: 1 !important;
  background: var(--rocktv-archive-red, #9e0000) !important;
}

.ward-rocktv .program-item-product-link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  display: block !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  background: transparent !important;
}

.ward-rocktv .program-item.has-product-link .program-index,
.ward-rocktv .program-item.has-product-link .program-body {
  position: relative !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.ward-rocktv .program-product-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 10px !important;
  padding: 5px 9px 4px !important;
  background: var(--rocktv-archive-red, #9e0000) !important;
  color: #fff !important;
  font-family: var(--rocktv-bilingual-strong, var(--rocktv-body)) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
}

.ward-rocktv .program-item.has-product-link:hover .program-product-badge {
  background: var(--rocktv-archive-red-hover, #790000) !important;
}

@media (max-width: 720px) {
  .ward-rocktv .program-head h3 {
    font-size: 31px !important;
  }
}


/* v1.0.18: remove duplicate episode label and simplify archive month heading */
.ward-rocktv .program-head h3 {
  margin-top: 0 !important;
}

.ward-rocktv .program-head .episode-no {
  display: none !important;
}

.ward-rocktv .section-heading.month-heading p {
  display: none !important;
}

.ward-rocktv .section-heading.month-heading h2 {
  margin-top: 0 !important;
}

/* v1.0.19: mobile header + smartphone typography polish */
.ward-rocktv .month-heading h2,
.ward-rocktv .year-nav .section-heading h2 {
  color: #111 !important;
  font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
}

.ward-rocktv .program-head h3 {
  font-size: 45px !important;
  line-height: 0.96 !important;
  letter-spacing: -0.01em !important;
}

.ward-rocktv .program-head h3 .episode-date {
  font-size: 0.37em !important;
  vertical-align: 0.24em !important;
}

.ward-rocktv .meta-pill {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  line-height: 1.45 !important;
}

.ward-rocktv .ward-rocktv-mobile-header {
  display: none !important;
}

@media (max-width: 720px) {
  .ward-rocktv {
    width: 100% !important;
    max-width: none !important;
    overflow-x: hidden !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header {
    display: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header,
  .ward-rocktv .ward-rocktv-mobile-header * {
    box-sizing: border-box !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 14px !important;
    padding: 8px 7px 10px !important;
    background: #fff !important;
    color: #333 !important;
    font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header ul,
  .ward-rocktv .ward-rocktv-mobile-header li,
  .ward-rocktv .ward-rocktv-mobile-header form {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    border: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #frame--header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 51px !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area {
    flex: 0 0 39% !important;
    max-width: 150px !important;
    padding: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area a {
    display: block !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_utility {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: flex-end !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi ul {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item {
    display: block !important;
    width: 29px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu {
    width: 41px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item a,
  .ward-rocktv .ward-rocktv-mobile-header .ward-rocktv-sp-menu-button {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    appearance: none !important;
    cursor: pointer !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_category {
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_category__section {
    display: block !important;
    width: 100% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_category ul {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_category__item {
    display: block !important;
    min-width: 0 !important;
    background: #3f3530 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_category__item a {
    display: block !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #search_area {
    width: 100% !important;
    margin: 0 !important;
    padding: 7px !important;
    background: #aaa4a1 !important;
    border: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #search_area__form {
    display: block !important;
    width: 100% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .ward-rocktv-sp-search-input {
    position: relative !important;
    width: 100% !important;
    height: 32px !important;
    margin: 0 0 9px !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.18) !important;
    overflow: hidden !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .ward-rocktv-sp-search-input::before {
    content: "🔍" !important;
    position: absolute !important;
    left: 9px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #b1aeac !important;
    font-size: 14px !important;
    line-height: 1 !important;
    z-index: 1 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #sp_search {
    display: block !important;
    width: 100% !important;
    height: 32px !important;
    padding: 4px 12px 4px 30px !important;
    border: 0 !important;
    background: transparent !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 24px !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #search_area ul {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #search_area li {
    min-width: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #search_area label {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 39px !important;
    border-radius: 11px !important;
    background: #f9f9f9 !important;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.15) !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    overflow: hidden !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #search_area label span {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 30px 0 10px !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #search_area label::after {
    content: "⌄" !important;
    position: absolute !important;
    right: 13px !important;
    top: 50% !important;
    transform: translateY(-58%) !important;
    z-index: 2 !important;
    color: #888 !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    pointer-events: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #search_area select {
    display: block !important;
    width: 100% !important;
    height: 39px !important;
    opacity: 0 !important;
    position: relative !important;
    z-index: 3 !important;
    cursor: pointer !important;
  }

  .ward-rocktv .section-heading h2 {
    font-size: 27px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
  }

  .ward-rocktv .program-head h3 {
    font-size: 39px !important;
    line-height: 0.96 !important;
  }

  .ward-rocktv .program-head h3 .episode-date {
    display: inline-block !important;
    font-size: 0.36em !important;
    vertical-align: 0.22em !important;
  }

  .ward-rocktv .meta-pill {
    max-width: 100% !important;
    font-size: 11px !important;
  }
}

@media (max-width: 420px) {
  .ward-rocktv .section-heading h2 {
    font-size: 26px !important;
  }

  .ward-rocktv .program-head h3 {
    font-size: 36px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi ul {
    gap: 7px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item {
    width: 28px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu {
    width: 39px !important;
  }
}


/* v1.0.20: final PC/SP header alignment */

/* PC: keep cart sprite visible, but do not let its 42px height push the guide links down. */
@media (min-width: 721px) {
  .ward-rocktv #header_wrap.ward-rocktv-site-header .header_second_area {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #logo_area {
    top: 13px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right {
    top: 8px !important;
    right: 0 !important;
    width: 450px !important;
    height: 46px !important;
    overflow: visible !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-actions {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    height: 22px !important;
    min-height: 22px !important;
    overflow: visible !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .searchform2 {
    height: 22px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #keywords2 {
    width: 170px !important;
    height: 22px !important;
    min-height: 22px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .searchBtn2 {
    height: 22px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-button {
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 0 0 5px !important;
    overflow: visible !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area div,
  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area .hover_change_image4 {
    width: 42px !important;
    height: 42px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area {
    position: relative !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    width: 100% !important;
    height: 14px !important;
    margin: 6px 48px 0 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    text-align: right !important;
    background: transparent !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area li,
  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area a {
    font-size: 12px !important;
    line-height: 1 !important;
  }
}

/* SP: tune utility icon sizes/vertical alignment to match existing mobile header. */
@media (max-width: 720px) {
  .ward-rocktv .ward-rocktv-mobile-header #frame--header {
    min-height: 50px !important;
    margin-bottom: 7px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area {
    flex: 0 0 39% !important;
    max-width: 148px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi ul {
    align-items: center !important;
    gap: 7px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item {
    width: 34px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu {
    width: 43px !important;
    height: 44px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item a,
  .ward-rocktv .ward-rocktv-mobile-header .ward-rocktv-sp-menu-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.register img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.login img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.cart img {
    width: 32px !important;
    max-width: 32px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu img {
    width: 41px !important;
    max-width: 41px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }
}

@media (max-width: 380px) {
  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area {
    max-width: 140px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi ul {
    gap: 6px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item {
    width: 32px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu {
    width: 41px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.register img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.login img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.cart img {
    width: 30px !important;
    max-width: 30px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu img {
    width: 39px !important;
    max-width: 39px !important;
  }
}


/* v1.0.21: responsive header rebuild
   - SP icons follow parent percentage width, not fixed px.
   - PC right header uses legacy-like hover_change_image areas. */

/* PC header: image-button style right area */
@media (min-width: 721px) {
  .ward-rocktv #header_wrap.ward-rocktv-site-header {
    margin-top: 16px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .header_second_area {
    height: 66px !important;
    min-height: 66px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #logo_area {
    top: 13px !important;
    left: 0 !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right {
    position: absolute !important;
    right: 0 !important;
    top: 6px !important;
    width: 462px !important;
    height: 52px !important;
    overflow: visible !important;
    text-align: right !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .ward-rocktv-header-actions {
    position: relative !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 48px 0 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .searchform2 {
    display: inline-flex !important;
    align-items: flex-start !important;
    flex: 0 0 auto !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #keywords2 {
    display: block !important;
    width: 170px !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 2px 4px !important;
    border: 1px solid #8f8f8f !important;
    background: #fff !important;
    color: #333 !important;
    font: 12px/18px Arial, sans-serif !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .searchBtn2 {
    display: block !important;
    height: 22px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area {
    display: flex !important;
    align-items: flex-start !important;
    gap: 4px !important;
    flex: 0 0 auto !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area a {
    position: relative !important;
    display: block !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    text-indent: -9999px !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-decoration: none !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area a::before {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    text-indent: 0 !important;
    color: #fff !important;
    background: linear-gradient(180deg, #9f2b39 0%, #5f0b13 100%) !important;
    border: 1px solid #4b060b !important;
    font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
    font-weight: 900 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_login_area a:hover::before {
    background: linear-gradient(180deg, #7c111d 0%, #3f0207 100%) !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image6 {
    width: 96px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image6::before {
    content: "＋新規会員登録" !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image3 {
    width: 58px !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image3::before {
    content: "ログイン" !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image3::after,
  .ward-rocktv #header_wrap.ward-rocktv-site-header .hover_change_image6::after {
    content: none !important;
    display: none !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    flex: none !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area div,
  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_cart_area .hover_change_image4 {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    width: auto !important;
    height: 14px !important;
    margin: 7px 48px 0 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    text-align: right !important;
    background: transparent !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area li,
  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area a {
    font-size: 12px !important;
    line-height: 1 !important;
  }
}

/* SP header: responsive percentage-based icon layout. */
@media (max-width: 720px) {
  .ward-rocktv .ward-rocktv-mobile-header #frame--header {
    min-height: auto !important;
    margin: 0 0 1.9vw !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area {
    flex: 0 0 40% !important;
    max-width: none !important;
    width: 40% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_utility {
    flex: 0 0 58% !important;
    width: 58% !important;
    display: flex !important;
    justify-content: flex-end !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi {
    width: 100% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi ul {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 3.1% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item {
    flex: 0 0 15.2% !important;
    width: 15.2% !important;
    height: auto !important;
    display: block !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu {
    flex-basis: 19.6% !important;
    width: 19.6% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item a,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item #js-hamburger,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item #js-cross {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item #js-cross {
    display: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item .u-img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item .u-img-hm {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header {
    padding: 2.1vw 1.8vw 2.6vw !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_category {
    margin-bottom: 2.1vw !important;
  }
}

@media (max-width: 420px) {
  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area {
    flex-basis: 39.5% !important;
    width: 39.5% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_utility {
    flex-basis: 59% !important;
    width: 59% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi ul {
    gap: 2.8% !important;
  }
}


/* v1.0.22: strict responsive SP icon fix + PC guide link color */

/* PC right guide link color */
@media (min-width: 721px) {
  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area a {
    color: #a09690 !important;
    transition: color 0.18s ease !important;
  }

  .ward-rocktv #header_wrap.ward-rocktv-site-header #header_right .site_navi_area a:hover {
    color: #f60 !important;
  }
}

/* SP header: remove previous fixed px icon sizing completely.
   Icons follow their parent percentages, same idea as the original SP header. */
@media (max-width: 720px) {
  .ward-rocktv .ward-rocktv-mobile-header #frame--header {
    align-items: center !important;
    gap: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area {
    flex: 0 0 30% !important;
    flex-basis: 30% !important;
    width: 30% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area a,
  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_utility {
    flex: 0 0 68% !important;
    flex-basis: 68% !important;
    width: 68% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi ul {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi ul {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 2% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.register,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.login,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.cart,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu {
    flex: 0 0 19% !important;
    flex-basis: 19% !important;
    width: 19% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item a,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item #js-hamburger,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item #js-cross {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.register img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.login img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.cart img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item .u-img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item .u-img-hm {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item #js-cross {
    display: none !important;
  }
}

@media (max-width: 420px) {
  .ward-rocktv .ward-rocktv-mobile-header #sp_logo_area {
    flex-basis: 30% !important;
    width: 30% !important;
    max-width: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_utility {
    flex-basis: 68% !important;
    width: 68% !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.register,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.login,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.cart,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu {
    flex-basis: 19% !important;
    width: 19% !important;
    max-width: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.register img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.login img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.cart img,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
  }
}


/* v1.0.23: smartphone hamburger modal menu */
html.ward-rocktv-menu-lock,
body.ward-rocktv-menu-lock {
  overflow: hidden !important;
}

@media (max-width: 720px) {
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu {
    position: relative !important;
    z-index: 10002 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu #js-hamburger,
  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu #js-cross {
    cursor: pointer !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header .header_navi__item.menu #js-cross {
    display: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header.is-sp-menu-open .header_navi__item.menu #js-hamburger {
    display: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header.is-sp-menu-open .header_navi__item.menu #js-cross {
    display: block !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10000 !important;
    display: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 52vw 7.5vw 8vw !important;
    background: rgba(0, 0, 0, 0.72) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header.is-sp-menu-open .ward-rocktv-sp-modal {
    display: flex !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-panel {
    width: 100% !important;
    max-width: 440px !important;
    margin: 0 auto !important;
    padding: 7px !important;
    background: #fff !important;
    color: #45403d !important;
    box-shadow: 0 6px 22px rgba(0,0,0,0.28) !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-section h1 {
    display: grid !important;
    place-items: center !important;
    height: 29px !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    background: #9a4e5b !important;
    color: #fff !important;
    font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: -0.01em !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list,
  .ward-rocktv .ward-rocktv-sp-modal-list li,
  .ward-rocktv .ward-rocktv-sp-modal-quick,
  .ward-rocktv .ward-rocktv-sp-modal-quick li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list {
    display: grid !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list a {
    display: grid !important;
    grid-template-columns: 24% 1fr 26px !important;
    align-items: center !important;
    min-height: 54px !important;
    padding: 0 !important;
    background: #e8e3e4 !important;
    color: #3d3836 !important;
    text-decoration: none !important;
    font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list li:nth-child(n+2) a {
    background: #e1e1e4 !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list a:hover {
    background: #d7d1d2 !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list .modal-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 54px !important;
    overflow: hidden !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list .modal-icon img {
    display: block !important;
    width: 72% !important;
    max-width: 72% !important;
    height: auto !important;
    opacity: 0.72 !important;
    filter: grayscale(1) contrast(0.65) !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list .modal-title {
    display: block !important;
    min-width: 0 !important;
    padding: 0 8px !important;
    color: #3d3836 !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list .modal-arrow {
    display: grid !important;
    place-items: center !important;
    color: #222 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-quick {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2px !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-quick a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-height: 54px !important;
    background: #efecea !important;
    color: #4f4b49 !important;
    text-decoration: none !important;
    font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-quick a:hover {
    background: #e1dad7 !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-quick .quick-icon {
    display: inline-grid !important;
    place-items: center !important;
    width: 21px !important;
    height: 21px !important;
    color: #5f5a57 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    filter: grayscale(1) !important;
  }
}

@media (max-width: 420px) {
  .ward-rocktv .ward-rocktv-sp-modal {
    padding-top: 52vw !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list a {
    min-height: 52px !important;
    font-size: 14px !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-list .modal-icon {
    height: 52px !important;
  }

  .ward-rocktv .ward-rocktv-sp-modal-quick a {
    min-height: 53px !important;
  }
}


/* v1.0.24: SP modal uses the legacy mobile-site class structure.
   Replace the simplified modal styling from v1.0.23. */
@media (max-width: 720px) {
  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal {
    position: fixed !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 10000 !important;
    display: none !important;
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 52vw 7.5vw 8vw !important;
    background: rgba(0, 0, 0, 0.72) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    text-align: center !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header.is-sp-menu-open #js-modal.modal-content.ward-rocktv-sp-modal {
    display: block !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal > section,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal > .c-nav--half {
    width: 100% !important;
    max-width: 440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: #fff !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal > section:first-child {
    padding: 7px 7px 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal > section:nth-child(2) {
    padding: 0 7px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal > .c-nav--half {
    padding: 0 7px 7px !important;
    box-shadow: 0 6px 22px rgba(0,0,0,0.28) !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal h1 {
    display: grid !important;
    place-items: center !important;
    height: 29px !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    background: #914d59 !important;
    color: #fff !important;
    font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: -0.01em !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal ul,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .js-subnav {
    margin: 0 0 6px !important;
    padding: 0 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav {
    position: relative !important;
    min-height: 54px !important;
    display: grid !important;
    grid-template-columns: 24% 1fr 26px !important;
    align-items: center !important;
    background: #e1e1e4 !important;
    color: #3d3836 !important;
    text-decoration: none !important;
    font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    text-align: left !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-bg--F1E4E6 {
    background: #f1e4e6 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-bg--E1E1E4 {
    background: #e1e1e4 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-bg--EFECEA {
    background: #efecea !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav > a,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav a {
    color: #3d3836 !important;
    text-decoration: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav__Icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 54px !important;
    opacity: 0.68 !important;
    filter: grayscale(1) contrast(0.7) !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--wardrecords {
    background-image: url(/user_data/packages/sphone/img/header/ward.png) !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--rockTV {
    background-image: url(/user_data/packages/sphone/img/header/tv_on.png) !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--rockSoul {
    background-image: url(/user_data/packages/sphone/img/header/good.png) !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--classicRock {
    background-image: url(/user_data/packages/sphone/img/header/live.png) !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--search::before {
    content: "🔍" !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--login::before {
    content: "🔒" !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--mypage::before {
    content: "↪" !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--cart::before {
    content: "🛒" !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--search::before,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--login::before,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--mypage::before,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--cart::before {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 16px !important;
    filter: grayscale(1) !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav__title {
    display: block !important;
    min-width: 0 !important;
    padding: 0 8px !important;
    color: #3d3836 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .js-navIcon--open,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .modal-arrow {
    display: grid !important;
    place-items: center !important;
    color: #222 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .js-navIcon--open::before {
    content: ">" !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .js-subnavDropdown {
    display: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half .c-nav {
    display: block !important;
    min-height: 54px !important;
    background: #efecea !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half a {
    display: grid !important;
    grid-template-columns: 34% 1fr !important;
    align-items: center !important;
    min-height: 54px !important;
    color: #4f4b49 !important;
    text-decoration: none !important;
    font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half .c-nav__Icon {
    height: 54px !important;
    opacity: 1 !important;
    filter: none !important;
    background-image: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav:hover,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half a:hover {
    background: #ded8d5 !important;
  }
}

@media (max-width: 420px) {
  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal {
    padding-top: 52vw !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav__Icon,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half a,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half .c-nav__Icon {
    min-height: 52px !important;
    height: 52px !important;
  }
}


/* v1.0.25: use production SP menu icons uploaded for the modal menu */
@media (max-width: 720px) {
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav__Icon {
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 46% auto !important;
    opacity: 1 !important;
    filter: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--wardrecords {
    background-image: url(../img/sp-menu-icons/ico_ward.png) !important;
    background-size: 48% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--rockTV {
    background-image: url(../img/sp-menu-icons/ico_rockTV.png) !important;
    background-size: 44% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--rockSoul {
    background-image: url(../img/sp-menu-icons/ico_rockSoul.png) !important;
    background-size: 42% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--classicRock {
    background-image: url(../img/sp-menu-icons/ico_classicRock.png) !important;
    background-size: 42% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--search {
    background-image: url(../img/sp-menu-icons/ico_search.png) !important;
    background-size: 34% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--login {
    background-image: url(../img/sp-menu-icons/ico_login.png) !important;
    background-size: 32% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--mypage {
    background-image: url(../img/sp-menu-icons/ico_mypage.png) !important;
    background-size: 32% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--cart {
    background-image: url(../img/sp-menu-icons/ico_cart.png) !important;
    background-size: 38% auto !important;
  }

  /* Remove emoji fallbacks from previous version. */
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--search::before,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--login::before,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--mypage::before,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--cart::before {
    content: none !important;
    display: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half .c-nav__Icon {
    opacity: 1 !important;
    filter: none !important;
  }
}


/* v1.0.26: SP modal menu polish based on production screenshot */
@media (max-width: 720px) {
  /* Make the modal itself the white panel so black gaps do not appear between sections. */
  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal {
    width: 83.5% !important;
    max-width: 440px !important;
    height: auto !important;
    min-height: 0 !important;
    inset: auto !important;
    left: 50% !important;
    top: 27.5vw !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 7px !important;
    background: #fff !important;
    box-shadow: 0 6px 22px rgba(0,0,0,0.28) !important;
    overflow: visible !important;
    text-align: center !important;
  }

  /* Add the dark overlay as a pseudo element instead of using the modal box background. */
  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal::before {
    content: "" !important;
    position: fixed !important;
    inset: -100vh -100vw !important;
    z-index: -1 !important;
    background: rgba(0,0,0,0.72) !important;
    pointer-events: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header.is-sp-menu-open #js-modal.modal-content.ward-rocktv-sp-modal {
    display: block !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal > section,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal > .c-nav--half {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal h1 {
    height: 28px !important;
    margin: 0 0 7px !important;
    background: #914d59 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .js-subnav {
    margin: 0 0 6px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav {
    min-height: 53px !important;
    grid-template-columns: 24% 1fr 24px !important;
    background: #e1e1e4 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-bg--F1E4E6 {
    background: #f1e4e6 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav__Icon {
    height: 53px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    opacity: 1 !important;
    filter: none !important;
  }

  /* Production icon sizing: keep a calmer, smaller balance than the previous version. */
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--wardrecords {
    background-image: url(../img/sp-menu-icons/ico_ward.png) !important;
    background-size: 37% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--rockTV {
    background-image: url(../img/sp-menu-icons/ico_rockTV.png) !important;
    background-size: 34% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--rockSoul {
    background-image: url(../img/sp-menu-icons/ico_rockSoul.png) !important;
    background-size: 36% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--classicRock {
    background-image: url(../img/sp-menu-icons/ico_classicRock.png) !important;
    background-size: 36% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav__title {
    padding: 0 7px !important;
    color: #3d3836 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .js-navIcon--open {
    font-size: 14px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2px !important;
    margin-top: 2px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half .c-nav {
    min-height: 53px !important;
    background: #efecea !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half a {
    min-height: 53px !important;
    grid-template-columns: 33% 1fr !important;
    color: #4f4b49 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half .c-nav__Icon {
    height: 53px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--search {
    background-image: url(../img/sp-menu-icons/ico_search.png) !important;
    background-size: 22% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--login {
    background-image: url(../img/sp-menu-icons/ico_login.png) !important;
    background-size: 23% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--mypage {
    background-image: url(../img/sp-menu-icons/ico_mypage.png) !important;
    background-size: 23% auto !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .u-navIcon--cart {
    background-image: url(../img/sp-menu-icons/ico_cart.png) !important;
    background-size: 25% auto !important;
  }
}

@media (max-width: 420px) {
  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal {
    width: 84% !important;
    top: 28vw !important;
    padding: 7px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav__Icon,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half a,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav--half .c-nav__Icon {
    min-height: 52px !important;
    height: 52px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .c-nav__title {
    font-size: 14px !important;
  }
}


/* v1.0.27: fix SP modal overlay stacking.
   #js-modal = dark overlay
   .ward-rocktv-sp-modal-panel = white menu panel */
@media (max-width: 720px) {
  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal::before {
    content: none !important;
    display: none !important;
    background: transparent !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal {
    position: fixed !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    transform: none !important;
    z-index: 10000 !important;
    display: none !important;
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 27.5vw 7.5vw 8vw !important;
    background: rgba(0, 0, 0, 0.72) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    text-align: center !important;
    box-shadow: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header.is-sp-menu-open #js-modal.modal-content.ward-rocktv-sp-modal {
    display: block !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .ward-rocktv-sp-modal-panel {
    width: 100% !important;
    max-width: 440px !important;
    margin: 0 auto !important;
    padding: 7px !important;
    background: #fff !important;
    box-shadow: 0 6px 22px rgba(0,0,0,0.28) !important;
    overflow: visible !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .ward-rocktv-sp-modal-panel > section,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal .ward-rocktv-sp-modal-panel > .c-nav--half {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal .ward-rocktv-sp-modal-panel > .c-nav--half {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2px !important;
    margin-top: 2px !important;
  }

  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal > section,
  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal > .c-nav--half {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
}

@media (max-width: 420px) {
  .ward-rocktv .ward-rocktv-mobile-header #js-modal.modal-content.ward-rocktv-sp-modal {
    padding-top: 28vw !important;
  }
}


/* v1.0.28: top page layout revision */

/* SPECIAL title above top push banners */
.ward-rocktv-top .top-push-section {
  margin-top: 0 !important;
  margin-bottom: 64px !important;
}

.ward-rocktv-top .top-push-section .section-heading {
  margin-bottom: 24px !important;
}

/* Top page only:
   broadcast visual full-width first, program text below in 2 columns.
   Archive pages keep the original left-image/right-text layout. */
.ward-rocktv-top .program-panel .onair-layout {
  display: block !important;
}

.ward-rocktv-top .program-panel .onair-visual {
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  margin: 0 0 28px !important;
  padding: 10px !important;
}

.ward-rocktv-top .program-panel .onair-visual img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}

.ward-rocktv-top .program-panel .program-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.ward-rocktv-top .program-panel .program-item {
  min-width: 0 !important;
}

/* Hide INFORMATION section if an older cached template still outputs it. */
.ward-rocktv-top .information-list,
.ward-rocktv-top .information-list + .center-action {
  display: none !important;
}

/* LINE STAMP heading spacing */
.ward-rocktv-top .pickup-grid-image-only {
  margin-top: 0 !important;
}

@media (max-width: 720px) {
  .ward-rocktv-top .program-panel .program-list {
    grid-template-columns: 1fr !important;
  }

  .ward-rocktv-top .program-panel .onair-visual {
    margin-bottom: 20px !important;
  }
}


/* v1.0.29: top ON AIR ARCHIVE uses archive-style year-nav with in-page month switching */
.ward-rocktv-top .top-archive-section .year-nav {
  margin-top: 0 !important;
}

.ward-rocktv .archive-index-heading {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #ddd6d3 !important;
}

.ward-rocktv .archive-index-heading h2 {
  margin: 0 !important;
  color: #111 !important;
  font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
}

.ward-rocktv .archive-index-heading span {
  color: #5f5753 !important;
  font-family: var(--rocktv-mono) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
}

.ward-rocktv .month-index-heading {
  margin-top: 34px !important;
}

.ward-rocktv .top-year-link-grid button.top-year-button {
  appearance: none !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 82px !important;
  height: 38px !important;
  padding: 0 16px !important;
  border-radius: 0 !important;
  background: #fff !important;
  border: 1px solid #d7d0cd !important;
  color: #2d2927 !important;
  font-family: var(--rocktv-mono) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transform: translateY(0) !important;
  transition:
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease !important;
}

.ward-rocktv .top-year-link-grid button.top-year-button.active {
  background: var(--rocktv-archive-red, #9e0000) !important;
  border-color: var(--rocktv-archive-red, #9e0000) !important;
  color: #fff !important;
}

.ward-rocktv .top-year-link-grid button.top-year-button:hover {
  background: var(--rocktv-archive-red-hover, #790000) !important;
  border-color: var(--rocktv-archive-red-hover, #790000) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 7px 14px rgba(90, 0, 0, 0.18) !important;
}

.ward-rocktv .top-month-panel[hidden] {
  display: none !important;
}

.ward-rocktv .top-month-panel.active {
  display: block !important;
}

@media (max-width: 720px) {
  .ward-rocktv .archive-index-heading {
    display: block !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
  }

  .ward-rocktv .archive-index-heading h2 {
    font-size: 27px !important;
    line-height: 1.08 !important;
  }

  .ward-rocktv .archive-index-heading span {
    display: block !important;
    margin-top: 6px !important;
  }

  .ward-rocktv .top-year-link-grid button.top-year-button {
    min-width: 74px !important;
    height: 36px !important;
    padding: 0 12px !important;
  }
}


/* v1.0.31: clarify top archive switch behavior and apply archive headings to archive page too */
.ward-rocktv .top-month-index-note {
  margin: -8px 0 18px !important;
  color: #706763 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
}

.ward-rocktv .top-month-index-heading {
  outline: none !important;
  transition:
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    padding-left 0.25s ease !important;
}

.ward-rocktv .top-month-index-heading.is-just-switched {
  padding-left: 14px !important;
  background: rgba(158, 0, 0, 0.08) !important;
  box-shadow: inset 5px 0 0 var(--rocktv-archive-red, #9e0000) !important;
}

.ward-rocktv .top-year-link-grid button.top-year-button.active::after {
  content: "MONTH INDEXを表示中" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: -18px !important;
  transform: translateX(-50%) !important;
  width: max-content !important;
  max-width: 160px !important;
  color: #9e0000 !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  pointer-events: none !important;
  opacity: 0.92 !important;
}

.ward-rocktv .top-year-link-grid {
  row-gap: 28px !important;
}

@media (max-width: 720px) {
  .ward-rocktv .top-month-index-note {
    margin: -6px 0 15px !important;
    font-size: 11px !important;
  }

  .ward-rocktv .top-month-index-heading.is-just-switched {
    padding-left: 10px !important;
  }

  .ward-rocktv .top-year-link-grid button.top-year-button.active::after {
    bottom: -16px !important;
    font-size: 9px !important;
  }

  .ward-rocktv .top-year-link-grid {
    row-gap: 26px !important;
  }
}


/* v1.0.32: top archive simplified.
   Latest year shows month list; older years are simple archive buttons below. */
.ward-rocktv-top .top-archive-simple {
  margin-top: 0 !important;
}

.ward-rocktv-top .top-archive-simple .top-latest-month-heading {
  margin-top: 0 !important;
}

.ward-rocktv-top .top-archive-simple .top-latest-month-grid {
  margin-bottom: 38px !important;
}

.ward-rocktv-top .top-past-year-heading {
  margin-top: 36px !important;
}

.ward-rocktv-top .top-past-year-grid {
  margin-top: 0 !important;
}

/* Remove the previous in-page switching hint/active labels if cached CSS remains. */
.ward-rocktv-top .top-month-index-note,
.ward-rocktv-top .top-year-link-grid button.top-year-button.active::after {
  display: none !important;
  content: none !important;
}

.ward-rocktv-top .top-year-link-grid {
  row-gap: 14px !important;
}

/* Use the same visual tone as archive .year-nav links. */
.ward-rocktv-top .top-past-year-grid a {
  text-decoration: none !important;
}

@media (max-width: 720px) {
  .ward-rocktv-top .top-archive-simple .top-latest-month-grid {
    margin-bottom: 32px !important;
  }

  .ward-rocktv-top .top-past-year-heading {
    margin-top: 32px !important;
  }
}


/* v1.0.33: archive page heading order and month button clarity */

/* Archive page also follows:
   年別アーカイヴ / YEAR INDEX
   2026年の放送内容 / MONTH INDEX */
.ward-rocktv .archive-index-heading {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #ddd6d3 !important;
}

.ward-rocktv .archive-index-heading h2 {
  margin: 0 !important;
  color: #111 !important;
  font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
}

.ward-rocktv .archive-index-heading span {
  color: #5f5753 !important;
  font-family: var(--rocktv-mono) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
}

/* MONTH INDEX: clickable months should read as clickable.
   Default white, hover red. */
.ward-rocktv .month-grid a.has-program {
  background: #fff !important;
  border-color: #d7d0cd !important;
  color: #2d2927 !important;
  text-decoration: none !important;
  transform: translateY(0) !important;
  box-shadow: none !important;
  transition:
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease !important;
}

.ward-rocktv .month-grid a.has-program:hover,
.ward-rocktv .month-grid a.has-program:focus-visible {
  background: var(--rocktv-archive-red, #9e0000) !important;
  border-color: var(--rocktv-archive-red, #9e0000) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 7px 14px rgba(90, 0, 0, 0.18) !important;
}

@media (max-width: 720px) {
  .ward-rocktv .archive-index-heading {
    display: block !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
  }

  .ward-rocktv .archive-index-heading h2 {
    font-size: 27px !important;
    line-height: 1.08 !important;
  }

  .ward-rocktv .archive-index-heading span {
    display: block !important;
    margin-top: 6px !important;
  }
}


/* v1.0.34: smartphone banner crop test + archive back link */

/* Archive page back link */
.ward-rocktv .archive-back-to-top {
  display: flex !important;
  justify-content: flex-end !important;
  margin: -12px 0 28px !important;
}

.ward-rocktv .archive-back-to-top a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 18px !important;
  border: 1px solid #d7d0cd !important;
  background: #fff !important;
  color: #2d2927 !important;
  font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  transition:
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease !important;
}

.ward-rocktv .archive-back-to-top a::before {
  content: "←" !important;
  margin-right: 8px !important;
  font-family: Arial, sans-serif !important;
  font-weight: 900 !important;
}

.ward-rocktv .archive-back-to-top a:hover,
.ward-rocktv .archive-back-to-top a:focus-visible {
  background: var(--rocktv-archive-red, #9e0000) !important;
  border-color: var(--rocktv-archive-red, #9e0000) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 7px 14px rgba(90, 0, 0, 0.18) !important;
}

/* Smartphone only:
   1024x400 banners are visually too shallow on mobile.
   Use a slightly taller crop for top visual and push banners. */
@media (max-width: 720px) {
  .ward-rocktv-top .main-visual,
  .ward-rocktv-top .hero-visual,
  .ward-rocktv-top .main-visual a,
  .ward-rocktv-top .hero-visual a,
  .ward-rocktv-top .top-push-card,
  .ward-rocktv-top .top-push-card a {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .ward-rocktv-top .main-visual img,
  .ward-rocktv-top .hero-visual img,
  .ward-rocktv-top .top-push-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .ward-rocktv-top .rocktv-hero img,
  .ward-rocktv-top .top-main-visual img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 2 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .ward-rocktv .archive-back-to-top {
    justify-content: center !important;
    margin: -4px 0 24px !important;
  }

  .ward-rocktv .archive-back-to-top a {
    width: 100% !important;
    min-height: 42px !important;
  }
}


/* v1.0.35: mobile banner crop target correction.
   Apply only to .ward-rocktv-hero .ward-rocktv-hero-banner.
   Keep .top-push-card unchanged. */
@media (max-width: 720px) {
  /* Revert the mistaken crop target from v1.0.34 */
  .ward-rocktv-top .top-push-card,
  .ward-rocktv-top .top-push-card a {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .ward-rocktv-top .top-push-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* Correct target: first-view hero banner */
  .ward-rocktv-top .ward-rocktv-hero,
  .ward-rocktv-top .ward-rocktv-hero a,
  .ward-rocktv-top .ward-rocktv-hero .ward-rocktv-hero-banner {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .ward-rocktv-top .ward-rocktv-hero .ward-rocktv-hero-banner img,
  .ward-rocktv-top .ward-rocktv-hero img.ward-rocktv-hero-banner,
  .ward-rocktv-top img.ward-rocktv-hero-banner {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* v1.0.36: correct hero banner crop for background-image structure.
   The hero is:
   <section class="ward-rocktv-hero ward-rocktv-hero-banner" style="background-image:url(...)">
   so cropping must be applied to the section itself, not to img. */
@media (max-width: 720px) {
  .ward-rocktv-top .ward-rocktv-hero.ward-rocktv-hero-banner {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 2 / 1 !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  /* Keep SPECIAL/top push banners untouched. */
  .ward-rocktv-top .top-push-card,
  .ward-rocktv-top .top-push-card a {
    overflow: visible !important;
  }

  .ward-rocktv-top .top-push-card img {
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }
}


/* v1.0.39: program meta cleanup */
.ward-rocktv .meta-pill.end-track-pill {
  min-height: 34px !important;
  padding: 0 16px !important;
  color: #2d2927 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
}

@media (max-width: 720px) {
  .ward-rocktv .program-meta {
    justify-content: flex-start !important;
  }

  .ward-rocktv .meta-pill.end-track-pill {
    min-height: 32px !important;
    padding: 0 13px !important;
    font-size: 12px !important;
    white-space: normal !important;
  }
}


/* v1.0.40: "通販限定" line should read like the item heading, then media line follows in red */
.ward-rocktv .program-body li.tsuhan-line {
  margin: 2px 0 8px !important;
  padding-left: 0 !important;
  color: #151515 !important;
  font-family: var(--rocktv-body) !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
}

.ward-rocktv .program-body li.tsuhan-line::before {
  content: none !important;
  display: none !important;
}

.ward-rocktv .program-body li.tsuhan-line + li.media-line {
  margin-top: 2px !important;
}

@media (max-width: 720px) {
  .ward-rocktv .program-body li.tsuhan-line {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }
}


/* v1.0.41: "通販限定" is now rendered inside h4 with <br>, not as li.tsuhan-line.
   Keep this as a harmless fallback for old cached markup. */
.ward-rocktv .program-body h4 br {
  display: block !important;
  content: "" !important;
}
