:root {
  --color-base: #0b1f72;
  --color-base-2: #153bbf;
  --color-primary: #2147dc;
  --color-primary-dark: #1531a8;
  --color-accent: #61c8ff;
  --color-accent-soft: #8fe4ff;
  --color-purple: #a56dff;
  --color-purple-soft: #efe5ff;
  --color-text: #23335f;
  --color-muted: #6877a4;
  --color-line: #d9e5ff;
  --color-bg: #f7faff;
  --color-bg-muted: #edf4ff;
  --color-white: #ffffff;
  --shadow: 0 18px 45px rgba(20, 48, 145, .14);
  --radius-lg: 28px;
  --radius-md: 18px;
  --container: 1160px;
}

/* Dreamweaverで編集しやすいよう、基本設定は上にまとめています。 */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--color-text);
  background: linear-gradient(180deg, #f8fbff 0%, #f4f8ff 45%, #ffffff 100%);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.8;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }

.skip-link {
  position: absolute;
  left: -999px;
  top: 8px;
  z-index: 9999;
  background: #fff;
  color: #000;
  padding: .6em 1em;
}
.skip-link:focus { left: 8px; }

.container {
  width: min(calc(100% - 40px), var(--container));
  margin-inline: auto;
}

/* ==================== Header ==================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  color: var(--color-primary-dark);
  background:
    linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(250,252,255,.97) 58%, rgba(242,247,255,.95) 100%);
  border-bottom: 1px solid rgba(21,49,168,.12);
  box-shadow: 0 10px 30px rgba(11,31,114,.08);
  backdrop-filter: blur(14px);
}
.header-inner {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 150px;
}
.brand-logo {
  width: 154px;
  height: auto;
  object-fit: contain;
  border-radius: 0;
  border: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}
/* ロゴ内に文字が入っているため、追加のブランドテキストは非表示にしています。 */
.brand-text { display: none; }
.global-nav ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .045em;
}
.global-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 10px;
  color: var(--color-primary-dark);
  border-radius: 999px;
  border: 1px solid transparent;
  transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.global-nav a:hover,
.global-nav a:focus {
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
  box-shadow: 0 10px 24px rgba(33,71,220,.18);
  transform: translateY(-1px);
}
.global-nav > ul > li:last-child > a {
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
  box-shadow: 0 10px 24px rgba(33,71,220,.18);
}
.global-nav > ul > li:last-child > a:hover,
.global-nav > ul > li:last-child > a:focus {
  background: linear-gradient(135deg, var(--color-purple), var(--color-accent));
}

/* ==================== Talent Dropdown Menu ==================== */
.global-nav .nav-item { position: relative; }
.global-nav .has-dropdown > .dropdown-parent::after {
  content: "⌄";
  display: inline-block;
  margin-left: 6px;
  font-size: 12px;
  line-height: 1;
  color: var(--color-purple);
  transform: translateY(-1px);
}
.dropdown-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  z-index: 1100;
  width: min(760px, calc(100vw - 32px));
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  color: var(--color-primary-dark);
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(21,49,168,.14);
  border-radius: 22px;
  box-shadow: 0 24px 54px rgba(11,31,114,.16);
  transform: translateX(-50%) translateY(8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.dropdown-menu::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -8px;
  width: 16px;
  height: 16px;
  background: #fff;
  border-left: 1px solid rgba(21,49,168,.14);
  border-top: 1px solid rgba(21,49,168,.14);
  transform: translateX(-50%) rotate(45deg);
}
.has-dropdown:hover .dropdown-menu,
.has-dropdown:focus-within .dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.dropdown-menu ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dropdown-menu li + li { border-top: 1px solid rgba(21,49,168,.12); }
.dropdown-menu a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 12px;
  color: var(--color-primary-dark);
  background: transparent;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
  transform: none;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}
.dropdown-menu a:hover,
.dropdown-menu a:focus {
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
  box-shadow: 0 8px 18px rgba(33,71,220,.14);
  transform: none;
}
.dropdown-menu-compact {
  width: min(320px, calc(100vw - 32px));
  grid-template-columns: 1fr;
}
.dropdown-menu-compact a {
  justify-content: center;
  min-height: 48px;
  font-size: 15px;
}
.dropdown-menu-social {
  left: auto;
  right: 0;
  width: min(980px, calc(100vw - 32px));
  grid-template-columns: repeat(4, minmax(0, 1fr));
  transform: translateX(0) translateY(8px);
}
.dropdown-menu-social::before {
  left: auto;
  right: 54px;
  transform: rotate(45deg);
}
.has-dropdown:hover .dropdown-menu-social,
.has-dropdown:focus-within .dropdown-menu-social {
  transform: translateX(0) translateY(0);
}

@media (max-width: 1180px) and (min-width: 981px) {
  .dropdown-menu-social {
    width: min(820px, calc(100vw - 32px));
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.dropdown-menu-social a {
  justify-content: center;
  min-height: 50px;
  white-space: normal;
  text-align: center;
  line-height: 1.45;
}

/* サブ項目を持つMENU用：支援型ショップ / 美と健康相談室 */
.dropdown-menu .support-shop-item,
.dropdown-menu .health-menu-item {
  border-top: 1px solid rgba(21,49,168,.12);
}
.dropdown-menu .support-shop-item > a,
.dropdown-menu .health-menu-item > a {
  color: var(--color-primary-dark);
  background: linear-gradient(135deg, #eef6ff, var(--color-purple-soft));
  border: 1px solid rgba(165,109,255,.18);
}
.dropdown-sublist {
  display: grid;
  gap: 6px;
  margin: 8px 0 2px 12px !important;
  padding: 0 0 0 12px !important;
  border-left: 2px solid rgba(165,109,255,.32);
}
.dropdown-menu .dropdown-sublist li {
  border-top: 0 !important;
}
.dropdown-menu .dropdown-sublist a {
  justify-content: flex-start;
  min-height: 34px;
  padding: 7px 10px;
  color: var(--color-primary-dark);
  background: #faf7ff;
  border: 1px solid rgba(165,109,255,.12);
  font-size: 13px;
}
.dropdown-menu .dropdown-sublist a::before {
  content: "└";
  margin-right: 6px;
  color: var(--color-purple);
  font-weight: 900;
}
.dropdown-menu .dropdown-sublist a:hover,
.dropdown-menu .dropdown-sublist a:focus {
  color: #fff;
  background: linear-gradient(135deg, var(--color-purple), var(--color-accent));
}

.smile-mini-links a {
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(165,109,255,.18));
  border-color: rgba(255,255,255,.36);
}
.smile-mini-links a:hover {
  background: linear-gradient(135deg, var(--color-accent), var(--color-purple));
  color: #fff;
}
.talent-anchor-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.talent-anchor-list a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 13px;
  color: var(--color-primary-dark);
  background: #fff;
  border: 1px solid var(--color-line);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
}
.talent-anchor-list a:hover {
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
}

.nav-toggle {
  display: none;
  background: #fff;
  color: var(--color-primary-dark);
  border: 1px solid rgba(21,49,168,.16);
  border-radius: 14px;
  padding: 8px 10px;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(11,31,114,.08);
}
.nav-toggle span {
  display: block;
  width: 26px;
  height: 2px;
  margin: 5px 0;
  background: var(--color-primary-dark);
}
.nav-toggle em {
  display: block;
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

/* ==================== Common Sections ==================== */
.section { padding: 90px 0; }
.section-dark {
  color: #fff;
  background:
    radial-gradient(circle at 85% 15%, rgba(97,200,255,.35), transparent 30%),
    radial-gradient(circle at 18% 20%, rgba(165,109,255,.18), transparent 28%),
    linear-gradient(135deg, var(--color-base), var(--color-base-2));
}
.section-muted {
  background: linear-gradient(180deg, #eef5ff 0%, var(--color-bg-muted) 100%);
}
.eyebrow {
  margin: 0 0 10px;
  color: var(--color-primary);
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
}
.section-dark .eyebrow { color: #ffd780; }
h1, h2, h3 { line-height: 1.35; margin-top: 0; }
h1 {
  font-family: "Playfair Display", serif;
  font-size: clamp(46px, 7vw, 88px);
  letter-spacing: .04em;
  margin-bottom: 22px;
}
h2 {
  font-size: clamp(30px, 4vw, 46px);
  letter-spacing: .04em;
  margin-bottom: 18px;
}
h3 { font-size: 22px; margin-bottom: 10px; }
.lead, .section-lead {
  font-size: 17px;
  color: inherit;
  opacity: .88;
}
.section-heading {
  margin-bottom: 42px;
}
.section-heading.center {
  text-align: center;
  max-width: 780px;
  margin-inline: auto;
}
.split-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
}
.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 24px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .04em;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button.primary {
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
  box-shadow: 0 14px 30px rgba(33,71,220,.28);
}
.button.secondary {
  color: #fff;
  border: 1px solid rgba(255,255,255,.42);
  background: rgba(255,255,255,.12);
}
.button.secondary:hover {
  box-shadow: 0 12px 24px rgba(0,0,0,.10);
}
.section:not(.section-dark) .button.secondary {
  color: var(--color-primary-dark);
  border-color: var(--color-line);
  background: #fff;
}
.text-link {
  color: var(--color-primary);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
.tag {
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin: 0 0 12px;
  padding: 4px 10px;
  color: var(--color-primary-dark);
  background: linear-gradient(135deg, #e9f3ff, var(--color-purple-soft));
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
}

/* ==================== Hero / YouTube Layout ==================== */
.hero {
  position: relative;
  overflow: hidden;
  padding: 80px 0 42px;
}
.hero::before {
  content: "";
  position: absolute;
  right: -120px;
  top: 8%;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(165,109,255,.26) 0%, rgba(165,109,255,0) 68%);
  pointer-events: none;
}
.hero::after {
  content: "";
  position: absolute;
  left: -110px;
  bottom: -160px;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgba(97,200,255,.24) 0%, rgba(97,200,255,0) 70%);
  pointer-events: none;
}
.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: 54px;
}
.hero-copy {
  max-width: 680px;
}
.hero-copy .lead,
.section-lead {
  max-width: 52em;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 7px 14px;
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}
.hero-youtube {
  position: relative;
  padding: 14px;
  border-radius: 30px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, var(--color-accent), var(--color-purple)) border-box;
  border: 3px solid transparent;
  box-shadow: 0 28px 70px rgba(5, 18, 84, .26);
}
.hero-youtube::before {
  content: "YouTube";
  position: absolute;
  right: 28px;
  top: -18px;
  z-index: 2;
  padding: 7px 14px;
  color: #fff;
  background: linear-gradient(135deg, var(--color-purple), #c390ff);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}
.hero-youtube iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 22px;
  background: #0b1f72;
}
.youtube-note {
  margin: 12px 4px 0;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.6;
}



/* ==================== TOP New Release Slider ==================== */
.hero-release-panel {
  position: relative;
  padding: 18px;
  border-radius: 30px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, var(--color-accent), var(--color-purple)) border-box;
  border: 3px solid transparent;
  box-shadow: 0 28px 70px rgba(5, 18, 84, .22);
}
.hero-release-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 0 4px 12px;
}
.hero-release-eyebrow {
  margin: 0;
  color: var(--color-primary-dark);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .16em;
}
.hero-release-note {
  margin: 0;
  color: var(--color-muted);
  font-size: 12px;
}
.hero-release-stage {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: #eef4ff;
}
.hero-release-slide {
  display: none;
  position: relative;
  color: #fff;
}
.hero-release-slide.is-active {
  display: block;
}
.hero-release-slide img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.hero-release-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  gap: 2px;
  padding: 44px 20px 18px;
  background: linear-gradient(180deg, rgba(6,18,78,0), rgba(6,18,78,.76));
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.hero-release-caption span {
  color: #e0ebff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}
.hero-release-caption strong {
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.2;
  font-family: "Playfair Display", serif;
}
.hero-release-caption em {
  font-style: normal;
  font-size: 13px;
  font-weight: 800;
}
.hero-release-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: var(--color-primary-dark);
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 24px rgba(5,18,84,.16);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}
.hero-release-prev { left: 12px; }
.hero-release-next { right: 12px; }
.hero-release-arrow:hover,
.hero-release-arrow:focus {
  background: #ffffff;
}
.hero-release-dots {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin-top: 14px;
}
.hero-release-dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #c6d2ea;
  cursor: pointer;
}
.hero-release-dot.is-active {
  width: 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
}


/* ==================== TOP Talent Auto Slider ==================== */
.hero-talent-slider {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  margin-top: 24px;
  padding: 16px 0 0;
  border-top: 1px solid rgba(255,255,255,.18);
}
.hero-talent-slider-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.hero-talent-slider-title {
  margin: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .18em;
}
.hero-talent-slider-note {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 12px;
}
.hero-talent-mask {
  overflow: hidden;
  width: 100%;
  padding: 8px 0 18px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.hero-talent-track {
  display: flex;
  width: max-content;
  gap: 18px;
  animation: heroTalentAutoSlide 48s linear infinite;
}
.hero-talent-slider:hover .hero-talent-track {
  animation-play-state: paused;
}
.hero-talent-card {
  width: 132px;
  flex: 0 0 auto;
  display: grid;
  justify-items: center;
  gap: 9px;
  padding: 12px 10px 14px;
  color: #fff;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.12);
  box-shadow: 0 14px 34px rgba(3, 14, 66, .18);
  backdrop-filter: blur(8px);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.hero-talent-card:hover,
.hero-talent-card:focus {
  transform: translateY(-4px);
  background: rgba(255,255,255,.20);
  box-shadow: 0 18px 42px rgba(3, 14, 66, .24);
}
.hero-talent-photo {
  width: 94px;
  height: 94px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: 0 12px 26px rgba(3, 14, 66, .22);
}
.hero-talent-name {
  display: block;
  min-height: 2.6em;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
}
@keyframes heroTalentAutoSlide {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 9px)); }
}

/* ==================== News ==================== */
.news-layout {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 28px;
}
.notice-card,
.news-list article,
.service-card,
.office-card,
.contact-form {
  background: #fff;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow);
}
.notice-card { padding: 30px; }
.notice-card.important { border-top: 5px solid var(--color-accent); }
.notice-card p:last-child { margin-bottom: 0; }
.news-list {
  display: grid;
  gap: 12px;
}
.news-list article {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 22px;
}
.news-list time {
  color: var(--color-purple);
  font-weight: 900;
}
.news-list a { font-weight: 700; }
.news-list a:hover { color: var(--color-primary); }

/* ==================== Cards ==================== */
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.talent-card,
.lesson-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.talent-card img,
.lesson-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.card-body { padding: 24px; }
.card-body p:last-child { margin-bottom: 0; }

/* ==================== 2 columns / Features ==================== */
.two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 54px;
}
.feature-image img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.feature-image.framed img {
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 28px 60px rgba(0,0,0,.22);
}
.feature-image figcaption {
  margin-top: 10px;
  color: var(--color-muted);
  font-size: 13px;
}
.schedule-list {
  display: grid;
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.schedule-list li {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 16px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--color-line);
  border-radius: 14px;
}
.schedule-list span {
  color: var(--color-primary);
  font-weight: 900;
}
.info-list {
  display: grid;
  gap: 10px;
  margin: 28px 0 0;
}
.info-list div {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 18px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.info-list dt { color: #ffd780; font-weight: 900; }
.info-list dd { margin: 0; }

/* ==================== School / Audition / Services ==================== */
.lesson-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}
.audition-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 26px 0 8px;
}
.audition-category-card {
  display: grid;
  gap: 2px;
  padding: 16px 18px;
  color: var(--color-primary-dark);
  background: linear-gradient(135deg, #ffffff, var(--color-purple-soft));
  border: 1px solid rgba(21,49,168,.12);
  border-radius: 18px;
  box-shadow: 0 12px 26px rgba(11,31,114,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.audition-category-card:hover,
.audition-category-card:focus {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(11,31,114,.14);
}
.audition-category-card span {
  font-size: 20px;
  font-weight: 900;
}
.audition-category-card small {
  color: var(--color-purple);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
}
.audition-box {
  display: grid;
  grid-template-columns: 1fr .78fr;
  align-items: center;
  gap: 48px;
  padding: 44px;
  background: #fff;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.audition-box img {
  border-radius: var(--radius-md);
}
.check-list {
  padding: 0;
  margin: 28px 0;
  list-style: none;
  display: grid;
  gap: 12px;
}
.check-list li {
  position: relative;
  padding-left: 34px;
}
.check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
  border-radius: 50%;
  font-size: 14px;
  line-height: 1;
}
.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.service-card { padding: 28px; }
.service-card h3 { color: var(--color-primary-dark); }

.hero-copy .lead,
.section-lead {
  max-width: 52em;
}
.service-card p:last-child { margin-bottom: 0; }
.mini-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.mini-links a {
  padding: 10px 16px;
  border-radius: 999px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(255,255,255,.08);
}

/* ==================== Contact ==================== */
.contact-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 48px;
  align-items: start;
}
.office-card { padding: 26px; margin-top: 28px; }
.office-card h3 { color: var(--color-primary-dark); }
.office-card p:last-child { margin-bottom: 0; }
.contact-form {
  display: grid;
  gap: 16px;
  padding: 30px;
}
.contact-form label {
  display: grid;
  gap: 7px;
  font-weight: 800;
}
.contact-form input,
.contact-form textarea,
.contact-form select {
  width: 100%;
  border: 1px solid var(--color-line);
  border-radius: 14px;
  padding: 12px 14px;
  color: var(--color-text);
  background: #fff;
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
  outline: 3px solid rgba(33,71,220,.16);
  border-color: var(--color-primary);
}
.form-note {
  margin: 0;
  color: var(--color-muted);
  font-size: 13px;
}

/* ==================== Footer ==================== */
.site-footer {
  padding: 56px 0;
  color: #fff;
  background: linear-gradient(135deg, var(--color-base), var(--color-primary-dark));
}
.footer-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
}
.site-footer h2 {
  font-family: "Playfair Display", serif;
  margin-bottom: 6px;
  font-size: 28px;
}
.site-footer p { margin: 0; color: rgba(255,255,255,.72); }
.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  justify-content: flex-end;
}
.site-footer a { color: rgba(255,255,255,.82); }
.site-footer a:hover { color: #fff; }
.copyright { grid-column: 1 / -1; font-size: 12px; }

/* ==================== Responsive ==================== */
@media (max-width: 980px) {
  .brand-logo { width: 190px; }
  .nav-toggle { display: inline-block; }
  .global-nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 78px;
    background: rgba(11, 31, 114, .98);
    border-bottom: 1px solid rgba(255,255,255,.18);
  }
  .global-nav.is-open { display: block; }
  .global-nav ul {
    display: grid;
    gap: 0;
    padding: 12px 20px 20px;
  }
  .global-nav a { display: block; padding: 14px 0; }
  .hero-grid,
  .two-column,
  .news-layout,
  .contact-grid,
  .audition-box {
    grid-template-columns: 1fr;
  }
  .reverse-on-mobile figure { order: 2; }
  .reverse-on-mobile div { order: 1; }
  .card-grid,
  .service-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .hero { padding: 56px 0 38px; }
  .hero-release-panel { padding: 10px; border-radius: 22px; }
  .hero-release-stage { border-radius: 16px; }
  .hero-release-head { display: block; }
  .hero-release-note { margin-top: 2px; }
  .brand { min-width: auto; gap: 10px; }
  .brand-logo { width: 150px; padding: 4px 8px; }
  .brand-text strong { font-size: 15px; }
  .brand-text small { font-size: 11px; }
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 64px 0; }
  .hero { padding: 64px 0; }
  .split-heading { display: block; }
  .card-grid,
  .lesson-grid,
  .service-grid,
  .footer-grid { grid-template-columns: 1fr; }
  .news-list article { grid-template-columns: 1fr; gap: 4px; }
  .schedule-list li { grid-template-columns: 1fr; gap: 4px; }
  .audition-category-grid { grid-template-columns: 1fr; }
  .audition-box { padding: 26px; }
  .contact-form { padding: 22px; }
  .site-footer nav { justify-content: flex-start; }
}


.notice-card.important {
  border-top: 5px solid var(--color-purple);
}

.section-dark .button.secondary:hover {
  box-shadow: 0 12px 28px rgba(165,109,255,.16);
}



/* ==================== Logo-friendly Menu Overrides ==================== */
@media (max-width: 1180px) {
  .global-nav ul { font-size: 12px; gap: 3px; }
  .global-nav a { padding-inline: 8px; }
}

@media (max-width: 980px) {
  .brand-logo { width: 138px; }
  .global-nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 88px;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid rgba(21,49,168,.12);
    box-shadow: 0 18px 34px rgba(11,31,114,.10);
  }
  .global-nav.is-open { display: block; }
  .global-nav ul {
    display: grid;
    gap: 8px;
    padding: 16px 20px 22px;
  }
  .global-nav a {
    display: flex;
    justify-content: center;
    padding: 12px 14px;
    color: var(--color-primary-dark);
    background: #f5f8ff;
    border-color: rgba(21,49,168,.08);
  }
  .global-nav a:hover,
  .global-nav a:focus,
  .global-nav > ul > li:last-child > a {
    color: #fff;
  }
}

@media (max-width: 680px) {
  .header-inner { min-height: 76px; }
  .brand-logo { width: 118px; }
  .global-nav { top: 76px; }
}


/* ==================== Contact Page Style Update ==================== */
.contact-page {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 8%, rgba(165,109,255,.13), transparent 28%),
    radial-gradient(circle at 86% 14%, rgba(97,200,255,.20), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
}
.contact-heading {
  margin-bottom: 34px;
}
.contact-panel {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 34px;
  align-items: stretch;
  padding: 18px;
  border-radius: 34px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(21,49,168,.10);
  box-shadow: 0 24px 70px rgba(11,31,114,.12);
  backdrop-filter: blur(12px);
}
.contact-side {
  position: relative;
  overflow: hidden;
  padding: 34px;
  color: #fff;
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 12%, rgba(165,109,255,.42), transparent 28%),
    radial-gradient(circle at 14% 20%, rgba(97,200,255,.28), transparent 30%),
    linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
}
.contact-side::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -90px;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: rgba(255,255,255,.14);
}
.contact-side h3,
.contact-side p,
.contact-side ul,
.contact-note-card {
  position: relative;
  z-index: 1;
}
.contact-label {
  position: relative;
  z-index: 1;
  display: inline-flex;
  margin: 0 0 14px;
  padding: 7px 13px;
  color: var(--color-primary-dark);
  background: #fff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}
.contact-side h3 {
  font-size: 26px;
  margin-bottom: 16px;
}
.contact-bullets {
  display: grid;
  gap: 10px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
}
.contact-bullets li {
  position: relative;
  padding-left: 24px;
}
.contact-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--color-accent);
  box-shadow: 0 0 0 5px rgba(255,255,255,.18);
}
.contact-note-card {
  margin-top: 24px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.20);
}
.contact-note-card strong {
  display: block;
  margin-bottom: 8px;
}
.contact-note-card p {
  margin: 0 0 8px;
  color: rgba(255,255,255,.88);
  font-size: 13px;
  line-height: 1.65;
}
.contact-form-page {
  padding: 34px;
  border-radius: 26px;
  box-shadow: none;
  border: 1px solid rgba(21,49,168,.12);
}
.form-row.two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.required {
  display: inline-flex;
  margin-left: 6px;
  padding: 2px 7px;
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}
.privacy-check {
  display: flex !important;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 10px !important;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f4f8ff;
  border: 1px solid var(--color-line);
  font-weight: 700 !important;
}
.privacy-check input {
  width: 18px;
  height: 18px;
  margin-top: .35em;
}
.contact-submit {
  width: min(260px, 100%);
  justify-self: start;
}

@media (max-width: 980px) {
  .contact-panel { grid-template-columns: 1fr; }
  .contact-side { padding: 28px; }
}
@media (max-width: 680px) {
  .contact-panel { padding: 10px; border-radius: 24px; }
  .contact-side,
  .contact-form-page { padding: 22px; border-radius: 20px; }
  .form-row.two { grid-template-columns: 1fr; }
  .contact-submit { width: 100%; }
}


/* ==================== Talent Dropdown Responsive ==================== */
@media (max-width: 980px) {
  .global-nav .has-dropdown > .dropdown-parent::after { margin-left: 8px; }
  .dropdown-menu {
    position: static;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    margin-top: 8px;
    padding: 10px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(21,49,168,.08);
  }
  .dropdown-menu::before { display: none; }
  .dropdown-menu ul { gap: 4px; }
  .dropdown-menu li + li { border-top: 0; }
  .dropdown-menu-social {
    grid-template-columns: 1fr;
    right: auto;
    transform: none;
  }
  .dropdown-menu a {
    justify-content: flex-start;
    min-height: 38px;
    padding: 8px 12px;
    color: var(--color-primary-dark);
    background: #f5f8ff;
    border: 1px solid rgba(21,49,168,.08);
    font-size: 13px;
  }
  .dropdown-menu a:hover,
  .dropdown-menu a:focus {
    color: #fff;
    background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
  }
}


@media (max-width: 980px) {
  .dropdown-sublist {
    margin-left: 8px !important;
    padding-left: 10px !important;
  }
  .dropdown-menu .dropdown-sublist a {
    background: #fbf8ff;
    font-size: 12px;
  }
}

/* 美と健康相談室の下層2項目を少し爽やかに表示 */
.dropdown-menu .health-menu-item > a {
  background: linear-gradient(135deg, #eefaff, #f2ecff);
}


/* TOPタレントスライダー：スマホ調整 */
@media (max-width: 980px) {
  .hero-talent-slider { margin-top: 22px; }
  .hero-talent-slider-head {
    display: block;
  }
  .hero-talent-slider-note {
    margin-top: 6px;
  }
  .hero-talent-card {
    width: 118px;
    padding: 10px 8px 12px;
  }
  .hero-talent-photo {
    width: 82px;
    height: 82px;
  }
}

@media (max-width: 680px) {
  .hero-talent-slider {
    margin-top: 18px;
    padding-top: 14px;
  }
  .hero-talent-mask {
    -webkit-mask-image: none;
    mask-image: none;
  }
  .hero-talent-track {
    gap: 12px;
    animation-duration: 38s;
  }
  .hero-talent-card {
    width: 104px;
    border-radius: 18px;
  }
  .hero-talent-photo {
    width: 74px;
    height: 74px;
    border-width: 3px;
  }
  .hero-talent-name {
    font-size: 11px;
  }
}

/* =========================================================
  プルダウンMENU調整：選択しやすい1列表示
  - 見た目の雰囲気はそのまま
  - PC表示でも縦1列にして、クリック範囲を広くしています
========================================================= */
@media (min-width: 981px) {
  .dropdown-menu {
    width: min(390px, calc(100vw - 32px));
    grid-template-columns: 1fr;
    gap: 0;
    padding: 12px;
    max-height: min(78vh, 620px);
    overflow-y: auto;
  }

  .dropdown-menu-social {
    width: min(430px, calc(100vw - 32px));
    grid-template-columns: 1fr;
    gap: 0;
  }

  .dropdown-menu ul + ul {
    border-top: 1px solid rgba(21,49,168,.12);
  }

  .dropdown-menu li + li {
    border-top: 1px solid rgba(21,49,168,.12);
  }

  .dropdown-menu a {
    min-height: 50px;
    padding: 12px 16px;
    justify-content: flex-start;
    white-space: normal;
    line-height: 1.45;
  }

  .dropdown-menu a::before {
    content: "";
    width: 6px;
    height: 6px;
    margin-right: 10px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--color-accent), var(--color-purple));
    opacity: .7;
  }

  .dropdown-menu a:hover::before,
  .dropdown-menu a:focus::before {
    background: #fff;
    opacity: 1;
  }

  .dropdown-sublist {
    margin: 0 0 8px 18px;
    padding-left: 10px;
    border-left: 2px solid rgba(165,109,255,.22);
  }

  .dropdown-menu .dropdown-sublist li {
    border-top: 0;
  }

  .dropdown-menu .dropdown-sublist a {
    min-height: 42px;
    padding: 9px 12px;
    font-size: 13px;
  }
}

/* =========================================================
  プルダウンMENU最終調整：全項目を左揃え
  - 1列表示のまま、各グループの開始位置を統一
  - クリック範囲は横幅いっぱいに維持
========================================================= */
.dropdown-menu,
.dropdown-menu ul,
.dropdown-menu li {
  width: 100%;
}

.dropdown-menu {
  justify-items: stretch;
}

.dropdown-menu ul {
  grid-template-columns: 1fr;
  justify-content: stretch;
  justify-items: stretch;
  align-items: stretch;
}

.dropdown-menu a,
.dropdown-menu-compact a,
.dropdown-menu-social a,
.dropdown-menu .dropdown-sublist a {
  width: 100%;
  justify-content: flex-start !important;
  text-align: left !important;
}

.dropdown-menu a::before {
  margin-left: 0;
}

/* =========================================================
  プルダウンMENU修正：名前が切れない幅に調整
  - 前回の左揃えは維持
  - PC表示では親MENU幅に引っ張られないよう、十分な横幅を固定
  - 長い名前は折り返して全体が見えるようにしています
========================================================= */
@media (min-width: 981px) {
  .global-nav .dropdown-menu {
    width: 420px !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 360px;
    overflow-x: hidden;
  }

  .global-nav .dropdown-menu-compact {
    width: 320px !important;
    min-width: 280px;
  }

  .global-nav .dropdown-menu-social {
    width: 460px !important;
    min-width: 420px;
    max-width: calc(100vw - 32px) !important;
  }

  .dropdown-menu a,
  .dropdown-menu-compact a,
  .dropdown-menu-social a,
  .dropdown-menu .dropdown-sublist a {
    width: 100%;
    justify-content: flex-start !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}


/* =========================================================
  PCプルダウンMENU操作改善
  - 親MENUからプルダウンへ移動する時に閉じにくくする
  - クリックで開いた状態を維持できるようにする
  - 項目のクリック範囲をさらに広めにする
========================================================= */
@media (min-width: 981px) {
  .global-nav .has-dropdown {
    position: relative;
  }

  /* 親ボタンとプルダウンの間に透明の橋を作り、マウス移動中に閉じないようにします。 */
  .global-nav .has-dropdown::before {
    content: "";
    position: absolute;
    left: -18px;
    right: -18px;
    top: 100%;
    height: 18px;
    display: none;
    background: transparent;
  }

  .global-nav .has-dropdown:hover::before,
  .global-nav .has-dropdown:focus-within::before,
  .global-nav .has-dropdown.is-dropdown-open::before {
    display: block;
  }

  .global-nav .dropdown-menu {
    top: calc(100% + 6px) !important;
    pointer-events: none;
  }

  .global-nav .has-dropdown:hover > .dropdown-menu,
  .global-nav .has-dropdown:focus-within > .dropdown-menu,
  .global-nav .has-dropdown.is-dropdown-open > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  .global-nav .has-dropdown.is-dropdown-open > .dropdown-parent,
  .global-nav .has-dropdown:hover > .dropdown-parent,
  .global-nav .has-dropdown:focus-within > .dropdown-parent {
    color: #fff;
    background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
    box-shadow: 0 10px 24px rgba(33,71,220,.18);
  }

  .global-nav .dropdown-menu-social,
  .global-nav .has-dropdown:hover > .dropdown-menu-social,
  .global-nav .has-dropdown:focus-within > .dropdown-menu-social,
  .global-nav .has-dropdown.is-dropdown-open > .dropdown-menu-social {
    transform: translateX(0) translateY(0) !important;
  }

  .dropdown-menu a,
  .dropdown-menu-compact a,
  .dropdown-menu-social a,
  .dropdown-menu .dropdown-sublist a {
    min-height: 54px;
    padding-top: 14px;
    padding-bottom: 14px;
    cursor: pointer;
  }

  .dropdown-menu a:hover,
  .dropdown-menu a:focus {
    outline: none;
  }
}

/* =========================================================
  社会貢献MENU：上段をバナー風に、下段をサブMENUに整理
  - SMILE Shop / 美と健康相談室を上段バナーとして目立たせます
  - その下に関連サブMENUを2列で表示します
========================================================= */
.dropdown-menu-social-banner {
  grid-template-columns: 1fr !important;
  align-items: stretch;
  gap: 12px !important;
}

.dropdown-menu-social-banner .social-banner-row,
.dropdown-menu-social-banner .social-sub-row,
.dropdown-menu-social-banner .social-other-row {
  width: 100%;
}

.dropdown-menu-social-banner .social-banner-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.dropdown-menu-social-banner .social-banner-link {
  min-height: 64px !important;
  padding: 16px 18px !important;
  color: var(--color-primary-dark) !important;
  background:
    radial-gradient(circle at 90% 15%, rgba(165,109,255,.20), transparent 34%),
    linear-gradient(135deg, #f4f8ff 0%, #efe7ff 100%) !important;
  border: 1px solid rgba(165,109,255,.24) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 22px rgba(33,71,220,.08) !important;
  font-size: 14px;
  font-weight: 900;
}

.dropdown-menu-social-banner .social-banner-link::before {
  width: 7px;
  height: 7px;
  margin-right: 11px;
  background: linear-gradient(135deg, var(--color-accent), var(--color-purple));
  opacity: 1;
}

.dropdown-menu-social-banner .social-banner-link:hover,
.dropdown-menu-social-banner .social-banner-link:focus {
  color: #fff !important;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple)) !important;
  transform: translateY(-1px);
}

.dropdown-menu-social-banner .social-banner-link:hover::before,
.dropdown-menu-social-banner .social-banner-link:focus::before {
  background: #fff;
}

.dropdown-menu-social-banner .social-sub-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.dropdown-menu-social-banner .social-sub-row ul,
.dropdown-menu-social-banner .social-other-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 0 !important;
}

.dropdown-menu-social-banner .social-sub-row li,
.dropdown-menu-social-banner .social-other-row li {
  border-top: 0 !important;
}

.dropdown-menu-social-banner .social-sub-row a {
  min-height: 46px !important;
  padding: 11px 14px !important;
  background: #ffffff;
  border: 1px solid rgba(21,49,168,.10);
  border-radius: 12px;
  font-size: 13px;
}

.dropdown-menu-social-banner .social-other-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding-top: 12px;
  border-top: 1px solid rgba(21,49,168,.12) !important;
}

.dropdown-menu-social-banner .social-other-row a {
  min-height: 44px !important;
  padding: 10px 14px !important;
  background: rgba(247,250,255,.86);
  border: 1px solid rgba(21,49,168,.08);
  border-radius: 12px;
  font-size: 13px;
}

@media (min-width: 981px) {
  .global-nav .dropdown-menu-social-banner {
    width: 660px !important;
    min-width: 620px !important;
    max-width: calc(100vw - 32px) !important;
    padding: 18px !important;
  }
}

@media (max-width: 980px) {
  .dropdown-menu-social-banner .social-banner-row,
  .dropdown-menu-social-banner .social-sub-row,
  .dropdown-menu-social-banner .social-other-row {
    grid-template-columns: 1fr;
  }

  .dropdown-menu-social-banner .social-banner-link,
  .dropdown-menu-social-banner .social-sub-row a,
  .dropdown-menu-social-banner .social-other-row a {
    min-height: 48px !important;
  }
}


/* =========================================================
  HEADER BANNERS：プルダウン内ではなく、MENU下の上段バナーとして表示
  - SMILE Shop(支援型ショップ)
  - 美と健康相談室
========================================================= */
.header-banner-area {
  border-top: 1px solid rgba(21,49,168,.08);
  background: linear-gradient(90deg, rgba(248,251,255,.98), rgba(244,248,255,.96));
}
.header-banner-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 10px 0 14px;
}
.header-banner-card {
  position: relative;
  display: grid;
  align-content: center;
  min-height: 72px;
  padding: 14px 22px 14px 58px;
  color: var(--color-primary-dark);
  border-radius: 20px;
  border: 1px solid rgba(165,109,255,.20);
  overflow: hidden;
  box-shadow: 0 12px 26px rgba(11,31,114,.09);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.header-banner-card::before {
  content: "";
  position: absolute;
  left: 22px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-accent), var(--color-purple));
  box-shadow: 0 0 0 8px rgba(165,109,255,.10);
}
.header-banner-card::after {
  content: "";
  position: absolute;
  right: -34px;
  top: -42px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
  pointer-events: none;
}
.header-banner-support {
  background:
    radial-gradient(circle at 88% 20%, rgba(165,109,255,.22), transparent 34%),
    linear-gradient(135deg, #f5f1ff 0%, #eaf3ff 100%);
}
.header-banner-health {
  background:
    radial-gradient(circle at 88% 20%, rgba(97,200,255,.24), transparent 34%),
    linear-gradient(135deg, #eef8ff 0%, #f3efff 100%);
}
.header-banner-kicker {
  position: relative;
  z-index: 1;
  margin-bottom: 2px;
  color: var(--color-purple);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.header-banner-card strong {
  position: relative;
  z-index: 1;
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.35;
  letter-spacing: .03em;
}
.header-banner-card small {
  position: relative;
  z-index: 1;
  margin-top: 2px;
  color: var(--color-muted);
  font-weight: 800;
  font-size: 12px;
}
.header-banner-card:hover,
.header-banner-card:focus {
  transform: translateY(-2px);
  border-color: rgba(165,109,255,.42);
  box-shadow: 0 16px 34px rgba(33,71,220,.16);
}

/* 社会貢献プルダウン：バナーはヘッダー側へ移動したため、通常リストに戻します */
.dropdown-menu-social {
  gap: 8px !important;
}
.dropdown-menu-social .social-submenu-list,
.dropdown-menu-social .social-other-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 0 !important;
}
.dropdown-menu-social .social-submenu-list + .social-submenu-list,
.dropdown-menu-social .social-other-row {
  padding-top: 8px;
  border-top: 1px solid rgba(21,49,168,.10) !important;
}
.dropdown-menu-social .social-submenu-list li,
.dropdown-menu-social .social-other-row li {
  border-top: 0 !important;
}
.dropdown-menu-social .social-submenu-list a,
.dropdown-menu-social .social-other-row a {
  min-height: 44px !important;
  width: 100%;
  padding: 10px 14px !important;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(21,49,168,.09);
  border-radius: 12px;
}

@media (min-width: 981px) {
  .site-header .header-inner {
    min-height: 78px;
  }
  .global-nav .dropdown-menu-social {
    width: 360px !important;
    min-width: 340px !important;
    max-width: calc(100vw - 32px) !important;
    padding: 16px !important;
  }
}

@media (max-width: 980px) {
  .header-banner-inner {
    grid-template-columns: 1fr;
    padding: 12px 0;
  }
  .header-banner-card {
    min-height: 62px;
    padding: 12px 18px 12px 52px;
    border-radius: 16px;
  }
  .header-banner-card small {
    display: none;
  }
}

@media (max-width: 680px) {
  .header-banner-inner {
    gap: 10px;
  }
  .header-banner-card {
    min-height: 58px;
  }
}

/* 社会貢献プルダウンはバナーを外に出したので、必ず1列にします */
.dropdown-menu-social {
  grid-template-columns: 1fr !important;
}


/* =========================================================
  RECOVERY UPDATE: ヘッダー内の小さめ画像バナー
  直前のTOP / YouTube / タレントスライダー / プルダウン操作改善は保持し、
  大きな下段バナーではなく、赤い指定箇所用の小さめ画像枠だけを追加。
========================================================= */
.header-banner-area { display: none !important; }
@media (min-width: 981px) {
  .site-header .header-inner {
    position: relative;
    min-height: 94px;
    padding-top: 28px;
    gap: 10px;
  }
  .brand-logo {
    width: 150px;
  }
  .global-nav {
    flex: 1 1 auto;
    min-width: 0;
  }
  .global-nav ul {
    justify-content: flex-end;
    gap: 3px;
    font-size: 12px;
  }
  .global-nav a {
    padding: 8px 8px;
  }
  .header-mini-banners {
    position: absolute;
    right: 96px;
    top: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 3;
  }
  .header-mini-banner {
    display: block;
    width: 176px;
    height: 30px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 8px 18px rgba(21,49,168,.14);
    transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease;
  }
  .header-mini-banner:hover,
  .header-mini-banner:focus {
    transform: translateY(-1px);
    opacity: .94;
    box-shadow: 0 10px 22px rgba(21,49,168,.18);
  }
  .header-mini-banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .header-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 40px;
    padding: 9px 16px;
    border-radius: 999px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
    background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
    box-shadow: 0 10px 24px rgba(33,71,220,.18);
    white-space: nowrap;
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .header-contact-button:hover,
  .header-contact-button:focus {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(33,71,220,.22);
  }
}
@media (max-width: 1180px) and (min-width: 981px) {
  .header-mini-banner { width: 140px; }
  .header-mini-banners { right: 88px; gap: 8px; }
  .global-nav ul { font-size: 11px; gap: 1px; }
  .global-nav a { padding-inline: 6px; }
}
@media (max-width: 980px) {
  .header-mini-banners,
  .header-contact-button {
    display: none !important;
  }
}


/* =========================================================
  UPDATE: 社会貢献MENU・お問合せを紺文字の単色表示に変更
  枠・グラデーション・影を外して、左側MENUと同じ軽い見え方にします。
========================================================= */
.global-nav .social-nav-item > .dropdown-parent,
.global-nav > ul > li:last-child > a,
.global-nav > ul > li:last-child > a:hover,
.global-nav > ul > li:last-child > a:focus {
  color: var(--color-primary-dark) !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.header-contact-button {
  color: var(--color-primary-dark) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 8px 8px !important;
  min-height: 40px !important;
  font-weight: 900 !important;
  letter-spacing: .04em;
  text-decoration: none !important;
  transform: none !important;
}

.header-contact-button:hover,
.header-contact-button:focus {
  color: var(--color-primary-dark) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: none !important;
}

@media (max-width: 980px) {
  .global-nav .social-nav-item > .dropdown-parent,
  .global-nav > ul > li:last-child > a,
  .global-nav > ul > li:last-child > a:hover,
  .global-nav > ul > li:last-child > a:focus {
    color: var(--color-primary-dark) !important;
    background: #f5f8ff !important;
    border-color: rgba(21,49,168,.08) !important;
  }
}


/* =========================================================
  UPDATE: ヘッダー小バナーの周りをぼかさない
  画像差し替え時に輪郭がはっきり見えるよう、影・ぼかし感を外します。
========================================================= */
.header-mini-banner,
.header-mini-banner:hover,
.header-mini-banner:focus {
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.header-mini-banner img {
  box-shadow: none !important;
  filter: none !important;
}


/* =========================================================
  UPDATE: 社会貢献プルダウンの個別枠を削除
  - 他のプルダウンと同じように、白い面の中に行区切りだけで表示します。
  - クリック範囲は広いまま維持します。
========================================================= */
.dropdown-menu-social .social-submenu-list,
.dropdown-menu-social .social-other-row {
  gap: 0 !important;
}

.dropdown-menu-social .social-submenu-list + .social-submenu-list,
.dropdown-menu-social .social-other-row {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 1px solid rgba(21,49,168,.12) !important;
}

.dropdown-menu-social .social-submenu-list li,
.dropdown-menu-social .social-other-row li {
  border-top: 1px solid rgba(21,49,168,.12) !important;
}

.dropdown-menu-social .social-submenu-list li:first-child,
.dropdown-menu-social .social-other-row li:first-child {
  border-top: 0 !important;
}

.dropdown-menu-social .social-submenu-list a,
.dropdown-menu-social .social-other-row a {
  min-height: 48px !important;
  padding: 12px 14px !important;
  color: var(--color-primary-dark) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

.dropdown-menu-social .social-submenu-list a:hover,
.dropdown-menu-social .social-submenu-list a:focus,
.dropdown-menu-social .social-other-row a:hover,
.dropdown-menu-social .social-other-row a:focus {
  color: var(--color-primary) !important;
  background: rgba(238,245,255,.78) !important;
  box-shadow: none !important;
  transform: none !important;
}


/* ==================== Fixed Side Menu ==================== */
.fixed-side-menu {
  position: fixed;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1200;
  display: grid;
  gap: 12px;
}
.fixed-side-link {
  width: 126px;
  min-height: 122px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 10px;
  border-radius: 22px;
  border: 1px solid #d7e2fb;
  background: rgba(255,255,255,.96);
  color: #17388f;
  text-align: center;
  box-shadow: 0 14px 32px rgba(16, 40, 132, .12);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.fixed-side-link:hover,
.fixed-side-link:focus {
  transform: translateX(-3px);
  background: #ffffff;
  box-shadow: 0 18px 38px rgba(16, 40, 132, .16);
}
.fixed-side-dog-frame {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  border: 3px solid #ffffff;
  background: linear-gradient(135deg, #fff3f6, #eef5ff);
  box-shadow: 0 8px 20px rgba(165,109,255,.18);
}
.fixed-side-dog-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fixed-side-talent-frame {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  border: 3px solid #ffffff;
  background: linear-gradient(135deg, #fff3fb, #edf3ff);
  box-shadow: 0 8px 20px rgba(255,109,183,.20);
}
.fixed-side-talent-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fixed-side-label {
  font-size: 13px;
  line-height: 1.45;
  font-weight: 800;
  letter-spacing: .02em;
}
.fixed-side-top-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
  color: #ffffff;
  font-size: 26px;
  font-weight: 900;
}
@media (max-width: 980px) {
  .fixed-side-menu {
    right: 10px;
    bottom: 12px;
    top: auto;
    transform: none;
  }
  .fixed-side-link {
    width: 110px;
    min-height: 96px;
    padding: 10px 8px;
    border-radius: 18px;
  }
  .fixed-side-dog-frame { width: 56px; height: 56px; }
  .fixed-side-talent-frame { width: 56px; height: 56px; }
  .fixed-side-top-icon { width: 46px; height: 46px; font-size: 22px; }
  .fixed-side-label { font-size: 12px; }
}
@media (max-width: 680px) {
  .fixed-side-menu {
    right: 8px;
    bottom: 8px;
    gap: 8px;
  }
  .fixed-side-link {
    width: 96px;
    min-height: 84px;
    padding: 8px 6px;
  }
  .fixed-side-dog-frame { width: 48px; height: 48px; }
  .fixed-side-talent-frame { width: 48px; height: 48px; }
  .fixed-side-top-icon { width: 40px; height: 40px; font-size: 20px; }
  .fixed-side-label { font-size: 11px; }
}


/* ==================== Release Detail Pages ==================== */
.release-detail-hero {
  background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 100%);
}
.release-detail-grid {
  display: grid;
  grid-template-columns: .96fr 1.04fr;
  gap: 54px;
  align-items: center;
}
.release-detail-image {
  padding: 16px;
  border-radius: 30px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, var(--color-accent), var(--color-purple)) border-box;
  border: 3px solid transparent;
  box-shadow: var(--shadow);
}
.release-detail-image img {
  width: 100%;
  border-radius: 20px;
}
.release-detail-copy h1 {
  color: var(--color-primary-dark);
  font-size: clamp(44px, 6vw, 80px);
}
.release-detail-copy h2 {
  color: var(--color-text);
  font-size: clamp(26px, 3vw, 40px);
}
.release-detail-list {
  display: grid;
  gap: 0;
  margin: 28px 0 0;
  border-top: 1px solid var(--color-line);
}
.release-detail-list div {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid var(--color-line);
}
.release-detail-list dt {
  color: var(--color-primary-dark);
  font-weight: 900;
}
.release-detail-list dd {
  margin: 0;
}
.detail-nav {
  margin-left: auto;
}
@media (max-width: 980px) {
  .release-detail-grid { grid-template-columns: 1fr; }
  .detail-nav { display: none; }
}
@media (max-width: 680px) {
  .release-detail-image { padding: 10px; border-radius: 22px; }
  .release-detail-image img { border-radius: 15px; }
  .release-detail-list div { grid-template-columns: 1fr; gap: 4px; }
}


/* ==================== Important News / Detail Page ==================== */
.important-news-card {
  position: relative;
  margin: 0 0 32px;
  padding: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 10%, rgba(165,109,255,.16), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #f2f7ff 58%, #f7f0ff 100%);
  border: 1px solid #d9e5ff;
  border-radius: 28px;
  box-shadow: 0 18px 45px rgba(20, 48, 145, .12);
}
.important-news-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: linear-gradient(180deg, var(--color-primary), var(--color-purple));
}
.important-news-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  color: var(--color-primary-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}
.important-news-meta span {
  padding: 5px 12px;
  color: #fff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-purple));
  border-radius: 999px;
}
.important-news-meta time {
  color: var(--color-muted);
}
.important-news-card h3 {
  margin-bottom: 12px;
  color: var(--color-primary-dark);
  font-size: clamp(24px, 3vw, 34px);
}
.important-news-card p {
  max-width: 850px;
  margin-bottom: 22px;
  color: var(--color-text);
}
.news-detail-hero {
  background:
    radial-gradient(circle at 10% 10%, rgba(97,200,255,.18), transparent 32%),
    radial-gradient(circle at 90% 18%, rgba(165,109,255,.16), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}
.news-detail-container {
  max-width: 920px;
}
.news-detail-head {
  text-align: center;
  margin-bottom: 34px;
}
.news-detail-head time {
  display: inline-flex;
  margin: 0 0 14px;
  padding: 5px 14px;
  color: var(--color-primary-dark);
  background: #eef5ff;
  border-radius: 999px;
  font-weight: 900;
}
.news-detail-head h1 {
  max-width: 820px;
  margin-inline: auto;
  color: var(--color-primary-dark);
  font-size: clamp(26px, 3.2vw, 42px);
  line-height: 1.55;
  letter-spacing: .04em;
}
.news-detail-body {
  padding: clamp(28px, 5vw, 56px);
  background: #ffffff;
  border: 1px solid var(--color-line);
  border-radius: 30px;
  box-shadow: 0 18px 45px rgba(20, 48, 145, .12);
}
.news-detail-body h2 {
  text-align: center;
  margin-bottom: 32px;
  color: var(--color-primary-dark);
  font-size: clamp(26px, 4vw, 38px);
}
.news-detail-body p {
  margin: 0 0 1.45em;
  color: var(--color-text);
  font-size: 16px;
  line-height: 2.05;
}
.news-detail-signature {
  display: grid;
  gap: 6px;
  justify-items: end;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid var(--color-line);
}
.news-detail-signature p {
  margin: 0;
  font-weight: 700;
  line-height: 1.7;
}
.news-detail-buttons {
  justify-content: center;
  margin-top: 34px;
}
@media (max-width: 680px) {
  .important-news-card { padding: 26px 22px; }
  .important-news-card h3 { font-size: 24px; }
  .news-detail-body { border-radius: 22px; }
  .news-detail-body p { font-size: 15px; line-height: 1.95; }
}


/* Important NEWS detail: message image */
.news-detail-message-image {
  margin: 42px 0 0;
  padding: 18px;
  background: #f8fbff;
  border: 1px solid rgba(21,49,168,.12);
  border-radius: 22px;
}
.news-detail-message-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
}
.news-detail-message-image figcaption {
  margin-top: 10px;
  color: var(--color-muted);
  font-size: 13px;
  text-align: center;
}
@media (max-width: 680px) {
  .news-detail-message-image { padding: 10px; border-radius: 16px; }
  .news-detail-message-image img { border-radius: 10px; }
}

@media (max-width: 680px) {
  .news-detail-head h1 {
    font-size: 25px;
    line-height: 1.5;
  }
}


/* ==================== Movie / YouTube Section ==================== */
.movie-section {
  background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
}
.movie-grid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 46px;
  align-items: center;
}
.movie-copy {
  max-width: 620px;
}
.movie-embed-card {
  padding: 14px;
  border-radius: 28px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, var(--color-accent), var(--color-purple)) border-box;
  border: 3px solid transparent;
  box-shadow: 0 22px 50px rgba(28, 61, 170, .14);
}
.movie-embed-card iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 18px;
  background: #0b1f72;
}

/* ==================== NEWS pickup / LINE / Press links ==================== */
.news-pickup-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 26px;
  margin: 28px 0;
}
.news-request-card,
.news-line-card {
  background: #ffffff;
  border: 1px solid var(--color-line);
  border-radius: 24px;
  box-shadow: var(--shadow);
}
.news-request-card {
  display: grid;
  gap: 14px;
  padding: 30px;
}
.news-request-card h3,
.news-line-card h3 {
  margin: 0 0 4px;
  color: #d91522;
  font-size: 22px;
  letter-spacing: .04em;
}
.news-request-card a {
  display: inline-block;
  width: max-content;
  max-width: 100%;
  color: var(--color-text);
  font-size: 17px;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}
.news-request-card a:hover {
  color: var(--color-primary);
}
.news-line-card {
  display: grid;
  grid-template-columns: 1fr 118px;
  gap: 20px;
  align-items: center;
  padding: 28px 30px;
}
.news-line-card p {
  margin: 0;
  color: var(--color-text);
  line-height: 1.75;
}
.news-line-qr {
  width: 118px;
  height: 118px;
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
}
.news-press-list {
  display: grid;
  gap: 10px;
  margin-top: 26px;
}
.news-press-list a {
  display: block;
  padding: 13px 0;
  color: #0b1f72;
  border-bottom: 1px solid var(--color-line);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.55;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.news-press-list a:hover {
  color: var(--color-purple);
}
@media (max-width: 980px) {
  .movie-grid,
  .news-pickup-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 680px) {
  .movie-embed-card { padding: 10px; border-radius: 22px; }
  .movie-embed-card iframe { border-radius: 14px; }
  .news-line-card {
    grid-template-columns: 1fr;
  }
  .news-line-qr {
    width: 108px;
    height: 108px;
  }
  .news-request-card,
  .news-line-card {
    padding: 24px 20px;
  }
  .news-press-list a {
    font-size: 16px;
  }
}


/* ==================== Featured Banners ==================== */
.featured-banner-section {
  background:
    radial-gradient(circle at 12% 0%, rgba(97,200,255,.12), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(165,109,255,.10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.featured-banner-container {
  width: min(calc(100% - 40px), 1320px);
}
.featured-banner-heading {
  margin-bottom: 30px;
}
.featured-banner-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}
.featured-banner-card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(21,49,168,.14);
  box-shadow: 0 20px 50px rgba(19, 48, 144, .12);
  transition: transform .22s ease, box-shadow .22s ease;
}
.featured-banner-card:hover,
.featured-banner-card:focus {
  transform: translateY(-4px);
  box-shadow: 0 26px 62px rgba(19, 48, 144, .18);
}
.featured-banner-card img {
  width: 100%;
  height: auto;
  display: block;
}

.featured-banner-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.featured-banner-detail-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 128px;
  height: 28px;
  margin-top: 14px;
  padding: 0 20px;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(20, 45, 120, .16);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.featured-banner-detail-btn::after {
  content: "›";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(255,255,255,.24);
  font-size: 14px;
  line-height: 1;
}
.featured-banner-detail-btn:hover,
.featured-banner-detail-btn:focus {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(20, 45, 120, .22);
  opacity: .94;
}
.featured-banner-detail-btn-blue {
  background: linear-gradient(135deg, #5fb0d3 0%, #3e9fc2 100%);
}
.featured-banner-detail-btn-red {
  background: linear-gradient(135deg, #e85f50 0%, #d94035 100%);
}
@media (max-width: 980px) {
  .featured-banner-container {
    width: min(calc(100% - 28px), 1320px);
  }
  .featured-banner-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .featured-banner-card {
    border-radius: 16px;
  }
}


/* ==================== Stylish NEWS redesign ==================== */
.news-section-stylish {
  background:
    radial-gradient(circle at 12% 8%, rgba(97,200,255,.10), transparent 28%),
    radial-gradient(circle at 92% 12%, rgba(165,109,255,.10), transparent 26%),
    linear-gradient(180deg, #f7faff 0%, #eef4ff 100%);
}
.news-heading-bar {
  align-items: end;
  margin-bottom: 22px;
}
.ghost-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  color: var(--color-primary-dark);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(33,71,220,.14);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 10px 20px rgba(23, 56, 143, .06);
}
.ghost-button:hover,
.ghost-button:focus {
  color: var(--color-primary-dark);
  background: #ffffff;
  box-shadow: 0 14px 28px rgba(23, 56, 143, .10);
}
.news-board {
  padding: clamp(22px, 4vw, 38px);
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(189, 206, 247, .8);
  border-radius: 34px;
  box-shadow: 0 24px 60px rgba(24, 56, 146, .10);
  backdrop-filter: blur(10px);
}
.news-pickup-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 24px;
  margin: 28px 0 30px;
}
.news-request-card,
.news-line-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(249,251,255,.98));
  border: 1px solid rgba(200,215,250,.85);
  border-radius: 28px;
  box-shadow: 0 14px 36px rgba(19, 48, 144, .08);
}
.news-request-card::before,
.news-line-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-purple));
}
.news-request-card {
  padding: 30px 28px;
}
.news-card-kicker {
  margin: 0 0 10px;
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
}
.news-request-card h3,
.news-line-card h3 {
  margin: 0 0 16px;
  color: #e0323a;
  font-size: clamp(24px, 3vw, 31px);
  line-height: 1.35;
  letter-spacing: .02em;
}
.news-link-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.news-link-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 68px;
  padding: 16px 18px;
  color: var(--color-primary-dark);
  background: #ffffff;
  border: 1px solid rgba(198,210,244,.9);
  border-radius: 18px;
  font-size: 18px;
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(19, 48, 144, .05);
}
.news-link-list a::after {
  content: "→";
  color: var(--color-purple);
  font-weight: 900;
}
.news-link-list a:hover,
.news-link-list a:focus {
  transform: translateY(-1px);
  color: var(--color-primary);
}
.news-line-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 148px;
  gap: 20px;
  align-items: center;
  padding: 28px;
}
.news-line-card p:last-child {
  margin: 0;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.85;
}
.news-line-qr-frame {
  display: grid;
  place-items: center;
  padding: 14px;
  background: linear-gradient(180deg, #ffffff, #f7fbff);
  border: 1px solid rgba(198,210,244,.9);
  border-radius: 22px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}
.news-line-qr {
  width: 118px;
  height: 118px;
  object-fit: contain;
}
.news-press-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding-top: 8px;
  margin-bottom: 16px;
}
.news-press-head h3 {
  margin: 0;
  color: var(--color-primary-dark);
  font-size: clamp(24px, 3vw, 34px);
}
.news-press-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 0;
}
.news-press-item {
  display: grid;
  gap: 10px;
  min-height: 138px;
  padding: 22px;
  color: var(--color-primary-dark);
  background: #ffffff;
  border: 1px solid rgba(198,210,244,.85);
  border-radius: 24px;
  box-shadow: 0 12px 28px rgba(19, 48, 144, .06);
  text-decoration: none;
}
.news-press-item strong {
  font-size: 22px;
  line-height: 1.5;
}
.news-press-tag {
  display: inline-flex;
  width: max-content;
  min-height: 28px;
  align-items: center;
  padding: 4px 10px;
  color: var(--color-primary-dark);
  background: linear-gradient(135deg, #eef4ff, #f5ecff);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
}
.news-press-arrow {
  margin-top: auto;
  color: var(--color-purple);
  font-size: 24px;
  font-weight: 900;
}
.news-press-item:hover,
.news-press-item:focus {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(19, 48, 144, .10);
}
@media (max-width: 980px) {
  .news-pickup-grid,
  .news-press-list {
    grid-template-columns: 1fr;
  }
  .news-line-card {
    grid-template-columns: 1fr 126px;
  }
}
@media (max-width: 680px) {
  .news-board {
    padding: 18px;
    border-radius: 24px;
  }
  .news-heading-bar {
    align-items: start;
  }
  .news-request-card,
  .news-line-card,
  .news-press-item {
    border-radius: 20px;
  }
  .news-line-card {
    grid-template-columns: 1fr;
    padding: 22px 20px;
  }
  .news-link-list a {
    min-height: 58px;
    padding: 14px 16px;
    font-size: 16px;
  }
  .news-request-card h3,
  .news-line-card h3,
  .news-press-head h3 {
    font-size: 23px;
  }
  .news-press-item {
    min-height: auto;
    padding: 18px;
  }
  .news-press-item strong {
    font-size: 18px;
  }
}


/* ==================== TOP Hero Redesign v2 ==================== */
.hero-home-v2 {
  padding: 18px 0 34px;
  background:
    radial-gradient(circle at 15% 5%, rgba(255,255,255,.10), transparent 22%),
    radial-gradient(circle at 85% 15%, rgba(165,109,255,.24), transparent 28%),
    linear-gradient(135deg, #102d97 0%, #183ec1 48%, #264fdd 100%);
}
.hero-home-v2::before,
.hero-home-v2::after {
  opacity: .55;
}
.hero-home-v2-container {
  position: relative;
  z-index: 2;
}
.hero-main-grid-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, .85fr);
  gap: 26px;
  align-items: stretch;
}
.hero-feature-main-v2 {
  min-width: 0;
}
.hero-feature-card-v2 {
  display: block;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: 0 26px 60px rgba(2, 12, 62, .26);
  background: rgba(255,255,255,.08);
}
.hero-feature-card-v2 img {
  width: 100%;
  display: block;
  aspect-ratio: 1672 / 941;
  object-fit: cover;
}
.hero-release-column-v2 {
  min-width: 0;
}
.hero-release-panel-v2 {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 16px;
  padding: 18px;
  border-radius: 28px;
  color: #fff;
  background: linear-gradient(180deg, rgba(7,22,107,.96), rgba(17,48,170,.92));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 26px 60px rgba(2, 12, 62, .26);
}
.hero-release-panel-v2-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.hero-release-label-v2 {
  margin: 0 0 2px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .18em;
}
.hero-release-panel-v2 h2 {
  margin: 0;
  color: #dfe8ff;
  font-size: 24px;
  font-weight: 900;
}
.hero-release-more-v2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 116px;
  min-height: 42px;
  padding: 0 18px;
  color: #fff;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.10);
  font-size: 13px;
  font-weight: 800;
}
.hero-release-more-v2:hover {
  background: rgba(255,255,255,.18);
}
.hero-release-list-v2 {
  display: grid;
  gap: 16px;
}
.hero-release-item-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.hero-release-item-v2:hover,
.hero-release-item-v2:focus {
  transform: translateY(-2px);
  background: rgba(255,255,255,.11);
  box-shadow: 0 14px 30px rgba(0,0,0,.16);
}
.hero-release-item-v2.is-pickup {
  background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(193,113,255,.14));
}
.hero-release-copy-v2 {
  display: grid;
  gap: 4px;
}
.hero-release-tag-v2 {
  justify-self: start;
  padding: 4px 8px;
  border-radius: 999px;
  color: #4d5ff2;
  background: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}
.hero-release-copy-v2 time {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 700;
}
.hero-release-copy-v2 strong {
  color: #fff;
  font-size: 28px;
  line-height: 1.22;
  font-weight: 900;
}
.hero-release-copy-v2 em {
  font-style: normal;
  color: #dbe6ff;
  font-size: 14px;
  font-weight: 700;
}
.hero-release-thumb-v2 {
  overflow: hidden;
  border-radius: 18px;
  background: rgba(255,255,255,.10);
}
.hero-release-thumb-v2 img {
  width: 100%;
  height: 132px;
  display: block;
  object-fit: cover;
}
.hero-lineup-v2 {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.hero-lineup-v2-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}
.hero-lineup-label-v2 {
  margin: 0 0 4px;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .16em;
}
.hero-lineup-v2 h2 {
  margin: 0;
  color: #ffc4dc;
  font-size: 24px;
  font-weight: 800;
}
.hero-lineup-note-v2 {
  max-width: 560px;
  margin: 0;
  color: rgba(255,255,255,.74);
  font-size: 12px;
  text-align: right;
}
.hero-lineup-scroll-v2 {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(122px, 122px);
  gap: 16px;
  overflow-x: auto;
  padding: 10px 0 14px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.35) transparent;
}
.hero-lineup-card-v2 {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 9px;
  padding: 14px 10px 16px;
  color: #fff;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  box-shadow: 0 12px 28px rgba(2, 12, 62, .18);
  backdrop-filter: blur(8px);
}
.hero-lineup-card-v2.is-pickup {
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,149,209,.18));
}
.hero-lineup-card-v2 img {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: 0 10px 20px rgba(2, 12, 62, .20);
}
.hero-lineup-card-v2 strong {
  min-height: 2.7em;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 900;
  text-align: center;
}
.hero-lineup-badge-v2 {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #ff4fa7;
  background: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}
.hero-lineup-actions-v2 {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 12px;
}
.hero-lineup-actions-v2 .button {
  min-width: 280px;
}
@media (max-width: 1180px) {
  .hero-main-grid-v2 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .hero-home-v2 {
    padding: 10px 0 28px;
  }
  .hero-release-item-v2 {
    grid-template-columns: 1fr;
  }
  .hero-release-thumb-v2 img {
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .hero-lineup-v2-head {
    align-items: start;
    flex-direction: column;
  }
  .hero-lineup-note-v2 {
    text-align: left;
  }
  .hero-lineup-actions-v2 {
    flex-direction: column;
  }
  .hero-lineup-actions-v2 .button {
    min-width: 0;
    width: 100%;
  }
}
@media (max-width: 640px) {
  .hero-release-panel-v2 h2,
  .hero-lineup-v2 h2 {
    font-size: 20px;
  }
  .hero-release-copy-v2 strong {
    font-size: 22px;
  }
  .hero-release-more-v2 {
    min-width: 98px;
    min-height: 38px;
    padding: 0 14px;
  }
}


/* ==================== Hero Right Slider v2 improvement ==================== */
.hero-release-slider-v2 {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 14px;
  min-height: 100%;
}
.hero-release-stage-v2 {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  min-height: 525px;
}
.hero-release-slide-v2 {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 14px;
  padding: 18px;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  transform: translateX(18px);
  transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}
.hero-release-slide-v2.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}
.hero-release-slide-copy-v2 {
  display: grid;
  gap: 6px;
}
.hero-release-slide-copy-v2 time {
  color: rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 700;
}
.hero-release-slide-copy-v2 strong {
  color: #fff;
  font-size: clamp(36px, 3.2vw, 56px);
  line-height: 1.04;
  font-weight: 900;
  word-break: break-word;
}
.hero-release-slide-copy-v2 em {
  font-style: normal;
  color: #dbe6ff;
  font-size: 16px;
  font-weight: 700;
}
.hero-release-slide-thumb-v2 {
  overflow: hidden;
  border-radius: 20px;
  background: rgba(255,255,255,.10);
  align-self: end;
}
.hero-release-slide-thumb-v2 img {
  width: 100%;
  height: 210px;
  display: block;
  object-fit: cover;
}
.hero-release-arrow-v2 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: var(--color-primary-dark);
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 24px rgba(5,18,84,.16);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}
.hero-release-prev-v2 { left: 12px; }
.hero-release-next-v2 { right: 12px; }
.hero-release-dots-v2 {
  display: flex;
  justify-content: center;
  gap: 9px;
}
.hero-release-dot-v2 {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.32);
  cursor: pointer;
}
.hero-release-dot-v2.is-active {
  width: 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff9fd8, #caa0ff);
}
@media (max-width: 1180px) {
  .hero-release-stage-v2 {
    min-height: 480px;
  }
}
@media (max-width: 900px) {
  .hero-release-stage-v2 {
    min-height: 420px;
  }
  .hero-release-slide-copy-v2 strong {
    font-size: clamp(28px, 7vw, 44px);
  }
  .hero-release-slide-thumb-v2 img {
    height: 180px;
  }
}


/* ==================== Hero fine tune: smaller right title + official line ==================== */
.hero-feature-main-v2 {
  display: grid;
  gap: 18px;
  align-content: start;
}
.hero-line-card-v2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 20px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 28px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.26);
  box-shadow: 0 20px 48px rgba(2, 12, 62, .20);
}
.hero-line-kicker-v2 {
  margin: 0 0 8px;
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}
.hero-line-card-v2 h3 {
  margin: 0 0 12px;
  color: #e0328b;
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.25;
}
.hero-line-card-v2 p:last-child {
  margin: 0;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.8;
}
.hero-line-qr-frame-v2 {
  display: grid;
  place-items: center;
  padding: 14px;
  background: linear-gradient(180deg, #ffffff, #f7fbff);
  border: 1px solid rgba(198,210,244,.9);
  border-radius: 22px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}
.hero-line-qr-v2 {
  width: 120px;
  height: 120px;
  object-fit: contain;
}
.hero-release-stage-v2 {
  min-height: 500px;
}
.hero-release-slide-copy-v2 strong {
  font-size: clamp(26px, 2.1vw, 40px);
  line-height: 1.1;
  max-width: 8em;
}
.hero-release-slide-copy-v2 em {
  font-size: 15px;
}
.hero-release-slide-thumb-v2 img {
  height: 190px;
}
@media (max-width: 1180px) {
  .hero-line-card-v2 {
    grid-template-columns: 1fr 132px;
  }
}
@media (max-width: 900px) {
  .hero-line-card-v2 {
    grid-template-columns: 1fr;
    padding: 22px 20px;
  }
  .hero-line-qr-frame-v2 {
    justify-self: start;
  }
  .hero-release-stage-v2 {
    min-height: 420px;
  }
  .hero-release-slide-copy-v2 strong {
    font-size: clamp(24px, 6vw, 34px);
    max-width: none;
  }
  .hero-release-slide-thumb-v2 img {
    height: 170px;
  }
}


/* ==================== Hero lineup: heading removed ==================== */
.hero-lineup-v2 {
  margin-top: 20px;
  padding-top: 14px;
}
.hero-lineup-scroll-v2 {
  padding-top: 0;
}


/* ==================== Right release slider: 6 image slides ==================== */
.hero-release-stage-image-v2 {
  min-height: 500px;
}
.hero-release-stage-image-v2 .hero-release-slide-v2 {
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 14px;
  padding: 16px;
}
.hero-release-slide-main-image-v2 {
  align-self: stretch;
  border-radius: 20px;
  background: rgba(255,255,255,.10);
}
.hero-release-slide-main-image-v2 img {
  width: 100%;
  height: 100%;
  min-height: 315px;
  object-fit: cover;
  object-position: center;
}
.hero-release-slide-caption-v2 {
  min-height: 118px;
  padding: 0;
  gap: 5px;
}
.hero-release-stage-image-v2 .hero-release-slide-copy-v2 strong {
  max-width: none;
  font-size: clamp(22px, 1.65vw, 31px);
  line-height: 1.22;
}
.hero-release-stage-image-v2 .hero-release-slide-copy-v2 em {
  font-size: 13px;
}
.hero-release-stage-image-v2 .hero-release-slide-copy-v2 time {
  font-size: 12px;
}
.hero-release-stage-image-v2 .hero-release-tag-v2 {
  font-size: 10px;
}
@media (max-width: 1180px) {
  .hero-release-stage-image-v2 {
    min-height: 470px;
  }
  .hero-release-slide-main-image-v2 img {
    min-height: 300px;
  }
}
@media (max-width: 900px) {
  .hero-release-stage-image-v2 {
    min-height: 430px;
  }
  .hero-release-slide-main-image-v2 img {
    min-height: 250px;
  }
  .hero-release-slide-caption-v2 {
    min-height: 108px;
  }
}


/* ==================== Talent lineup auto marquee ==================== */
.hero-lineup-v2 {
  overflow: hidden;
}
.hero-lineup-scroll-v2 {
  display: flex;
  width: max-content;
  grid-auto-flow: unset;
  grid-auto-columns: unset;
  overflow: visible;
  gap: 16px;
  scrollbar-width: none;
  animation: heroLineupAutoMarquee 42s linear infinite;
}
.hero-lineup-scroll-v2::-webkit-scrollbar {
  display: none;
}
.hero-lineup-v2:hover .hero-lineup-scroll-v2 {
  animation-play-state: paused;
}
.hero-lineup-card-v2 {
  width: 122px;
  flex: 0 0 122px;
}
@keyframes heroLineupAutoMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 8px)); }
}
@media (max-width: 900px) {
  .hero-lineup-scroll-v2 {
    animation-duration: 34s;
  }
}


/* =========================================================
  Simple Stylish NEWS - clean override
========================================================= */
.news-clean-section {
  padding: 78px 0 86px !important;
  background:
    radial-gradient(circle at 12% 12%, rgba(255, 192, 228, .22), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(154, 220, 255, .24), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}
.news-clean-container {
  width: min(calc(100% - 40px), 1120px) !important;
  margin-inline: auto !important;
}
.news-clean-heading {
  margin-bottom: 34px !important;
}
.news-clean-eyebrow {
  margin: 0 0 10px !important;
  color: #2456d9 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
}
.news-clean-heading h2 {
  margin: 0 0 12px !important;
  color: #102f8f !important;
  font-size: clamp(38px, 5vw, 60px) !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}
.news-clean-heading p {
  margin: 0 !important;
  color: #53689c !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}
.news-clean-board {
  display: grid !important;
  gap: 14px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.news-clean-feature,
.news-clean-item {
  text-decoration: none !important;
}
.news-clean-feature {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) 54px !important;
  gap: 22px !important;
  align-items: center !important;
  min-height: 132px !important;
  padding: 26px 28px !important;
  color: #102f8f !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid rgba(185, 211, 255, .9) !important;
  border-radius: 28px !important;
  box-shadow: 0 20px 50px rgba(52, 100, 210, .10) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.news-clean-feature:hover,
.news-clean-feature:focus,
.news-clean-item:hover,
.news-clean-item:focus {
  transform: translateY(-2px) !important;
  border-color: rgba(255, 135, 210, .7) !important;
  box-shadow: 0 18px 38px rgba(52, 100, 210, .13) !important;
}
.news-clean-feature-meta {
  display: grid !important;
  gap: 10px !important;
  align-content: center !important;
}
.news-clean-feature-meta span,
.news-clean-tag {
  display: inline-flex !important;
  width: fit-content !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 5px 13px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #ff79c9, #8f78ff) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}
.news-clean-feature-meta time,
.news-clean-item time {
  color: #8b68ff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
.news-clean-feature-body h3 {
  margin: 0 0 8px !important;
  color: #123aa8 !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}
.news-clean-feature-body p {
  margin: 0 !important;
  color: #52689c !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}
.news-clean-list {
  display: grid !important;
  gap: 12px !important;
}
.news-clean-item {
  display: grid !important;
  grid-template-columns: 90px 110px minmax(0, 1fr) 44px !important;
  gap: 18px !important;
  align-items: center !important;
  min-height: 74px !important;
  padding: 16px 20px !important;
  color: #123aa8 !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid rgba(185, 211, 255, .85) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 28px rgba(52, 100, 210, .08) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.news-clean-item strong {
  color: #123aa8 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  font-weight: 900 !important;
}
.news-clean-arrow {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  margin-left: auto !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #4c72ff, #9b6aff) !important;
  border-radius: 50% !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 22px rgba(76, 114, 255, .24) !important;
}
@media (max-width: 820px) {
  .news-clean-section {
    padding: 54px 0 62px !important;
  }
  .news-clean-feature {
    grid-template-columns: 1fr 44px !important;
    gap: 16px !important;
  }
  .news-clean-feature-meta,
  .news-clean-feature-body {
    grid-column: 1 / 2 !important;
  }
  .news-clean-feature .news-clean-arrow {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 3 !important;
  }
  .news-clean-item {
    grid-template-columns: 1fr 44px !important;
    gap: 8px 14px !important;
  }
  .news-clean-item time,
  .news-clean-tag,
  .news-clean-item strong {
    grid-column: 1 / 2 !important;
  }
  .news-clean-item .news-clean-arrow {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 4 !important;
  }
}


/* =========================================================
  Talent Section - compact clean style
  タレント一覧をくどく見せないための上書き
========================================================= */

/* タレント一覧セクション全体を少し軽く */
#talent.section-muted {
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 203, 232, .18), transparent 28%),
    radial-gradient(circle at 92% 6%, rgba(156, 220, 255, .20), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
}

/* 見出しは残しつつ、余白を控えめに */
#talent .section-heading {
  margin-bottom: 30px !important;
}

#talent .section-heading h2 {
  color: #123aa8 !important;
  font-size: clamp(34px, 4vw, 52px) !important;
}

#talent .section-heading p {
  color: #6274a5 !important;
}

/* 大きいカードから、コンパクトな名刺型カードへ */
#talent .talent-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

#talent .talent-card {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
  min-height: 126px !important;
  padding: 18px !important;
  overflow: visible !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid rgba(186, 212, 255, .85) !important;
  box-shadow: 0 14px 36px rgba(52, 100, 210, .08) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

#talent .talent-card:hover,
#talent .talent-card:focus-within {
  transform: translateY(-3px) !important;
  border-color: rgba(255, 135, 210, .68) !important;
  box-shadow: 0 22px 46px rgba(52, 100, 210, .13) !important;
}

/* 写真を大きな長方形から丸アイコンに */
#talent .talent-card > img {
  width: 82px !important;
  height: 82px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  border: 4px solid #ffffff !important;
  box-shadow: 0 10px 24px rgba(18, 58, 168, .14) !important;
}

/* 文章量を抑える */
#talent .card-body {
  padding: 0 !important;
}

#talent .card-body .tag {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 6px !important;
  padding: 4px 10px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #ff79c9, #8f78ff) !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

#talent .card-body h3 {
  margin: 0 !important;
  color: #123aa8 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

/* 紹介文はTOPでは重く見えるので非表示 */
#talent .card-body p:not(.tag) {
  display: none !important;
}

/* リンクは小さく、下線なし */
#talent .card-body .text-link {
  display: inline-flex !important;
  margin-top: 8px !important;
  color: #4f64e8 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

#talent .card-body .text-link::after {
  content: " →";
}

#talent .card-body .text-link:hover,
#talent .card-body .text-link:focus {
  color: #ff5caf !important;
  text-decoration: none !important;
}

/* タブレット */
@media (max-width: 1080px) {
  #talent .talent-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* スマホ */
@media (max-width: 760px) {
  #talent .talent-grid {
    grid-template-columns: 1fr !important;
  }

  #talent .talent-card {
    grid-template-columns: 74px minmax(0, 1fr) !important;
    min-height: 112px !important;
    padding: 16px !important;
    border-radius: 20px !important;
  }

  #talent .talent-card > img {
    width: 74px !important;
    height: 74px !important;
  }

  #talent .card-body h3 {
    font-size: 17px !important;
  }
}


/* =========================================================
  Talent Section - square photo card style
  写真を大きめ・四角寄りに見せる上書き
========================================================= */

#talent.section-muted {
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 203, 232, .16), transparent 28%),
    radial-gradient(circle at 92% 6%, rgba(156, 220, 255, .20), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
}

#talent .section-heading {
  margin-bottom: 32px !important;
}

#talent .talent-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

#talent .talent-card {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: center !important;
  min-height: 190px !important;
  padding: 18px !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid rgba(185, 211, 255, .85) !important;
  box-shadow: 0 18px 44px rgba(52, 100, 210, .10) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

#talent .talent-card:hover,
#talent .talent-card:focus-within {
  transform: translateY(-4px) !important;
  border-color: rgba(255, 135, 210, .72) !important;
  box-shadow: 0 26px 56px rgba(52, 100, 210, .15) !important;
}

/* 写真を丸ではなく、大きい角丸四角に */
#talent .talent-card > img {
  width: 150px !important;
  height: 150px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 22px !important;
  border: 0 !important;
  box-shadow: 0 14px 30px rgba(18, 58, 168, .16) !important;
}

#talent .card-body {
  padding: 0 !important;
  min-width: 0 !important;
}

#talent .card-body .tag {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 10px !important;
  padding: 5px 12px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #ff79c9, #8f78ff) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

#talent .card-body h3 {
  margin: 0 0 8px !important;
  color: #123aa8 !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  word-break: keep-all !important;
}

#talent .card-body p:not(.tag) {
  display: block !important;
  margin: 0 !important;
  color: #52689c !important;
  font-size: 13px !important;
  line-height: 1.7 !important;

  /* 長すぎる説明だけ短く見せる */
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

#talent .card-body .text-link {
  display: inline-flex !important;
  margin-top: 10px !important;
  color: #4f64e8 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

#talent .card-body .text-link::after {
  content: " →";
}

#talent .card-body .text-link:hover,
#talent .card-body .text-link:focus {
  color: #ff5caf !important;
  text-decoration: none !important;
}

@media (max-width: 1120px) {
  #talent .talent-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  #talent .talent-grid {
    grid-template-columns: 1fr !important;
  }

  #talent .talent-card {
    grid-template-columns: 118px minmax(0, 1fr) !important;
    gap: 16px !important;
    min-height: 154px !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }

  #talent .talent-card > img {
    width: 118px !important;
    height: 118px !important;
    border-radius: 18px !important;
  }

  #talent .card-body h3 {
    font-size: 20px !important;
  }

  #talent .card-body p:not(.tag) {
    font-size: 12px !important;
    -webkit-line-clamp: 1 !important;
  }
}


/* =========================================================
  All Talent Applied - square visual cards
========================================================= */
#talent.section-muted {
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 203, 232, .16), transparent 28%),
    radial-gradient(circle at 92% 6%, rgba(156, 220, 255, .20), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
}
#talent .talent-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}
#talent .talent-card {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: center !important;
  min-height: 190px !important;
  padding: 18px !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid rgba(185, 211, 255, .85) !important;
  box-shadow: 0 18px 44px rgba(52, 100, 210, .10) !important;
}
#talent .talent-card > img {
  width: 150px !important;
  height: 150px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 22px !important;
  border: 0 !important;
  box-shadow: 0 14px 30px rgba(18, 58, 168, .16) !important;
}
#talent .card-body {
  padding: 0 !important;
  min-width: 0 !important;
}
#talent .card-body .tag {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 10px !important;
  padding: 5px 12px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #ff79c9, #8f78ff) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}
#talent .card-body h3 {
  margin: 0 0 8px !important;
  color: #123aa8 !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}
#talent .card-body p:not(.tag) {
  margin: 0 !important;
  color: #52689c !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
#talent .card-body .text-link {
  display: inline-flex !important;
  margin-top: 10px !important;
  color: #4f64e8 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
#talent .card-body .text-link::after {
  content: " →";
}
@media (max-width: 1120px) {
  #talent .talent-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  #talent .talent-grid {
    grid-template-columns: 1fr !important;
  }
  #talent .talent-card {
    grid-template-columns: 118px minmax(0, 1fr) !important;
    gap: 16px !important;
    min-height: 154px !important;
    padding: 14px !important;
  }
  #talent .talent-card > img {
    width: 118px !important;
    height: 118px !important;
    border-radius: 18px !important;
  }
}/* NEWSセクション背景 */
.news-clean-section {
  background:
    radial-gradient(circle at 10% 8%, rgba(174, 215, 255, .24), transparent 30%),
    radial-gradient(circle at 90% 10%, rgba(230, 205, 145, .14), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%) !important;
}

/* 見出し */
.news-clean-eyebrow {
  color: #245fa8 !important;
}

.news-clean-heading h2 {
  color: #12346d !important;
}

.news-clean-heading p {
  color: #546887 !important;
}

/* 大きい重要ニュースカード */
.news-clean-feature {
  background: rgba(255, 255, 255, .97) !important;
  border: 1px solid rgba(160, 194, 238, .88) !important;
  box-shadow: 0 18px 44px rgba(23, 58, 120, .10) !important;
}

/* 重要カードのホバー */
.news-clean-feature:hover,
.news-clean-feature:focus {
  border-color: rgba(207, 174, 93, .85) !important;
  box-shadow: 0 24px 54px rgba(23, 58, 120, .15) !important;
}

/* 通常ニュースカード */
.news-clean-item {
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(160, 194, 238, .82) !important;
  box-shadow: 0 10px 26px rgba(23, 58, 120, .07) !important;
}

/* 通常ニュースカードのホバー */
.news-clean-item:hover,
.news-clean-item:focus {
  border-color: rgba(207, 174, 93, .82) !important;
  box-shadow: 0 18px 38px rgba(23, 58, 120, .12) !important;
}

/* IMPORTANT / PRESS / MEDIA などのタグ */
.news-clean-feature-meta span,
.news-clean-tag {
  color: #ffffff !important;
  background: linear-gradient(135deg, #173a78, #3f7fc4) !important;
  box-shadow: 0 8px 18px rgba(23, 58, 120, .14) !important;
}

/* IMPORTANTだけ少しゴールド寄せ */
.news-clean-feature-meta span {
  background: linear-gradient(135deg, #b99645, #d7bd73) !important;
}

/* 日付 */
.news-clean-feature-meta time,
.news-clean-item time {
  color: #3f7fc4 !important;
}

/* ニュースタイトル */
.news-clean-feature-body h3,
.news-clean-item strong {
    color: #12346d !important;
    font-size: 1em;
}

/* 説明文 */
.news-clean-feature-body p {
  color: #546887 !important;
}

/* 矢印ボタン */
.news-clean-arrow {
  color: #ffffff !important;
  background: linear-gradient(135deg, #173a78, #3f7fc4) !important;
  box-shadow: 0 10px 22px rgba(23, 58, 120, .22) !important;
}

/* 矢印ホバー時 */
.news-clean-feature:hover .news-clean-arrow,
.news-clean-feature:focus .news-clean-arrow,
.news-clean-item:hover .news-clean-arrow,
.news-clean-item:focus .news-clean-arrow {
  background: linear-gradient(135deg, #b99645, #d7bd73) !important;
}

/* リンク下線なしを固定 */
.news-clean-section a {
  text-decoration: none !important;
}

.news-clean-section a:hover,
.news-clean-section a:focus {
  text-decoration: none !important;
}
/* タレント一覧セクション背景 */
#talent.section-muted {
  background:
    radial-gradient(circle at 10% 0%, rgba(174, 215, 255, .22), transparent 30%),
    radial-gradient(circle at 90% 8%, rgba(230, 205, 145, .16), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%) !important;
}

/* カード本体 */
#talent .talent-card {
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(160, 194, 238, .85) !important;
  box-shadow: 0 16px 40px rgba(23, 58, 120, .09) !important;
}

/* ホバー時 */
#talent .talent-card:hover,
#talent .talent-card:focus-within {
  border-color: rgba(207, 174, 93, .85) !important;
  box-shadow: 0 24px 52px rgba(23, 58, 120, .14) !important;
}

/* 写真 */
#talent .talent-card > img {
  box-shadow: 0 14px 30px rgba(23, 58, 120, .14) !important;
}

/* Artist / Talent タグ */
#talent .card-body .tag {
  color: #ffffff !important;
  background: linear-gradient(135deg, #173a78, #3f7fc4) !important;
  box-shadow: 0 8px 18px rgba(23, 58, 120, .16) !important;
}

/* GuideやNew Faceなども同じトーンに */
#talent .talent-card:nth-child(4) .tag,
#talent .talent-card:nth-child(8) .tag,
#talent .talent-card:nth-child(17) .tag {
  background: linear-gradient(135deg, #b99645, #d7bd73) !important;
  color: #ffffff !important;
}

/* 名前 */
#talent .card-body h3 {
  color: #12346d !important;
}

/* 説明文 */
#talent .card-body p:not(.tag) {
  color: #546887 !important;
}

/* リンク */
#talent .card-body .text-link {
  color: #245fa8 !important;
  text-decoration: none !important;
}

#talent .card-body .text-link:hover,
#talent .card-body .text-link:focus {
  color: #b28a35 !important;
  text-decoration: none !important;
}

/* PICK UPなどピンク系バッジも落ち着かせる */
.hero-lineup-badge-v2 {
  color: #ffffff !important;
  background: linear-gradient(135deg, #b99645, #d7bd73) !important;
}

/* TOP横流れタレントカードも同じ方向へ */
.hero-lineup-card-v2 {
  border-color: rgba(160, 194, 238, .35) !important;
  background: rgba(255, 255, 255, .10) !important;
}

.hero-lineup-card-v2.is-pickup {
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(207,174,93,.16)) !important;
}/* 全体のセクション余白を少しコンパクトに */
.section {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

/* TOP直下・NEWS・タレントまわりはさらに詰める */
.news-clean-section {
  padding-top: 56px !important;
  padding-bottom: 60px !important;
}

#talent.section-muted {
  padding-top: 56px !important;
  padding-bottom: 60px !important;
}

.featured-banner-section {
  padding-top: 42px !important;
  padding-bottom: 42px !important;
}

/* 見出し下の余白も少し詰める */
.section-heading,
.news-clean-heading {
  margin-bottom: 28px !important;
}

/* タレント一覧の上に余白が出すぎる場合 */
#talent .section-heading {
  margin-bottom: 26px !important;
}

/* 青いTOPエリア下の余白 */
.hero-home-v2 {
  padding-bottom: 28px !important;
}

/* TOP内のタレント横流れとボタンの余白 */
.hero-lineup-v2 {
  margin-top: 18px !important;
  padding-top: 14px !important;
}

.hero-lineup-actions-v2 {
  margin-top: 10px !important;
}

/* NEWSリスト内の余白は維持しつつ少しだけ詰める */
.news-clean-board {
  gap: 12px !important;
}.hero-home-v2 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(115, 197, 255, .26), transparent 26%),
    radial-gradient(circle at 78% 12%, rgba(163, 126, 255, .22), transparent 30%),
    radial-gradient(circle at 50% 95%, rgba(255, 255, 255, .10), transparent 34%),
    linear-gradient(135deg, #071a52 0%, #103a9a 42%, #1d54c8 100%) !important;
}

/* 背景にうっすら光のライン */
.hero-home-v2::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.10) 42%, transparent 58%),
    radial-gradient(circle at 25% 70%, rgba(255,255,255,.12), transparent 28%) !important;
  opacity: .7 !important;
  pointer-events: none !important;
}

/* 下側に少しだけ深み */
.hero-home-v2::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 42% !important;
  background: linear-gradient(180deg, transparent 0%, rgba(2, 12, 54, .28) 100%) !important;
  pointer-events: none !important;
}

/* 中身を背景より前に出す */
.hero-home-v2 .container,
.hero-home-v2-container {
  position: relative !important;
  z-index: 2 !important;
}

/* メイン画像と右スライダーを少し浮かせる */
.hero-feature-card-v2,
.hero-release-panel-v2 {
  box-shadow: 0 28px 70px rgba(0, 10, 50, .30) !important;
}

/* LINEカードを少し高級感ある白に */
.hero-line-card-v2 {
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.94)) !important;
  border: 1px solid rgba(192, 214, 255, .82) !important;
  box-shadow: 0 22px 54px rgba(0, 10, 50, .18) !important;
}

/* 右側スライダーの紺を少し落ち着かせる */
.hero-release-panel-v2 {
  background:
    linear-gradient(180deg, rgba(6, 20, 76, .96), rgba(14, 45, 135, .94)) !important;
  border: 1px solid rgba(185, 211, 255, .28) !important;
}

/* タレント横流れの上線を少し控えめに */
.hero-lineup-v2 {
  border-top: 1px solid rgba(255, 255, 255, .18) !important;
}

/* タレント横流れカードを青ベタから半透明ガラス風に */
.hero-lineup-card-v2 {
  background: rgba(255, 255, 255, .12) !important;
  border: 1px solid rgba(210, 228, 255, .30) !important;
  box-shadow: 0 14px 34px rgba(0, 10, 50, .18) !important;
  backdrop-filter: blur(10px) !important;
}

.hero-lineup-card-v2:hover,
.hero-lineup-card-v2:focus {
    background: rgba(255, 255, 255, .20) !important;
    border-color: rgba(44,194,201,0.62) !important;
}

/* PICK UPバッジをピンクではなく上品なゴールドへ */
.hero-lineup-badge-v2 {
  color: #ffffff !important;
  background: linear-gradient(135deg, #b99645, #d9c075) !important;
}

/* TOP内のボタンも少し締める */
.hero-lineup-actions-v2 .button.primary {
  background: linear-gradient(135deg, #174aaf, #48a7e8) !important;
}

.hero-lineup-actions-v2 .button.secondary {
  color: #ffffff !important;
  border-color: rgba(255,255,255,.42) !important;
  background: rgba(255,255,255,.10) !important;
}/* 右パネル全体 */
.hero-release-panel-v2 {
  padding: 22px !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(104, 190, 255, .18), transparent 34%),
    radial-gradient(circle at 90% 12%, rgba(215, 188, 115, .12), transparent 30%),
    linear-gradient(180deg, rgba(5, 20, 78, .97), rgba(11, 42, 128, .96)) !important;
  border: 1px solid rgba(190, 215, 255, .28) !important;
  box-shadow: 0 30px 76px rgba(0, 10, 50, .34) !important;
}

/* 見出し */
.hero-release-label-v2 {
  color: #d8e8ff !important;
  letter-spacing: .2em !important;
}

.hero-release-panel-v2 h2 {
  color: #ffffff !important;
  font-size: 28px !important;
  letter-spacing: .02em !important;
}

/* すべて見るボタン */
.hero-release-more-v2 {
  color: #ffffff !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.hero-release-more-v2:hover,
.hero-release-more-v2:focus {
  background: rgba(255,255,255,.18) !important;
}

/* スライド枠 */
.hero-release-stage-v2,
.hero-release-stage-image-v2 {
  min-height: 500px !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 18px 40px rgba(0, 10, 50, .22) !important;
}

/* 1枚のスライド全体 */
.hero-release-slide-v2 {
  padding: 16px !important;
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  gap: 16px !important;
}

/* 画像エリア */
.hero-release-slide-thumb-v2,
.hero-release-slide-main-image-v2 {
  overflow: hidden !important;
  align-self: stretch !important;
  border-radius: 24px !important;
  background: #06194d !important;
  box-shadow: 0 18px 40px rgba(0, 10, 50, .22) !important;
}

/* 画像を大きく、きれいに */
.hero-release-slide-thumb-v2 img,
.hero-release-slide-main-image-v2 img {
  width: 100% !important;
  height: 330px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 24px !important;
  transform: scale(1.01);
}

/* 下の文字エリア */
.hero-release-slide-caption-v2,
.hero-release-slide-copy-v2 {
  position: relative !important;
  padding: 0 2px 2px !important;
  display: grid !important;
  gap: 7px !important;
  background: transparent !important;
}

/* NEWタグ */
.hero-release-tag-v2 {
  color: #12346d !important;
  background: linear-gradient(135deg, #ffffff, #eaf3ff) !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  box-shadow: 0 8px 18px rgba(0, 10, 50, .16) !important;
}

/* 日付 */
.hero-release-slide-copy-v2 time {
  color: #b9d8ff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* タイトル */
.hero-release-slide-copy-v2 strong {
  color: #ffffff !important;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  line-height: 1.15 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 8px 24px rgba(0,0,0,.20) !important;
}

/* サブタイトル */
.hero-release-slide-copy-v2 em {
  color: #d7e7ff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

/* 矢印ボタンを画像の上にきれいに */
.hero-release-arrow-v2 {
  top: 44% !important;
  width: 44px !important;
  height: 44px !important;
  color: #12346d !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 14px 26px rgba(0, 10, 50, .22) !important;
}

.hero-release-arrow-v2:hover,
.hero-release-arrow-v2:focus {
  background: #ffffff !important;
  transform: translateY(-50%) scale(1.05) !important;
}

/* ドット */
.hero-release-dots-v2 {
  margin-top: 14px !important;
}

.hero-release-dot-v2 {
  background: rgba(255,255,255,.32) !important;
}

.hero-release-dot-v2.is-active {
  background: linear-gradient(135deg, #d8bd72, #ffffff) !important;
}

/* スマホ調整 */
@media (max-width: 900px) {
  .hero-release-stage-v2,
  .hero-release-stage-image-v2 {
    min-height: 440px !important;
  }

  .hero-release-slide-thumb-v2 img,
  .hero-release-slide-main-image-v2 img {
    height: 250px !important;
  }

  .hero-release-slide-copy-v2 strong {
    font-size: 26px !important;
  }
}.hero-home-v2 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,255,255,.10) 0%, transparent 18%),
    radial-gradient(circle at 82% 22%, rgba(170, 210, 255, .10) 0%, transparent 20%),
    radial-gradient(circle at 50% 78%, rgba(255,255,255,.08) 0%, transparent 28%),
    linear-gradient(180deg, #06124d 0%, #123f89 52%, #6ea7c7 100%) !important;
}

/* 全体にうっすら空気感 */
.hero-home-v2::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 12% 72%, rgba(255,255,255,.18) 0 2px, transparent 3px),
    radial-gradient(circle at 18% 80%, rgba(255,255,255,.14) 0 3px, transparent 4px),
    radial-gradient(circle at 24% 70%, rgba(255,255,255,.12) 0 1.5px, transparent 3px),
    radial-gradient(circle at 60% 16%, rgba(255,255,255,.12) 0 1.5px, transparent 3px),
    radial-gradient(circle at 68% 10%, rgba(255,255,255,.10) 0 1px, transparent 2.5px),
    radial-gradient(circle at 75% 20%, rgba(255,255,255,.12) 0 1.5px, transparent 3px),
    radial-gradient(circle at 86% 30%, rgba(255,255,255,.10) 0 1px, transparent 2.5px),
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 34%, rgba(255,255,255,.06) 100%);
  opacity: .95 !important;
}

/* 朝もやっぽい薄い光 */
.hero-home-v2::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 38% !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 18% 100%, rgba(255,255,255,.18), transparent 42%),
    radial-gradient(circle at 82% 100%, rgba(255,255,255,.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.08) 100%) !important;
}

/* 中身を前に出す */
.hero-home-v2 .container,
.hero-home-v2-container {
  position: relative !important;
  z-index: 2 !important;
}.hero-home-v2 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,255,255,.10) 0%, transparent 18%),
    radial-gradient(circle at 82% 22%, rgba(170, 210, 255, .10) 0%, transparent 20%),
    radial-gradient(circle at 50% 78%, rgba(255,255,255,.08) 0%, transparent 28%),
    linear-gradient(180deg, #06124d 0%, #123f89 52%, #6ea7c7 100%) !important;
}

/* 小さな星 */
.hero-home-v2::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(255,255,255,.9) 0 1px, transparent 2px),
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.7) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.65) 0 1px, transparent 2px),
    radial-gradient(circle at 40% 10%, rgba(255,255,255,.8) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 52% 16%, rgba(255,255,255,.6) 0 1px, transparent 2px),
    radial-gradient(circle at 63% 9%, rgba(255,255,255,.75) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 74% 15%, rgba(255,255,255,.7) 0 1px, transparent 2px),
    radial-gradient(circle at 84% 10%, rgba(255,255,255,.85) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 91% 18%, rgba(255,255,255,.65) 0 1px, transparent 2px),

    radial-gradient(circle at 14% 28%, rgba(255,255,255,.5) 0 1px, transparent 2px),
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.55) 0 1px, transparent 2px),
    radial-gradient(circle at 58% 26%, rgba(255,255,255,.45) 0 1px, transparent 2px),
    radial-gradient(circle at 79% 32%, rgba(255,255,255,.5) 0 1px, transparent 2px),

    /* 少し大きめのきらっと星 */
    radial-gradient(circle at 12% 70%, rgba(255,255,255,.95) 0 2px, transparent 4px),
    radial-gradient(circle at 19% 78%, rgba(255,255,255,.9) 0 2.5px, transparent 5px),
    radial-gradient(circle at 24% 66%, rgba(255,255,255,.8) 0 1.5px, transparent 4px);

  opacity: .9 !important;
}

/* 下の朝もや */
.hero-home-v2::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 38% !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background:
    radial-gradient(circle at 18% 100%, rgba(255,255,255,.18), transparent 42%),
    radial-gradient(circle at 82% 100%, rgba(255,255,255,.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.08) 100%) !important;
}

/* 中身を前面に */
.hero-home-v2 .container,
.hero-home-v2-container {
  position: relative !important;
  z-index: 2 !important;
}.hero-home-v2 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,255,255,.10) 0%, transparent 18%),
    radial-gradient(circle at 82% 22%, rgba(170, 210, 255, .10) 0%, transparent 20%),
    radial-gradient(circle at 50% 78%, rgba(255,255,255,.08) 0%, transparent 28%),
    linear-gradient(180deg, #06124d 0%, #123f89 52%, #6ea7c7 100%) !important;
}

/* 小さな星 */
.hero-home-v2::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(255,255,255,.9) 0 1px, transparent 2px),
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.7) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.65) 0 1px, transparent 2px),
    radial-gradient(circle at 40% 10%, rgba(255,255,255,.8) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 52% 16%, rgba(255,255,255,.6) 0 1px, transparent 2px),
    radial-gradient(circle at 63% 9%, rgba(255,255,255,.75) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 74% 15%, rgba(255,255,255,.7) 0 1px, transparent 2px),
    radial-gradient(circle at 84% 10%, rgba(255,255,255,.85) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 91% 18%, rgba(255,255,255,.65) 0 1px, transparent 2px),

    radial-gradient(circle at 14% 28%, rgba(255,255,255,.5) 0 1px, transparent 2px),
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.55) 0 1px, transparent 2px),
    radial-gradient(circle at 58% 26%, rgba(255,255,255,.45) 0 1px, transparent 2px),
    radial-gradient(circle at 79% 32%, rgba(255,255,255,.5) 0 1px, transparent 2px),

    /* 少し大きめのきらっと星 */
    radial-gradient(circle at 12% 70%, rgba(255,255,255,.95) 0 2px, transparent 4px),
    radial-gradient(circle at 19% 78%, rgba(255,255,255,.9) 0 2.5px, transparent 5px),
    radial-gradient(circle at 24% 66%, rgba(255,255,255,.8) 0 1.5px, transparent 4px);

  opacity: .9 !important;
}

/* 下の朝もや */
.hero-home-v2::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 38% !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background:
    radial-gradient(circle at 18% 100%, rgba(255,255,255,.18), transparent 42%),
    radial-gradient(circle at 82% 100%, rgba(255,255,255,.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.08) 100%) !important;
}

/* 中身を前面に */
.hero-home-v2 .container,
.hero-home-v2-container {
  position: relative !important;
  z-index: 2 !important;
}

/* =========================================================
  TOP Hero Dawn Sky + Star Layer
  既存の ::before / ::after と競合しにくい実要素版
========================================================= */

.hero-home-v2 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(255, 255, 255, .10) 0%, transparent 20%),
    radial-gradient(circle at 78% 18%, rgba(155, 205, 255, .12) 0%, transparent 22%),
    radial-gradient(circle at 48% 88%, rgba(255, 255, 255, .14) 0%, transparent 34%),
    linear-gradient(180deg, #06124d 0%, #123f89 52%, #6ea7c7 100%) !important;
}

/* 既存の擬似要素が強すぎる場合も、空気感だけに調整 */
.hero-home-v2::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.08) 46%, transparent 62%),
    radial-gradient(circle at 20% 72%, rgba(255,255,255,.10), transparent 26%) !important;
  opacity: .85 !important;
}

.hero-home-v2::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 42% !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background:
    radial-gradient(circle at 20% 100%, rgba(255,255,255,.20), transparent 42%),
    radial-gradient(circle at 82% 100%, rgba(255,255,255,.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.09) 100%) !important;
}

/* 星レイヤー */
.hero-sky-stars {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

/* 小さい星 */
.hero-sky-stars i {
  position: absolute !important;
  display: block !important;
  width: 3px !important;
  height: 3px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: 0 0 8px rgba(255,255,255,.72) !important;
  opacity: .75 !important;
  animation: heroStarTwinkle 4.8s ease-in-out infinite;
}

/* 位置を固定で散らす */
.hero-sky-stars i:nth-child(1) { left: 6%; top: 13%; animation-delay: .1s; }
.hero-sky-stars i:nth-child(2) { left: 14%; top: 8%; width: 2px !important; height: 2px !important; animation-delay: 1.2s; }
.hero-sky-stars i:nth-child(3) { left: 23%; top: 18%; animation-delay: 2.4s; }
.hero-sky-stars i:nth-child(4) { left: 34%; top: 10%; width: 2px !important; height: 2px !important; animation-delay: .7s; }
.hero-sky-stars i:nth-child(5) { left: 47%; top: 16%; animation-delay: 1.8s; }
.hero-sky-stars i:nth-child(6) { left: 58%; top: 9%; width: 2px !important; height: 2px !important; animation-delay: 3.1s; }
.hero-sky-stars i:nth-child(7) { left: 69%; top: 15%; animation-delay: 1.0s; }
.hero-sky-stars i:nth-child(8) { left: 82%; top: 11%; animation-delay: 2.1s; }
.hero-sky-stars i:nth-child(9) { left: 92%; top: 20%; width: 2px !important; height: 2px !important; animation-delay: .4s; }

.hero-sky-stars i:nth-child(10) { left: 10%; top: 31%; width: 2px !important; height: 2px !important; animation-delay: 2.8s; }
.hero-sky-stars i:nth-child(11) { left: 28%; top: 28%; animation-delay: 1.6s; }
.hero-sky-stars i:nth-child(12) { left: 44%; top: 34%; width: 2px !important; height: 2px !important; animation-delay: .9s; }
.hero-sky-stars i:nth-child(13) { left: 63%; top: 30%; animation-delay: 2.2s; }
.hero-sky-stars i:nth-child(14) { left: 78%; top: 36%; width: 2px !important; height: 2px !important; animation-delay: 3.3s; }
.hero-sky-stars i:nth-child(15) { left: 88%; top: 31%; animation-delay: 1.4s; }

/* ちょっと大きめのきらっと星 */
.hero-sky-stars i:nth-child(16),
.hero-sky-stars i:nth-child(17),
.hero-sky-stars i:nth-child(18),
.hero-sky-stars i:nth-child(19),
.hero-sky-stars i:nth-child(20) {
  width: 10px !important;
  height: 10px !important;
  border-radius: 0 !important;
  background: transparent !important;
  opacity: .85 !important;
  box-shadow: none !important;
}

.hero-sky-stars i:nth-child(16)::before,
.hero-sky-stars i:nth-child(17)::before,
.hero-sky-stars i:nth-child(18)::before,
.hero-sky-stars i:nth-child(19)::before,
.hero-sky-stars i:nth-child(20)::before {
  content: "✦";
  position: absolute;
  inset: 0;
  color: rgba(255,255,255,.92);
  font-size: 18px;
  line-height: 1;
  text-shadow: 0 0 12px rgba(255,255,255,.86);
}

.hero-sky-stars i:nth-child(16) { left: 6%; top: 58%; animation-delay: .6s; }
.hero-sky-stars i:nth-child(17) { left: 12%; top: 66%; animation-delay: 2.0s; }
.hero-sky-stars i:nth-child(18) { left: 18%; top: 54%; transform: scale(.7); animation-delay: 1.1s; }
.hero-sky-stars i:nth-child(19) { left: 72%; top: 52%; transform: scale(.55); animation-delay: 2.8s; }
.hero-sky-stars i:nth-child(20) { left: 88%; top: 58%; transform: scale(.65); animation-delay: .2s; }

@keyframes heroStarTwinkle {
  0%, 100% { opacity: .45; transform: scale(.9); }
  50% { opacity: 1; transform: scale(1.15); }
}

/* 中身は星より前 */
.hero-home-v2 .container,
.hero-home-v2-container {
  position: relative !important;
  z-index: 2 !important;
}

/* 右固定メニューが隠れないように */
.fixed-side-menu {
  z-index: 20 !important;
}
/* 画像の外枠 */
.hero-release-slide-thumb-v2,
.hero-release-slide-main-image-v2 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(10, 24, 84, .92), rgba(19, 58, 135, .88)) !important;
}

/* 画像そのもの */
.hero-release-slide-thumb-v2 img,
.hero-release-slide-main-image-v2 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;   /* ← cover ではなく contain */
  object-position: center center !important;
  display: block !important;
  border-radius: 20px !important;
  background: transparent !important;
  transform: none !important;
}

/* スライド内の画像エリア高さ */
.hero-release-slide-thumb-v2,
.hero-release-slide-main-image-v2 {
  min-height: 330px !important;
}

/* スマホ時 */
@media (max-width: 900px) {
  .hero-release-slide-thumb-v2,
  .hero-release-slide-main-image-v2 {
    min-height: 250px !important;
  }
}/* 右パネル全体を少しコンパクトに */
.hero-release-panel-v2 {
  padding: 20px !important;
  border-radius: 30px !important;
}

/* 見出し部分 */
.hero-release-panel-v2-head {
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 10px !important;
}

.hero-release-label-v2 {
  font-size: 12px !important;
  letter-spacing: .18em !important;
}

.hero-release-panel-v2 h2 {
  font-size: clamp(22px, 2.1vw, 30px) !important;
  line-height: 1.25 !important;
  letter-spacing: .02em !important;
}

/* すべて見るボタン */
.hero-release-more-v2 {
  min-width: 104px !important;
  min-height: 38px !important;
  padding: 0 15px !important;
  font-size: 12px !important;
}

/* スライド枠の高さを詰める */
.hero-release-stage-v2,
.hero-release-stage-image-v2 {
  min-height: 455px !important;
  border-radius: 26px !important;
}

/* 1枚のスライド内の余白 */
.hero-release-slide-v2 {
  padding: 15px !important;
  gap: 12px !important;
  grid-template-rows: auto auto !important;
}

/* 画像枠：contain用に高さを決める */
.hero-release-slide-thumb-v2,
.hero-release-slide-main-image-v2 {
  min-height: 0 !important;
  height: 250px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), transparent 58%),
    linear-gradient(180deg, rgba(13, 35, 104, .96), rgba(23, 64, 150, .92)) !important;
}

/* 画像は切らずに全部表示 */
.hero-release-slide-thumb-v2 img,
.hero-release-slide-main-image-v2 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 18px !important;
  transform: none !important;
}

/* 下の文字エリアの余白を詰める */
.hero-release-slide-caption-v2,
.hero-release-slide-copy-v2 {
  padding: 0 2px !important;
  gap: 5px !important;
}

/* NEWタグ */
.hero-release-tag-v2 {
  min-height: 26px !important;
  padding: 4px 10px !important;
  font-size: 10px !important;
}

/* 日付 */
.hero-release-slide-copy-v2 time {
  font-size: 12px !important;
  line-height: 1.3 !important;
}

/* タイトル：ここを小さくスタイリッシュに */
.hero-release-slide-copy-v2 strong {
  font-size: clamp(22px, 2.1vw, 30px) !important;
  line-height: 1.18 !important;
  letter-spacing: .01em !important;
  max-width: 100% !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

/* サブタイトル */
.hero-release-slide-copy-v2 em {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* 矢印位置を画像中央に合わせる */
.hero-release-arrow-v2 {
  top: 42% !important;
  width: 40px !important;
  height: 40px !important;
  font-size: 24px !important;
}

/* ドットの余白 */
.hero-release-dots-v2 {
  margin-top: 10px !important;
}

/* スマホ・幅狭め用 */
@media (max-width: 900px) {
  .hero-release-stage-v2,
  .hero-release-stage-image-v2 {
    min-height: 420px !important;
  }

  .hero-release-slide-thumb-v2,
  .hero-release-slide-main-image-v2 {
    height: 220px !important;
  }

  .hero-release-slide-copy-v2 strong {
    font-size: 24px !important;
  }
}/* テキストエリア全体の間隔を詰める */
.hero-release-slide-copy-v2,
.hero-release-slide-caption-v2 {
  gap: 4px !important;
  padding-top: 2px !important;
}

/* 日付 */
.hero-release-slide-copy-v2 time {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

/* タイトル */
.hero-release-slide-copy-v2 strong {
  margin: 2px 0 0 !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.12 !important;
  letter-spacing: .01em !important;
}

/* サブタイトル */
.hero-release-slide-copy-v2 em {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

/* スライド内の上下余白も少しだけ詰める */
.hero-release-slide-v2 {
  gap: 10px !important;
}

/* =========================================================
  Safe Visual Sections Redesign
  人物の強すぎるAI感を抑えた、ステージ・光・シルエット中心の画像版
========================================================= */

.school-visual-section,
.camera-visual-section {
  padding-top: 56px !important;
  padding-bottom: 68px !important;
}

/* SCHOOL */
.school-visual-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

.school-visual-card {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(176, 207, 244, .9) !important;
  box-shadow: 0 18px 44px rgba(28, 58, 120, .09) !important;
}

.school-visual-media {
  position: relative !important;
  height: 260px !important;
  overflow: hidden !important;
}

.school-visual-media img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

.school-visual-media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(8, 24, 82, .08) 0%, rgba(8, 24, 82, .46) 100%) !important;
}

.school-visual-overlay {
  position: absolute !important;
  left: 26px !important;
  right: 26px !important;
  bottom: 22px !important;
  z-index: 2 !important;
  color: #fff !important;
  text-shadow: 0 8px 24px rgba(0,0,0,.28) !important;
}

.school-visual-overlay strong {
  display: block !important;
  font-size: clamp(28px, 2.4vw, 42px) !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
}

.school-visual-overlay span {
  display: block !important;
  margin-top: 6px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.school-visual-card .card-body {
  padding: 22px 26px 26px !important;
}

/* AUDITION */
.audition-visual-box {
  align-items: center !important;
  background: rgba(255,255,255,.97) !important;
  border: 1px solid rgba(176, 207, 244, .9) !important;
  box-shadow: 0 20px 48px rgba(28, 58, 120, .08) !important;
}

.audition-visual-image {
  width: 100% !important;
  max-width: 470px !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 42px rgba(22, 50, 120, .15) !important;
}

/* CAMERAMAN */
.camera-visual-grid {
  gap: 24px !important;
}

.camera-visual-card {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(176, 207, 244, .88) !important;
  box-shadow: 0 16px 40px rgba(28, 58, 120, .08) !important;
}

.camera-visual-card img {
  width: 100% !important;
  height: 195px !important;
  display: block !important;
  object-fit: cover !important;
}

.camera-visual-body {
  padding: 20px 22px 20px !important;
}

.camera-visual-body h3 {
  margin: 0 0 10px !important;
  color: #12346d !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
}

.camera-visual-body p {
  margin: 0 !important;
  color: #465c88 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.camera-visual-action {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 12px !important;
}

.camera-detail-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 92px !important;
  min-height: 22px !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #df5a50, #d84a42) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 16px rgba(216, 74, 66, .20) !important;
}

.camera-detail-btn span {
  display: inline-grid !important;
  place-items: center !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.25) !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.camera-detail-btn:hover,
.camera-detail-btn:focus {
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 20px rgba(216, 74, 66, .28) !important;
}

/* LS Smile */
#smile .feature-image.framed {
  overflow: hidden !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: 0 24px 56px rgba(0, 10, 50, .22) !important;
}

#smile .feature-image.framed img {
  width: 100% !important;
  height: 390px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 24px !important;
}

@media (max-width: 900px) {
  .school-visual-grid {
    grid-template-columns: 1fr !important;
  }

  .school-visual-media {
    height: 220px !important;
  }

  .camera-visual-card img {
    height: 180px !important;
  }

  .audition-visual-image,
  #smile .feature-image.framed img {
    max-width: none !important;
    height: auto !important;
  }
}

/* =========================================================
  Applied custom school banners: Model Class / Actor Class
  画像内にタイトル・装飾が入っているため、既存の暗いグラデーションと
  オーバーレイ文字を非表示にしてバナー本来のトーンを見せる
========================================================= */
.school-visual-media::after {
  display: none !important;
}

.school-visual-overlay {
  display: none !important;
}

.school-visual-media {
  height: 260px !important;
  background: #fff !important;
}

.school-visual-media img {
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 900px) {
  .school-visual-media {
    height: auto !important;
  }

  .school-visual-media img {
    height: auto !important;
    object-fit: contain !important;
  }
}


/* =========================================================
  LS Smile update: 概要文反映 + 右側ダミーを2案の試作ビジュアルに変更
========================================================= */
#smile .smile-overview-text {
  margin-top: 1em !important;
}

#smile .smile-visual-trials {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
  align-items: stretch !important;
}

#smile .feature-image.framed.smile-trial-card {
  margin: 0 !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  box-shadow: 0 22px 48px rgba(0, 10, 50, .22) !important;
}

#smile .feature-image.framed.smile-trial-card img {
  width: 100% !important;
  height: 390px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 22px !important;
}

@media (max-width: 900px) {
  #smile .smile-visual-trials {
    grid-template-columns: 1fr !important;
  }

  #smile .feature-image.framed.smile-trial-card img {
    height: auto !important;
  }
}

.camera-image-link {
  display: block;
  text-decoration: none;
  line-height: 0;
}

.camera-image-link img {
  display: block;
  width: 100%;
}

/* =========================================================
  Audition: flow layout (hero image inside the frame)
========================================================= */
.audition-pop-section {
  background: #eef6ff !important;
}

.audition-flow-wrap {
  max-width: 1160px !important;
}

.audition-flow-box {
  position: relative !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 36px 44px 42px !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 95% 18%, rgba(111, 203, 255, .28), transparent 14%),
    linear-gradient(135deg, rgba(255, 248, 252, .98), rgba(246, 251, 255, .98)) !important;
  border: 2px solid rgba(255, 134, 186, .35) !important;
  box-shadow: 0 24px 60px rgba(20, 74, 150, .10) !important;
  overflow: hidden !important;
}

.audition-flow-box::before {
  content: "" !important;
  position: absolute !important;
  left: -90px !important;
  bottom: -120px !important;
  width: 220px !important;
  height: 220px !important;
  border-radius: 50% !important;
  background: rgba(255, 223, 94, .18) !important;
  pointer-events: none !important;
}

.audition-flow-box > * {
  position: relative !important;
  z-index: 1 !important;
}

.audition-flow-hero {
    display: block !important;
    width: 100% !important;
    margin: 0 0 26px !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
}

.audition-flow-hero img {
  display: block !important;
  width: 100% !important;
  height: 330px !important;
  object-fit: cover !important;
  object-position: center 38% !important;
}

#audition .eyebrow {
  color: #ff2d8f !important;
  letter-spacing: .22em !important;
  margin-bottom: 14px !important;
}

#audition h2 {
    white-space: nowrap !important;
    display: inline-block !important;
    font-size: clamp(48px, 5.2vw, 78px) !important;
    line-height: 1.02 !important;
    color: #12346d !important;
    text-shadow: 5px 6px 0 rgba(255, 216, 72, .72) !important;
    margin-bottom: 22px !important;
    text-align: center;
}

#audition .section-lead {
  max-width: 860px !important;
  font-weight: 700 !important;
  line-height: 1.95 !important;
  margin-bottom: 28px !important;
}

.audition-flow-cards {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-bottom: 28px !important;
}

.audition-flow-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 118px !important;
  padding: 20px 20px 18px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #fff, #fff2fb) !important;
  border: 2px solid rgba(255, 71, 156, .24) !important;
  box-shadow: 0 12px 28px rgba(255, 65, 150, .10) !important;
  text-decoration: none !important;
}

.audition-flow-card span {
  color: #ff2d8f !important;
  font-size: clamp(22px, 2.2vw, 26px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.audition-flow-card small {
  color: #1e8fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.audition-flow-button-row {
  display: flex !important;
  justify-content: flex-start !important;
}

@media (max-width: 980px) {
  .audition-flow-box {
    padding: 28px 28px 30px !important;
  }
  .audition-flow-hero img {
    height: 260px !important;
  }
  .audition-flow-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #audition h2 {
    font-size: clamp(42px, 11vw, 64px) !important;
  }
}

@media (max-width: 560px) {
  .audition-flow-box {
    padding: 18px 18px 22px !important;
    border-radius: 24px !important;
  }
  .audition-flow-hero {
    border-radius: 18px !important;
  }
  .audition-flow-hero img {
    height: 190px !important;
  }
  #audition h2 {
    white-space: normal !important;
  }
  .audition-flow-cards {
    grid-template-columns: 1fr !important;
  }
}
/* =========================================================
  FIX: Header mini banner ratio
  元画像は約3:1なのに、176x30で潰れて見えていたため、
  2つとも同じ比率・同じ高さで表示します。
========================================================= */
@media (min-width: 981px) {
  .site-header .header-inner {
    min-height: 126px !important;
    padding-top: 72px !important;
  }

  .header-mini-banners {
    top: 8px !important;
    right: 96px !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .header-mini-banner {
    width: 176px !important;
    height: 42px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: transparent !important;
  }

  .header-mini-banner img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
  }
}

@media (max-width: 1180px) and (min-width: 981px) {
  .site-header .header-inner {
    min-height: 118px !important;
    padding-top: 66px !important;
  }
  .header-mini-banners {
    right: 88px !important;
    gap: 8px !important;
  }
  .header-mini-banner {
    width: 150px !important;
    height: 36px !important;
  }
}


/* =========================================================
  SCHOOL: banner only
  カード下の説明文を削除したため、バナー画像だけで見せる調整
========================================================= */
.school-visual-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 28px !important;
}

.school-visual-media {
  height: auto !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: 0 18px 44px rgba(28, 58, 120, .09) !important;
}

.school-visual-media img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

.school-visual-card .card-body {
  display: none !important;
}


/* =========================================================
  FIX: Audition banner no shadow
  オーディションバナー周りの影を削除
========================================================= */
.audition-flow-hero,
.audition-flow-hero:hover,
.audition-flow-hero:focus,
.audition-flow-hero img {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
}


/* =========================================================
  FIX: School section blue whitespace reduced v2
  スクールセクションの余白をさらに圧縮
========================================================= */
.school-visual-section {
  padding-top: 16px !important;
  padding-bottom: 24px !important;
}

.school-visual-section .section-heading {
  margin-bottom: 8px !important;
}

.school-visual-section .section-heading h2 {
  margin-bottom: 8px !important;
}

.school-visual-section .section-heading p {
  margin: 0 !important;
}

.school-visual-section .school-visual-grid {
  margin-top: 8px !important;
  gap: 16px !important;
}


/* =========================================================
  FIX: Camera section whitespace reduced
  カメラマン / 映像制作セクションの余白を圧縮
========================================================= */
.camera-visual-section {
  padding-top: 16px !important;
  padding-bottom: 28px !important;
}

.camera-visual-section .section-heading {
  margin-bottom: 16px !important;
  align-items: end !important;
}

.camera-visual-section .section-heading h2 {
  margin-bottom: 8px !important;
}

.camera-visual-section .section-heading > p {
  margin: 0 !important;
}

.camera-visual-section .camera-visual-grid {
  margin-top: 8px !important;
  gap: 20px !important;
}


/* =========================================================
  FIX: Camera top blue whitespace reduced more
  スクール末尾〜カメラ冒頭の青余白をさらに圧縮
========================================================= */
.school-visual-section {
  padding-bottom: 8px !important;
}

.camera-visual-section {
  padding-top: 0 !important;
  padding-bottom: 20px !important;
}

.camera-visual-section .container {
  padding-top: 0 !important;
}

.camera-visual-section .section-heading {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

.camera-visual-section .section-heading > div,
.camera-visual-section .section-heading > p {
  margin-top: 0 !important;
}

.camera-visual-section .camera-visual-grid {
  margin-top: 0 !important;
  gap: 18px !important;
}


/* =========================================================
  FIX: Footer menu columns added
  指定メニューをフッターに追加・配置調整
========================================================= */
.site-footer {
  padding: 34px 0 30px !important;
  color: #ffffff !important;
  background: #743485 !important;
}

.footer-menu-layout {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr 1.1fr 1.45fr !important;
  gap: 28px 44px !important;
  align-items: start !important;
}

.footer-brand-block {
  display: flex !important;
  align-items: flex-start !important;
}

.footer-logo {
  width: 128px !important;
  height: auto !important;
  display: block !important;
  filter: brightness(0) invert(1) !important;
  opacity: .9 !important;
}

.site-footer .footer-menu-group {
  display: grid !important;
  gap: 8px !important;
  justify-content: start !important;
  align-content: start !important;
}

.site-footer .footer-menu-title {
  margin: 0 0 4px !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: .02em !important;
}

.site-footer .footer-menu-group a {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  opacity: .95 !important;
}

.site-footer .footer-menu-group a:hover {
  opacity: 1 !important;
  text-decoration: underline !important;
}

.site-footer .copyright {
  grid-column: 4 / 5 !important;
  justify-self: end !important;
  margin: 12px 0 0 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
}

@media (max-width: 900px) {
  .footer-menu-layout {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 32px !important;
  }

  .site-footer .copyright {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }
}

@media (max-width: 640px) {
  .site-footer {
    padding: 30px 0 !important;
  }

  .footer-menu-layout {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .footer-logo {
    width: 118px !important;
  }
}


/* =========================================================
  FIX: Footer logo and soft blue-white color
  新ロゴに合わせて、紫固定ではなく白〜淡いブルー系に調整
========================================================= */
.site-footer {
  padding: 34px 0 30px !important;
  color: #0f285f !important;
  background:
    radial-gradient(circle at 12% 20%, rgba(97, 200, 255, .16), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
  border-top: 1px solid rgba(21, 49, 168, .12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
}

.footer-menu-layout {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr 1.1fr 1.45fr !important;
  gap: 28px 44px !important;
  align-items: start !important;
}

.footer-brand-block {
  display: flex !important;
  align-items: flex-start !important;
}

.footer-logo {
  width: 150px !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
}

.site-footer .footer-menu-group {
  display: grid !important;
  gap: 8px !important;
  justify-content: start !important;
  align-content: start !important;
}

.site-footer .footer-menu-title {
  margin: 0 0 4px !important;
  color: #14346f !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  letter-spacing: .02em !important;
}

.site-footer .footer-menu-group a {
  color: #14346f !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  opacity: .92 !important;
}

.site-footer .footer-menu-group a:hover {
  color: #2257d6 !important;
  opacity: 1 !important;
  text-decoration: underline !important;
}

.site-footer .copyright {
  grid-column: 4 / 5 !important;
  justify-self: end !important;
  margin: 14px 0 0 !important;
  color: #14346f !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  opacity: .92 !important;
}

@media (max-width: 900px) {
  .footer-menu-layout {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 32px !important;
  }

  .site-footer .copyright {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 640px) {
  .site-footer {
    padding: 30px 0 !important;
  }

  .footer-menu-layout {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .footer-logo {
    width: 136px !important;
  }
}


/* =========================================================
  FIX: School whitespace reduced more
  スクールセクションの空きをさらに強めに圧縮
========================================================= */
.school-visual-section {
  padding-top: 0 !important;
  padding-bottom: 12px !important;
}

.school-visual-section .container {
  padding-top: 0 !important;
}

.school-visual-section .section-heading {
  margin: 0 auto 4px !important;
}

.school-visual-section .eyebrow {
  margin-bottom: 4px !important;
}

.school-visual-section .section-heading h2 {
  margin-bottom: 4px !important;
}

.school-visual-section .section-heading p {
  margin: 0 !important;
  line-height: 1.55 !important;
}

.school-visual-section .school-visual-grid {
  margin-top: 4px !important;
  gap: 14px !important;
}


/* =========================================================
  FIX: News typography reduced
  最新ニュース周りの文字サイズを小さめに調整
========================================================= */
.news-clean-eyebrow {
  font-size: 12px !important;
  letter-spacing: .14em !important;
}

.news-clean-heading h2 {
  font-size: clamp(32px, 3.6vw, 44px) !important;
  line-height: 1.18 !important;
  margin-bottom: 10px !important;
}

.news-clean-heading p {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.news-clean-feature {
  grid-template-columns: 140px minmax(0, 1fr) 48px !important;
  gap: 18px !important;
  min-height: 112px !important;
  padding: 22px 26px !important;
}

.news-clean-feature-body h3 {
  font-size: clamp(20px, 2.3vw, 28px) !important;
  line-height: 1.32 !important;
  margin-bottom: 6px !important;
}

.news-clean-feature-body p {
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.news-clean-feature-meta span,
.news-clean-tag {
  min-height: 26px !important;
  padding: 4px 12px !important;
  font-size: 10px !important;
}

.news-clean-feature-meta time,
.news-clean-item time {
  font-size: 13px !important;
}

.news-clean-item {
  min-height: 64px !important;
  padding: 14px 18px !important;
}

.news-clean-item strong {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.news-clean-arrow {
  width: 38px !important;
  height: 38px !important;
  font-size: 18px !important;
}


/* =========================================================
  FIX: School banners clickable
  Model Class / Actor Class バナー全体をクリック可能にする
========================================================= */
.school-visual-link {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
  border-radius: 28px !important;
  cursor: pointer !important;
}

.school-visual-link .school-visual-media {
  transition: transform .2s ease, opacity .2s ease !important;
}

.school-visual-link:hover .school-visual-media,
.school-visual-link:focus-visible .school-visual-media {
  transform: translateY(-2px) !important;
  opacity: .96 !important;
}

.school-visual-link:focus-visible {
  outline: 3px solid rgba(21, 49, 168, .32) !important;
  outline-offset: 4px !important;
}


/* =========================================================
  FIX: Audition banner full width
  バナーだけ画面横幅いっぱいに表示
========================================================= */
.audition-pop-section {
  padding-top: 0 !important;
}

.audition-flow-hero-full {
  display: block !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) 24px !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
}

.audition-flow-hero-full img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.audition-flow-box {
  max-width: 1160px !important;
}

@media (max-width: 767px) {
  .audition-flow-hero-full {
    margin-bottom: 16px !important;
  }
}


/* =========================================================
  FIX: Audition detail button wide and centered
  「詳細はこちら」ボタンを横長・中央配置に調整
========================================================= */
#audition .audition-flow-button-row {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 26px !important;
  width: 100% !important;
}

#audition .audition-flow-button-row .button {
  min-width: min(420px, 100%) !important;
  min-height: 58px !important;
  padding: 15px 48px !important;
  border-radius: 999px !important;
  text-align: center !important;
  font-size: 16px !important;
  letter-spacing: .08em !important;
}

@media (max-width: 560px) {
  #audition .audition-flow-button-row .button {
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 24px !important;
  }
}


/* =========================================================
  FIX: Audition full-width banner height reduced
  フル幅バナーの縦サイズを約半分にして再配置
========================================================= */
.audition-flow-hero-full {
  margin: 0 calc(50% - 50vw) 18px !important;
  height: clamp(240px, 17vw, 340px) !important;
  border-radius: 0 !important;
}

.audition-flow-hero-full img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 42% !important;
}

@media (max-width: 767px) {
  .audition-flow-hero-full {
    height: clamp(170px, 34vw, 240px) !important;
    margin-bottom: 14px !important;
  }
}


/* =========================================================
  FIX: Audition banner centered with side margins
  横いっぱい表示をやめて、左右余白あり・同程度の高さに再配置
========================================================= */
.audition-pop-section {
  padding-top: 26px !important;
}

.audition-flow-hero-full {
  width: min(calc(100% - 96px), 1160px) !important;
  max-width: 1160px !important;
  margin: 0 auto 22px !important;
  height: clamp(240px, 17vw, 340px) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
}

.audition-flow-hero-full img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 42% !important;
}

@media (max-width: 767px) {
  .audition-pop-section {
    padding-top: 18px !important;
  }

  .audition-flow-hero-full {
    width: calc(100% - 32px) !important;
    height: clamp(170px, 34vw, 240px) !important;
    margin-bottom: 16px !important;
    border-radius: 18px !important;
  }
}


/* =========================================================
  FIX: LS Smile visuals frame removed
  枠を外し、左画像は全体が見えるように当て込み
========================================================= */
#smile .smile-visual-trials {
  align-items: start !important;
  gap: 20px !important;
}

#smile .feature-image.framed.smile-trial-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

#smile .feature-image.framed.smile-trial-card img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#smile .smile-visual-trials figure:first-child img {
  object-position: center center !important;
}

@media (max-width: 900px) {
  #smile .feature-image.framed.smile-trial-card img {
    width: 100% !important;
    height: auto !important;
  }
}


/* =========================================================
  FIX: School vertical whitespace reduced extra
  スクールセクションの上下空きと前後間隔をさらに圧縮
========================================================= */
.audition-pop-section {
  padding-bottom: 10px !important;
}

.school-visual-section {
  margin-top: -6px !important;
  padding-top: 0 !important;
  padding-bottom: 4px !important;
}

.school-visual-section .section-heading {
  margin: 0 auto 2px !important;
}

.school-visual-section .eyebrow {
  margin: 0 0 2px !important;
}

.school-visual-section .section-heading h2 {
  margin-bottom: 2px !important;
  line-height: 1.1 !important;
}

.school-visual-section .section-heading p {
  margin: 0 !important;
  line-height: 1.4 !important;
}

.school-visual-section .school-visual-grid {
  margin-top: 2px !important;
  gap: 12px !important;
}


/* =========================================================
  FIX: Header pickup banners total 5 + company menu
  最上部バナーを5つ並べるためのサイズ調整
========================================================= */
@media (min-width: 981px) {
  .header-mini-banners {
    left: 300px !important;
    right: 84px !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }

  .header-mini-banner {
    width: 146px !important;
    height: 35px !important;
    flex: 0 0 146px !important;
    border-radius: 7px !important;
  }

  .global-nav ul {
    gap: 1px !important;
    font-size: 11.5px !important;
  }

  .global-nav a {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
}

@media (max-width: 1180px) and (min-width: 981px) {
  .header-mini-banners {
    left: 238px !important;
    right: 76px !important;
    gap: 6px !important;
  }

  .header-mini-banner {
    width: 112px !important;
    height: 28px !important;
    flex-basis: 112px !important;
  }

  .global-nav ul {
    font-size: 10px !important;
  }

  .global-nav a {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
}

.company-profile-list dl {
  margin: 0 !important;
  display: grid !important;
  gap: 0 !important;
}

.company-profile-list dl > div {
  display: grid !important;
  grid-template-columns: 150px 1fr !important;
  gap: 18px !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid rgba(21,49,168,.12) !important;
}

.company-profile-list dt {
  color: #12346d !important;
  font-weight: 900 !important;
}

.company-profile-list dd {
  margin: 0 !important;
  color: #253c70 !important;
  font-weight: 700 !important;
}

@media (max-width: 700px) {
  .company-profile-list dl > div {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
}


/* =========================================================
  FIX: Audition text centered + cards refined
  文字を中央揃えにし、4つのカードデザインを強化
========================================================= */
.audition-flow-box {
  text-align: center !important;
}

#audition .eyebrow {
  display: block !important;
  text-align: center !important;
  margin: 0 0 12px !important;
}

#audition h2 {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 0 20px !important;
}

#audition .section-lead {
  max-width: 980px !important;
  margin: 0 auto 30px !important;
  text-align: center !important;
}

.audition-flow-cards {
  gap: 18px !important;
  margin: 0 auto 30px !important;
}

.audition-flow-card {
  position: relative !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
  min-height: 132px !important;
  padding: 24px 16px 20px !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,242,250,.96) 100%) !important;
  border: 2px solid rgba(255, 88, 170, .26) !important;
  box-shadow:
    0 14px 30px rgba(255, 73, 157, .10),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  overflow: hidden !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

.audition-flow-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 72px !important;
  height: 6px !important;
  border-radius: 0 0 999px 999px !important;
  background: linear-gradient(90deg, #ff4ea5, #ff8b39) !important;
}

.audition-flow-card::after {
  content: "✦" !important;
  position: absolute !important;
  top: 14px !important;
  right: 16px !important;
  color: rgba(255, 186, 53, .95) !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.audition-flow-card:hover,
.audition-flow-card:focus {
  transform: translateY(-4px) !important;
  border-color: rgba(255, 88, 170, .42) !important;
  box-shadow:
    0 18px 36px rgba(255, 73, 157, .16),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.audition-flow-card span {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  letter-spacing: .02em !important;
}

.audition-flow-card small {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}

.audition-flow-button-row {
  justify-content: center !important;
}


/* =========================================================
  FIX: Talent dropdown matched with lower talent list
  ページ下部のタレント一覧と同じ内容・並びに調整
========================================================= */
.global-nav .dropdown-menu[aria-label="タレントメニュー"] {
  max-height: min(72vh, 640px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

.global-nav .dropdown-menu[aria-label="タレントメニュー"] a {
  white-space: nowrap !important;
}


/* =========================================================
  FIX: NEWS important notices + LINE info added
  画像内容をNEWSへ反映。下線なしで整える
========================================================= */
.news-info-pickup {
  display: grid !important;
  grid-template-columns: 1fr 1.15fr !important;
  gap: 22px !important;
  margin-bottom: 18px !important;
}

.news-info-card {
  min-height: 150px !important;
  padding: 24px 26px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(159, 193, 238, .72) !important;
  box-shadow: 0 14px 34px rgba(25, 67, 130, .07) !important;
}

.news-info-card h3 {
  margin: 0 0 14px !important;
  color: #d71920 !important;
  font-size: 20px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
}

.news-info-card a,
.news-info-card a:hover,
.news-info-card a:focus {
  text-decoration: none !important;
}

.news-info-request {
  display: grid !important;
  align-content: start !important;
  gap: 12px !important;
}

.news-info-request a {
  display: block !important;
  color: #12346d !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  font-weight: 800 !important;
}

.news-info-request a:hover,
.news-info-request a:focus {
  color: #2257d6 !important;
}

.news-info-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  align-items: center !important;
  gap: 18px !important;
}

.news-info-line p {
  margin: 0 0 8px !important;
  color: #12346d !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 700 !important;
}

.news-info-line p:last-child {
  margin-bottom: 0 !important;
}

.news-info-line img {
  width: 112px !important;
  height: auto !important;
  display: block !important;
  border-radius: 8px !important;
}

.news-clean-section a {
  text-decoration: none !important;
}

.news-clean-section a:hover,
.news-clean-section a:focus {
  text-decoration: none !important;
}

@media (max-width: 900px) {
  .news-info-pickup {
    grid-template-columns: 1fr !important;
  }

  .news-info-line {
    grid-template-columns: 1fr 96px !important;
  }

  .news-info-line img {
    width: 96px !important;
  }
}

@media (max-width: 560px) {
  .news-info-card {
    padding: 20px 18px !important;
  }

  .news-info-line {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
  GINZA SPECIAL PAGE
  センチメンタル銀座 特設ページ
========================================================= */
.ginza-hero-section {
  padding-top: 48px !important;
  padding-bottom: 34px !important;
  background:
    radial-gradient(circle at 10% 12%, rgba(255, 214, 232, .36), transparent 24%),
    radial-gradient(circle at 90% 15%, rgba(255, 235, 154, .24), transparent 22%),
    linear-gradient(180deg, #f5f9ff 0%, #ffffff 100%) !important;
}

.ginza-hero-wrap {
  text-align: center !important;
}

.ginza-hero-wrap h1 {
  margin-bottom: 16px !important;
  color: #12346d !important;
  font-size: clamp(44px, 6vw, 82px) !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.ginza-hero-lead {
  max-width: 980px !important;
  margin: 0 auto 26px !important;
  color: #243d76 !important;
  font-weight: 800 !important;
  line-height: 1.9 !important;
}

.ginza-main-visual {
  margin: 0 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 54px rgba(18, 52, 109, .15) !important;
  border: 1px solid rgba(255, 183, 207, .5) !important;
}

.ginza-main-visual img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.ginza-info-section {
  padding-top: 58px !important;
  padding-bottom: 58px !important;
  background: #fff !important;
}

.ginza-info-grid {
  display: grid !important;
  grid-template-columns: .8fr 1.2fr !important;
  gap: 44px !important;
  align-items: center !important;
}

.ginza-jacket-card {
  margin: 0 !important;
  padding: 24px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #fff7fb, #f1f7ff) !important;
  border: 1px solid rgba(255, 139, 190, .35) !important;
  box-shadow: 0 18px 42px rgba(18, 52, 109, .12) !important;
}

.ginza-jacket-card img {
  width: 100% !important;
  display: block !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 34px rgba(19, 43, 93, .18) !important;
}

.ginza-info-copy h2,
.ginza-profile-panel h2 {
  color: #12346d !important;
}

.ginza-info-copy p,
.ginza-profile-panel p,
.ginza-story-card p,
.ginza-quote-box p {
  color: #304a7d !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
}

.ginza-credit-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 28px 0 !important;
}

.ginza-credit-list div {
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: #f7fbff !important;
  border: 1px solid rgba(21,49,168,.10) !important;
}

.ginza-credit-list dt {
  color: #ff2d8f !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
}

.ginza-credit-list dd {
  margin: 4px 0 0 !important;
  color: #12346d !important;
  font-weight: 900 !important;
}

.ginza-button-row {
  justify-content: flex-start !important;
}

.ginza-story-section {
  padding-top: 58px !important;
  padding-bottom: 62px !important;
}

.ginza-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.ginza-story-card,
.ginza-profile-panel,
.ginza-quote-box {
  border-radius: 26px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(169, 199, 240, .68) !important;
  box-shadow: 0 16px 36px rgba(18, 52, 109, .08) !important;
}

.ginza-story-card {
  padding: 28px !important;
}

.ginza-story-card h3,
.ginza-quote-box h3 {
  color: #12346d !important;
  font-size: 24px !important;
}

.ginza-profile-section {
  padding-top: 58px !important;
  padding-bottom: 72px !important;
  background: #fff !important;
}

.ginza-profile-panel {
  display: grid !important;
  grid-template-columns: 1.2fr .8fr !important;
  gap: 28px !important;
  padding: 38px !important;
  background:
    radial-gradient(circle at 95% 20%, rgba(255, 213, 99, .18), transparent 22%),
    linear-gradient(135deg, #ffffff, #f5f9ff) !important;
}

.ginza-quote-box {
  padding: 28px !important;
  background: linear-gradient(135deg, #fff5fb, #ffffff) !important;
}

@media (max-width: 900px) {
  .ginza-info-grid,
  .ginza-card-grid,
  .ginza-profile-panel {
    grid-template-columns: 1fr !important;
  }

  .ginza-credit-list {
    grid-template-columns: 1fr !important;
  }

  .ginza-button-row {
    justify-content: center !important;
  }
}


/* =========================================================
  FIX: YouTube embed for Sentimental Ginza
  センチメンタル銀座ページにYouTube埋め込みを追加
========================================================= */
.ginza-youtube-section {
  background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%) !important;
  padding-top: 54px !important;
  padding-bottom: 60px !important;
}

.ginza-youtube-wrap {
  max-width: 960px !important;
}

.ginza-youtube-card {
  padding: 14px !important;
  border-radius: 28px !important;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, #ff7ab9, #5a6cff) border-box !important;
  border: 3px solid transparent !important;
  box-shadow: 0 22px 50px rgba(28, 61, 170, .14) !important;
}

.ginza-youtube-card iframe {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #0b1f72 !important;
}

.ginza-youtube-button-row {
  justify-content: center !important;
  margin-top: 24px !important;
}

@media (max-width: 767px) {
  .ginza-youtube-section {
    padding-top: 38px !important;
    padding-bottom: 44px !important;
  }
  .ginza-youtube-card {
    padding: 8px !important;
    border-radius: 20px !important;
  }
  .ginza-youtube-card iframe {
    border-radius: 14px !important;
  }
}

/* =========================================================
  FIX: Ginza page visual + YouTube area with supplied photos
  センチメンタル銀座ページのメインビジュアルとYouTubeエリアに人物写真を配置
========================================================= */
.ginza-hero-media-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 220px !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.ginza-main-visual {
  border: none !important;
  box-shadow: 0 18px 42px rgba(18, 52, 109, .10) !important;
  background: transparent !important;
}

.ginza-main-visual img {
  border-radius: 24px !important;
}

.ginza-hero-person-panel {
  display: grid !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 16px !important;
}

.ginza-person-photo-card,
.ginza-youtube-side-photos figure,
.ginza-story-photo {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #fff7fb, #f4f9ff) !important;
  border: 1px solid rgba(255, 160, 202, .38) !important;
  box-shadow: 0 16px 34px rgba(18, 52, 109, .12) !important;
}

.ginza-person-photo-card img,
.ginza-youtube-side-photos img,
.ginza-story-photo img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.ginza-person-photo-card:first-child img,
.ginza-youtube-side-photos figure:first-child img,
.ginza-story-photo:first-child img {
  object-position: center center !important;
}

.ginza-youtube-wrap {
  max-width: 1160px !important;
}

.ginza-youtube-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 240px !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.ginza-youtube-card {
  height: 100% !important;
}

.ginza-youtube-side-photos {
  display: grid !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 16px !important;
}

.ginza-youtube-side-photos figure {
  min-height: 170px !important;
}

.ginza-story-card {
  overflow: hidden !important;
}

.ginza-story-photo {
  width: 100% !important;
  height: 170px !important;
  margin-bottom: 18px !important;
  border-radius: 18px !important;
}

@media (max-width: 980px) {
  .ginza-hero-media-grid,
  .ginza-youtube-layout {
    grid-template-columns: 1fr !important;
  }

  .ginza-hero-person-panel,
  .ginza-youtube-side-photos {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: none !important;
  }

  .ginza-person-photo-card {
    min-height: 210px !important;
  }

  .ginza-youtube-side-photos figure {
    min-height: 210px !important;
  }
}

@media (max-width: 620px) {
  .ginza-hero-person-panel,
  .ginza-youtube-side-photos {
    grid-template-columns: 1fr !important;
  }

  .ginza-person-photo-card,
  .ginza-youtube-side-photos figure,
  .ginza-story-photo {
    min-height: 220px !important;
    height: 220px !important;
  }
}


/* =========================================================
  AUDITION PAGE
  オーディション特設ページ
========================================================= */
.audition-page-hero {
  padding-top: 82px !important;
  padding-bottom: 72px !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 223, 91, .25), transparent 23%),
    radial-gradient(circle at 88% 20%, rgba(255, 76, 159, .22), transparent 25%),
    linear-gradient(135deg, #102976 0%, #1648d8 58%, #6e49ff 100%) !important;
  overflow: hidden !important;
}

.audition-page-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .8fr) !important;
  gap: 44px !important;
  align-items: center !important;
}

.audition-page-copy h1 {
  margin: 0 0 18px !important;
  font-family: inherit !important;
  font-size: clamp(44px, 6vw, 78px) !important;
  line-height: 1.08 !important;
  letter-spacing: .04em !important;
  text-shadow: 6px 7px 0 rgba(255, 216, 72, .45) !important;
}

.audition-page-copy .eyebrow { color: #ffd96d !important; }
.audition-page-lead {
  margin: 0 0 12px !important;
  font-size: clamp(19px, 2.1vw, 28px) !important;
  font-weight: 900 !important;
}
.audition-page-tags {
  margin: 0 !important;
  color: rgba(255,255,255,.88) !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

.audition-page-buttons { margin-top: 30px !important; }

.audition-page-stage-card {
  position: relative !important;
  margin: 0 !important;
  padding: 12px !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  box-shadow: 0 26px 60px rgba(0,0,0,.28) !important;
  overflow: hidden !important;
}
.audition-page-stage-card img {
  display: block !important;
  width: 100% !important;
  min-height: 340px !important;
  object-fit: cover !important;
  border-radius: 22px !important;
  filter: saturate(1.08) contrast(1.04) !important;
}
.audition-page-stage-card figcaption {
  position: absolute !important;
  left: 24px !important;
  right: 24px !important;
  bottom: 24px !important;
  padding: 12px 16px !important;
  color: #fff !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg, rgba(255, 45, 143, .92), rgba(118, 82, 255, .92)) !important;
  border-radius: 999px !important;
  text-align: center !important;
}

.audition-category-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.audition-category-feature {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  gap: 8px !important;
  min-height: 132px !important;
  padding: 24px 16px !important;
  text-align: center !important;
  text-decoration: none !important;
  border-radius: 26px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff0fa 100%) !important;
  border: 2px solid rgba(255, 71, 156, .26) !important;
  box-shadow: 0 16px 34px rgba(255, 73, 157, .10) !important;
  overflow: hidden !important;
}
.audition-category-feature::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 82px !important;
  height: 7px !important;
  transform: translateX(-50%) !important;
  border-radius: 0 0 999px 999px !important;
  background: linear-gradient(90deg, #ff2d8f, #ff9a30) !important;
}
.audition-category-feature span {
  color: #ff2d8f !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  font-weight: 900 !important;
}
.audition-category-feature small {
  color: #0878ff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.audition-page-message-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}
.audition-page-panel {
  padding: 34px !important;
  border-radius: 28px !important;
  background: #fff !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  box-shadow: 0 18px 42px rgba(28,58,120,.08) !important;
}
.audition-page-strong-message {
  color: #fff !important;
  background: linear-gradient(135deg, #1439aa, #7b54ff) !important;
}
.audition-page-strong-message .eyebrow { color: #ffd96d !important; }
.audition-page-panel h2 { margin-bottom: 16px !important; }
.audition-page-panel p { line-height: 1.9 !important; }

.audition-check-list {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.audition-check-list li {
  position: relative !important;
  padding-left: 28px !important;
  font-weight: 800 !important;
}
.audition-check-list li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  color: #ff2d8f !important;
  font-weight: 900 !important;
}

.audition-flow-step-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
.audition-flow-step {
  padding: 28px !important;
  border-radius: 24px !important;
  background: #fff !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  box-shadow: 0 16px 36px rgba(28,58,120,.08) !important;
}
.audition-flow-step span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  margin-bottom: 16px !important;
  color: #fff !important;
  font-weight: 900 !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #ff2d8f, #7358ff) !important;
}
.audition-flow-step h3 { color: #12346d !important; }
.audition-flow-step p { color: #465c88 !important; line-height: 1.8 !important; }

.audition-notice-box {
  margin-top: 24px !important;
  padding: 26px 30px !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #fff8ea, #fff) !important;
  border: 1px solid rgba(221, 168, 51, .28) !important;
}
.audition-notice-box h3 { color: #b57400 !important; }
.audition-notice-box p { margin: 0 !important; line-height: 1.85 !important; font-weight: 700 !important; }
.audition-page-cta-row { justify-content: center !important; margin-top: 28px !important; }
.audition-page-cta-row .button { min-width: 240px !important; }

@media (max-width: 900px) {
  .audition-page-hero-grid,
  .audition-page-message-grid,
  .audition-flow-step-grid,
  .audition-category-feature-grid {
    grid-template-columns: 1fr !important;
  }
  .audition-page-stage-card img { min-height: 240px !important; }
  .audition-page-copy h1 { font-size: clamp(38px, 12vw, 56px) !important; }
}


/* =========================================================
  SCHOOL PAGE
  スクール詳細ページ
========================================================= */
.school-page-hero {
  background: #eef6ff !important;
  padding-top: 56px !important;
  padding-bottom: 42px !important;
}

.school-page-heading {
  margin-bottom: 28px !important;
}

.school-page-heading h1 {
  font-family: inherit !important;
  font-size: clamp(42px, 5vw, 72px) !important;
  color: #12346d !important;
  letter-spacing: .06em !important;
  margin-bottom: 14px !important;
}

.school-page-banners {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.school-page-banner-card,
.school-visual-link {
  display: block !important;
  text-decoration: none !important;
  line-height: 0 !important;
}

.school-page-banner-card {
  overflow: hidden !important;
  border-radius: 26px !important;
  box-shadow: 0 18px 42px rgba(27, 70, 150, .10) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.school-page-banner-card:hover,
.school-page-banner-card:focus,
.school-visual-link:hover,
.school-visual-link:focus {
  transform: translateY(-3px) !important;
}

.school-page-banner-card img {
  width: 100% !important;
  display: block !important;
  height: auto !important;
}

.school-detail-section {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.school-detail-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
}

.school-detail-grid-reverse .school-detail-visual {
  order: 2 !important;
}

.school-detail-grid-reverse .school-detail-copy {
  order: 1 !important;
}

.school-detail-visual {
  margin: 0 !important;
}

.school-detail-visual img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 28px !important;
  box-shadow: 0 20px 48px rgba(20, 58, 130, .12) !important;
}

.school-detail-copy {
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(176, 207, 244, .75) !important;
  border-radius: 28px !important;
  padding: 34px !important;
  box-shadow: 0 18px 42px rgba(20, 58, 130, .08) !important;
}

.school-detail-copy h2 {
  color: #12346d !important;
  font-size: clamp(34px, 4vw, 58px) !important;
  margin-bottom: 18px !important;
}

.school-detail-copy p {
  color: #243a68 !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
}

.school-feature-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 24px 0 0 !important;
}

.school-feature-list li {
  position: relative !important;
  padding: 12px 14px 12px 34px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #ffffff, #f5f9ff) !important;
  border: 1px solid rgba(21, 49, 168, .12) !important;
  color: #12346d !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

.school-feature-list li::before {
  content: "✦" !important;
  position: absolute !important;
  left: 14px !important;
  top: 12px !important;
  color: #ff4ea5 !important;
}

.school-button-row {
  justify-content: center !important;
  margin-top: 28px !important;
}

.school-cta-panel {
  align-items: center !important;
}

.school-cta-body {
  display: grid !important;
  gap: 20px !important;
  color: #253c70 !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
}

@media (max-width: 900px) {
  .school-page-banners,
  .school-detail-grid,
  .school-feature-list {
    grid-template-columns: 1fr !important;
  }
  .school-detail-grid-reverse .school-detail-visual,
  .school-detail-grid-reverse .school-detail-copy {
    order: initial !important;
  }
  .school-detail-copy {
    padding: 24px !important;
  }
}


/* =========================================================
  FIX: School page reverted to original simple banner layout
  スクールページを前のシンプルなバナー表示に戻す
========================================================= */
.school-page-reset {
  min-height: auto !important;
}

.school-page-reset .school-visual-link {
  display: block !important;
  text-decoration: none !important;
}

.school-page-reset .school-visual-card,
.school-page-reset .school-visual-media,
.school-page-reset .school-visual-media img {
  transition: transform .2s ease !important;
}

.school-page-reset .school-visual-link:hover .school-visual-media,
.school-page-reset .school-visual-link:focus .school-visual-media {
  transform: translateY(-2px) !important;
}


/* =========================================================
  FIX: Simple inner school page
  中ページは後日調整として、最低限の情報だけをシンプルに表示
========================================================= */
.simple-inner-page {
  padding-top: 64px !important;
  padding-bottom: 72px !important;
}

.simple-inner-wrap {
  max-width: 980px !important;
}

.simple-inner-heading {
  margin-bottom: 28px !important;
}

.simple-inner-heading h1 {
  margin: 0 0 14px !important;
  color: #12346d !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: clamp(38px, 5vw, 64px) !important;
  line-height: 1.18 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.simple-inner-heading p:last-child {
  margin: 0 auto !important;
  max-width: 680px !important;
  color: #263f74 !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
}

.simple-info-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.simple-info-card {
  padding: 28px 30px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(176, 207, 244, .95) !important;
  border-radius: 26px !important;
  box-shadow: 0 14px 34px rgba(28, 58, 120, .07) !important;
}

.simple-info-label {
  margin: 0 0 10px !important;
  color: #2257d6 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
}

.simple-info-card h2 {
  margin: 0 0 12px !important;
  color: #12346d !important;
  font-size: clamp(25px, 3vw, 36px) !important;
  line-height: 1.25 !important;
  letter-spacing: .03em !important;
}

.simple-info-card p:last-child {
  margin: 0 !important;
  color: #263f74 !important;
  font-weight: 700 !important;
  line-height: 1.85 !important;
}

.simple-inner-action {
  display: flex !important;
  justify-content: center !important;
  margin-top: 30px !important;
}

.simple-inner-action .button {
  min-width: 260px !important;
}

@media (max-width: 760px) {
  .simple-inner-page {
    padding-top: 44px !important;
    padding-bottom: 52px !important;
  }
  .simple-info-grid {
    grid-template-columns: 1fr !important;
  }
  .simple-info-card {
    padding: 24px 22px !important;
  }
}


/* =========================================================
  FIX: Simple second-layer pages
  第二階層は一旦シンプル構成・後日調整表示
========================================================= */
.simple-subpage-section {
  background: linear-gradient(180deg, #eef6ff 0%, #ffffff 100%) !important;
  padding-top: 48px !important;
  padding-bottom: 64px !important;
}

.simple-subpage-wrap {
  max-width: 1120px !important;
}

.simple-subpage-heading {
  margin-bottom: 26px !important;
}

.simple-subpage-heading h1 {
  margin: 0 0 12px !important;
  color: #12346d !important;
  font-family: inherit !important;
  font-size: clamp(42px, 5vw, 72px) !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.simple-subpage-note {
  max-width: 760px !important;
  margin: 0 auto !important;
  color: #38517f !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
}

.simple-info-card {
  padding: 28px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(21,49,168,.14) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(21,49,168,.08) !important;
}

.simple-main-card {
  margin-bottom: 24px !important;
  text-align: center !important;
}

.simple-info-card h2 {
  margin: 0 0 14px !important;
  color: #12346d !important;
  font-size: clamp(26px, 3vw, 40px) !important;
  line-height: 1.35 !important;
}

.simple-info-card p {
  margin: 0 0 12px !important;
  color: #263d70 !important;
  font-weight: 700 !important;
  line-height: 1.85 !important;
}

.simple-info-card p:last-child { margin-bottom: 0 !important; }

.simple-info-list {
  max-width: 720px !important;
  margin: 18px auto 0 !important;
  display: grid !important;
  gap: 0 !important;
  text-align: left !important;
}

.simple-info-list div {
  display: grid !important;
  grid-template-columns: 120px 1fr !important;
  gap: 18px !important;
  padding: 12px 0 !important;
  border-top: 1px solid rgba(21,49,168,.10) !important;
}

.simple-info-list dt {
  color: #12346d !important;
  font-weight: 900 !important;
}

.simple-info-list dd {
  margin: 0 !important;
  color: #263d70 !important;
  font-weight: 700 !important;
}

.simple-button-row {
  justify-content: center !important;
  margin-top: 22px !important;
}

.simple-visual-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin: 24px 0 !important;
  align-items: stretch !important;
}

.simple-photo-card {
  margin: 0 !important;
  padding: 18px !important;
  background: #fff !important;
  border: 1px solid rgba(21,49,168,.14) !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 34px rgba(21,49,168,.08) !important;
}

.simple-photo-card img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 16px !important;
}

.simple-logo-card img {
  object-fit: contain !important;
  background: #fff !important;
}

.simple-photo-card figcaption {
  margin-top: 10px !important;
  color: #12346d !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.simple-two-column,
.simple-three-column {
  display: grid !important;
  gap: 20px !important;
}

.simple-two-column { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.simple-three-column { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; margin-top: 24px !important; }

.simple-tag-line {
  color: #ff2d8f !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

.simple-list {
  margin: 0 !important;
  padding-left: 1.2em !important;
  color: #263d70 !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
}

.audition-simple-visual-grid {
  grid-template-columns: 1.2fr 1fr 1fr !important;
}

.simple-wide-photo img {
  height: 100% !important;
  min-height: 260px !important;
}

@media (max-width: 900px) {
  .simple-visual-grid,
  .simple-two-column,
  .simple-three-column,
  .audition-simple-visual-grid {
    grid-template-columns: 1fr !important;
  }

  .simple-info-list div {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .simple-photo-card img,
  .simple-wide-photo img {
    height: auto !important;
    min-height: 0 !important;
  }
}


/* =========================================================
  FIX: Simple cameraman page
  カメラマン第二階層ページは後日調整として簡易表示
========================================================= */
.cameraman-simple-wrap {
  max-width: 1120px !important;
}

.cameraman-member-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.cameraman-member-card img {
  height: 250px !important;
}

.cameraman-member-card figcaption {
  display: grid !important;
  gap: 4px !important;
  text-align: center !important;
}

.cameraman-member-card figcaption strong {
  display: block !important;
  color: #12346d !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

.cameraman-member-card figcaption span {
  display: block !important;
  color: #2257d6 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.cameraman-member-card figcaption small {
  display: block !important;
  color: #425782 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}

@media (max-width: 900px) {
  .cameraman-member-grid {
    grid-template-columns: 1fr !important;
  }

  .cameraman-member-card img {
    height: auto !important;
  }
}


/* =========================================================
  LS Smile simple subpage
  第二階層は後日調整として簡易表示
========================================================= */
.smile-simple-page .smile-page-visuals {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  margin: 28px 0 !important;
}

.smile-simple-page .smile-page-visuals .simple-photo-card {
  background: #fff !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

.smile-simple-page .smile-page-visuals img {
  width: 100% !important;
  height: 280px !important;
  object-fit: contain !important;
  background: #fff !important;
  display: block !important;
}

@media (max-width: 800px) {
  .smile-simple-page .smile-page-visuals {
    grid-template-columns: 1fr !important;
  }

  .smile-simple-page .smile-page-visuals img {
    height: auto !important;
  }
}


/* =========================================================
  SMILE Shop simple subpage
  第二階層は後日調整として簡易表示
========================================================= */
.smile-shop-simple-page .smile-shop-visual-grid {
  grid-template-columns: 1fr !important;
  max-width: 520px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.smile-shop-simple-page .smile-shop-main-visual img {
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  background: #fff !important;
}

.smile-shop-card-button-added {
  margin-top: 16px !important;
  text-align: center !important;
}

/* =========================================================
  FIX: Simple shop page
  ショップ第二階層は後日調整前提の簡易商品一覧
========================================================= */
.shop-simple-page .simple-main-card {
  margin-bottom: 24px !important;
}

.shop-product-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.shop-product-card {
  display: grid !important;
  grid-template-columns: 150px 1fr !important;
  gap: 18px !important;
  align-items: center !important;
}

.shop-product-photo {
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(176, 207, 244, .9) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px rgba(28,58,120,.08) !important;
}

.shop-product-photo img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
}

.shop-product-copy h2 {
  font-size: clamp(20px, 2vw, 28px) !important;
  margin-bottom: 8px !important;
}

.shop-product-price {
  margin: 0 0 8px !important;
  color: #ff2d8f !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
}

@media (max-width: 900px) {
  .shop-product-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .shop-product-card {
    grid-template-columns: 1fr !important;
  }
  .shop-product-photo {
    max-width: 220px !important;
    margin-inline: auto !important;
  }
  .shop-product-copy {
    text-align: center !important;
  }
}


/* =========================================================
  Simple page: Beauty / Health
  美と健康相談室の第二階層シンプル表示
========================================================= */
.beauty-health-main-visual img {
  width: 100% !important;
  max-height: 520px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

.beauty-health-visual-grid {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* =========================================================
  SIMPLE PAGE: Support sponsors
  ご協賛ページの簡易画像レイアウト
========================================================= */
.support-visual-grid {
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

.support-photo-card {
  padding: 18px !important;
  background: #ffffff !important;
}

.support-photo-card img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  background: #ffffff !important;
}


/* =========================================================
  FIX: Contact second-layer simple page
  お問い合わせページは後日調整として簡易表示
========================================================= */
.contact-simple-page .contact-simple-form-card {
  margin-top: 24px !important;
}

.contact-simple-page .contact-form {
  margin-top: 18px !important;
  text-align: left !important;
}

.contact-simple-page .contact-submit {
  min-width: 220px !important;
  margin: 10px auto 0 !important;
  display: inline-flex !important;
}

/* =========================================================
  DONATE simple page
  寄付支援ページ：画像を大きくしすぎず、簡易配置
========================================================= */
.simple-donate-layout {
  display: grid !important;
  grid-template-columns: minmax(220px, 340px) 1fr !important;
  gap: 34px !important;
  align-items: start !important;
}

.simple-donate-visual {
  margin: 0 !important;
  padding: 18px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 36px rgba(15,42,110,.08) !important;
}

.simple-donate-visual img {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  height: auto !important;
  margin: 0 auto !important;
  border-radius: 16px !important;
}

.simple-donate-copy {
  display: grid !important;
  gap: 22px !important;
}

@media (max-width: 800px) {
  .simple-donate-layout {
    grid-template-columns: 1fr !important;
  }

  .simple-donate-visual {
    max-width: 360px !important;
    margin-inline: auto !important;
  }
}


/* =========================================================
  FIX: Talent page uses TOP slider + TOP lower talent list
  lsm-talent.html専用：TOPと同じタレント横スライダーと一覧配置
========================================================= */
.talent-page-lineup-section {
  padding-bottom: 28px !important;
  background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
}

.talent-page-lineup-section .section-heading {
  margin-bottom: 24px !important;
}

.talent-page-lineup-panel {
  position: relative !important;
  overflow: hidden !important;
  padding: 22px 22px 18px !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 16% 10%, rgba(115, 197, 255, .24), transparent 26%),
    radial-gradient(circle at 80% 12%, rgba(163, 126, 255, .20), transparent 30%),
    linear-gradient(135deg, #071a52 0%, #103a9a 45%, #1d54c8 100%) !important;
  box-shadow: 0 22px 54px rgba(0, 30, 92, .16) !important;
}

.talent-page-lineup-panel .hero-lineup-v2 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}

.talent-page-lineup-panel .hero-lineup-scroll-v2 {
  padding-bottom: 8px !important;
}

.talent-page-lineup-section + #talent {
  padding-top: 48px !important;
}



.contact-secondary-menu-inner {
  padding: 12px 0 22px !important;
}

.contact-secondary-menu-main {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 12px 36px !important;
  margin-left: auto !important;
  max-width: 980px !important;
}

.contact-secondary-menu a {
  color: #000 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  letter-spacing: .02em !important;
}

.contact-secondary-menu a:hover,
.contact-secondary-menu a:focus,
.contact-secondary-menu a[aria-current="page"] {
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

.contact-secondary-menu-terms {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  align-items: center !important;
  gap: 20px !important;
  margin-top: 26px !important;
}

.contact-secondary-menu-terms a:first-child {
  justify-self: start !important;
}

.contact-secondary-menu-terms a:last-child {
  justify-self: center !important;
}

@media (max-width: 900px) {
  .contact-secondary-menu-inner {
    padding: 12px 0 16px !important;
  }

  .contact-secondary-menu-main {
    justify-content: flex-start !important;
    gap: 10px 18px !important;
    max-width: none !important;
  }

  .contact-secondary-menu a {
    font-size: 13px !important;
  }

  .contact-secondary-menu-terms {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  .contact-secondary-menu-terms a:first-child,
  .contact-secondary-menu-terms a:last-child {
    justify-self: start !important;
  }
}


/* =========================================================
  FIX: Rili.Project overseas images
  海外遠征編ページの使用画像を追加
========================================================= */
.simple-photo-section {
  margin: 0 0 24px !important;
}

.simple-section-mini-heading {
  margin: 0 0 18px !important;
  text-align: center !important;
}

.simple-section-mini-heading h2 {
  margin: 0 0 10px !important;
  color: #12346d !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  line-height: 1.35 !important;
}

.simple-section-mini-heading p:last-child {
  max-width: 760px !important;
  margin: 0 auto !important;
  color: #38517f !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
}

.simple-photo-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.simple-photo-card {
  margin: 0 !important;
  padding: 12px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 28px rgba(21,49,168,.08) !important;
}

.simple-photo-card img {
  display: block !important;
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
}

@media (max-width: 900px) {
  .simple-photo-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .simple-photo-gallery {
    grid-template-columns: 1fr !important;
  }

  .simple-photo-card img {
    height: auto !important;
  }
}


/* =========================================================
  FIX: Inner-page main headings toned down
  第二階層ページの大見出しをゴシック系・控えめサイズへ調整
========================================================= */
.simple-subpage-heading h1,
.simple-inner-heading h1,
.contact-heading h1,
.talent-page-lineup-section .section-heading h1 {
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: clamp(30px, 4.2vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .02em !important;
  margin-bottom: 14px !important;
}

.talent-page-lineup-section .section-heading {
  max-width: 760px !important;
}

.talent-page-lineup-section .section-heading p,
.simple-subpage-note,
.simple-inner-heading p:last-child,
.contact-heading p:last-child {
  font-size: 16px !important;
  line-height: 1.75 !important;
}

@media (max-width: 760px) {
  .simple-subpage-heading h1,
  .simple-inner-heading h1,
  .contact-heading h1,
  .talent-page-lineup-section .section-heading h1 {
    font-size: clamp(26px, 8vw, 40px) !important;
    letter-spacing: .01em !important;
  }

  .talent-page-lineup-section .section-heading p,
  .simple-subpage-note,
  .simple-inner-heading p:last-child,
  .contact-heading p:last-child {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }
}


/* =========================================================
  FIX: ginza page uses top-page promo + movie blocks
========================================================= */
.ginza-page-wrap {
  max-width: 1220px !important;
}

.ginza-top-insert-block {
  margin: 0 0 42px !important;
}

.ginza-page-section-heading {
  max-width: 820px !important;
  margin-bottom: 24px !important;
}

.ginza-page-section-heading h2 {
  font-size: clamp(28px, 3.5vw, 42px) !important;
  color: #12346d !important;
}

.ginza-page-section-heading p {
  color: #38517f !important;
}

.ginza-featured-single {
  width: min(100%, 980px) !important;
}

.ginza-featured-single .featured-banner-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  justify-content: center !important;
}

.ginza-movie-block {
  padding: 20px 0 4px !important;
}

.ginza-movie-block .movie-grid {
  gap: 40px !important;
}

.ginza-movie-block .movie-copy h2 {
  color: #12346d !important;
  font-size: clamp(28px, 3.4vw, 42px) !important;
}

.ginza-sub-button {
  color: #12346d !important;
  background: #ffffff !important;
  border: 1px solid rgba(18,52,109,.14) !important;
  box-shadow: 0 10px 24px rgba(18,52,109,.10) !important;
}

.ginza-sub-button:hover,
.ginza-sub-button:focus {
  box-shadow: 0 14px 28px rgba(18,52,109,.14) !important;
}

.ginza-detail-card {
  margin-top: 8px !important;
}

@media (max-width: 980px) {
  .ginza-top-insert-block {
    margin-bottom: 34px !important;
  }

  .ginza-movie-block .movie-grid {
    gap: 28px !important;
  }
}

/* =========================================================
  FIX: Add SHOP to global navigation
  ヘッダーMENUにSHOPを追加
========================================================= */
.global-nav-shop-link {
  font-weight: 900 !important;
}

@media (max-width: 980px) {
  .global-nav .global-nav-shop-link {
    color: var(--color-primary-dark) !important;
    background: #f5f8ff !important;
    border-color: rgba(21,49,168,.08) !important;
  }
}


/* =========================================================
  FIX: Shop hub portal design
  SHOPを総合入口として見せるカード型レイアウト
========================================================= */
.shop-hub-section {
  padding-top: 44px !important;
  padding-bottom: 70px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 72, 161, .10), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(77, 184, 255, .16), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
}

.shop-hub-wrap {
  max-width: 1220px !important;
}

.shop-hub-hero {
  display: grid !important;
  grid-template-columns: .9fr 1.1fr !important;
  gap: 34px !important;
  align-items: center !important;
  margin-bottom: 54px !important;
  padding: 38px !important;
  border-radius: 34px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(247,251,255,.96)) !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  box-shadow: 0 24px 60px rgba(21,49,168,.10) !important;
  overflow: hidden !important;
}

.shop-hub-hero-copy h1 {
  margin: 0 0 16px !important;
  color: #12346d !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: clamp(42px, 5vw, 76px) !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
  line-height: 1.08 !important;
}

.shop-hub-hero-copy p:not(.eyebrow) {
  margin: 0 !important;
  color: #263d70 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
}

.shop-hub-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.shop-hub-secondary {
  color: #12346d !important;
  background: #fff !important;
  border: 1px solid rgba(18,52,109,.14) !important;
  box-shadow: 0 10px 24px rgba(18,52,109,.08) !important;
}

.shop-hub-hero-visual {
  position: relative !important;
  min-height: 330px !important;
}

.shop-hub-hero-card,
.shop-hub-floating-card {
  margin: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  box-shadow: 0 18px 42px rgba(21,49,168,.14) !important;
}

.shop-hub-hero-card img,
.shop-hub-floating-card img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.shop-hub-hero-card-main {
  position: absolute !important;
  inset: 22px 0 36px 36px !important;
  border-radius: 26px !important;
}

.shop-hub-floating-card {
  position: absolute !important;
  border-radius: 20px !important;
}

.shop-hub-floating-card-a {
  right: 12px !important;
  bottom: 0 !important;
  width: 170px !important;
  height: 130px !important;
}

.shop-hub-floating-card-b {
  left: 0 !important;
  top: 0 !important;
  width: 172px !important;
  height: 118px !important;
}

.shop-section-heading {
  max-width: 780px !important;
  margin: 0 auto 26px !important;
  text-align: center !important;
}

.shop-section-heading h2 {
  margin: 0 0 12px !important;
  color: #12346d !important;
  font-size: clamp(28px, 3.6vw, 44px) !important;
  line-height: 1.25 !important;
}

.shop-section-heading p:not(.eyebrow) {
  margin: 0 !important;
  color: #38517f !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
}

.shop-branch-section {
  margin-bottom: 58px !important;
}

.shop-branch-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.shop-branch-card {
  position: relative !important;
  min-height: 290px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: #12346d !important;
  box-shadow: 0 18px 46px rgba(21,49,168,.12) !important;
  text-decoration: none !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}

.shop-branch-card:hover,
.shop-branch-card:focus {
  transform: translateY(-5px) !important;
  box-shadow: 0 24px 58px rgba(21,49,168,.18) !important;
}

.shop-branch-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: .78 !important;
  transition: transform .35s ease !important;
}

.shop-branch-card:hover img,
.shop-branch-card:focus img {
  transform: scale(1.045) !important;
}

.shop-branch-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(8,20,58,.02) 0%, rgba(8,20,58,.70) 100%) !important;
}

.shop-branch-card.is-main {
  grid-column: span 2 !important;
}

.shop-branch-badge,
.shop-branch-copy,
.shop-branch-arrow {
  position: relative !important;
  z-index: 2 !important;
}

.shop-branch-badge {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  display: inline-flex !important;
  width: max-content !important;
  padding: 6px 12px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #ff4ea5, #7a5cff) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}

.shop-branch-copy {
  display: grid !important;
  gap: 6px !important;
  padding: 0 22px 22px !important;
  color: #fff !important;
}

.shop-branch-copy strong {
  font-size: clamp(23px, 2.4vw, 34px) !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
}

.shop-branch-copy em {
  font-style: normal !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  opacity: .9 !important;
}

.shop-branch-arrow {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 54px !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  color: #12346d !important;
  background: rgba(255,255,255,.92) !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.shop-item-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.shop-item-card {
  overflow: hidden !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  box-shadow: 0 14px 34px rgba(21,49,168,.08) !important;
}

.shop-item-card figure {
  margin: 0 !important;
  height: 190px !important;
  background: #f7fbff !important;
}

.shop-item-card img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.shop-item-copy {
  padding: 16px 16px 18px !important;
}

.shop-item-copy p {
  margin: 0 0 7px !important;
  color: #2257d6 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
}

.shop-item-copy h3 {
  min-height: 48px !important;
  margin: 0 0 8px !important;
  color: #12346d !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}

.shop-item-copy span {
  color: #ff2d8f !important;
  font-weight: 900 !important;
}

.shop-hub-note {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  margin-top: 46px !important;
  padding: 28px 32px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #12346d, #2257d6) !important;
  color: #fff !important;
  box-shadow: 0 18px 42px rgba(21,49,168,.16) !important;
}

.shop-hub-note h2 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(24px, 3vw, 34px) !important;
}

.shop-hub-note p:not(.eyebrow) {
  margin: 0 !important;
  color: rgba(255,255,255,.9) !important;
  font-weight: 700 !important;
  line-height: 1.75 !important;
}

.shop-hub-note .eyebrow {
  color: #ffd780 !important;
}

.shop-hub-note .button {
  flex: 0 0 auto !important;
  background: #fff !important;
  color: #12346d !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.16) !important;
}

@media (max-width: 1000px) {
  .shop-hub-hero,
  .shop-hub-note {
    grid-template-columns: 1fr !important;
  }
  .shop-hub-hero {
    display: block !important;
    padding: 28px !important;
  }
  .shop-hub-hero-visual {
    margin-top: 28px !important;
    min-height: 280px !important;
  }
  .shop-branch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .shop-item-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .shop-hub-note {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 680px) {
  .shop-hub-section {
    padding-top: 34px !important;
  }
  .shop-hub-hero {
    padding: 24px 20px !important;
    border-radius: 26px !important;
  }
  .shop-hub-hero-card-main {
    inset: 44px 0 30px 0 !important;
  }
  .shop-hub-floating-card-a {
    width: 132px !important;
    height: 104px !important;
  }
  .shop-hub-floating-card-b {
    width: 132px !important;
    height: 92px !important;
  }
  .shop-branch-grid,
  .shop-item-grid {
    grid-template-columns: 1fr !important;
  }
  .shop-branch-card,
  .shop-branch-card.is-main {
    grid-column: auto !important;
    min-height: 250px !important;
  }
  .shop-item-card figure {
    height: 230px !important;
  }
}


/* =========================================================
  FIX: brighten shop portal cards
  SHOP総合ページを明るくやわらかい印象に調整
========================================================= */
.shop-branch-card {
  background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
  border: 1px solid rgba(34, 87, 214, .12) !important;
  box-shadow: 0 16px 38px rgba(21,49,168,.08) !important;
}

.shop-branch-card:hover,
.shop-branch-card:focus {
  box-shadow: 0 22px 48px rgba(21,49,168,.12) !important;
}

.shop-branch-card img {
  opacity: 1 !important;
  filter: brightness(1.08) saturate(1.02) !important;
}

.shop-branch-card::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.04) 35%, rgba(255,255,255,.78) 100%) !important;
}

.shop-branch-copy {
  gap: 4px !important;
  margin: 0 16px 16px !important;
  padding: 18px 18px 16px !important;
  color: #12346d !important;
  background: rgba(255,255,255,.90) !important;
  backdrop-filter: blur(4px) !important;
  border: 1px solid rgba(34,87,214,.10) !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 22px rgba(18,52,109,.08) !important;
}

.shop-branch-copy strong {
  color: #12346d !important;
}

.shop-branch-copy em {
  color: #44608f !important;
  opacity: 1 !important;
}

.shop-branch-arrow {
  right: 24px !important;
  bottom: 24px !important;
  background: linear-gradient(135deg, #ffffff, #f2f7ff) !important;
  border: 1px solid rgba(34,87,214,.14) !important;
  box-shadow: 0 6px 16px rgba(18,52,109,.10) !important;
}

.shop-branch-badge {
  box-shadow: 0 8px 18px rgba(122,92,255,.18) !important;
}

/* =========================================================
  FIX: Second layer temporary layout notice
  第二階層ページのコンテンツ前に赤文字注意書きを表示
========================================================= */
.second-layer-layout-note {
  width: min(calc(100% - 40px), 1120px) !important;
  margin: 18px auto 0 !important;
  color: #e60012 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  text-align: center !important;
  letter-spacing: .02em !important;
}


/* =========================================================
  FIX: Shop hero text only
  SHOPページ冒頭の画像合成エリアを削除し、文字だけに変更
========================================================= */
.shop-hub-hero-text-only {
  display: block !important;
  max-width: 900px !important;
  margin: 0 auto 44px !important;
  padding: 26px 0 18px !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.shop-hub-hero-text-only .shop-hub-hero-copy {
  max-width: 760px !important;
  margin: 0 auto !important;
}

.shop-hub-hero-text-only .shop-hub-hero-copy h1 {
  font-size: clamp(36px, 5vw, 62px) !important;
}

.shop-hub-hero-text-only .shop-hub-hero-copy p:not(.eyebrow) {
  max-width: 720px !important;
  margin: 0 auto !important;
}

.shop-hub-hero-text-only .shop-hub-actions {
  justify-content: center !important;
}


/* =========================================================
  FIX: Jewl.Heart's Shop image gallery
  Jewl.Heart's Shopページの送付画像配置
========================================================= */
.jewl-shop-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 26px 0 30px !important;
}

.jewl-shop-photo {
  margin: 0 !important;
  padding: 12px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 28px rgba(21,49,168,.08) !important;
}

.jewl-shop-photo img {
  display: block !important;
  width: 100% !important;
  height: 230px !important;
  object-fit: contain !important;
  background: #ffffff !important;
  border-radius: 14px !important;
}

.jewl-shop-photo.is-large img {
  height: 320px !important;
}

.jewl-shop-photo.is-wide {
  grid-column: span 3 !important;
}

.jewl-shop-photo.is-wide img {
  height: 280px !important;
}

.jewl-shop-info-grid {
  margin-top: 12px !important;
}

@media (max-width: 900px) {
  .jewl-shop-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .jewl-shop-photo.is-wide {
    grid-column: span 2 !important;
  }
}

@media (max-width: 560px) {
  .jewl-shop-gallery {
    grid-template-columns: 1fr !important;
  }

  .jewl-shop-photo.is-wide {
    grid-column: auto !important;
  }

  .jewl-shop-photo img,
  .jewl-shop-photo.is-large img,
  .jewl-shop-photo.is-wide img {
    height: auto !important;
  }
}


/* =========================================================
  FIX: audition page top banner
========================================================= */
.audition-page-wrap {
  max-width: 1240px !important;
}

.audition-top-banner-block {
  margin: 0 0 32px !important;
}

.audition-top-banner-card {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border-radius: 32px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 44px rgba(18, 52, 109, 0.10) !important;
  border: 1px solid rgba(18, 52, 109, 0.08) !important;
}

.audition-top-banner-card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

@media (max-width: 760px) {
  .audition-top-banner-block {
    margin-bottom: 24px !important;
  }

  .audition-top-banner-card {
    border-radius: 22px !important;
  }
}


/* =========================================================
  FIX: R.Sapphire Shop image gallery
========================================================= */
.r-sapphire-shop-gallery {
  margin: 0 0 26px !important;
}

.shop-photo-gallery-contain .simple-photo-card {
  background: #ffffff !important;
}

.shop-photo-gallery-contain .simple-photo-card img {
  height: 260px !important;
  object-fit: contain !important;
  background: #fff !important;
}

@media (max-width: 560px) {
  .shop-photo-gallery-contain .simple-photo-card img {
    height: auto !important;
  }
}


/* =========================================================
  FIX: Audition page flat content
  項目ごとの囲みをなくし、1つの流れで見せる
========================================================= */
.audition-flat-content {
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 34px 38px 42px !important;
  background: rgba(255, 255, 255, .72) !important;
  border-radius: 30px !important;
}

.audition-flat-intro {
  text-align: center !important;
  margin-bottom: 34px !important;
}

.audition-flat-intro h2,
.audition-flat-block h2 {
  margin: 0 0 16px !important;
  color: #12346d !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.35 !important;
}

.audition-flat-intro p:not(.eyebrow),
.audition-flat-block p,
.audition-flat-guide-list li {
  color: #263d70 !important;
  font-weight: 700 !important;
  line-height: 1.85 !important;
}

.audition-flat-stage {
  max-width: 720px !important;
  margin: 0 auto 40px !important;
  text-align: center !important;
}

.audition-flat-stage img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 20px !important;
}

.audition-flat-stage figcaption {
  margin-top: 10px !important;
  color: #12346d !important;
  font-weight: 900 !important;
}

.audition-flat-block {
  padding-top: 30px !important;
  margin-top: 30px !important;
  border-top: 1px solid rgba(21,49,168,.16) !important;
}

.audition-flat-genre-list,
.audition-flat-guide-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 34px !important;
}

.audition-flat-guide-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.audition-flat-genre-list > div,
.audition-flat-guide-list > div {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.audition-flat-genre-list strong,
.audition-flat-guide-list h3 {
  display: block !important;
  margin: 0 0 8px !important;
  color: #12346d !important;
  font-size: 22px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
}

.audition-flat-guide-list .simple-list {
  margin: 0 !important;
  padding-left: 1.2em !important;
}

@media (max-width: 900px) {
  .audition-flat-content {
    padding: 28px 22px 34px !important;
  }

  .audition-flat-genre-list,
  .audition-flat-guide-list {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
  FIX: move header pickup banners to fixed side menu
  ヘッダー上部の小バナーを非表示にし、固定サイドへ常時表示
========================================================= */
.header-mini-banners {
  display: none !important;
}

.fixed-side-mini-banner {
  min-height: 54px !important;
  padding: 8px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.98) !important;
}

.fixed-side-mini-banner img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

@media (max-width: 980px) {
  .fixed-side-mini-banner {
    min-height: 44px !important;
    padding: 6px !important;
    border-radius: 14px !important;
  }
}

@media (max-width: 680px) {
  .fixed-side-mini-banner {
    min-height: 38px !important;
    padding: 5px !important;
  }
}


/* =========================================================
  FIX: Header top whitespace reduced after moving mini banners
  ヘッダー上部小バナー削除後の余白をTOP・第二階層ともに圧縮
========================================================= */
@media (min-width: 981px) {
  .site-header .header-inner {
    min-height: 76px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center !important;
  }

  .brand-logo {
    width: 142px !important;
  }

  .global-nav a {
    min-height: 36px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }
}

@media (max-width: 1180px) and (min-width: 981px) {
  .site-header .header-inner {
    min-height: 72px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .brand-logo {
    width: 130px !important;
  }
}


/* =========================================================
  FIX: v54 requested updates
  NEWS order / simple second-layer frame / company / shop / inline forms
========================================================= */
.second-layer-layout-note {
  margin: 18px auto 0 !important;
  text-align: center !important;
  color: #d60000 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
}

/* second-layer content should feel like one simple blue-framed area */
.simple-subpage-section > .simple-subpage-wrap,
.simple-inner-page > .simple-inner-wrap,
.contact-page > .container,
.shop-hub-section > .shop-hub-wrap,
.talent-page-lineup-section > .container,
.news-detail-section > .container {
  border: 2px solid rgba(34, 87, 214, .22) !important;
  border-radius: 32px !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 18px 44px rgba(21,49,168,.07) !important;
  padding: clamp(24px, 4vw, 42px) !important;
}

.simple-subpage-section .simple-info-card,
.simple-inner-page .simple-info-card,
.simple-subpage-section .simple-photo-card,
.simple-inner-page .simple-photo-card,
.contact-panel,
.news-detail-body {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.simple-main-card {
  border-bottom: 1px solid rgba(34, 87, 214, .16) !important;
  border-radius: 0 !important;
  padding-bottom: 30px !important;
}

.simple-info-grid,
.simple-three-column,
.simple-two-column {
  gap: 20px !important;
}

/* Keep shop branch/item cards as designed inside the one larger frame */
.shop-branch-card,
.shop-item-card,
.shop-hub-note {
  border: 1px solid rgba(34, 87, 214, .12) !important;
}

/* NEWS: Boston notice should visually read as the top news */
.news-clean-feature {
  margin-bottom: 26px !important;
}

/* Company page: remove left blue block and use a clean single-column profile */
.company-panel-simple,
.company-panel {
  display: block !important;
  grid-template-columns: 1fr !important;
  padding: 0 !important;
}

.company-panel .contact-side {
  display: none !important;
}

.company-profile-list-single,
.company-profile-list {
  width: 100% !important;
  max-width: 880px !important;
  margin: 0 auto !important;
}

.company-simple-intro {
  margin: 0 0 20px !important;
  color: #263d70 !important;
  font-weight: 700 !important;
  line-height: 1.85 !important;
  text-align: center !important;
}

/* Clean generated shop backgrounds */
.shop-branch-card img {
  filter: none !important;
  object-fit: cover !important;
  opacity: 1 !important;
}

.shop-branch-card::after {
  background: linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.72) 100%) !important;
}

/* Inline official forms */
.external-inline-form-card,
.audition-external-form-card {
  margin-top: 34px !important;
  padding-top: 30px !important;
  border-top: 1px solid rgba(34,87,214,.16) !important;
}

.external-form-frame-wrap {
  margin-top: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(34,87,214,.18) !important;
  border-radius: 24px !important;
  background: #fff !important;
}

.external-form-frame-wrap iframe {
  display: block !important;
  width: 100% !important;
  min-height: 860px !important;
  border: 0 !important;
  background: #fff !important;
}

@media (max-width: 760px) {
  .simple-subpage-section > .simple-subpage-wrap,
  .simple-inner-page > .simple-inner-wrap,
  .contact-page > .container,
  .shop-hub-section > .shop-hub-wrap,
  .talent-page-lineup-section > .container,
  .news-detail-section > .container {
    border-radius: 24px !important;
    padding: 20px !important;
  }

  .external-form-frame-wrap iframe {
    min-height: 760px !important;
  }
}


/* =========================================================
  FIX v55: Second-layer pages white background / remove large frames
  第二階層ページの大きな青枠を外し、背景を白一色に統一
========================================================= */
body:has(main .second-layer-layout-note) {
  background: #ffffff !important;
}

body:has(main .second-layer-layout-note) main,
body:has(main .second-layer-layout-note) .section,
body:has(main .second-layer-layout-note) .section-muted,
body:has(main .second-layer-layout-note) .simple-subpage-section,
body:has(main .second-layer-layout-note) .simple-inner-page,
body:has(main .second-layer-layout-note) .contact-page,
body:has(main .second-layer-layout-note) .shop-hub-section,
body:has(main .second-layer-layout-note) .talent-page-lineup-section,
body:has(main .second-layer-layout-note) .news-detail-section {
  background: #ffffff !important;
  background-image: none !important;
}

body:has(main .second-layer-layout-note) .simple-subpage-section > .simple-subpage-wrap,
body:has(main .second-layer-layout-note) .simple-inner-page > .simple-inner-wrap,
body:has(main .second-layer-layout-note) .contact-page > .container,
body:has(main .second-layer-layout-note) .shop-hub-section > .shop-hub-wrap,
body:has(main .second-layer-layout-note) .talent-page-lineup-section > .container,
body:has(main .second-layer-layout-note) .news-detail-section > .container {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: var(--container-pad, 20px) !important;
  padding-right: var(--container-pad, 20px) !important;
}

body:has(main .second-layer-layout-note) .simple-info-card,
body:has(main .second-layer-layout-note) .simple-photo-card,
body:has(main .second-layer-layout-note) .contact-panel,
body:has(main .second-layer-layout-note) .news-detail-body,
body:has(main .second-layer-layout-note) .company-panel,
body:has(main .second-layer-layout-note) .company-panel-simple,
body:has(main .second-layer-layout-note) .talent-page-lineup-panel,
body:has(main .second-layer-layout-note) .shop-hub-hero,
body:has(main .second-layer-layout-note) .shop-hub-note,
body:has(main .second-layer-layout-note) .external-form-frame-wrap {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body:has(main .second-layer-layout-note) .simple-main-card {
  border-bottom: 1px solid rgba(18, 52, 109, .12) !important;
  border-radius: 0 !important;
}

body:has(main .second-layer-layout-note) .second-layer-layout-note {
  margin: 18px auto 22px !important;
}

body:has(main .second-layer-layout-note) .shop-branch-card,
body:has(main .second-layer-layout-note) .shop-item-card {
  box-shadow: 0 8px 24px rgba(18,52,109,.06) !important;
}

@media (max-width: 760px) {
  body:has(main .second-layer-layout-note) .simple-subpage-section > .simple-subpage-wrap,
  body:has(main .second-layer-layout-note) .simple-inner-page > .simple-inner-wrap,
  body:has(main .second-layer-layout-note) .contact-page > .container,
  body:has(main .second-layer-layout-note) .shop-hub-section > .shop-hub-wrap,
  body:has(main .second-layer-layout-note) .talent-page-lineup-section > .container,
  body:has(main .second-layer-layout-note) .news-detail-section > .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* =========================================================
  FIX: shop page more concrete backgrounds + contact cleanup
========================================================= */
.shop-branch-card img {
  filter: brightness(1.02) saturate(1.05) !important;
}

.shop-branch-card::after {
  background: linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.10) 42%, rgba(255,255,255,.66) 100%) !important;
}

.shop-card-official img { object-position: center 28% !important; }
.shop-card-smile img { object-position: center center !important; }
.shop-card-rsapphire img { object-position: center 35% !important; }
.shop-card-jewl img { object-position: center center !important; }
.shop-card-project img { object-position: center center !important; }
.shop-card-ginza img { object-position: center center !important; }

.shop-card-official::before,
.shop-card-smile::before,
.shop-card-rsapphire::before,
.shop-card-jewl::before,
.shop-card-project::before,
.shop-card-ginza::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,0) 45%) !important;
  pointer-events: none !important;
}

.shop-item-card figure img {
  object-fit: cover !important;
}


/* =========================================================
  FIX v59: tighten spacing after second-layer notice
  赤文字注意書き下の余白を全体的に圧縮
========================================================= */
body:has(main .second-layer-layout-note) .second-layer-layout-note {
  margin: 10px auto 6px !important;
  line-height: 1.45 !important;
}

body:has(main .second-layer-layout-note) .simple-subpage-section,
body:has(main .second-layer-layout-note) .simple-inner-page,
body:has(main .second-layer-layout-note) .contact-page,
body:has(main .second-layer-layout-note) .shop-hub-section,
body:has(main .second-layer-layout-note) .talent-page-lineup-section,
body:has(main .second-layer-layout-note) .news-detail-section {
  padding-top: 14px !important;
}

body:has(main .second-layer-layout-note) .simple-subpage-heading,
body:has(main .second-layer-layout-note) .simple-inner-heading,
body:has(main .second-layer-layout-note) .section-heading.center {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

body:has(main .second-layer-layout-note) .simple-subpage-heading h1,
body:has(main .second-layer-layout-note) .simple-inner-heading h1,
body:has(main .second-layer-layout-note) .section-heading.center h1,
body:has(main .second-layer-layout-note) .shop-hub-hero-copy h1 {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

body:has(main .second-layer-layout-note) .eyebrow {
  margin-bottom: 6px !important;
}

.shop-hub-hero-text-only {
  margin: 0 auto 30px !important;
  padding: 8px 0 10px !important;
}

.shop-hub-hero-text-only .shop-hub-actions {
  margin-top: 18px !important;
}

@media (max-width: 760px) {
  body:has(main .second-layer-layout-note) .second-layer-layout-note {
    margin: 8px auto 4px !important;
  }

  body:has(main .second-layer-layout-note) .simple-subpage-section,
  body:has(main .second-layer-layout-note) .simple-inner-page,
  body:has(main .second-layer-layout-note) .contact-page,
  body:has(main .second-layer-layout-note) .shop-hub-section,
  body:has(main .second-layer-layout-note) .talent-page-lineup-section,
  body:has(main .second-layer-layout-note) .news-detail-section {
    padding-top: 10px !important;
  }
}


/* =========================================================
  FIX: hero talent slider blue tone
========================================================= */
.hero-talent-slider {
  border-top: 1px solid rgba(67, 126, 214, .18) !important;
}

.hero-talent-card {
  border: 1px solid rgba(137, 177, 238, .62) !important;
  background: linear-gradient(180deg, #f3f8ff 0%, #deebff 100%) !important;
  box-shadow: 0 16px 34px rgba(18, 52, 109, .10) !important;
  backdrop-filter: none !important;
}

.hero-talent-card:hover,
.hero-talent-card:focus {
  background: linear-gradient(180deg, #eef6ff 0%, #d4e5ff 100%) !important;
  box-shadow: 0 20px 40px rgba(18, 52, 109, .14) !important;
}

.hero-talent-photo {
  border: 4px solid #ffffff !important;
  box-shadow: 0 12px 26px rgba(18, 52, 109, .16) !important;
}

.hero-talent-name {
  color: #173a78 !important;
  text-shadow: none !important;
}


/* =========================================================
  SCHOOL UPDATE: Model / Actor banners + Teacher profile page
  スクールページに支給バナー2点を配置し、講師紹介ページを追加
========================================================= */
.school-main-section {
  padding-top: 64px !important;
  padding-bottom: 80px !important;
}

.school-main-wrap {
  max-width: 1180px !important;
}

.school-main-heading h1,
.school-teacher-heading h1 {
  margin: 0 0 14px !important;
  color: #12346d !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: clamp(40px, 5vw, 68px) !important;
  line-height: 1.15 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.school-uploaded-banners {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  margin: 30px auto 34px !important;
}

.school-uploaded-banner {
  display: block !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background: #fff !important;
  box-shadow: 0 20px 52px rgba(20, 58, 130, .12) !important;
  line-height: 0 !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.school-uploaded-banner:hover,
.school-uploaded-banner:focus-visible {
  transform: translateY(-3px) !important;
  box-shadow: 0 24px 60px rgba(20, 58, 130, .16) !important;
}

.school-uploaded-banner img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.school-teacher-link-panel {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 auto 34px !important;
  padding: 26px 30px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(242,247,255,.96)) !important;
  border: 1px solid rgba(176, 207, 244, .95) !important;
  box-shadow: 0 16px 40px rgba(28, 58, 120, .08) !important;
}

.school-teacher-link-panel h2 {
  margin: 0 0 8px !important;
  color: #12346d !important;
  font-size: clamp(26px, 3vw, 38px) !important;
}

.school-teacher-link-panel p:last-child {
  margin: 0 !important;
  color: #263f74 !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
}

.school-class-info-grid {
  margin-top: 8px !important;
}

.school-card-button-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

.school-teacher-page {
  padding-top: 56px !important;
  padding-bottom: 82px !important;
}

.school-teacher-wrap {
  max-width: 1080px !important;
}

.school-breadcrumb {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 26px !important;
  color: #42619a !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.school-breadcrumb a {
  color: #2257d6 !important;
  text-decoration: none !important;
}

.school-breadcrumb a:hover,
.school-breadcrumb a:focus {
  text-decoration: underline !important;
}

.teacher-profile-card {
  display: grid !important;
  grid-template-columns: 320px minmax(0, 1fr) !important;
  gap: 38px !important;
  align-items: start !important;
  padding: 38px !important;
  border-radius: 34px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(176, 207, 244, .95) !important;
  box-shadow: 0 22px 58px rgba(28, 58, 120, .10) !important;
}

.teacher-profile-photo {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #eaf4ff, #fff4fb) !important;
  box-shadow: 0 18px 42px rgba(20, 58, 130, .10) !important;
}

.teacher-profile-photo img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.teacher-profile-body h2 {
  margin: 0 0 22px !important;
  color: #12346d !important;
  font-size: clamp(30px, 4vw, 50px) !important;
  line-height: 1.22 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.teacher-career-block h3 {
  margin: 0 0 16px !important;
  color: #2257d6 !important;
  font-size: 20px !important;
  letter-spacing: .08em !important;
}

.teacher-career-list {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
}

.teacher-career-list div {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  gap: 16px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #ffffff, #f5f9ff) !important;
  border: 1px solid rgba(21, 49, 168, .10) !important;
}

.teacher-career-list dt {
  color: #12346d !important;
  font-weight: 900 !important;
}

.teacher-career-list dd {
  margin: 0 !important;
  color: #263f74 !important;
  font-weight: 700 !important;
  line-height: 1.75 !important;
}

.teacher-button-row {
  margin-top: 28px !important;
}

@media (max-width: 900px) {
  .school-teacher-link-panel,
  .teacher-profile-card,
  .teacher-career-list div {
    grid-template-columns: 1fr !important;
  }

  .school-teacher-link-panel {
    display: grid !important;
    text-align: center !important;
  }

  .school-teacher-link-panel .button {
    width: 100% !important;
  }

  .teacher-profile-card {
    padding: 26px !important;
  }

  .teacher-profile-photo {
    max-width: 320px !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 640px) {
  .school-main-section,
  .school-teacher-page {
    padding-top: 44px !important;
    padding-bottom: 58px !important;
  }

  .school-uploaded-banners {
    gap: 18px !important;
  }

  .school-uploaded-banner {
    border-radius: 18px !important;
  }

  .teacher-profile-card {
    border-radius: 24px !important;
    padding: 20px !important;
  }
}


/* =========================================================
  UPDATE: School banners 2 columns + Audition text layout
  スクールバナー横並び／オーディション本文の通常ウェイト化
========================================================= */
.school-uploaded-banners {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

.school-uploaded-banner img {
  height: auto !important;
  object-fit: contain !important;
}

@media (max-width: 760px) {
  .school-uploaded-banners {
    grid-template-columns: 1fr !important;
  }

  .school-uploaded-banner img {
    height: auto !important;
    object-fit: contain !important;
  }
}

.audition-recruit-content {
  max-width: 1080px !important;
  padding: 42px 46px 48px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(246,250,255,.94)) !important;
  border: 1px solid rgba(176, 207, 244, .82) !important;
  box-shadow: 0 20px 52px rgba(18, 52, 109, .08) !important;
}

.audition-recruit-content p,
.audition-recruit-content li,
.audition-recruit-content .form-note {
  color: #263d70 !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  letter-spacing: .02em !important;
}

.audition-recruit-content .eyebrow {
  font-weight: 900 !important;
  color: #2257d6 !important;
}

.audition-recruit-content h2 {
  color: #12346d !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.audition-recruit-hero-copy {
  text-align: center !important;
  margin: 0 auto 38px !important;
}

.audition-recruit-hero-copy h2 {
  margin: 0 0 18px !important;
  font-size: clamp(34px, 5vw, 56px) !important;
  line-height: 1.25 !important;
}

.audition-recruit-lead {
  font-size: clamp(17px, 2vw, 21px) !important;
}

.audition-recruit-actions {
  justify-content: center !important;
  margin-top: 26px !important;
}

.audition-activity-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 34px !important;
  align-items: center !important;
  margin: 0 0 34px !important;
  padding: 28px !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21, 49, 168, .10) !important;
  box-shadow: 0 14px 32px rgba(18, 52, 109, .07) !important;
}

.audition-activity-copy h2 {
  margin: 0 0 14px !important;
  font-size: clamp(28px, 3.4vw, 42px) !important;
}

.audition-activity-visual {
  margin: 0 !important;
}

.audition-activity-visual img {
  border-radius: 22px !important;
  box-shadow: 0 12px 26px rgba(18,52,109,.10) !important;
}

.audition-activity-visual figcaption {
  font-weight: 700 !important;
  color: #42619a !important;
}

.audition-chance-card,
.audition-serious-message {
  text-align: center !important;
  border-radius: 30px !important;
  margin: 0 0 34px !important;
}

.audition-chance-card {
  padding: 32px 30px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #ff4aa0, #ff8a00) !important;
  box-shadow: 0 18px 42px rgba(255, 74, 160, .22) !important;
}

.audition-chance-card h2 {
  margin: 8px 0 !important;
  color: #ffffff !important;
  font-size: clamp(30px, 4.4vw, 52px) !important;
}

.audition-chance-card p {
  margin: 0 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

.audition-serious-message {
  padding: 28px 30px !important;
  background: #fff8e4 !important;
  border: 1px solid rgba(255, 188, 65, .55) !important;
}

.audition-serious-message h2 {
  margin: 0 0 12px !important;
  color: #b57400 !important;
  font-size: clamp(24px, 3vw, 34px) !important;
}

.audition-serious-message p:last-child {
  margin-bottom: 0 !important;
  font-weight: 700 !important;
}

.audition-recruit-content .audition-flat-block {
  padding-top: 34px !important;
  margin-top: 34px !important;
  border-top: 1px solid rgba(21,49,168,.13) !important;
}

.audition-recruit-content .audition-flat-block h2 {
  margin-bottom: 20px !important;
  font-size: clamp(28px, 3.4vw, 42px) !important;
}

.audition-clean-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.audition-requirement-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.audition-requirement-list li,
.audition-note-list li {
  position: relative !important;
  padding: 14px 16px 14px 42px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,49,168,.10) !important;
}

.audition-requirement-list li::before,
.audition-note-list li::before {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  top: 1.55em !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 999px !important;
  background: #ff4aa0 !important;
  box-shadow: 0 0 0 4px rgba(255,74,160,.12) !important;
}

.audition-apply-card {
  padding: 24px !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,49,168,.10) !important;
}

.audition-apply-card > p:first-child {
  margin-top: 0 !important;
  font-weight: 700 !important;
}

.audition-note-list {
  display: grid !important;
  gap: 12px !important;
}

.audition-privacy-section p {
  margin-bottom: 10px !important;
}

.audition-external-form-card {
  padding: 34px !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,49,168,.12) !important;
}

@media (max-width: 900px) {
  .audition-recruit-content {
    padding: 30px 22px 36px !important;
  }

  .audition-activity-panel,
  .audition-requirement-list {
    grid-template-columns: 1fr !important;
  }

  .audition-activity-panel {
    padding: 22px !important;
  }
}

@media (max-width: 560px) {
  .audition-chance-card,
  .audition-serious-message,
  .audition-external-form-card {
    padding: 24px 18px !important;
    border-radius: 22px !important;
  }
}

/* =========================================================
  UPDATE v60: Clean second-layer page tone
  オーディションページの雰囲気に合わせた第二階層共通デザイン
========================================================= */
body.second-page-clean {
  background:
    radial-gradient(circle at 10% 8%, rgba(255, 74, 160, .10) 0 220px, transparent 221px),
    radial-gradient(circle at 92% 12%, rgba(32, 168, 236, .13) 0 260px, transparent 261px),
    linear-gradient(180deg, #f6fbff 0%, #ffffff 42%, #fff8fc 100%) !important;
  color: #263d70 !important;
}

body.second-page-clean main {
  position: relative !important;
  overflow: hidden !important;
  background: transparent !important;
}

body.second-page-clean main::before,
body.second-page-clean main::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none !important;
  border-radius: 999px !important;
  opacity: .52 !important;
}

body.second-page-clean main::before {
  width: 360px !important;
  height: 360px !important;
  left: -160px !important;
  top: 80px !important;
  background: radial-gradient(circle, rgba(255, 74, 160, .20), rgba(255, 74, 160, 0) 68%) !important;
}

body.second-page-clean main::after {
  width: 420px !important;
  height: 420px !important;
  right: -180px !important;
  top: 260px !important;
  background: radial-gradient(circle, rgba(32, 168, 236, .20), rgba(32, 168, 236, 0) 68%) !important;
}

body.second-page-clean main > .section,
body.second-page-clean .simple-subpage-section,
body.second-page-clean .simple-inner-page,
body.second-page-clean .contact-page,
body.second-page-clean .shop-hub-section,
body.second-page-clean .talent-page-lineup-section,
body.second-page-clean .school-main-section,
body.second-page-clean .school-teacher-page,
body.second-page-clean .news-detail-hero,
body.second-page-clean .release-detail-hero {
  position: relative !important;
  z-index: 1 !important;
  padding-top: clamp(46px, 6vw, 82px) !important;
  padding-bottom: clamp(58px, 7vw, 96px) !important;
  background: transparent !important;
  background-image: none !important;
}

body.second-page-clean .simple-subpage-wrap,
body.second-page-clean .simple-inner-wrap,
body.second-page-clean .contact-page > .container,
body.second-page-clean .shop-hub-wrap,
body.second-page-clean .talent-page-lineup-section > .container,
body.second-page-clean .school-main-wrap,
body.second-page-clean .school-teacher-wrap,
body.second-page-clean .section > .container,
body.second-page-clean .news-detail-section > .container,
body.second-page-clean .release-detail-hero > .container {
  position: relative !important;
  z-index: 1 !important;
  width: min(1180px, calc(100% - 36px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(26px, 4.4vw, 50px) !important;
  border-radius: clamp(24px, 3.6vw, 42px) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,251,255,.94)) !important;
  border: 1px solid rgba(176, 207, 244, .86) !important;
  box-shadow: 0 24px 62px rgba(18, 52, 109, .10) !important;
}

body.second-page-clean .simple-subpage-wrap::before,
body.second-page-clean .simple-inner-wrap::before,
body.second-page-clean .contact-page > .container::before,
body.second-page-clean .shop-hub-wrap::before,
body.second-page-clean .talent-page-lineup-section > .container::before,
body.second-page-clean .school-main-wrap::before,
body.second-page-clean .school-teacher-wrap::before,
body.second-page-clean .news-detail-section > .container::before,
body.second-page-clean .release-detail-hero > .container::before {
  content: "" !important;
  position: absolute !important;
  inset: 14px !important;
  border: 2px solid rgba(255, 74, 160, .16) !important;
  border-radius: clamp(18px, 3vw, 34px) !important;
  pointer-events: none !important;
}

body.second-page-clean .simple-subpage-heading,
body.second-page-clean .simple-inner-heading,
body.second-page-clean .section-heading.center,
body.second-page-clean .contact-heading,
body.second-page-clean .school-main-heading,
body.second-page-clean .school-teacher-heading,
body.second-page-clean .shop-hub-hero-copy,
body.second-page-clean .news-detail-hero-copy,
body.second-page-clean .release-detail-copy {
  text-align: center !important;
  max-width: 840px !important;
  margin: 0 auto clamp(24px, 4vw, 42px) !important;
}

body.second-page-clean .eyebrow,
body.second-page-clean .simple-info-label {
  color: #2257d6 !important;
  font-weight: 900 !important;
  letter-spacing: .17em !important;
  line-height: 1.3 !important;
}

body.second-page-clean h1,
body.second-page-clean .simple-subpage-heading h1,
body.second-page-clean .simple-inner-heading h1,
body.second-page-clean .contact-heading h1,
body.second-page-clean .school-main-heading h1,
body.second-page-clean .school-teacher-heading h1,
body.second-page-clean .section-heading.center h1,
body.second-page-clean .shop-hub-hero-copy h1,
body.second-page-clean .news-detail-hero-copy h1,
body.second-page-clean .release-detail-copy h1 {
  color: #12346d !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: clamp(34px, 5vw, 60px) !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: .03em !important;
  margin: 0 0 14px !important;
}

body.second-page-clean h2,
body.second-page-clean .simple-info-card h2,
body.second-page-clean .shop-hub-note h2,
body.second-page-clean .shop-branch-card h2,
body.second-page-clean .shop-item-card h2 {
  color: #12346d !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
}

body.second-page-clean p,
body.second-page-clean li,
body.second-page-clean dd,
body.second-page-clean .simple-subpage-note,
body.second-page-clean .simple-inner-heading p:last-child,
body.second-page-clean .section-lead,
body.second-page-clean .contact-heading p:last-child {
  color: #263d70 !important;
  font-weight: 400 !important;
  line-height: 1.88 !important;
  letter-spacing: .02em !important;
}

body.second-page-clean .simple-subpage-note,
body.second-page-clean .simple-inner-heading p:last-child,
body.second-page-clean .section-lead,
body.second-page-clean .section-heading.center p:not(.eyebrow) {
  font-size: clamp(15px, 1.8vw, 18px) !important;
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.second-page-clean .simple-info-card,
body.second-page-clean .contact-panel,
body.second-page-clean .company-panel,
body.second-page-clean .talent-page-lineup-panel,
body.second-page-clean .shop-hub-hero,
body.second-page-clean .shop-hub-note,
body.second-page-clean .teacher-profile-card,
body.second-page-clean .audition-recruit-content,
body.second-page-clean .external-form-frame-wrap,
body.second-page-clean .news-detail-body,
body.second-page-clean .release-detail-list,
body.second-page-clean .movie-embed-card,
body.second-page-clean .audition-top-banner-card {
  border-radius: 28px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21, 49, 168, .10) !important;
  box-shadow: 0 16px 38px rgba(18, 52, 109, .08) !important;
}

body.second-page-clean .simple-info-card,
body.second-page-clean .contact-panel,
body.second-page-clean .company-panel,
body.second-page-clean .shop-hub-note,
body.second-page-clean .teacher-profile-card,
body.second-page-clean .news-detail-body {
  padding: clamp(22px, 3vw, 34px) !important;
}

body.second-page-clean .simple-main-card,
body.second-page-clean .audition-serious-message {
  text-align: center !important;
  background: linear-gradient(135deg, #fff8fb, #f3f8ff) !important;
  border: 1px solid rgba(255, 74, 160, .16) !important;
}

body.second-page-clean .simple-info-grid,
body.second-page-clean .simple-two-column,
body.second-page-clean .simple-three-column,
body.second-page-clean .shop-branch-grid,
body.second-page-clean .shop-item-grid {
  gap: clamp(18px, 2.6vw, 28px) !important;
}

body.second-page-clean .simple-info-card p:last-child,
body.second-page-clean .simple-info-card li:last-child {
  margin-bottom: 0 !important;
}

body.second-page-clean .simple-list,
body.second-page-clean .simple-info-card ul:not(.sns-list),
body.second-page-clean .contact-panel ul,
body.second-page-clean .news-detail-body ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  display: grid !important;
  gap: 10px !important;
}

body.second-page-clean .simple-list li,
body.second-page-clean .simple-info-card ul:not(.sns-list) li,
body.second-page-clean .contact-panel ul li,
body.second-page-clean .news-detail-body ul li {
  position: relative !important;
  padding: 12px 14px 12px 38px !important;
  border-radius: 16px !important;
  background: #f8fbff !important;
  border: 1px solid rgba(21,49,168,.08) !important;
}

body.second-page-clean .simple-list li::before,
body.second-page-clean .simple-info-card ul:not(.sns-list) li::before,
body.second-page-clean .contact-panel ul li::before,
body.second-page-clean .news-detail-body ul li::before {
  content: "" !important;
  position: absolute !important;
  left: 17px !important;
  top: 1.62em !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #ff4aa0 !important;
  box-shadow: 0 0 0 4px rgba(255,74,160,.12) !important;
}

body.second-page-clean .simple-info-list {
  max-width: 860px !important;
}

body.second-page-clean .simple-info-list div,
body.second-page-clean .company-profile-list dl > div,
body.second-page-clean .contact-info-list div {
  border-top: 1px solid rgba(21,49,168,.10) !important;
}

body.second-page-clean .simple-photo-card,
body.second-page-clean .jewl-shop-photo,
body.second-page-clean .school-uploaded-banner,
body.second-page-clean .featured-banner-card,
body.second-page-clean .shop-branch-card,
body.second-page-clean .shop-item-card,
body.second-page-clean .release-detail-image {
  border-radius: 26px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,49,168,.10) !important;
  box-shadow: 0 16px 38px rgba(18,52,109,.09) !important;
}

body.second-page-clean .simple-photo-card img,
body.second-page-clean .jewl-shop-photo img,
body.second-page-clean .school-uploaded-banner img,
body.second-page-clean .featured-banner-card img,
body.second-page-clean .shop-item-card img,
body.second-page-clean .release-detail-image img {
  border-radius: 18px !important;
}

body.second-page-clean .button.primary,
body.second-page-clean a.button.primary {
  background: linear-gradient(135deg, #ff4aa0, #ff8a00) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(255, 74, 160, .22) !important;
}

body.second-page-clean .button.secondary,
body.second-page-clean a.button.secondary {
  background: #ffffff !important;
  color: #12346d !important;
  border: 1px solid rgba(21,49,168,.16) !important;
  box-shadow: 0 10px 24px rgba(18,52,109,.08) !important;
}

body.second-page-clean .external-form-frame-wrap iframe {
  background: #ffffff !important;
}

body.second-page-clean .audition-recruit-content {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.second-page-clean .school-uploaded-banners {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.second-page-clean .school-uploaded-banner img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

body.second-page-clean .shop-hub-hero-text-only,
body.second-page-clean .shop-hub-hero-text-only .shop-hub-hero-copy {
  max-width: 880px !important;
}

@media (max-width: 900px) {
  body.second-page-clean .simple-subpage-wrap,
  body.second-page-clean .simple-inner-wrap,
  body.second-page-clean .contact-page > .container,
  body.second-page-clean .shop-hub-wrap,
  body.second-page-clean .talent-page-lineup-section > .container,
  body.second-page-clean .school-main-wrap,
  body.second-page-clean .school-teacher-wrap,
  body.second-page-clean .section > .container,
  body.second-page-clean .news-detail-section > .container,
  body.second-page-clean .release-detail-hero > .container {
    width: min(100% - 24px, 1180px) !important;
  }

  body.second-page-clean .school-uploaded-banners,
  body.second-page-clean .simple-info-grid,
  body.second-page-clean .simple-two-column,
  body.second-page-clean .simple-three-column {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  body.second-page-clean main > .section,
  body.second-page-clean .simple-subpage-section,
  body.second-page-clean .simple-inner-page,
  body.second-page-clean .contact-page,
  body.second-page-clean .shop-hub-section,
  body.second-page-clean .talent-page-lineup-section,
  body.second-page-clean .school-main-section,
  body.second-page-clean .school-teacher-page {
    padding-top: 32px !important;
    padding-bottom: 48px !important;
  }

  body.second-page-clean .simple-subpage-wrap,
  body.second-page-clean .simple-inner-wrap,
  body.second-page-clean .contact-page > .container,
  body.second-page-clean .shop-hub-wrap,
  body.second-page-clean .talent-page-lineup-section > .container,
  body.second-page-clean .school-main-wrap,
  body.second-page-clean .school-teacher-wrap,
  body.second-page-clean .section > .container {
    padding: 22px 18px !important;
    border-radius: 24px !important;
  }

  body.second-page-clean .simple-subpage-wrap::before,
  body.second-page-clean .simple-inner-wrap::before,
  body.second-page-clean .contact-page > .container::before,
  body.second-page-clean .shop-hub-wrap::before,
  body.second-page-clean .talent-page-lineup-section > .container::before,
  body.second-page-clean .school-main-wrap::before,
  body.second-page-clean .school-teacher-wrap::before {
    inset: 10px !important;
    border-radius: 18px !important;
  }
}

/* =========================================================
  UPDATE v61: 第二階層の大枠線を削除
  - 各ページ上部に出ていた青・ピンクの囲み枠を非表示
  - 中のカードやボタンのデザインはそのまま維持
========================================================= */
body.second-page-clean .simple-subpage-wrap,
body.second-page-clean .simple-inner-wrap,
body.second-page-clean .contact-page > .container,
body.second-page-clean .shop-hub-wrap,
body.second-page-clean .talent-page-lineup-section > .container,
body.second-page-clean .school-main-wrap,
body.second-page-clean .school-teacher-wrap,
body.second-page-clean .section > .container,
body.second-page-clean .news-detail-section > .container,
body.second-page-clean .release-detail-hero > .container {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.second-page-clean .simple-subpage-wrap::before,
body.second-page-clean .simple-inner-wrap::before,
body.second-page-clean .contact-page > .container::before,
body.second-page-clean .shop-hub-wrap::before,
body.second-page-clean .talent-page-lineup-section > .container::before,
body.second-page-clean .school-main-wrap::before,
body.second-page-clean .school-teacher-wrap::before,
body.second-page-clean .news-detail-section > .container::before,
body.second-page-clean .release-detail-hero > .container::before {
  content: none !important;
  display: none !important;
  border: 0 !important;
}

/* =========================================================
  UPDATE v62: lsm-talent.html タレントスライダーを青×紫グラデーションに変更
  - 黄色〜クリーム系のカード色を廃止
  - 第二階層のきれいめトーンに合わせて、青〜紫の透明感ある配色へ
========================================================= */
body.second-page-clean .talent-page-lineup-section .talent-page-lineup-panel {
  background:
    radial-gradient(circle at 10% 18%, rgba(74, 190, 255, .38), transparent 34%),
    radial-gradient(circle at 86% 10%, rgba(190, 132, 255, .36), transparent 34%),
    radial-gradient(circle at 50% 110%, rgba(255, 255, 255, .20), transparent 42%),
    linear-gradient(135deg, #1f7eea 0%, #4b6fe8 45%, #8a5bea 100%) !important;
  border: 1px solid rgba(205, 222, 255, .72) !important;
  box-shadow: 0 22px 52px rgba(54, 85, 190, .22) !important;
}

body.second-page-clean .talent-page-lineup-section .hero-lineup-v2 {
  border-top: 1px solid rgba(255, 255, 255, .22) !important;
}

body.second-page-clean .talent-page-lineup-section .hero-lineup-card-v2,
body.second-page-clean .talent-page-lineup-section .hero-lineup-card-v2.is-pickup {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .30), rgba(255, 255, 255, .12)),
    linear-gradient(135deg, rgba(70, 157, 242, .62), rgba(146, 95, 234, .64)) !important;
  border: 1px solid rgba(225, 236, 255, .48) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 32px rgba(22, 34, 120, .20) !important;
  backdrop-filter: blur(10px) !important;
}

body.second-page-clean .talent-page-lineup-section .hero-lineup-card-v2:hover,
body.second-page-clean .talent-page-lineup-section .hero-lineup-card-v2:focus {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .40), rgba(255, 255, 255, .18)),
    linear-gradient(135deg, rgba(52, 166, 245, .72), rgba(168, 105, 244, .72)) !important;
  border-color: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 18px 40px rgba(22, 34, 120, .28) !important;
}

body.second-page-clean .talent-page-lineup-section .hero-lineup-card-v2 strong {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(12, 24, 80, .22) !important;
}

body.second-page-clean .talent-page-lineup-section .hero-lineup-card-v2 img {
  border-color: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 10px 24px rgba(21, 40, 116, .28) !important;
}

/* =========================================================
  UPDATE v63: 第二階層・第三階層のタイトルを上品に調整
  - 日本語は明朝にせず、細めのゴシック＋字間広め
  - 英字の小見出しのみセリフ体寄りで品を追加
========================================================= */
body.second-page-clean .simple-subpage-heading,
body.second-page-clean .simple-inner-heading,
body.second-page-clean .section-heading.center,
body.second-page-clean .contact-heading,
body.second-page-clean .school-main-heading,
body.second-page-clean .school-teacher-heading,
body.second-page-clean .shop-hub-hero-copy,
body.second-page-clean .news-detail-hero-copy,
body.second-page-clean .release-detail-copy {
  text-align: center !important;
}

body.second-page-clean .simple-subpage-heading > .eyebrow,
body.second-page-clean .simple-inner-heading > .eyebrow,
body.second-page-clean .section-heading.center > .eyebrow,
body.second-page-clean .contact-heading > .eyebrow,
body.second-page-clean .school-main-heading > .eyebrow,
body.second-page-clean .school-teacher-heading > .eyebrow,
body.second-page-clean .shop-hub-hero-copy > .eyebrow,
body.second-page-clean .news-detail-hero-copy > .eyebrow,
body.second-page-clean .release-detail-copy > .eyebrow {
  font-family: "Playfair Display", "Times New Roman", "Noto Sans JP", sans-serif !important;
  font-size: clamp(12px, 1.3vw, 15px) !important;
  font-weight: 700 !important;
  letter-spacing: .26em !important;
  line-height: 1.35 !important;
  color: #e95aa6 !important;
  text-align: center !important;
  margin-bottom: 10px !important;
}

body.second-page-clean .simple-subpage-heading h1,
body.second-page-clean .simple-inner-heading h1,
body.second-page-clean .contact-heading h1,
body.second-page-clean .school-main-heading h1,
body.second-page-clean .school-teacher-heading h1,
body.second-page-clean .section-heading.center h1,
body.second-page-clean .shop-hub-hero-copy h1,
body.second-page-clean .news-detail-hero-copy h1,
body.second-page-clean .release-detail-copy h1 {
  font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-align: center !important;
  line-height: 1.34 !important;
  color: #12346d !important;
}

/* =========================================================
  UPDATE v64: 第二階層以降のヘッダーMENUをTOPと同じ太さに戻す
  - second-page-clean の li { font-weight:400 } に負けないように上書き
========================================================= */
body.second-page-clean .site-header .global-nav ul,
body.second-page-clean .site-header .global-nav li,
body.second-page-clean .site-header .global-nav a,
body.second-page-clean .site-header .global-nav .dropdown-parent,
body.second-page-clean .site-header .global-nav-shop-link {
  font-weight: 800 !important;
}

body.second-page-clean .site-header .global-nav-shop-link {
  font-weight: 900 !important;
}

/* =========================================================
  UPDATE v65: TOPのタレント横スライダーも青×紫グラデーションに統一
  - lsm-talent.html側とトーンを合わせつつ、TOP背景に埋もれない明るさに調整
========================================================= */
body:not(.second-page-clean) .hero-lineup-v2 {
  background:
    radial-gradient(circle at 10% 18%, rgba(86, 198, 255, .34), transparent 34%),
    radial-gradient(circle at 88% 10%, rgba(190, 132, 255, .30), transparent 34%),
    linear-gradient(135deg, rgba(31, 126, 234, .82) 0%, rgba(75, 111, 232, .78) 46%, rgba(138, 91, 234, .82) 100%) !important;
  border: 1px solid rgba(210, 226, 255, .56) !important;
  box-shadow: 0 22px 52px rgba(28, 54, 145, .22) !important;
}

body:not(.second-page-clean) .hero-lineup-card-v2,
body:not(.second-page-clean) .hero-lineup-card-v2.is-pickup {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .34), rgba(255, 255, 255, .14)),
    linear-gradient(135deg, rgba(70, 157, 242, .58), rgba(146, 95, 234, .58)) !important;
  border: 1px solid rgba(232, 240, 255, .48) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 32px rgba(22, 34, 120, .18) !important;
  backdrop-filter: blur(10px) !important;
}

body:not(.second-page-clean) .hero-lineup-card-v2:hover,
body:not(.second-page-clean) .hero-lineup-card-v2:focus {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .44), rgba(255, 255, 255, .20)),
    linear-gradient(135deg, rgba(52, 166, 245, .70), rgba(168, 105, 244, .70)) !important;
  border-color: rgba(255, 255, 255, .72) !important;
}

body:not(.second-page-clean) .hero-lineup-card-v2 strong {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(12, 24, 80, .24) !important;
}

/* =========================================================
  UPDATE v66: 第二階層・第三階層のヘッダー下余白を少し詰める
  - ヘッダーから英字タイトルまでが遠く見えないよう調整
========================================================= */
body.second-page-clean main > .section,
body.second-page-clean .simple-subpage-section,
body.second-page-clean .simple-inner-page,
body.second-page-clean .contact-page,
body.second-page-clean .shop-hub-section,
body.second-page-clean .talent-page-lineup-section,
body.second-page-clean .school-main-section,
body.second-page-clean .school-teacher-page,
body.second-page-clean .news-detail-hero,
body.second-page-clean .release-detail-hero {
  padding-top: clamp(28px, 4vw, 48px) !important;
}

@media (max-width: 560px) {
  body.second-page-clean main > .section,
  body.second-page-clean .simple-subpage-section,
  body.second-page-clean .simple-inner-page,
  body.second-page-clean .contact-page,
  body.second-page-clean .shop-hub-section,
  body.second-page-clean .talent-page-lineup-section,
  body.second-page-clean .school-main-section,
  body.second-page-clean .school-teacher-page {
    padding-top: 24px !important;
  }
}

/* =========================================================
  UPDATE v67: lsm-ginza.html 作曲家・制作者プロフィールの再設計
  - 人物写真の下にプロフィールを配置
  - 太すぎるBOLDを抑え、品のある読み物カードに調整
========================================================= */
body.second-page-clean .ginza-logo-strip {
  display: flex !important;
  justify-content: center !important;
  margin: clamp(18px, 3vw, 30px) 0 clamp(24px, 3.8vw, 40px) !important;
}

body.second-page-clean .ginza-logo-card {
  width: min(100%, 360px) !important;
  margin: 0 auto !important;
  padding: 18px !important;
}

body.second-page-clean .ginza-logo-card img {
  width: 100% !important;
  height: 230px !important;
  object-fit: contain !important;
  background: #fff !important;
}

body.second-page-clean .ginza-profile-area {
  margin-top: clamp(18px, 3vw, 34px) !important;
}

body.second-page-clean .ginza-profile-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3vw, 32px) !important;
  align-items: stretch !important;
}

body.second-page-clean .ginza-profile-card {
  display: flex !important;
  flex-direction: column !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,255,.96)) !important;
  border: 1px solid rgba(21, 49, 168, .10) !important;
  border-radius: 28px !important;
  box-shadow: 0 16px 38px rgba(18, 52, 109, .08) !important;
  padding: clamp(18px, 2.8vw, 28px) !important;
  overflow: hidden !important;
}

body.second-page-clean .ginza-profile-photo {
  margin: 0 0 clamp(18px, 2.4vw, 24px) !important;
}

body.second-page-clean .ginza-profile-photo img {
  width: 100% !important;
  height: clamp(210px, 22vw, 280px) !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 22px !important;
  border: 1px solid rgba(21,49,168,.08) !important;
  box-shadow: 0 12px 28px rgba(18,52,109,.10) !important;
  background: #ffffff !important;
}

body.second-page-clean .ginza-profile-photo figcaption {
  text-align: center !important;
  margin-top: 16px !important;
}

body.second-page-clean .ginza-profile-role {
  display: block !important;
  margin-bottom: 7px !important;
  font-family: "Playfair Display", "Times New Roman", serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .24em !important;
  color: #e95aa6 !important;
  line-height: 1.3 !important;
}

body.second-page-clean .ginza-profile-photo figcaption strong {
  display: block !important;
  color: #12346d !important;
  font-size: clamp(22px, 2.4vw, 30px) !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  line-height: 1.35 !important;
}

body.second-page-clean .ginza-profile-body h2,
body.second-page-clean .ginza-story-detail-card h2 {
  color: #12346d !important;
  font-size: clamp(22px, 2.4vw, 30px) !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  line-height: 1.45 !important;
  margin: 0 0 16px !important;
}

body.second-page-clean .ginza-profile-body p,
body.second-page-clean .ginza-story-detail-card p {
  color: #263d70 !important;
  font-size: clamp(15px, 1.55vw, 16px) !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
  line-height: 1.95 !important;
  margin: 0 0 1.05em !important;
}

body.second-page-clean .ginza-story-detail-card {
  margin-top: clamp(22px, 3.6vw, 38px) !important;
  padding: clamp(22px, 3vw, 34px) !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, rgba(255,248,252,.98), rgba(243,248,255,.98)) !important;
  border: 1px solid rgba(255, 74, 160, .16) !important;
  box-shadow: 0 16px 38px rgba(18, 52, 109, .08) !important;
}

body.second-page-clean .ginza-story-detail-card .eyebrow {
  font-family: "Playfair Display", "Times New Roman", serif !important;
  color: #e95aa6 !important;
  font-weight: 700 !important;
  letter-spacing: .24em !important;
}

@media (max-width: 820px) {
  body.second-page-clean .ginza-profile-grid {
    grid-template-columns: 1fr !important;
  }

  body.second-page-clean .ginza-profile-photo img {
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}


/* =========================================================
  UPDATE v68: Rili. らぶちぃ’s 既存フォーム埋め込みページ
  - lsm-ginza.htmlの購入導線から新規ページへ遷移
  - 既存フォームをiframeで読み込み、表示不可時の外部リンクも用意
========================================================= */
body.second-page-clean.rili-lovechii-page .rili-lovechii-section {
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 109, 183, .10), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(74, 164, 245, .12), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 56%, #fbf8ff 100%) !important;
}

body.second-page-clean .rili-lovechii-wrap {
  max-width: 1120px !important;
}

body.second-page-clean .rili-lovechii-hero-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr) !important;
  gap: clamp(20px, 3vw, 34px) !important;
  align-items: stretch !important;
  margin: clamp(20px, 3vw, 34px) 0 !important;
}

body.second-page-clean .rili-lovechii-hero-copy,
body.second-page-clean .rili-lovechii-flow-card,
body.second-page-clean .rili-lovechii-form-area {
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(30, 72, 158, .10) !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 42px rgba(24, 58, 132, .08) !important;
}

body.second-page-clean .rili-lovechii-hero-copy {
  padding: clamp(24px, 3.5vw, 42px) !important;
}

body.second-page-clean .rili-lovechii-hero-copy h2,
body.second-page-clean .rili-lovechii-form-heading h2 {
  color: #12346d !important;
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  line-height: 1.45 !important;
  margin: 0 0 16px !important;
}

body.second-page-clean .rili-lovechii-hero-copy p,
body.second-page-clean .rili-lovechii-form-heading p,
body.second-page-clean .rili-lovechii-form-actions p {
  color: #263d70 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
  line-height: 1.95 !important;
  margin: 0 0 1.05em !important;
}

body.second-page-clean .rili-lovechii-flow-card {
  padding: clamp(22px, 3vw, 32px) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,250,255,.96)),
    linear-gradient(135deg, rgba(255,101,173,.12), rgba(60,153,245,.12)) !important;
}

body.second-page-clean .rili-lovechii-flow-card h3 {
  color: #12346d !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: .10em !important;
  margin: 0 0 18px !important;
}

body.second-page-clean .rili-lovechii-flow-card ol {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 14px !important;
}

body.second-page-clean .rili-lovechii-flow-card li {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: #263d70 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

body.second-page-clean .rili-lovechii-flow-card li span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  color: #fff !important;
  font-family: "Playfair Display", "Times New Roman", serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  background: linear-gradient(135deg, #2e8af0, #a45cf2) !important;
  box-shadow: 0 10px 22px rgba(48, 96, 200, .20) !important;
}

body.second-page-clean .rili-lovechii-form-area {
  padding: clamp(22px, 3.5vw, 38px) !important;
  margin-top: clamp(22px, 3vw, 34px) !important;
}

body.second-page-clean .rili-lovechii-form-heading {
  text-align: center !important;
  margin-bottom: clamp(18px, 2.6vw, 28px) !important;
}

body.second-page-clean .form-embed-wrap {
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(30, 72, 158, .12) !important;
  box-shadow: 0 18px 45px rgba(34, 72, 140, .12) !important;
}

body.second-page-clean .form-embed-wrap iframe {
  width: 100% !important;
  height: 920px !important;
  border: 0 !important;
  display: block !important;
  background: #ffffff !important;
}

body.second-page-clean .rili-lovechii-form-actions {
  text-align: center !important;
  margin-top: clamp(20px, 3vw, 30px) !important;
}

body.second-page-clean .rili-lovechii-form-actions .button {
  margin: 6px 8px !important;
}

@media (max-width: 820px) {
  body.second-page-clean .rili-lovechii-hero-card {
    grid-template-columns: 1fr !important;
  }

  body.second-page-clean .form-embed-wrap iframe {
    height: 980px !important;
  }
}

@media (max-width: 560px) {
  body.second-page-clean .rili-lovechii-hero-copy,
  body.second-page-clean .rili-lovechii-flow-card,
  body.second-page-clean .rili-lovechii-form-area {
    border-radius: 22px !important;
  }

  body.second-page-clean .form-embed-wrap {
    border-radius: 18px !important;
  }

  body.second-page-clean .form-embed-wrap iframe {
    height: 1040px !important;
  }
}

/* =========================================================
  UPDATE v69: lsm-ginza.html 関連ロゴの2列カード化 & lsm-audition.html メッセージバナー再設計
  - 関連ロゴは1枚縦長表示から2列の白カードへ
  - オーディションの強いオレンジバナーを青紫系グラデーション＋白文字へ変更
========================================================= */
body.second-page-clean .ginza-sponsor-section {
  margin: clamp(24px, 3.6vw, 44px) 0 clamp(30px, 4.2vw, 52px) !important;
  padding: clamp(24px, 3.4vw, 38px) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 10% 15%, rgba(255, 112, 186, .08), transparent 34%),
    radial-gradient(circle at 90% 10%, rgba(82, 159, 246, .10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,255,.96)) !important;
  border: 1px solid rgba(21, 49, 168, .09) !important;
  box-shadow: 0 16px 38px rgba(18, 52, 109, .07) !important;
}

body.second-page-clean .ginza-sponsor-heading {
  text-align: center !important;
  margin: 0 auto clamp(18px, 2.8vw, 28px) !important;
}

body.second-page-clean .ginza-sponsor-heading h2 {
  color: #12346d !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 600 !important;
  letter-spacing: .10em !important;
  line-height: 1.45 !important;
  margin: 0 0 10px !important;
}

body.second-page-clean .ginza-sponsor-heading p:not(.eyebrow) {
  color: #526b9f !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: .03em !important;
  line-height: 1.8 !important;
  margin: 0 auto !important;
  max-width: 660px !important;
}

body.second-page-clean .ginza-sponsor-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(14px, 2vw, 20px) !important;
  max-width: 760px !important;
  margin: 0 auto !important;
}

body.second-page-clean .ginza-sponsor-card {
  margin: 0 !important;
  min-height: 154px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px 16px 16px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(21, 49, 168, .09) !important;
  box-shadow: 0 12px 28px rgba(18, 52, 109, .07) !important;
}

body.second-page-clean .ginza-sponsor-card img {
  width: min(100%, 240px) !important;
  height: 82px !important;
  display: block !important;
  object-fit: contain !important;
}

body.second-page-clean .ginza-sponsor-card figcaption {
  margin-top: 8px !important;
  color: #163b78 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  line-height: 1.4 !important;
}

body.second-page-clean .audition-chance-card {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(36px, 5vw, 54px) clamp(24px, 4vw, 46px) !important;
  color: #ffffff !important;
  border: 0 !important;
  background:
    radial-gradient(circle at 14% 20%, rgba(255,255,255,.30), transparent 26%),
    radial-gradient(circle at 86% 76%, rgba(255,255,255,.20), transparent 30%),
    linear-gradient(135deg, #2f73d8 0%, #6f5be8 50%, #ec6da8 100%) !important;
  box-shadow: 0 22px 48px rgba(70, 91, 200, .22) !important;
}

body.second-page-clean .audition-chance-card::before,
body.second-page-clean .audition-chance-card::after {
  content: "" !important;
  position: absolute !important;
  width: 180px !important;
  height: 180px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  pointer-events: none !important;
}

body.second-page-clean .audition-chance-card::before {
  left: -74px !important;
  top: -82px !important;
}

body.second-page-clean .audition-chance-card::after {
  right: -68px !important;
  bottom: -88px !important;
}

body.second-page-clean .audition-chance-card p,
body.second-page-clean .audition-chance-card h2 {
  position: relative !important;
  z-index: 1 !important;
  color: #ffffff !important;
  text-shadow: 0 1px 10px rgba(20, 33, 88, .12) !important;
}

body.second-page-clean .audition-chance-card p {
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  line-height: 1.7 !important;
  opacity: .94 !important;
}

body.second-page-clean .audition-chance-card h2 {
  margin: 10px 0 12px !important;
  font-size: clamp(30px, 4.2vw, 48px) !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  line-height: 1.38 !important;
}

@media (max-width: 720px) {
  body.second-page-clean .ginza-sponsor-grid {
    grid-template-columns: 1fr !important;
  }

  body.second-page-clean .ginza-sponsor-card {
    min-height: 142px !important;
  }
}


/* =========================================================
  UPDATE v70: lsm-ginza.html スポンサー表示をコンパクト化
  - 「関連ロゴ」説明文を削除し、見出しを「スポンサー」のみに変更
  - カードサイズと余白を抑え、上品な一覧表示へ調整
========================================================= */
body.second-page-clean .ginza-sponsor-section {
  margin: clamp(18px, 3vw, 34px) 0 clamp(24px, 4vw, 42px) !important;
  padding: clamp(18px, 2.8vw, 28px) !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 30px rgba(18, 52, 109, .055) !important;
}

body.second-page-clean .ginza-sponsor-heading {
  margin: 0 auto clamp(14px, 2vw, 20px) !important;
}

body.second-page-clean .ginza-sponsor-heading h2 {
  font-size: clamp(22px, 2.6vw, 28px) !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  margin: 0 !important;
}

body.second-page-clean .ginza-sponsor-heading .eyebrow,
body.second-page-clean .ginza-sponsor-heading p:not(.eyebrow) {
  display: none !important;
}

body.second-page-clean .ginza-sponsor-grid {
  max-width: 620px !important;
  gap: clamp(10px, 1.6vw, 14px) !important;
}

body.second-page-clean .ginza-sponsor-card {
  min-height: 104px !important;
  padding: 12px 14px 11px !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 20px rgba(18, 52, 109, .055) !important;
}

body.second-page-clean .ginza-sponsor-card img {
  width: min(100%, 170px) !important;
  height: 48px !important;
}

body.second-page-clean .ginza-sponsor-card figcaption {
  margin-top: 6px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
}

@media (max-width: 720px) {
  body.second-page-clean .ginza-sponsor-section {
    padding: 18px !important;
  }

  body.second-page-clean .ginza-sponsor-card {
    min-height: 96px !important;
  }
}

/* =========================================================
  UPDATE v71: lsm-audition.html FVにジャンルカードを追加
  - 大きいFVバナーはそのまま活かし、直下に募集ジャンルを明確化
  - ARTIST / IDOL / ACTOR / MODEL をカードで表示
========================================================= */
body.second-page-clean .audition-fv-banner-block {
  margin: 0 auto clamp(20px, 3vw, 30px) !important;
  max-width: 1160px !important;
}

body.second-page-clean .audition-fv-banner-card,
body.second-page-clean .audition-top-banner-card.audition-fv-banner-card {
  border-radius: clamp(22px, 2.8vw, 34px) !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(255, 96, 174, .18) !important;
  box-shadow: 0 18px 42px rgba(38, 88, 166, .12) !important;
}

body.second-page-clean .audition-fv-banner-card img {
  display: block !important;
  width: 100% !important;
  height: clamp(245px, 28vw, 360px) !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.second-page-clean .audition-genre-hero {
  position: relative !important;
  overflow: hidden !important;
  max-width: 1160px !important;
  margin: 0 auto clamp(30px, 4.2vw, 48px) !important;
  padding: clamp(34px, 4.2vw, 56px) clamp(22px, 4vw, 46px) clamp(28px, 3.8vw, 46px) !important;
  border-radius: clamp(26px, 3.2vw, 40px) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 103, 183, .08), transparent 34%),
    radial-gradient(circle at 94% 12%, rgba(77, 178, 255, .11), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,253,.94)) !important;
  border: 2px solid rgba(255, 128, 195, .34) !important;
  box-shadow: 0 18px 44px rgba(34, 72, 140, .08) !important;
}

body.second-page-clean .audition-genre-hero::before {
  content: "" !important;
  position: absolute !important;
  left: 12%;
  top: -18px;
  width: 76px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff4f9d, #ff9b2e) !important;
  opacity: .72;
}

body.second-page-clean .audition-genre-hero .eyebrow {
  color: #f23b98 !important;
  margin-bottom: 14px !important;
}

body.second-page-clean .audition-genre-hero h1 {
  font-size: clamp(42px, 6vw, 68px) !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  color: #12346d !important;
  margin-bottom: clamp(14px, 2vw, 20px) !important;
  text-shadow: 6px 6px 0 rgba(255, 213, 60, .45) !important;
}

body.second-page-clean .audition-genre-lead {
  max-width: 800px !important;
  color: #263d70 !important;
  font-size: clamp(15px, 1.75vw, 18px) !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
  margin-bottom: clamp(24px, 3.2vw, 34px) !important;
}

body.second-page-clean .audition-genre-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(14px, 2vw, 20px) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

body.second-page-clean .audition-genre-card {
  position: relative !important;
  min-height: 126px !important;
  padding: 26px 18px 22px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.84) !important;
  border: 2px solid rgba(255, 128, 195, .38) !important;
  box-shadow: 0 12px 26px rgba(36, 73, 145, .06) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body.second-page-clean .audition-genre-card::before {
  content: "" !important;
  position: absolute !important;
  top: -2px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 74px !important;
  height: 8px !important;
  border-radius: 0 0 999px 999px !important;
  background: linear-gradient(90deg, #ff3f97, #ff963a) !important;
}

body.second-page-clean .audition-genre-card::after {
  content: "✦" !important;
  position: absolute !important;
  right: 18px !important;
  top: 17px !important;
  color: #ffb423 !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

body.second-page-clean .audition-genre-en {
  display: block !important;
  color: #f23b98 !important;
  font-size: clamp(22px, 2.8vw, 30px) !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1.2 !important;
  margin-bottom: 10px !important;
}

body.second-page-clean .audition-genre-ja {
  display: block !important;
  color: #1671df !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  line-height: 1.45 !important;
}

@media (max-width: 920px) {
  body.second-page-clean .audition-genre-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  body.second-page-clean .audition-fv-banner-card img {
    height: 220px !important;
  }

  body.second-page-clean .audition-genre-hero h1 {
    letter-spacing: .06em !important;
    text-shadow: 4px 4px 0 rgba(255, 213, 60, .42) !important;
  }

  body.second-page-clean .audition-genre-grid {
    grid-template-columns: 1fr !important;
  }

  body.second-page-clean .audition-genre-card {
    min-height: 104px !important;
  }
}

/* =========================================================
  UPDATE: School class text under banners
  バナー直下にクラス説明を配置。囲みカードは使わず文字だけで整理。
========================================================= */
.school-class-overview-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 34px !important;
  align-items: start !important;
  margin: 30px auto 24px !important;
}

.school-class-overview {
  min-width: 0 !important;
}

.school-class-overview .school-uploaded-banner {
  margin: 0 0 24px !important;
}

.school-class-text-block {
  padding: 0 10px 4px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.school-class-label {
  margin: 0 0 12px !important;
  color: #2257d6 !important;
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  line-height: 1 !important;
}

.school-class-text-block h2 {
  margin: 0 0 16px !important;
  color: #12346d !important;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic", "游ゴシック", sans-serif !important;
  font-size: clamp(28px, 3.4vw, 42px) !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  line-height: 1.32 !important;
}

.school-class-text-block p:not(.school-class-label) {
  margin: 0 !important;
  color: #263f74 !important;
  font-size: 15.5px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  line-height: 2.05 !important;
}

.school-class-text-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 18px !important;
  color: #2257d6 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
}

.school-class-text-link::after {
  content: "→" !important;
  font-size: 14px !important;
  transform: translateY(-1px) !important;
}

.school-class-text-link:hover,
.school-class-text-link:focus-visible {
  color: #f05aa7 !important;
  text-decoration: underline !important;
  text-underline-offset: 5px !important;
}

@media (max-width: 900px) {
  .school-class-overview-grid {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
}

@media (max-width: 640px) {
  .school-class-overview-grid {
    margin-top: 22px !important;
    gap: 32px !important;
  }
  .school-class-overview .school-uploaded-banner {
    margin-bottom: 18px !important;
  }
  .school-class-text-block {
    padding-inline: 2px !important;
  }
  .school-class-text-block p:not(.school-class-label) {
    font-size: 14.5px !important;
    line-height: 1.9 !important;
  }
}

/* =========================================================
  UPDATE v70: lsm-contact.html refined layout
  お問合せページを第二階層トーンに合わせて美しく整理
========================================================= */
body.contact-page-clean main {
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 74, 160, .10), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(74, 190, 255, .12), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
}

body.contact-page-clean .contact-refined-page {
  padding-top: clamp(34px, 4vw, 56px) !important;
  padding-bottom: clamp(64px, 8vw, 104px) !important;
  background: transparent !important;
}

body.contact-page-clean .contact-refined-wrap {
  width: min(1160px, calc(100% - 36px)) !important;
  margin: 0 auto !important;
}

body.contact-page-clean .contact-refined-heading {
  text-align: center !important;
  max-width: 840px !important;
  margin: 0 auto clamp(28px, 4vw, 48px) !important;
}

body.contact-page-clean .contact-refined-heading .eyebrow,
body.contact-page-clean .contact-form-card-heading .eyebrow {
  font-family: "Playfair Display", "Times New Roman", "Noto Sans JP", sans-serif !important;
  font-size: clamp(12px, 1.3vw, 15px) !important;
  font-weight: 700 !important;
  letter-spacing: .26em !important;
  color: #e95aa6 !important;
  margin: 0 0 10px !important;
}

body.contact-page-clean .contact-refined-heading h1 {
  font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", sans-serif !important;
  font-size: clamp(36px, 5vw, 58px) !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  line-height: 1.34 !important;
  color: #12346d !important;
  margin: 0 0 16px !important;
}

body.contact-page-clean .contact-refined-heading p {
  color: #263d70 !important;
  font-size: clamp(15px, 1.7vw, 18px) !important;
  line-height: 1.9 !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

body.contact-page-clean .contact-refined-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr) !important;
  gap: clamp(22px, 3vw, 36px) !important;
  align-items: stretch !important;
  margin-bottom: clamp(24px, 4vw, 40px) !important;
  padding: clamp(28px, 4vw, 48px) !important;
  border-radius: 34px !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.30), transparent 28%),
    radial-gradient(circle at 86% 78%, rgba(255,255,255,.20), transparent 34%),
    linear-gradient(135deg, #315bdc 0%, #6a5be8 48%, #ec6caf 100%) !important;
  box-shadow: 0 24px 58px rgba(59, 82, 190, .20) !important;
  overflow: hidden !important;
}

body.contact-page-clean .contact-refined-copy,
body.contact-page-clean .contact-refined-flow {
  position: relative !important;
  z-index: 1 !important;
}

body.contact-page-clean .contact-refined-label {
  color: rgba(255,255,255,.88) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
}

body.contact-page-clean .contact-refined-copy h2 {
  color: #ffffff !important;
  font-size: clamp(28px, 4vw, 46px) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: .06em !important;
  margin: 0 0 18px !important;
}

body.contact-page-clean .contact-refined-copy p:not(.contact-refined-label) {
  color: rgba(255,255,255,.94) !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  margin: 0 !important;
}

body.contact-page-clean .contact-refined-flow {
  display: grid !important;
  gap: 14px !important;
  align-content: center !important;
}

body.contact-page-clean .contact-refined-flow div {
  display: grid !important;
  grid-template-columns: 54px 1fr !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(255,255,255,.30) !important;
  backdrop-filter: blur(10px) !important;
}

body.contact-page-clean .contact-refined-flow span {
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.96) !important;
  color: #315bdc !important;
  font-weight: 800 !important;
  font-size: 14px !important;
}

body.contact-page-clean .contact-refined-flow p {
  color: #ffffff !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

body.contact-page-clean .contact-category-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(16px, 2vw, 24px) !important;
  margin-bottom: clamp(26px, 4vw, 46px) !important;
}

body.contact-page-clean .contact-category-card,
body.contact-page-clean .contact-form-card,
body.contact-page-clean .contact-side-card {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(176, 207, 244, .86) !important;
  box-shadow: 0 18px 42px rgba(18,52,109,.08) !important;
}

body.contact-page-clean .contact-category-card {
  padding: 24px 22px !important;
  border-radius: 26px !important;
  text-align: center !important;
}

body.contact-page-clean .contact-category-icon {
  display: grid !important;
  place-items: center !important;
  width: 54px !important;
  height: 54px !important;
  margin: 0 auto 14px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #fff3fb, #edf7ff) !important;
  font-size: 24px !important;
}

body.contact-page-clean .contact-category-card h2 {
  color: #12346d !important;
  font-size: clamp(17px, 1.8vw, 21px) !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  line-height: 1.5 !important;
  margin: 0 0 10px !important;
}

body.contact-page-clean .contact-category-card p {
  color: #40527f !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

body.contact-page-clean .contact-form-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  gap: clamp(20px, 3vw, 34px) !important;
  align-items: start !important;
}

body.contact-page-clean .contact-form-card,
body.contact-page-clean .contact-side-card {
  border-radius: 30px !important;
  padding: clamp(24px, 3vw, 36px) !important;
}

body.contact-page-clean .contact-form-card-heading {
  text-align: left !important;
  margin-bottom: 20px !important;
}

body.contact-page-clean .contact-form-card-heading h2,
body.contact-page-clean .contact-side-card h2 {
  color: #12346d !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  margin: 0 0 10px !important;
}

body.contact-page-clean .contact-form-card-heading p {
  color: #40527f !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

body.contact-page-clean .contact-form-frame-wrap {
  border-radius: 24px !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  background: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.70) !important;
  overflow: hidden !important;
}

body.contact-page-clean .contact-form-frame-wrap iframe {
  min-height: 820px !important;
}

body.contact-page-clean .contact-form-note {
  color: #647096 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  margin: 14px 0 0 !important;
}

body.contact-page-clean .contact-form-note a {
  color: #2257d6 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

body.contact-page-clean .contact-side-card {
  position: sticky !important;
  top: 104px !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 74, 160, .10), transparent 32%),
    linear-gradient(180deg, #ffffff, #f7fbff) !important;
}

body.contact-page-clean .contact-side-block + .contact-side-block {
  margin-top: 26px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(21,49,168,.12) !important;
}

body.contact-page-clean .contact-side-label {
  color: #2257d6 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .20em !important;
  margin: 0 0 8px !important;
}

body.contact-page-clean .contact-office-list {
  display: grid !important;
  gap: 18px !important;
  margin: 18px 0 0 !important;
}

body.contact-page-clean .contact-office-list div {
  padding: 16px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,49,168,.09) !important;
}

body.contact-page-clean .contact-office-list dt {
  color: #12346d !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}

body.contact-page-clean .contact-office-list dd,
body.contact-page-clean .contact-side-note p:not(.contact-side-label) {
  color: #40527f !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

@media (max-width: 980px) {
  body.contact-page-clean .contact-refined-hero,
  body.contact-page-clean .contact-form-layout {
    grid-template-columns: 1fr !important;
  }

  body.contact-page-clean .contact-side-card {
    position: static !important;
  }
}

@media (max-width: 760px) {
  body.contact-page-clean .contact-category-grid {
    grid-template-columns: 1fr !important;
  }

  body.contact-page-clean .contact-refined-hero {
    padding: 26px 22px !important;
    border-radius: 26px !important;
  }

  body.contact-page-clean .contact-refined-flow div {
    grid-template-columns: 48px 1fr !important;
  }

  body.contact-page-clean .contact-form-frame-wrap iframe {
    min-height: 760px !important;
  }
}

/* =========================================================
  UPDATE: 第二階層・第三階層の大きな囲み内グラデーションを白に統一
  - 枠や影は残し、内側の淡い色ムラだけをなくす
========================================================= */
body.second-page-clean .simple-subpage-wrap,
body.second-page-clean .simple-inner-wrap,
body.second-page-clean .contact-page > .container,
body.second-page-clean .shop-hub-wrap,
body.second-page-clean .talent-page-lineup-section > .container,
body.second-page-clean .school-main-wrap,
body.second-page-clean .school-teacher-wrap,
body.second-page-clean .section > .container,
body.second-page-clean .news-detail-section > .container,
body.second-page-clean .release-detail-hero > .container {
  background: #ffffff !important;
  background-image: none !important;
}

/* セクション内部の淡いグラデーションカードも、読みやすい白ベースへ寄せる */
body.second-page-clean .simple-main-card,
body.second-page-clean .simple-info-card,
body.second-page-clean .company-panel,
body.second-page-clean .contact-panel,
body.second-page-clean .talent-page-lineup-panel,
body.second-page-clean .shop-hub-hero,
body.second-page-clean .shop-hub-note,
body.second-page-clean .teacher-profile-card,
body.second-page-clean .audition-recruit-content,
body.second-page-clean .external-form-frame-wrap,
body.second-page-clean .news-detail-body,
body.second-page-clean .release-detail-list,
body.second-page-clean .movie-embed-card,
body.second-page-clean .audition-top-banner-card {
  background: #ffffff !important;
  background-image: none !important;
}


/* =========================================================
  UPDATE: SHOP商品詳細 iframeページ
========================================================= */
.shop-item-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 14px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(20, 74, 176, .20);
  background: #ffffff;
  color: #123b78;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(18, 59, 120, .08);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.shop-item-button:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, #315bdc, #8a5cf6);
  color: #ffffff;
  box-shadow: 0 16px 30px rgba(49, 91, 220, .20);
}

.product-iframe-section {
  background: #ffffff;
}

.product-iframe-wrap {
  max-width: 1080px;
  margin: 0 auto;
}

.product-back-link {
  display: inline-flex;
  align-items: center;
  margin: 0 0 22px;
  color: #2257d6;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
}

.product-back-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.product-title-block {
  margin-bottom: 34px;
}

.product-iframe-intro {
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 44px);
  align-items: center;
  margin: 0 0 34px;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 30px;
  border: 1px solid rgba(21, 49, 168, .12);
  background: #ffffff;
  box-shadow: 0 16px 45px rgba(18, 59, 120, .08);
}

.product-iframe-thumb {
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(21,49,168,.08);
}

.product-iframe-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  padding: 12px;
  background: #ffffff;
}

.product-category-label {
  color: #f05aa7;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .18em;
  margin: 0 0 10px;
}

.product-iframe-copy h2 {
  color: #123b78;
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.35;
  margin: 0 0 10px;
}

.product-price {
  color: #123b78;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 0 16px;
}

.product-iframe-copy p:not(.product-category-label):not(.product-price) {
  color: #40527f;
  font-size: 15px;
  line-height: 1.9;
  margin: 0 0 22px;
}

.product-iframe-card {
  width: 100%;
  border-radius: 28px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(21, 49, 168, .12);
  box-shadow: 0 18px 48px rgba(18, 59, 120, .10);
}

.product-iframe-card iframe {
  display: block;
  width: 100%;
  min-height: 1100px;
  border: 0;
  background: #ffffff;
}

.product-iframe-note {
  color: #667399;
  font-size: 13px;
  line-height: 1.8;
  text-align: center;
  margin: 18px 0 0;
}

@media (max-width: 820px) {
  .product-iframe-intro {
    grid-template-columns: 1fr;
  }

  .product-iframe-card iframe {
    min-height: 960px;
  }
}

/* =========================================================
  UPDATE v75: lsm-rili-project-shop.html Rili.Project 海外用Shop page
  - 旧ページの情報を新サイトの白ベーストーンで再構成
  - アップロード画像を活動ビジュアルとして配置
========================================================= */
body.second-page-clean.rili-project-shop-body .rili-project-shop-page {
  background: #ffffff !important;
  background-image: none !important;
}

body.second-page-clean.rili-project-shop-body .rili-project-shop-wrap {
  max-width: 1180px !important;
  background: #ffffff !important;
}

body.second-page-clean .rili-project-shop-heading h1 {
  font-weight: 600 !important;
  letter-spacing: .10em !important;
}

body.second-page-clean .rili-project-shop-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr) !important;
  gap: clamp(22px, 3vw, 36px) !important;
  align-items: center !important;
  margin: clamp(20px, 3vw, 36px) 0 !important;
}

body.second-page-clean .rili-project-shop-hero-copy,
body.second-page-clean .rili-project-shop-lead-card,
body.second-page-clean .rili-project-shop-action-card {
  background: #ffffff !important;
  border: 1px solid rgba(21, 49, 168, .10) !important;
  border-radius: 28px !important;
  box-shadow: 0 16px 38px rgba(18, 52, 109, .08) !important;
}

body.second-page-clean .rili-project-shop-hero-copy {
  padding: clamp(24px, 4vw, 46px) !important;
}

body.second-page-clean .rili-project-shop-logo {
  display: block !important;
  width: min(210px, 62%) !important;
  height: auto !important;
  margin: 0 0 clamp(16px, 2.4vw, 24px) !important;
  background: #0b0b0b !important;
  border-radius: 14px !important;
  padding: 10px 16px !important;
}

body.second-page-clean .rili-project-shop-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 14px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff4aa0, #7c5cff) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1.2 !important;
}

body.second-page-clean .rili-project-shop-hero-copy h2,
body.second-page-clean .rili-project-shop-lead-card h2,
body.second-page-clean .rili-project-shop-section-heading h2,
body.second-page-clean .rili-project-shop-action-card h2 {
  color: #12346d !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  line-height: 1.45 !important;
}

body.second-page-clean .rili-project-shop-hero-copy h2 {
  font-size: clamp(30px, 4vw, 46px) !important;
  margin: 0 0 16px !important;
}

body.second-page-clean .rili-project-shop-hero-copy p:not(.rili-project-shop-kicker),
body.second-page-clean .rili-project-shop-lead-card p,
body.second-page-clean .rili-project-shop-section-heading p,
body.second-page-clean .rili-project-shop-action-card p,
body.second-page-clean .rili-project-return-note {
  color: #263d70 !important;
  font-size: clamp(15px, 1.5vw, 16px) !important;
  font-weight: 400 !important;
  line-height: 1.95 !important;
  letter-spacing: .02em !important;
}

body.second-page-clean .rili-project-shop-main-visual {
  margin: 0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(21, 49, 168, .10) !important;
  box-shadow: 0 18px 42px rgba(18, 52, 109, .10) !important;
}

body.second-page-clean .rili-project-shop-main-visual img {
  width: 100% !important;
  display: block !important;
  aspect-ratio: 1.4 / 1 !important;
  object-fit: cover !important;
}

body.second-page-clean .rili-project-shop-lead-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr) !important;
  gap: clamp(18px, 2.6vw, 30px) !important;
  margin: clamp(22px, 3.5vw, 42px) 0 !important;
}

body.second-page-clean .rili-project-shop-lead-card {
  padding: clamp(22px, 3vw, 34px) !important;
}

body.second-page-clean .rili-project-shop-expo-card {
  display: grid !important;
  grid-template-columns: 130px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: center !important;
}

body.second-page-clean .rili-project-shop-expo-card img {
  width: 130px !important;
  height: 130px !important;
  object-fit: contain !important;
  display: block !important;
  border-radius: 18px !important;
  background: #ffffff !important;
}

body.second-page-clean .rili-project-shop-section {
  margin: clamp(26px, 4vw, 54px) 0 !important;
}

body.second-page-clean .rili-project-shop-section-heading {
  text-align: center !important;
  max-width: 760px !important;
  margin: 0 auto clamp(20px, 3vw, 32px) !important;
}

body.second-page-clean .rili-project-shop-section-heading h2 {
  font-size: clamp(26px, 3.2vw, 38px) !important;
  margin: 0 0 10px !important;
}

body.second-page-clean .rili-project-shop-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(14px, 2vw, 22px) !important;
}

body.second-page-clean .rili-project-shop-gallery figure {
  margin: 0 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(21, 49, 168, .10) !important;
  box-shadow: 0 14px 30px rgba(18, 52, 109, .08) !important;
}

body.second-page-clean .rili-project-shop-gallery img {
  display: block !important;
  width: 100% !important;
  height: clamp(180px, 20vw, 250px) !important;
  object-fit: cover !important;
}

body.second-page-clean .rili-project-return-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

body.second-page-clean .rili-project-return-grid article {
  display: grid !important;
  grid-template-columns: 116px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21, 49, 168, .10) !important;
  box-shadow: 0 10px 24px rgba(18, 52, 109, .055) !important;
}

body.second-page-clean .rili-project-return-grid strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: #f7faff !important;
  border: 1px solid rgba(21, 49, 168, .10) !important;
  color: #12346d !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  white-space: nowrap !important;
}

body.second-page-clean .rili-project-return-grid span {
  color: #263d70 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

body.second-page-clean .rili-project-return-note {
  max-width: 880px !important;
  margin: 18px auto 0 !important;
  text-align: center !important;
  font-size: 13px !important;
  color: #667399 !important;
}

body.second-page-clean .rili-project-shop-action-card {
  max-width: 860px !important;
  margin: clamp(30px, 4vw, 52px) auto 0 !important;
  padding: clamp(24px, 3vw, 38px) !important;
  text-align: center !important;
}

body.second-page-clean .rili-project-shop-action-card h2 {
  font-size: clamp(24px, 3vw, 34px) !important;
  margin: 0 0 10px !important;
}

@media (max-width: 900px) {
  body.second-page-clean .rili-project-shop-hero,
  body.second-page-clean .rili-project-shop-lead-grid,
  body.second-page-clean .rili-project-shop-gallery,
  body.second-page-clean .rili-project-return-grid {
    grid-template-columns: 1fr !important;
  }

  body.second-page-clean .rili-project-shop-expo-card {
    grid-template-columns: 100px minmax(0, 1fr) !important;
  }

  body.second-page-clean .rili-project-shop-expo-card img {
    width: 100px !important;
    height: 100px !important;
  }

  body.second-page-clean .rili-project-shop-gallery img {
    height: auto !important;
    max-height: none !important;
  }
}

@media (max-width: 560px) {
  body.second-page-clean .rili-project-shop-hero-copy,
  body.second-page-clean .rili-project-shop-lead-card,
  body.second-page-clean .rili-project-shop-action-card {
    border-radius: 22px !important;
  }

  body.second-page-clean .rili-project-shop-expo-card {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  body.second-page-clean .rili-project-shop-expo-card img {
    margin: 0 auto !important;
  }

  body.second-page-clean .rili-project-return-grid article {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
}


/* =========================================================
  UPDATE v76: lsm-shop.html refined shop cards + Rili.Project overseas shop
  - ショップ一覧でRili.本人ビジュアルを必ず見せる
  - DAMMY表記をなくし、ロゴ・写真中心のカードに整理
========================================================= */
body.second-page-clean .shop-branch-section-refined .shop-section-heading p:not(.eyebrow) {
  font-weight: 400 !important;
  color: #50628e !important;
}

body.second-page-clean .refined-shop-branch-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

body.second-page-clean .refined-shop-card {
  min-height: 300px !important;
  background: #fff !important;
  border: 1px solid rgba(21,49,168,.10) !important;
  box-shadow: 0 18px 40px rgba(18,52,109,.09) !important;
  overflow: hidden !important;
}

body.second-page-clean .refined-shop-card.is-main {
  grid-column: span 2 !important;
}

body.second-page-clean .refined-shop-card figure {
  position: absolute !important;
  inset: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
}

body.second-page-clean .refined-shop-card figure::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.85) 68%, #fff 100%) !important;
}

body.second-page-clean .refined-shop-card img {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  transform: none !important;
}

body.second-page-clean .refined-shop-card:not(.is-rili-focus):not(.shop-card-official) img {
  width: 78% !important;
  height: 62% !important;
  object-fit: contain !important;
  opacity: .96 !important;
}

body.second-page-clean .refined-shop-card.shop-card-official img,
body.second-page-clean .refined-shop-card.is-rili-focus img,
body.second-page-clean .refined-shop-card.shop-card-project img {
  object-fit: cover !important;
}

body.second-page-clean .refined-shop-card::after {
  background: none !important;
}

body.second-page-clean .refined-shop-card .shop-branch-copy {
  margin: auto 18px 18px !important;
  padding: 18px 20px !important;
  color: #12346d !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(21,49,168,.08) !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 34px rgba(18,52,109,.08) !important;
  backdrop-filter: blur(8px) !important;
}

body.second-page-clean .refined-shop-card .shop-branch-copy strong {
  color: #12346d !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}

body.second-page-clean .refined-shop-card .shop-branch-copy em {
  color: #38517f !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

body.second-page-clean .refined-shop-card .shop-branch-arrow {
  min-height: 34px !important;
  color: #12346d !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  box-shadow: 0 10px 22px rgba(18,52,109,.08) !important;
}

body.second-page-clean .shop-card-flatman figure {
  background: linear-gradient(135deg, #f7faff, #ffffff) !important;
}

body.second-page-clean .flatman-logo-text {
  position: relative !important;
  z-index: 2 !important;
  color: #12346d !important;
  font-size: clamp(42px, 5vw, 68px) !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
  opacity: .18 !important;
}

body.second-page-clean .shop-card-flatman .shop-branch-arrow {
  color: #7b86a5 !important;
  background: #f4f6fb !important;
}

body.second-page-clean .shop-card-project-shop .shop-branch-badge {
  background: linear-gradient(135deg, #ff3f99, #f7b733) !important;
}

body.second-page-clean .rili-shop-hero-v2 {
  display: grid !important;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr) !important;
  gap: clamp(22px, 3.4vw, 42px) !important;
  align-items: center !important;
  margin: clamp(22px, 3vw, 38px) 0 clamp(34px, 5vw, 58px) !important;
}

body.second-page-clean .rili-shop-hero-photo {
  margin: 0 !important;
  border-radius: 32px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 54px rgba(18,52,109,.14) !important;
  border: 1px solid rgba(21,49,168,.10) !important;
  background: #fff !important;
}

body.second-page-clean .rili-shop-hero-photo img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

body.second-page-clean .rili-shop-hero-copy-v2 {
  padding: clamp(26px, 4vw, 48px) !important;
  border-radius: 32px !important;
  background: #fff !important;
  border: 1px solid rgba(21,49,168,.10) !important;
  box-shadow: 0 16px 38px rgba(18,52,109,.08) !important;
}

body.second-page-clean .rili-shop-hero-copy-v2 h2 {
  margin: 0 0 18px !important;
  color: #12346d !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  letter-spacing: .06em !important;
}

body.second-page-clean .rili-shop-hero-copy-v2 p:not(.rili-project-shop-kicker) {
  margin: 0 0 14px !important;
  color: #263d70 !important;
  font-weight: 400 !important;
  line-height: 1.95 !important;
}

body.second-page-clean .rili-info-grid-v2 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.second-page-clean .rili-info-grid-v2 article {
  padding: 20px 22px !important;
  border: 1px solid rgba(21,49,168,.10) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 26px rgba(18,52,109,.06) !important;
}

body.second-page-clean .rili-info-grid-v2 strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #ff3f99 !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
}

body.second-page-clean .rili-info-grid-v2 span {
  color: #263d70 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

body.second-page-clean .rili-goods-grid-v2 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.second-page-clean .rili-goods-grid-v2 figure {
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid rgba(21,49,168,.10) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 14px 32px rgba(18,52,109,.07) !important;
}

body.second-page-clean .rili-goods-grid-v2 img {
  width: 100% !important;
  height: 210px !important;
  object-fit: contain !important;
  border-radius: 18px !important;
  background: #fbfcff !important;
}

body.second-page-clean .rili-goods-grid-v2 figcaption {
  margin-top: 10px !important;
  color: #12346d !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

@media (max-width: 980px) {
  body.second-page-clean .refined-shop-branch-grid,
  body.second-page-clean .rili-info-grid-v2,
  body.second-page-clean .rili-goods-grid-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.second-page-clean .rili-shop-hero-v2 {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body.second-page-clean .refined-shop-branch-grid,
  body.second-page-clean .rili-info-grid-v2,
  body.second-page-clean .rili-goods-grid-v2 {
    grid-template-columns: 1fr !important;
  }
  body.second-page-clean .refined-shop-card.is-main {
    grid-column: auto !important;
  }
  body.second-page-clean .rili-goods-grid-v2 img {
    height: auto !important;
  }
}


/* =========================================================
  FINAL UPDATE: requested white/simple second layer + small adjustments
========================================================= */
body.second-page-clean {
  background: #ffffff !important;
  color: #263d70 !important;
}
body.second-page-clean main {
  background: #ffffff !important;
  overflow: visible !important;
}
body.second-page-clean main::before,
body.second-page-clean main::after {
  display: none !important;
  content: none !important;
  background: none !important;
}
body.second-page-clean main > .section,
body.second-page-clean .simple-subpage-section,
body.second-page-clean .simple-inner-page,
body.second-page-clean .contact-page,
body.second-page-clean .shop-hub-section,
body.second-page-clean .talent-page-lineup-section,
body.second-page-clean .school-main-section,
body.second-page-clean .school-teacher-page,
body.second-page-clean .news-detail-hero,
body.second-page-clean .release-detail-hero,
body.second-page-clean .rili-project-shop-section {
  background: #ffffff !important;
  background-image: none !important;
  padding-top: clamp(28px, 4vw, 54px) !important;
}
body.second-page-clean .simple-subpage-wrap,
body.second-page-clean .simple-inner-wrap,
body.second-page-clean .contact-page > .container,
body.second-page-clean .shop-hub-wrap,
body.second-page-clean .talent-page-lineup-section > .container,
body.second-page-clean .school-main-wrap,
body.second-page-clean .school-teacher-wrap,
body.second-page-clean .section > .container,
body.second-page-clean .news-detail-section > .container,
body.second-page-clean .release-detail-hero > .container {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(21,49,168,.10) !important;
  box-shadow: 0 18px 42px rgba(18,52,109,.06) !important;
}
body.second-page-clean .simple-subpage-wrap::before,
body.second-page-clean .simple-inner-wrap::before,
body.second-page-clean .contact-page > .container::before,
body.second-page-clean .shop-hub-wrap::before,
body.second-page-clean .talent-page-lineup-section > .container::before,
body.second-page-clean .school-main-wrap::before,
body.second-page-clean .school-teacher-wrap::before,
body.second-page-clean .news-detail-section > .container::before,
body.second-page-clean .release-detail-hero > .container::before {
  display: none !important;
  content: none !important;
}
body.second-page-clean .section-heading.center,
body.second-page-clean .simple-subpage-heading,
body.second-page-clean .simple-inner-heading,
body.second-page-clean .contact-heading,
body.second-page-clean .school-main-heading,
body.second-page-clean .school-teacher-heading,
body.second-page-clean .shop-hub-hero-copy,
body.second-page-clean .news-detail-hero-copy,
body.second-page-clean .release-detail-copy {
  margin-bottom: clamp(22px, 3vw, 34px) !important;
}
body.second-page-clean h1,
body.second-page-clean .simple-subpage-heading h1,
body.second-page-clean .simple-inner-heading h1,
body.second-page-clean .contact-heading h1,
body.second-page-clean .school-main-heading h1,
body.second-page-clean .school-teacher-heading h1,
body.second-page-clean .section-heading.center h1,
body.second-page-clean .shop-hub-hero-copy h1,
body.second-page-clean .news-detail-hero-copy h1,
body.second-page-clean .release-detail-copy h1 {
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-align: center !important;
}
body.second-page-clean .eyebrow,
body.second-page-clean .page-title-en,
body.second-page-clean .section-heading .eyebrow,
body.second-page-clean .simple-subpage-heading .eyebrow,
body.second-page-clean .contact-heading .eyebrow {
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  color: #f04f9d !important;
  letter-spacing: .28em !important;
  font-weight: 700 !important;
}
/* privacy/events/contact should feel like one simple white page, not broken into many boxes */
body.second-page-clean .privacy-policy-page .simple-info-card,
body.second-page-clean .events-page .simple-info-card,
body.second-page-clean .contact-page .contact-panel {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.second-page-clean .contact-page .contact-panel,
body.second-page-clean .contact-grid,
body.second-page-clean .contact-card,
body.second-page-clean .contact-info-card,
body.second-page-clean .contact-form-card {
  background: transparent !important;
  box-shadow: none !important;
}
/* school teacher button */
.school-teacher-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 46px !important;
  margin-top: 18px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  color: #12346d !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,49,168,.16) !important;
  box-shadow: 0 12px 28px rgba(18,52,109,.08) !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
}
.school-teacher-btn::after {
  content: "→" !important;
}
.school-teacher-btn:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg, #245bd8, #8a59f7) !important;
  border-color: transparent !important;
  transform: translateY(-1px) !important;
}
/* remove outdated notes */
.shop-hub-section .shop-section-heading p:has(+ *) {
  font-weight: 400 !important;
}
@media (max-width: 768px) {
  body.second-page-clean main > .section,
  body.second-page-clean .simple-subpage-section,
  body.second-page-clean .simple-inner-page,
  body.second-page-clean .contact-page,
  body.second-page-clean .school-main-section {
    padding-top: 26px !important;
  }
}

/* ==================== Events page simple layout ==================== */
.events-simple-body {
  max-width: 920px;
  margin: 42px auto 0;
  padding: 0 4px;
}
.events-text-block {
  padding: 30px 0;
  border-top: 1px solid rgba(21, 49, 168, .12);
}
.events-text-block:first-child {
  border-top: 0;
  padding-top: 0;
}
.events-text-block h2 {
  margin: 8px 0 14px;
  color: #0b3275;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.35;
  letter-spacing: .08em;
  font-weight: 600;
}
.events-text-block p,
.events-text-block li {
  color: #163b78;
  font-weight: 500;
  line-height: 2;
}
.events-text-block .simple-list {
  margin-top: 12px;
}

/* =========================================================
  WORKING UPDATE: left-aligned body text + calmer simple pages
  ZIP化前の追加修正
========================================================= */
/* 見出しは中央、本文は左寄せに統一 */
body.second-page-clean .section-heading.center p:not(.eyebrow),
body.second-page-clean .simple-subpage-heading p:not(.eyebrow),
body.second-page-clean .simple-inner-heading p:not(.eyebrow),
body.second-page-clean .school-main-heading p:not(.eyebrow),
body.second-page-clean .school-teacher-heading p:not(.eyebrow),
body.second-page-clean .shop-section-heading p:not(.eyebrow),
body.second-page-clean .contact-refined-heading p:not(.eyebrow),
body.second-page-clean .audition-genre-hero p:not(.eyebrow),
body.second-page-clean .section-lead,
body.second-page-clean .simple-subpage-note,
body.second-page-clean .simple-info-card p:not(.eyebrow):not(.simple-info-label),
body.second-page-clean .simple-main-card p:not(.eyebrow):not(.simple-info-label),
body.second-page-clean .events-text-block p,
body.second-page-clean .events-text-block li,
body.second-page-clean .school-class-text-block p:not(.school-class-label),
body.second-page-clean .ginza-profile-body p,
body.second-page-clean .ginza-story-detail-card p:not(.eyebrow),
body.second-page-clean .rili-project-shop-section p:not(.eyebrow),
body.second-page-clean .shop-hub-section p:not(.eyebrow),
body.second-page-clean .contact-simple-renew p:not(.eyebrow):not(.contact-refined-label) {
  text-align: left !important;
}
body.second-page-clean .section-heading.center p:not(.eyebrow),
body.second-page-clean .simple-subpage-heading p:not(.eyebrow),
body.second-page-clean .simple-inner-heading p:not(.eyebrow),
body.second-page-clean .school-main-heading p:not(.eyebrow),
body.second-page-clean .school-teacher-heading p:not(.eyebrow),
body.second-page-clean .contact-refined-heading p:not(.eyebrow),
body.second-page-clean .audition-genre-hero p:not(.eyebrow) {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* lsm-contact.html：枠で細かく分けず、白背景のシンプルな流れに変更 */
body.contact-page-clean main,
body.contact-page-clean .contact-refined-page {
  background: #ffffff !important;
  background-image: none !important;
}
body.contact-page-clean .contact-simple-renew {
  padding-top: clamp(28px, 4vw, 48px) !important;
  padding-bottom: clamp(64px, 7vw, 96px) !important;
}
body.contact-page-clean .contact-simple-wrap {
  max-width: 1040px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.contact-page-clean .contact-simple-heading {
  margin-bottom: clamp(30px, 4vw, 46px) !important;
}
body.contact-page-clean .contact-simple-heading h1 {
  text-align: center !important;
}
body.contact-page-clean .contact-simple-intro {
  max-width: 920px !important;
  margin: 0 auto clamp(34px, 4vw, 54px) !important;
  padding: 0 0 clamp(28px, 4vw, 40px) !important;
  border-bottom: 1px solid rgba(21,49,168,.12) !important;
  color: #12346d !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.contact-page-clean .contact-simple-intro .contact-refined-label {
  color: #f04f9d !important;
  margin: 0 0 12px !important;
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  letter-spacing: .24em !important;
}
body.contact-page-clean .contact-simple-intro h2 {
  margin: 0 0 16px !important;
  color: #12346d !important;
  font-size: clamp(26px, 3.6vw, 42px) !important;
  font-weight: 550 !important;
  line-height: 1.48 !important;
  letter-spacing: .07em !important;
}
body.contact-page-clean .contact-simple-intro p:not(.contact-refined-label) {
  color: #263d70 !important;
  font-size: 15.5px !important;
  line-height: 2 !important;
  font-weight: 400 !important;
}
body.contact-page-clean .contact-simple-section {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: clamp(30px, 4vw, 44px) 0 !important;
  border-top: 1px solid rgba(21,49,168,.12) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.contact-page-clean .contact-simple-section:first-of-type {
  border-top: 0 !important;
}
body.contact-page-clean .contact-simple-section > h2 {
  margin: 0 0 18px !important;
  color: #12346d !important;
  font-size: clamp(27px, 3.3vw, 40px) !important;
  font-weight: 550 !important;
  letter-spacing: .08em !important;
  line-height: 1.42 !important;
}
body.contact-page-clean .contact-simple-list {
  display: grid !important;
  gap: 20px !important;
}
body.contact-page-clean .contact-simple-list > div {
  padding: 0 0 20px !important;
  border-bottom: 1px solid rgba(21,49,168,.10) !important;
}
body.contact-page-clean .contact-simple-list > div:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.contact-page-clean .contact-simple-list h3 {
  margin: 0 0 8px !important;
  color: #12346d !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
}
body.contact-page-clean .contact-simple-list p,
body.contact-page-clean .contact-simple-section p {
  color: #263d70 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.95 !important;
  margin: 0 !important;
}
body.contact-page-clean .contact-simple-form-section .eyebrow,
body.contact-page-clean .contact-simple-office .eyebrow {
  margin-bottom: 10px !important;
  color: #f04f9d !important;
}
body.contact-page-clean .contact-simple-form-section .external-form-frame-wrap {
  margin-top: 24px !important;
  padding: 0 !important;
  border: 1px solid rgba(21,49,168,.12) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(18,52,109,.05) !important;
}
body.contact-page-clean .contact-simple-form-section iframe {
  min-height: 720px !important;
}
body.contact-page-clean .contact-simple-office dl {
  display: grid !important;
  gap: 18px !important;
  margin: 22px 0 24px !important;
}
body.contact-page-clean .contact-simple-office dl > div {
  padding-bottom: 18px !important;
  border-bottom: 1px solid rgba(21,49,168,.10) !important;
}
body.contact-page-clean .contact-simple-office dt {
  color: #12346d !important;
  font-weight: 650 !important;
  letter-spacing: .04em !important;
  margin-bottom: 6px !important;
}
body.contact-page-clean .contact-simple-office dd {
  margin: 0 !important;
  color: #40527f !important;
  line-height: 1.8 !important;
}
body.contact-page-clean .contact-simple-note {
  padding-top: 6px !important;
  color: #40527f !important;
}

/* lsm-ginza.html：説明文削除後の余白調整、STORYは枠なし */
body.second-page-clean .ginza-story-detail-card.ginza-story-plain-block {
  margin: clamp(26px, 4vw, 42px) auto clamp(32px, 5vw, 56px) !important;
  padding: 0 0 clamp(24px, 4vw, 40px) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(21,49,168,.12) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.second-page-clean .ginza-story-detail-card.ginza-story-plain-block h2 {
  font-weight: 550 !important;
}
body.second-page-clean .ginza-page-section-heading {
  margin-top: 0 !important;
}
body.second-page-clean .featured-banner-heading p:not(.eyebrow) {
  display: none !important;
}

/* lsm-smile.html：2列カード感をやめて1カラムのシンプルリストへ */
body.second-page-clean .smile-simple-list {
  max-width: 920px !important;
  margin: clamp(34px, 4vw, 52px) auto 0 !important;
  display: block !important;
}
body.second-page-clean .smile-simple-item {
  padding: 26px 0 !important;
  border-top: 1px solid rgba(21,49,168,.12) !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.second-page-clean .smile-simple-item:first-child {
  border-top: 0 !important;
}
body.second-page-clean .smile-simple-label {
  margin: 0 0 10px !important;
  color: #2257d6 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .20em !important;
}
body.second-page-clean .smile-simple-item h2 {
  margin: 0 0 12px !important;
  color: #12346d !important;
  font-size: clamp(26px, 3.2vw, 40px) !important;
  font-weight: 550 !important;
  line-height: 1.42 !important;
  letter-spacing: .06em !important;
}
body.second-page-clean .smile-simple-item p:not(.smile-simple-label) {
  max-width: 760px !important;
  margin: 0 0 14px !important;
  color: #263d70 !important;
  font-weight: 400 !important;
  line-height: 1.95 !important;
}
body.second-page-clean .smile-simple-item .button {
  margin-top: 6px !important;
}

@media (max-width: 760px) {
  body.contact-page-clean .contact-simple-wrap,
  body.contact-page-clean .contact-simple-section,
  body.contact-page-clean .contact-simple-intro,
  body.second-page-clean .smile-simple-list {
    width: min(100%, calc(100% - 24px)) !important;
  }
  body.contact-page-clean .contact-simple-form-section iframe {
    min-height: 680px !important;
  }
}

/* =========================================================
  UPDATE v77: shop branch cards - remove title frame / keep images clear
  - ショップカテゴリカードのタイトル枠を削除
  - 画像を半透明にせず、写真・ロゴを主役にする
========================================================= */
body.second-page-clean .refined-shop-branch-grid {
  gap: clamp(22px, 3vw, 34px) !important;
}

body.second-page-clean .refined-shop-card {
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto !important;
  justify-content: stretch !important;
  background: #fff !important;
  border: 1px solid rgba(21,49,168,.10) !important;
  border-radius: 26px !important;
  box-shadow: 0 16px 34px rgba(18,52,109,.08) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

body.second-page-clean .refined-shop-card figure {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 190px !important;
  margin: 0 !important;
  background: #fff !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

body.second-page-clean .refined-shop-card.is-main figure {
  height: 230px !important;
}

body.second-page-clean .refined-shop-card figure::after,
body.second-page-clean .refined-shop-card::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.second-page-clean .refined-shop-card img {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}

body.second-page-clean .refined-shop-card:not(.is-rili-focus):not(.shop-card-official):not(.shop-card-project) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  opacity: 1 !important;
  padding: 28px 34px !important;
  box-sizing: border-box !important;
}

body.second-page-clean .refined-shop-card .shop-branch-copy {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding: 22px 22px 10px !important;
  display: grid !important;
  gap: 8px !important;
  color: #12346d !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.second-page-clean .refined-shop-card .shop-branch-copy strong {
  font-size: clamp(22px, 2.1vw, 30px) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

body.second-page-clean .refined-shop-card .shop-branch-copy em {
  color: #38517f !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

body.second-page-clean .refined-shop-card .shop-branch-arrow {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  justify-self: start !important;
  margin: 6px 22px 24px !important;
  min-height: 36px !important;
  padding: 0 18px !important;
  color: #12346d !important;
  background: #fff !important;
  border: 1px solid rgba(21,49,168,.16) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(18,52,109,.08) !important;
  font-weight: 700 !important;
}

body.second-page-clean .refined-shop-card:hover,
body.second-page-clean .refined-shop-card:focus {
  transform: translateY(-3px) !important;
  box-shadow: 0 22px 42px rgba(18,52,109,.12) !important;
}

body.second-page-clean .refined-shop-card:hover img,
body.second-page-clean .refined-shop-card:focus img {
  transform: none !important;
}

body.second-page-clean .shop-card-flatman figure {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f8faff !important;
}

body.second-page-clean .flatman-logo-text {
  opacity: .22 !important;
}

@media (max-width: 768px) {
  body.second-page-clean .refined-shop-card figure,
  body.second-page-clean .refined-shop-card.is-main figure {
    height: 190px !important;
  }
}


/* =========================================================
  FIX: fixed side SMILE Shop banner / donate simple page
========================================================= */
.fixed-side-mini-banner.fixed-side-smile-shop {
  min-height: 70px !important;
}
.fixed-side-mini-banner.fixed-side-smile-shop img {
  width: 100% !important;
  max-width: 104px !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  background: #ffffff !important;
}
.donate-minimal-page {
  background: #ffffff !important;
}
.donate-minimal-page .slim-text-page {
  max-width: 960px !important;
}
.donate-minimal-page .simple-subpage-heading {
  margin-bottom: 34px !important;
}
.donate-plain-content {
  max-width: 840px !important;
  margin: 0 auto !important;
  text-align: left !important;
  color: #12336f !important;
}
.donate-plain-content h2,
.donate-plain-content h3 {
  color: #113574 !important;
  letter-spacing: .04em !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}
.donate-plain-content h2 {
  font-size: clamp(25px, 3.2vw, 36px) !important;
  margin: 0 0 22px !important;
}
.donate-plain-content h3 {
  font-size: clamp(20px, 2.4vw, 26px) !important;
  margin: 38px 0 16px !important;
  padding-top: 30px !important;
  border-top: 1px solid #dce6fa !important;
}
.donate-plain-content p {
  font-size: 16px !important;
  line-height: 2.05 !important;
  letter-spacing: .03em !important;
  font-weight: 500 !important;
  margin: 0 0 18px !important;
}
.simple-button-row.left {
  justify-content: flex-start !important;
  margin-top: 30px !important;
}
@media (max-width: 768px) {
  .donate-plain-content p {
    font-size: 15px !important;
  }
  .simple-button-row.left {
    justify-content: center !important;
  }
}

/* =========================================================
  SUPPORT page refined
  ご協賛ページ：素材が切れないシンプルな白背景レイアウト
========================================================= */
.support-page-clean {
  background: #fff !important;
  padding-top: clamp(34px, 5vw, 64px) !important;
  padding-bottom: clamp(60px, 8vw, 96px) !important;
}

.support-clean-wrap {
  max-width: 1080px !important;
}

.support-title-block {
  margin-bottom: 24px !important;
}

.support-lead-text {
  max-width: 820px !important;
  margin: 0 auto 54px !important;
  color: #0d3472 !important;
  font-size: 16px !important;
  line-height: 2 !important;
  text-align: left !important;
}

.support-lead-text p + p {
  margin-top: 6px !important;
}

.support-logo-section {
  margin: 0 auto 58px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.support-section-heading {
  margin: 0 0 22px !important;
  text-align: left !important;
}

.support-section-heading .page-title-en {
  text-align: left !important;
  margin-bottom: 8px !important;
  color: #ff4aa2 !important;
}

.support-section-heading h2 {
  margin: 0 !important;
  color: #082e69 !important;
  font-size: clamp(25px, 3vw, 38px) !important;
  line-height: 1.45 !important;
  letter-spacing: .06em !important;
  font-weight: 650 !important;
}

.support-logo-board {
  margin: 0 !important;
  padding: clamp(16px, 2.4vw, 28px) !important;
  background: #fff !important;
  border: 1px solid rgba(176, 207, 244, .85) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 42px rgba(24, 60, 120, .08) !important;
  overflow: visible !important;
}

.support-logo-board img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
  background: #fff !important;
}

.support-contact-line {
  margin-top: 16px !important;
  padding-top: 34px !important;
  border-top: 1px solid rgba(176, 207, 244, .7) !important;
  text-align: center !important;
}

.support-contact-line p {
  margin: 0 0 18px !important;
  color: #0d3472 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}

@media (max-width: 768px) {
  .support-lead-text {
    margin-bottom: 38px !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
  }

  .support-logo-section {
    margin-bottom: 42px !important;
  }

  .support-logo-board {
    padding: 12px !important;
    border-radius: 18px !important;
  }
}

/* lsm-support.html：イベント協賛ロゴの見出しを画像ではなくテキスト化 */
.support-event-logo-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 30px 42px !important;
  margin-top: 8px !important;
}

.support-event-logo-item {
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.support-event-logo-item h3 {
  margin: 0 0 20px !important;
  color: #082e69 !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  line-height: 1.45 !important;
  letter-spacing: .06em !important;
  font-weight: 600 !important;
  text-align: left !important;
}

.support-event-logo-item figure {
  margin: 0 !important;
  padding: 0 !important;
}

.support-event-logo-item img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
}

.support-event-logo-item-wide {
  grid-column: 1 / -1 !important;
}

@media (max-width: 768px) {
  .support-event-logo-list {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .support-event-logo-item-wide {
    grid-column: auto !important;
  }
}

/* =========================================================
  UPDATE: lsm-rili-s.html one-column simple layout
  SMILE Shop（支援型ショップ）ページは2列にせず、縦1列で整理
========================================================= */
body.second-page-clean .smile-shop-simple-page .simple-info-grid {
  grid-template-columns: 1fr !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.second-page-clean .smile-shop-simple-page .simple-info-card {
  box-shadow: none !important;
  border-radius: 0 !important;
  border-width: 0 0 1px 0 !important;
  border-color: rgba(18, 52, 109, .12) !important;
  padding: 26px 0 !important;
}

body.second-page-clean .smile-shop-simple-page .simple-main-card {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
  background: #ffffff !important;
}

body.second-page-clean .smile-shop-simple-page .simple-info-card h2 {
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 700 !important;
}

body.second-page-clean .smile-shop-simple-page .simple-info-card p {
  max-width: 760px !important;
}


/* ==================== Rili.Project simple one-column update ==================== */
.rili-project-page .simple-info-grid {
  display: block !important;
  max-width: 900px !important;
  margin: 38px auto 0 !important;
}
.rili-project-page .simple-info-grid .simple-info-card {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 28px 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid rgba(21, 49, 168, .12) !important;
}
.rili-project-page .simple-info-grid .simple-info-card:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}
.rili-project-page .simple-info-grid .simple-info-card h2 {
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  margin-bottom: 14px !important;
}
.rili-project-page .simple-main-card {
  max-width: 900px !important;
  margin: 0 auto 34px !important;
  text-align: left !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}
.rili-project-page .simple-main-card h2,
.rili-project-page .simple-main-card p {
  text-align: left !important;
}
.rili-project-page .simple-photo-section {
  max-width: 900px !important;
  margin: 42px auto 0 !important;
}
.rili-project-page .simple-section-mini-heading {
  margin-bottom: 18px !important;
}
.rili-project-page .simple-photo-gallery {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}
.rili-project-page .simple-photo-card {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.rili-project-page .simple-photo-card img {
  width: 100% !important;
  max-height: 460px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}
@media (max-width: 768px) {
  .rili-project-page .simple-photo-card img {
    max-height: none !important;
  }
}


/* =========================================================
  FINAL OVERRIDE: 2026-06 user requested refinements
  - 白背景、外枠削除、本文左寄せ、オレンジCTA、Rili.ページ
========================================================= */
body.second-page-clean {
  background: #ffffff !important;
}
body.second-page-clean main::before,
body.second-page-clean main::after,
body.second-page-clean .simple-subpage-wrap::before,
body.second-page-clean .simple-inner-wrap::before,
body.second-page-clean .contact-page > .container::before,
body.second-page-clean .shop-hub-wrap::before,
body.second-page-clean .talent-page-lineup-section > .container::before,
body.second-page-clean .school-main-wrap::before,
body.second-page-clean .school-teacher-wrap::before,
body.second-page-clean .news-detail-section > .container::before,
body.second-page-clean .release-detail-hero > .container::before { display: none !important; }
body.second-page-clean .simple-subpage-wrap,
body.second-page-clean .simple-inner-wrap,
body.second-page-clean .contact-page > .container,
body.second-page-clean .shop-hub-wrap,
body.second-page-clean .talent-page-lineup-section > .container,
body.second-page-clean .school-main-wrap,
body.second-page-clean .school-teacher-wrap,
body.second-page-clean .section > .container,
body.second-page-clean .news-detail-section > .container,
body.second-page-clean .release-detail-hero > .container {
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.second-page-clean .simple-info-card,
body.second-page-clean .contact-panel,
body.second-page-clean .company-panel,
body.second-page-clean .talent-page-lineup-panel,
body.second-page-clean .shop-hub-hero,
body.second-page-clean .shop-hub-note,
body.second-page-clean .teacher-profile-card,
body.second-page-clean .audition-recruit-content,
body.second-page-clean .external-form-frame-wrap,
body.second-page-clean .news-detail-body,
body.second-page-clean .release-detail-list,
body.second-page-clean .movie-embed-card,
body.second-page-clean .audition-top-banner-card {
  background: #ffffff !important;
  border-color: rgba(18, 52, 109, .08) !important;
  box-shadow: none !important;
}
body.second-page-clean .simple-main-card,
body.second-page-clean .audition-serious-message {
  background: #ffffff !important;
  text-align: left !important;
}
body.second-page-clean .section-heading.center p:not(.eyebrow),
body.second-page-clean .simple-subpage-note,
body.second-page-clean .simple-inner-heading p:last-child,
body.second-page-clean .section-lead,
body.second-page-clean .contact-heading p:last-child {
  text-align: left !important;
}
.button.primary,
a.button.primary,
.button.secondary,
a.button.secondary,
.shop-item-button,
.shop-branch-arrow,
.text-link,
.featured-banner-detail-btn,
.school-teacher-btn,
.cta-btn,
.detail-btn {
  background: linear-gradient(135deg, #ff7a32 0%, #e85143 100%) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 26px rgba(232, 81, 67, .28) !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}
.button.primary:hover,
a.button.primary:hover,
.button.secondary:hover,
a.button.secondary:hover,
.shop-item-button:hover,
.shop-branch-arrow:hover,
.text-link:hover,
.featured-banner-detail-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(232, 81, 67, .36) !important;
}
.simple-media-item {
  display: grid !important;
  grid-template-columns: minmax(160px, 280px) 1fr !important;
  gap: clamp(20px, 3vw, 34px) !important;
  align-items: start !important;
  padding: clamp(22px, 3vw, 34px) 0 !important;
  border-top: 1px solid rgba(18, 52, 109, .12) !important;
}
.simple-media-thumb {
  margin: 0 !important;
}
.simple-media-thumb img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 18px !important;
  object-fit: contain !important;
}
.simple-media-copy > *:first-child { margin-top: 0 !important; }
.events-text-block,
.smile-simple-item {
  border-top: 1px solid rgba(18, 52, 109, .12) !important;
}
.rili-hero-simple {
  display: grid;
  grid-template-columns: minmax(260px, 380px) 1fr;
  gap: clamp(28px, 5vw, 60px);
  align-items: center;
  margin-bottom: clamp(42px, 6vw, 72px);
}
.rili-hero-photo { margin: 0; }
.rili-hero-photo img {
  width: 100%;
  display: block;
  border-radius: 28px;
  box-shadow: 0 22px 48px rgba(18, 52, 109, .14);
}
.rili-hero-copy h2,
.rili-simple-section h2 {
  color: #12346d;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.35;
}
.rili-simple-section {
  padding: clamp(30px, 5vw, 56px) 0;
  border-top: 1px solid rgba(18, 52, 109, .12);
}
.rili-visual-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 30px);
}
.rili-visual-list figure { margin: 0; }
.rili-visual-list img {
  width: 100%;
  display: block;
  border-radius: 20px;
  object-fit: contain;
  background: #fff;
}
.rili-visual-list figcaption {
  margin-top: 10px;
  color: #12346d;
  font-weight: 700;
}
@media (max-width: 760px) {
  .simple-media-item,
  .rili-hero-simple,
  .rili-visual-list {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   UPDATE: lsm-rili.html main image smaller / clearer display
   ========================================================= */
body.second-page-clean .rili-profile-page .rili-hero-simple {
  grid-template-columns: minmax(210px, 250px) minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 52px) !important;
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.second-page-clean .rili-profile-page .rili-hero-photo {
  width: min(100%, 232px) !important;
  max-width: 232px !important;
  justify-self: center !important;
  padding: 10px !important;
  border-radius: 30px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(18, 52, 109, .12) !important;
}
body.second-page-clean .rili-profile-page .rili-hero-photo img {
  width: 100% !important;
  height: auto !important;
  max-width: 232px !important;
  object-fit: contain !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}
@media (max-width: 768px) {
  body.second-page-clean .rili-profile-page .rili-hero-simple {
    grid-template-columns: 1fr !important;
  }
  body.second-page-clean .rili-profile-page .rili-hero-photo {
    max-width: 220px !important;
  }
}

/* =========================================================
   UPDATE: lsm-rili.html YouTube section refined
   ========================================================= */
body.second-page-clean .rili-profile-page .rili-youtube-section {
  background: #fff !important;
}
body.second-page-clean .rili-profile-page .rili-youtube-feature {
  display: grid !important;
  grid-template-columns: minmax(260px, 440px) minmax(0, 1fr) !important;
  gap: clamp(22px, 4vw, 46px) !important;
  align-items: center !important;
  margin: clamp(22px, 4vw, 36px) 0 !important;
}
body.second-page-clean .rili-profile-page .rili-youtube-main-thumb {
  margin: 0 !important;
}
body.second-page-clean .rili-profile-page .rili-youtube-main-thumb img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 22px !important;
  object-fit: contain !important;
  box-shadow: 0 18px 42px rgba(18, 52, 109, .12) !important;
  background: #fff !important;
}
body.second-page-clean .rili-profile-page .rili-youtube-copy h3 {
  margin: 8px 0 12px !important;
  color: #12346d !important;
  font-size: clamp(25px, 2.8vw, 36px) !important;
  line-height: 1.35 !important;
  letter-spacing: .03em !important;
}
body.second-page-clean .rili-profile-page .rili-youtube-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(16px, 2.5vw, 24px) !important;
  margin-top: clamp(20px, 4vw, 34px) !important;
}
body.second-page-clean .rili-profile-page .rili-youtube-item {
  padding: 0 0 18px !important;
  border-bottom: 1px solid rgba(18, 52, 109, .14) !important;
}
body.second-page-clean .rili-profile-page .rili-youtube-num {
  display: inline-block !important;
  margin-bottom: 10px !important;
  color: #f65aa6 !important;
  font-family: "Playfair Display", serif !important;
  font-size: 18px !important;
  letter-spacing: .12em !important;
  font-weight: 700 !important;
}
body.second-page-clean .rili-profile-page .rili-youtube-item h3 {
  margin: 0 0 8px !important;
  color: #12346d !important;
  font-size: clamp(17px, 1.7vw, 21px) !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
}
body.second-page-clean .rili-profile-page .rili-youtube-item p {
  margin: 0 !important;
  color: #274571 !important;
  line-height: 1.9 !important;
}
body.second-page-clean .rili-profile-page .rili-youtube-buttons {
  margin-top: clamp(26px, 4vw, 42px) !important;
}
@media (max-width: 760px) {
  body.second-page-clean .rili-profile-page .rili-youtube-feature,
  body.second-page-clean .rili-profile-page .rili-youtube-list {
    grid-template-columns: 1fr !important;
  }
}

/* ==================== 2026-06-04 talent profile button refresh ==================== */
#talent .card-body .text-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: max-content !important;
  min-height: 38px !important;
  margin-top: 12px !important;
  padding: 9px 18px !important;
  background: linear-gradient(135deg, #1e4d96 0%, #356fbb 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(30, 77, 150, 0.22) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#talent .card-body .text-link::after {
  content: "→" !important;
  display: inline-block !important;
  font-size: 12px !important;
  line-height: 1 !important;
  transform: translateY(-0.5px) !important;
}

#talent .card-body .text-link:hover,
#talent .card-body .text-link:focus-visible {
  background: linear-gradient(135deg, #ff8b45 0%, #e65d44 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(230, 93, 68, 0.28) !important;
  transform: translateY(-2px) !important;
}

#talent .card-body .text-link:focus-visible {
  outline: 2px solid rgba(255, 145, 86, 0.35) !important;
  outline-offset: 2px !important;
}

@media (max-width: 768px) {
  #talent .card-body .text-link {
    min-height: 36px !important;
    padding: 8px 16px !important;
    font-size: 12px !important;
  }
}


/* ==================== 2026-06-04 generic talent profile pages ==================== */
body.second-page-clean .talent-profile-page .simple-subpage-heading h1 {
  letter-spacing: .02em !important;
}
body.second-page-clean .talent-profile-page .talent-profile-copy h2 {
  margin-bottom: 14px !important;
}
body.second-page-clean .talent-profile-page .talent-profile-info-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(16px, 3vw, 24px) !important;
  margin: 24px 0 26px !important;
}
body.second-page-clean .talent-profile-page .talent-profile-info-card {
  padding: 22px 24px !important;
  border: 1px solid rgba(160, 194, 238, .72) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 14px 30px rgba(23, 58, 120, .08) !important;
}
body.second-page-clean .talent-profile-page .talent-profile-info-card h3 {
  margin: 8px 0 0 !important;
  color: #12346d !important;
  font-size: clamp(22px, 2.4vw, 32px) !important;
  line-height: 1.35 !important;
}
body.second-page-clean .talent-profile-page .button.secondary {
  color: #12346d !important;
  border: 1px solid rgba(160, 194, 238, .72) !important;
  background: #ffffff !important;
  box-shadow: 0 10px 22px rgba(23, 58, 120, .08) !important;
}
@media (max-width: 760px) {
  body.second-page-clean .talent-profile-page .talent-profile-info-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ==================== 2026-06-04 Najib Chari profile content ==================== */
body.second-page-clean .najib-profile-page .section-lead {
  text-align: center !important;
}

body.second-page-clean .najib-profile-page .najib-hero {
  align-items: center !important;
}

body.second-page-clean .najib-profile-page .najib-hero-photo {
  max-width: 360px !important;
}

body.second-page-clean .najib-profile-page .najib-hero-photo img {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 28px !important;
  filter: grayscale(1) contrast(1.04) !important;
}

body.second-page-clean .najib-profile-page .najib-lead {
  font-size: clamp(18px, 1.8vw, 22px) !important;
  font-weight: 800 !important;
  color: #12346d !important;
}

body.second-page-clean .najib-social-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 20px !important;
}

body.second-page-clean .najib-social-icons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 20px rgba(23, 58, 120, .12) !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

body.second-page-clean .najib-social-icons img {
  width: 33px !important;
  height: 33px !important;
  display: block !important;
  border-radius: 999px !important;
}

body.second-page-clean .najib-video-section {
  margin-top: clamp(34px, 5vw, 60px) !important;
}

body.second-page-clean .najib-video-feature {
  display: grid !important;
  grid-template-columns: minmax(280px, .95fr) 1fr !important;
  gap: clamp(22px, 4vw, 42px) !important;
  align-items: center !important;
  margin-top: 24px !important;
  padding: clamp(20px, 3vw, 34px) !important;
  border: 1px solid rgba(160, 194, 238, .65) !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(241,247,255,.94)) !important;
  box-shadow: 0 18px 42px rgba(23, 58, 120, .09) !important;
}

body.second-page-clean .najib-video-placeholder {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 250px !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 139, 69, .28), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(53, 111, 187, .30), transparent 30%),
    linear-gradient(135deg, #12346d 0%, #214f98 55%, #2f6fbd 100%) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16) !important;
}

body.second-page-clean .najib-video-placeholder::after {
  content: "" !important;
  position: absolute !important;
  inset: 18px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 18px !important;
}

body.second-page-clean .najib-play-mark {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 72px !important;
  height: 72px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.96) !important;
  color: #1e4d96 !important;
  font-size: 28px !important;
  box-shadow: 0 18px 36px rgba(0,0,0,.18) !important;
  z-index: 1 !important;
}

body.second-page-clean .najib-video-placeholder p {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  z-index: 1 !important;
}

body.second-page-clean .najib-video-copy p:not(.simple-info-label) {
  color: #2f4771 !important;
  line-height: 1.9 !important;
}

body.second-page-clean .najib-video-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 22px !important;
}

body.second-page-clean .najib-video-card {
  padding: 20px 22px !important;
  border: 1px solid rgba(160, 194, 238, .65) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 12px 30px rgba(23, 58, 120, .07) !important;
}

body.second-page-clean .najib-video-card h3 {
  margin: 8px 0 14px !important;
  color: #12346d !important;
  font-size: clamp(16px, 1.45vw, 19px) !important;
  line-height: 1.55 !important;
}

body.second-page-clean .najib-video-card a {
  color: #245fa8 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.second-page-clean .najib-video-card a::after {
  content: " →" !important;
}

@media (max-width: 820px) {
  body.second-page-clean .najib-video-feature,
  body.second-page-clean .najib-video-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ==================== 2026-06-04 Akama Shota profile page ==================== */
body.second-page-clean .akama-profile-page .section-lead {
  max-width: 760px !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.second-page-clean .akama-profile-page .akama-hero {
  grid-template-columns: minmax(320px, 1.08fr) minmax(300px, .92fr) !important;
  align-items: center !important;
}

body.second-page-clean .akama-profile-page .akama-hero-photo {
  max-width: 620px !important;
}

body.second-page-clean .akama-profile-page .akama-hero-photo img,
body.second-page-clean .akama-profile-page .akama-photo-wide img {
  width: 100% !important;
  display: block !important;
  border-radius: 30px !important;
  object-fit: cover !important;
  box-shadow: 0 22px 54px rgba(23, 58, 120, .16) !important;
}

body.second-page-clean .akama-profile-page .akama-hero-copy h2 span {
  display: block !important;
  margin-top: 6px !important;
  font-size: .48em !important;
  letter-spacing: .08em !important;
  color: #58719b !important;
}

body.second-page-clean .akama-profile-page .akama-hero-copy p:not(.simple-info-label),
body.second-page-clean .akama-profile-page .akama-sns-section p {
  color: #2f4771 !important;
  line-height: 1.95 !important;
}

body.second-page-clean .akama-profile-page .akama-info-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.second-page-clean .akama-profile-page .akama-info-grid .talent-profile-info-card:last-child {
  grid-column: span 2 !important;
}

body.second-page-clean .akama-profile-page .akama-info-grid .talent-profile-info-card h3 {
  font-size: clamp(18px, 1.7vw, 24px) !important;
}

body.second-page-clean .akama-profile-page .akama-works-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 24px !important;
}

body.second-page-clean .akama-profile-page .akama-works-card {
  padding: clamp(20px, 3vw, 28px) !important;
  border: 1px solid rgba(160, 194, 238, .68) !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.94)) !important;
  box-shadow: 0 14px 34px rgba(23, 58, 120, .08) !important;
}

body.second-page-clean .akama-profile-page .akama-works-card-wide {
  grid-column: 1 / -1 !important;
}

body.second-page-clean .akama-profile-page .akama-works-card ul {
  margin: 14px 0 0 !important;
  padding-left: 1.2em !important;
  color: #12346d !important;
  font-weight: 800 !important;
  line-height: 1.9 !important;
}

body.second-page-clean .akama-profile-page .akama-works-card p:not(.simple-info-label) {
  color: #2f4771 !important;
  line-height: 1.9 !important;
  margin: 14px 0 0 !important;
}

body.second-page-clean .akama-profile-page .akama-photo-wide {
  margin: 24px 0 0 !important;
}

body.second-page-clean .akama-profile-page .akama-social-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

body.second-page-clean .akama-profile-page .akama-social-list a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #1e4d96 0%, #356fbb 100%) !important;
  box-shadow: 0 10px 22px rgba(30, 77, 150, .18) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

@media (max-width: 980px) {
  body.second-page-clean .akama-profile-page .akama-hero {
    grid-template-columns: 1fr !important;
  }
  body.second-page-clean .akama-profile-page .akama-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.second-page-clean .akama-profile-page .akama-info-grid,
  body.second-page-clean .akama-profile-page .akama-works-grid {
    grid-template-columns: 1fr !important;
  }
  body.second-page-clean .akama-profile-page .akama-info-grid .talent-profile-info-card:last-child,
  body.second-page-clean .akama-profile-page .akama-works-card-wide {
    grid-column: auto !important;
  }
}


/* ==================== 2026-06-04 Nakamura Taiga profile page ==================== */
body.second-page-clean .taiga-profile-page .section-lead {
  max-width: 820px !important;
  margin-inline: auto !important;
  text-align: center !important;
}
body.second-page-clean .taiga-profile-page .taiga-hero {
  grid-template-columns: minmax(280px, .78fr) minmax(320px, 1.22fr) !important;
  align-items: center !important;
}
body.second-page-clean .taiga-profile-page .taiga-hero-photo {
  max-width: 420px !important;
}
body.second-page-clean .taiga-profile-page .taiga-hero-photo img {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 30px !important;
  box-shadow: 0 22px 54px rgba(23, 58, 120, .16) !important;
}
body.second-page-clean .taiga-profile-page .taiga-hero-copy h2 span {
  display: block !important;
  margin-top: 6px !important;
  font-size: .48em !important;
  letter-spacing: .08em !important;
  color: #58719b !important;
}
body.second-page-clean .taiga-profile-page .taiga-hero-copy p:not(.simple-info-label),
body.second-page-clean .taiga-profile-page .taiga-video-section > p,
body.second-page-clean .taiga-profile-page .taiga-gallery-section > p {
  color: #2f4771 !important;
  line-height: 1.95 !important;
}
body.second-page-clean .taiga-social-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 20px 0 4px !important;
}
body.second-page-clean .taiga-social-icons span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 20px rgba(23, 58, 120, .12) !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
body.second-page-clean .taiga-social-icons img {
  width: 33px !important;
  height: 33px !important;
  display: block !important;
  border-radius: 999px !important;
}
body.second-page-clean .taiga-profile-page .taiga-info-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
body.second-page-clean .taiga-profile-page .taiga-info-grid .talent-profile-info-card h3 {
  font-size: clamp(17px, 1.45vw, 23px) !important;
}
body.second-page-clean .taiga-video-grid,
body.second-page-clean .taiga-works-grid,
body.second-page-clean .taiga-photo-grid {
  display: grid !important;
  gap: 18px !important;
  margin-top: 24px !important;
}
body.second-page-clean .taiga-video-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.second-page-clean .taiga-works-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.second-page-clean .taiga-photo-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.second-page-clean .taiga-video-card,
body.second-page-clean .taiga-works-card {
  padding: clamp(20px, 3vw, 28px) !important;
  border: 1px solid rgba(160, 194, 238, .68) !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.94)) !important;
  box-shadow: 0 14px 34px rgba(23, 58, 120, .08) !important;
}
body.second-page-clean .taiga-video-card-wide {
  grid-column: 1 / -1 !important;
}
body.second-page-clean .taiga-video-card h3,
body.second-page-clean .taiga-works-card h3 {
  color: #12346d !important;
  line-height: 1.55 !important;
}
body.second-page-clean .taiga-video-card p:not(.simple-info-label),
body.second-page-clean .taiga-works-card ul {
  color: #2f4771 !important;
  line-height: 1.9 !important;
}
body.second-page-clean .taiga-works-card ul {
  margin: 14px 0 0 !important;
  padding-left: 1.2em !important;
  font-weight: 800 !important;
}
body.second-page-clean .taiga-photo-grid figure {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 34px rgba(23, 58, 120, .10) !important;
}
body.second-page-clean .taiga-photo-grid img {
  width: 100% !important;
  height: 240px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .35s ease !important;
}
body.second-page-clean .taiga-photo-grid figure:hover img {
  transform: scale(1.035) !important;
}
@media (max-width: 980px) {
  body.second-page-clean .taiga-profile-page .taiga-hero,
  body.second-page-clean .taiga-profile-page .taiga-info-grid,
  body.second-page-clean .taiga-video-grid,
  body.second-page-clean .taiga-works-grid,
  body.second-page-clean .taiga-photo-grid {
    grid-template-columns: 1fr !important;
  }
  body.second-page-clean .taiga-video-card-wide {
    grid-column: auto !important;
  }
  body.second-page-clean .taiga-photo-grid img {
    height: auto !important;
    max-height: 420px !important;
  }
}

/* ==================== 2026-06-04 Sakai Hiroki profile page ==================== */
body.second-page-clean .sakai-profile-page .section-lead {
  max-width: 780px !important;
  margin-inline: auto !important;
  text-align: center !important;
}
body.second-page-clean .sakai-profile-page .sakai-hero {
  grid-template-columns: minmax(260px, 360px) minmax(320px, 1fr) !important;
  align-items: center !important;
  max-width: 1040px !important;
}
body.second-page-clean .sakai-profile-page .sakai-hero-photo {
  width: min(100%, 300px) !important;
  max-width: 300px !important;
  justify-self: center !important;
  padding: 18px 18px 0 !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(255,255,255,.98), rgba(239,245,255,.96) 68%, rgba(232,241,255,.92)) !important;
  box-shadow: 0 22px 54px rgba(23, 58, 120, .16) !important;
}
body.second-page-clean .sakai-profile-page .sakai-hero-photo img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
  border-radius: 24px !important;
  box-shadow: none !important;
}
body.second-page-clean .sakai-profile-page .sakai-hero-copy h2 span {
  display: block !important;
  margin-top: 6px !important;
  font-size: .48em !important;
  letter-spacing: .08em !important;
  color: #58719b !important;
}
body.second-page-clean .sakai-profile-page .sakai-hero-copy p:not(.simple-info-label),
body.second-page-clean .sakai-profile-page .sakai-story-card p,
body.second-page-clean .sakai-profile-page .sakai-works-card p:not(.simple-info-label) {
  color: #2f4771 !important;
  line-height: 1.95 !important;
}
body.second-page-clean .sakai-profile-page .sakai-info-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.second-page-clean .sakai-profile-page .sakai-info-grid .talent-profile-info-card h3 {
  font-size: clamp(17px, 1.55vw, 23px) !important;
}
body.second-page-clean .sakai-profile-page .sakai-info-wide {
  grid-column: span 3 !important;
}
body.second-page-clean .sakai-profile-page .sakai-story-card {
  padding: clamp(22px, 3.5vw, 34px) !important;
  border: 1px solid rgba(160, 194, 238, .68) !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.94)) !important;
  box-shadow: 0 16px 38px rgba(23, 58, 120, .09) !important;
}
body.second-page-clean .sakai-profile-page .sakai-story-card p {
  margin: 0 0 16px !important;
}
body.second-page-clean .sakai-profile-page .sakai-story-card p:last-child {
  margin-bottom: 0 !important;
}
body.second-page-clean .sakai-profile-page .sakai-works-grid,
body.second-page-clean .sakai-profile-page .sakai-photo-grid {
  display: grid !important;
  gap: 18px !important;
  margin-top: 24px !important;
}
body.second-page-clean .sakai-profile-page .sakai-works-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.second-page-clean .sakai-profile-page .sakai-works-card {
  padding: clamp(20px, 3vw, 28px) !important;
  border: 1px solid rgba(160, 194, 238, .68) !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.94)) !important;
  box-shadow: 0 14px 34px rgba(23, 58, 120, .08) !important;
}
body.second-page-clean .sakai-profile-page .sakai-works-card-wide {
  grid-column: 1 / -1 !important;
}
body.second-page-clean .sakai-profile-page .sakai-works-card h3 {
  color: #12346d !important;
  line-height: 1.55 !important;
}
body.second-page-clean .sakai-profile-page .sakai-photo-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.second-page-clean .sakai-profile-page .sakai-photo-grid figure {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 34px rgba(23, 58, 120, .10) !important;
}
body.second-page-clean .sakai-profile-page .sakai-photo-grid img {
  width: 100% !important;
  height: 280px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .35s ease !important;
}
body.second-page-clean .sakai-profile-page .sakai-photo-grid figure:hover img {
  transform: scale(1.035) !important;
}
@media (max-width: 980px) {
  body.second-page-clean .sakai-profile-page .sakai-hero,
  body.second-page-clean .sakai-profile-page .sakai-info-grid,
  body.second-page-clean .sakai-profile-page .sakai-works-grid,
  body.second-page-clean .sakai-profile-page .sakai-photo-grid {
    grid-template-columns: 1fr !important;
  }
  body.second-page-clean .sakai-profile-page .sakai-info-wide,
  body.second-page-clean .sakai-profile-page .sakai-works-card-wide {
    grid-column: auto !important;
  }
  body.second-page-clean .sakai-profile-page .sakai-photo-grid img {
    height: auto !important;
    max-height: 420px !important;
  }
}


/* ==================== 2026-06-04 eneku profile page ==================== */
body.second-page-clean .eneku-profile-page .section-lead {
  color: #5a6f91 !important;
  font-weight: 800 !important;
}
body.second-page-clean .eneku-profile-page .eneku-hero-photo img {
  object-fit: cover !important;
  object-position: center top !important;
}
body.second-page-clean .eneku-profile-page .eneku-info-grid .talent-profile-info-card h3 {
  font-size: clamp(18px, 2vw, 24px) !important;
}
body.second-page-clean .eneku-profile-page .eneku-video-placeholder {
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, .24), transparent 34%),
    linear-gradient(135deg, #2d5ea7 0%, #8b7ad8 100%) !important;
}
body.second-page-clean .eneku-profile-page .eneku-social-icons span {
  background: #ffffff !important;
  border: 1px solid rgba(152, 182, 226, .65) !important;
}

/* ==================== 2026-06-04 Suiren profile page ==================== */
body.second-page-clean .suiren-profile-page .section-lead {
  color: #5a6f91 !important;
  font-weight: 800 !important;
  text-align: center !important;
}
body.second-page-clean .suiren-profile-page .suiren-hero {
  grid-template-columns: minmax(260px, 360px) minmax(320px, 1fr) !important;
  align-items: center !important;
  max-width: 1040px !important;
}
body.second-page-clean .suiren-profile-page .suiren-hero-photo {
  width: min(100%, 300px) !important;
  justify-self: center !important;
  padding: 18px 18px 0 !important;
  border-radius: 34px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(232,244,255,.94)) !important;
  box-shadow: 0 22px 54px rgba(23, 58, 120, .16) !important;
}
body.second-page-clean .suiren-profile-page .suiren-hero-photo img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center top !important;
  border-radius: 24px !important;
  box-shadow: none !important;
}
body.second-page-clean .suiren-profile-page .suiren-hero-copy h2 span {
  display: block !important;
  margin-top: 6px !important;
  font-size: .48em !important;
  letter-spacing: .08em !important;
  color: #58719b !important;
}
body.second-page-clean .suiren-profile-page .suiren-hero-copy p:not(.simple-info-label),
body.second-page-clean .suiren-profile-page .suiren-story-card p,
body.second-page-clean .suiren-profile-page .suiren-activity-card p:not(.simple-info-label),
body.second-page-clean .suiren-profile-page .suiren-goods-section > p {
  color: #2f4771 !important;
  line-height: 1.95 !important;
}
body.second-page-clean .suiren-social-icons span {
  background: #ffffff !important;
  border: 1px solid rgba(152, 182, 226, .65) !important;
}
body.second-page-clean .suiren-profile-page .suiren-info-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
body.second-page-clean .suiren-profile-page .suiren-info-grid .talent-profile-info-card h3 {
  font-size: clamp(16px, 1.35vw, 22px) !important;
}
body.second-page-clean .suiren-profile-page .suiren-story-card,
body.second-page-clean .suiren-profile-page .suiren-activity-card {
  padding: clamp(22px, 3.5vw, 34px) !important;
  border: 1px solid rgba(160, 194, 238, .68) !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.94)) !important;
  box-shadow: 0 16px 38px rgba(23, 58, 120, .09) !important;
}
body.second-page-clean .suiren-profile-page .suiren-story-card p {
  margin: 0 0 16px !important;
}
body.second-page-clean .suiren-profile-page .suiren-story-card p:last-child {
  margin-bottom: 0 !important;
}
body.second-page-clean .suiren-activity-grid,
body.second-page-clean .suiren-goods-layout,
body.second-page-clean .suiren-photo-grid {
  display: grid !important;
  gap: 18px !important;
  margin-top: 24px !important;
}
body.second-page-clean .suiren-activity-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.second-page-clean .suiren-activity-card-wide {
  grid-column: 1 / -1 !important;
}
body.second-page-clean .suiren-activity-card h3 {
  color: #12346d !important;
  line-height: 1.55 !important;
}
body.second-page-clean .suiren-goods-layout {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  align-items: stretch !important;
}
body.second-page-clean .suiren-goods-main,
body.second-page-clean .suiren-photo-grid figure {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 34px rgba(23, 58, 120, .10) !important;
}
body.second-page-clean .suiren-goods-main img {
  width: 100% !important;
  height: 320px !important;
  display: block !important;
  object-fit: contain !important;
  padding: 18px !important;
  background: #ffffff !important;
}
body.second-page-clean .suiren-photo-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
body.second-page-clean .suiren-photo-grid img {
  width: 100% !important;
  height: 260px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center top !important;
  transition: transform .35s ease !important;
}
body.second-page-clean .suiren-photo-grid figure:hover img {
  transform: scale(1.035) !important;
}
@media (max-width: 980px) {
  body.second-page-clean .suiren-profile-page .suiren-hero,
  body.second-page-clean .suiren-profile-page .suiren-info-grid,
  body.second-page-clean .suiren-activity-grid,
  body.second-page-clean .suiren-goods-layout,
  body.second-page-clean .suiren-photo-grid {
    grid-template-columns: 1fr !important;
  }
  body.second-page-clean .suiren-activity-card-wide {
    grid-column: auto !important;
  }
  body.second-page-clean .suiren-photo-grid img,
  body.second-page-clean .suiren-goods-main img {
    height: auto !important;
    max-height: 420px !important;
  }
}


/* ==================== 2026-06-04 paul steward profile page ==================== */
body.second-page-clean .paul-profile-page .section-lead {
  max-width: 820px !important;
  margin: 12px auto 0 !important;
  text-align: center !important;
  color: #526b91 !important;
}
body.second-page-clean .paul-profile-page .paul-hero {
  align-items: center !important;
}
body.second-page-clean .paul-profile-page .paul-hero-photo {
  background: linear-gradient(160deg, #f5f9ff 0%, #ffffff 56%, #fff3ea 100%) !important;
}
body.second-page-clean .paul-profile-page .paul-hero-photo img {
  width: min(100%, 360px) !important;
  height: auto !important;
  max-height: 420px !important;
  object-fit: contain !important;
  object-position: center bottom !important;
}
body.second-page-clean .paul-profile-page .paul-hero-copy h2 span {
  display: block !important;
  margin-top: 6px !important;
  color: #587099 !important;
  font-size: clamp(16px, 1.6vw, 20px) !important;
}
body.second-page-clean .paul-profile-page .paul-hero-copy p:not(.simple-info-label),
body.second-page-clean .paul-profile-page .paul-story-card p,
body.second-page-clean .paul-profile-page .paul-release-card p {
  color: #274571 !important;
  line-height: 1.9 !important;
}
body.second-page-clean .paul-social-icons span,
body.second-page-clean .paul-release-icons span {
  background: #ffffff !important;
}
body.second-page-clean .paul-video-placeholder {
  background: linear-gradient(135deg, rgba(18, 52, 109, .90), rgba(55, 111, 187, .72)), url('../assets/img/paulsteward/paul-thumb.jpg') center / cover no-repeat !important;
}
body.second-page-clean .paul-video-card h3 span {
  display: block !important;
  margin-top: 6px !important;
  color: #6a7fa4 !important;
  font-size: 13px !important;
}
body.second-page-clean .paul-info-grid .talent-profile-info-card h3 {
  font-size: clamp(18px, 2vw, 25px) !important;
}
body.second-page-clean .paul-story-card,
body.second-page-clean .paul-award-card,
body.second-page-clean .paul-schedule-list,
body.second-page-clean .paul-release-card {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(180, 205, 238, .72) !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 42px rgba(23, 58, 120, .08) !important;
}
body.second-page-clean .paul-story-card,
body.second-page-clean .paul-schedule-list {
  padding: clamp(22px, 3vw, 34px) !important;
}
body.second-page-clean .paul-awards-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
body.second-page-clean .paul-award-card {
  padding: 22px !important;
}
body.second-page-clean .paul-award-card h3 {
  margin: 0 !important;
  color: #12346d !important;
  font-size: clamp(16px, 1.6vw, 20px) !important;
  line-height: 1.6 !important;
}
body.second-page-clean .paul-schedule-list p {
  margin: 0 !important;
  padding: 14px 0 !important;
  color: #274571 !important;
  border-bottom: 1px solid rgba(180, 205, 238, .58) !important;
  line-height: 1.7 !important;
}
body.second-page-clean .paul-schedule-list p:last-child {
  border-bottom: 0 !important;
}
body.second-page-clean .paul-schedule-list strong {
  display: inline-block !important;
  min-width: 92px !important;
  color: #1e4d96 !important;
}
body.second-page-clean .paul-release-card {
  display: grid !important;
  grid-template-columns: minmax(180px, 280px) 1fr !important;
  gap: clamp(22px, 3vw, 34px) !important;
  align-items: center !important;
  padding: clamp(22px, 3vw, 34px) !important;
}
body.second-page-clean .paul-release-card figure {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #f4f8ff !important;
}
body.second-page-clean .paul-release-card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
body.second-page-clean .paul-release-card h3 {
  margin: 8px 0 12px !important;
  color: #12346d !important;
  font-size: clamp(22px, 2.4vw, 34px) !important;
  line-height: 1.45 !important;
}
@media (max-width: 780px) {
  body.second-page-clean .paul-awards-grid,
  body.second-page-clean .paul-release-card {
    grid-template-columns: 1fr !important;
  }
  body.second-page-clean .paul-release-card figure {
    max-width: 280px !important;
  }
}


/* ==================== 2026-06-04 Luca Cross profile page ==================== */
body.second-page-clean .luca-profile-page .section-lead {
  color: #5a6f91 !important;
  font-weight: 800 !important;
  text-align: center !important;
}
body.second-page-clean .luca-profile-page .luca-hero {
  grid-template-columns: minmax(260px, 360px) minmax(320px, 1fr) !important;
  align-items: center !important;
  max-width: 1040px !important;
}
body.second-page-clean .luca-profile-page .luca-hero-photo {
  width: min(100%, 320px) !important;
  justify-self: center !important;
  padding: 18px !important;
  border-radius: 34px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(237,244,255,.94)) !important;
  box-shadow: 0 22px 54px rgba(23, 58, 120, .16) !important;
}
body.second-page-clean .luca-profile-page .luca-hero-photo img {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 24px !important;
}
body.second-page-clean .luca-profile-page .luca-hero-copy h2 span {
  display: block !important;
  margin-top: 6px !important;
  font-size: .48em !important;
  letter-spacing: .08em !important;
  color: #58719b !important;
}
body.second-page-clean .luca-profile-page .luca-hero-copy p:not(.simple-info-label),
body.second-page-clean .luca-profile-page .luca-story-card p,
body.second-page-clean .luca-profile-page .luca-visual-copy p:not(.simple-info-label) {
  color: #2f4771 !important;
  line-height: 1.95 !important;
}
body.second-page-clean .luca-social-icons span {
  background: #ffffff !important;
  border: 1px solid rgba(152, 182, 226, .65) !important;
}
body.second-page-clean .luca-profile-page .luca-info-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
body.second-page-clean .luca-profile-page .luca-info-grid .talent-profile-info-card h3 {
  font-size: clamp(16px, 1.35vw, 22px) !important;
}
body.second-page-clean .luca-profile-page .luca-story-card,
body.second-page-clean .luca-profile-page .luca-visual-layout {
  padding: clamp(22px, 3.5vw, 34px) !important;
  border: 1px solid rgba(160, 194, 238, .68) !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.94)) !important;
  box-shadow: 0 16px 38px rgba(23, 58, 120, .09) !important;
}
body.second-page-clean .luca-profile-page .luca-story-card p {
  margin: 0 0 16px !important;
}
body.second-page-clean .luca-profile-page .luca-story-card p:last-child {
  margin-bottom: 0 !important;
}
body.second-page-clean .luca-visual-layout {
  display: grid !important;
  grid-template-columns: minmax(220px, 360px) 1fr !important;
  gap: clamp(22px, 4vw, 42px) !important;
  align-items: center !important;
  margin-top: 24px !important;
}
body.second-page-clean .luca-visual-poster {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #0f1624 !important;
  box-shadow: 0 16px 34px rgba(23, 58, 120, .12) !important;
}
body.second-page-clean .luca-visual-poster img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
body.second-page-clean .luca-visual-copy h3 {
  margin: 8px 0 14px !important;
  color: #12346d !important;
  font-size: clamp(22px, 2.4vw, 34px) !important;
  line-height: 1.45 !important;
}
@media (max-width: 980px) {
  body.second-page-clean .luca-profile-page .luca-hero,
  body.second-page-clean .luca-profile-page .luca-info-grid,
  body.second-page-clean .luca-visual-layout {
    grid-template-columns: 1fr !important;
  }
  body.second-page-clean .luca-profile-page .luca-hero-photo {
    max-width: 320px !important;
  }
}


/* ==================== 2026-06-04 Yohjima Hiroto profile page ==================== */
body.second-page-clean .yohjima-profile-page .section-lead {
  max-width: 760px !important;
  margin: 14px auto 0 !important;
  color: #526b91 !important;
  font-weight: 800 !important;
  line-height: 1.8 !important;
  text-align: center !important;
}
body.second-page-clean .yohjima-profile-page .yohjima-hero {
  grid-template-columns: minmax(260px, 360px) minmax(320px, 1fr) !important;
  align-items: center !important;
  max-width: 1040px !important;
}
body.second-page-clean .yohjima-profile-page .yohjima-hero-photo {
  width: min(100%, 320px) !important;
  justify-self: center !important;
  padding: 18px !important;
  border-radius: 34px !important;
  background: linear-gradient(160deg, #ffffff 0%, #f0f7ff 58%, #fff6e8 100%) !important;
  box-shadow: 0 24px 56px rgba(23, 58, 120, .16) !important;
}
body.second-page-clean .yohjima-profile-page .yohjima-hero-photo img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 24px !important;
}
body.second-page-clean .yohjima-profile-page .yohjima-hero-copy h2 span {
  display: block !important;
  margin-top: 6px !important;
  color: #60779e !important;
  font-size: .48em !important;
  letter-spacing: .08em !important;
}
body.second-page-clean .yohjima-profile-page .yohjima-hero-copy p:not(.simple-info-label),
body.second-page-clean .yohjima-profile-page .yohjima-release-card p,
body.second-page-clean .yohjima-profile-page .yohjima-goods-card p {
  color: #274571 !important;
  line-height: 1.9 !important;
}
body.second-page-clean .yohjima-social-icons span {
  background: #ffffff !important;
  border: 1px solid rgba(152, 182, 226, .65) !important;
}
body.second-page-clean .yohjima-profile-page .yohjima-info-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.second-page-clean .yohjima-profile-page .yohjima-info-grid .talent-profile-info-card h3 {
  font-size: clamp(16px, 1.45vw, 22px) !important;
  line-height: 1.6 !important;
}
body.second-page-clean .yohjima-release-card,
body.second-page-clean .yohjima-goods-card {
  display: grid !important;
  grid-template-columns: minmax(220px, 340px) 1fr !important;
  gap: clamp(22px, 4vw, 42px) !important;
  align-items: center !important;
  padding: clamp(22px, 3.5vw, 34px) !important;
  border: 1px solid rgba(160, 194, 238, .68) !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.94)) !important;
  box-shadow: 0 16px 38px rgba(23, 58, 120, .09) !important;
}
body.second-page-clean .yohjima-release-card figure,
body.second-page-clean .yohjima-goods-card figure {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #f5f9ff !important;
  box-shadow: 0 12px 28px rgba(23, 58, 120, .08) !important;
}
body.second-page-clean .yohjima-release-card img,
body.second-page-clean .yohjima-goods-card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
body.second-page-clean .yohjima-release-card h3,
body.second-page-clean .yohjima-goods-card h3 {
  margin: 8px 0 14px !important;
  color: #12346d !important;
  font-size: clamp(22px, 2.5vw, 34px) !important;
  line-height: 1.45 !important;
}
body.second-page-clean .yohjima-works-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
body.second-page-clean .yohjima-works-grid article {
  padding: 22px !important;
  border: 1px solid rgba(160, 194, 238, .68) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 12px 28px rgba(23, 58, 120, .07) !important;
}
body.second-page-clean .yohjima-works-grid span {
  display: block !important;
  margin-bottom: 8px !important;
  color: #2d65ad !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
body.second-page-clean .yohjima-works-grid h3 {
  margin: 0 !important;
  color: #12346d !important;
  font-size: clamp(18px, 1.8vw, 24px) !important;
  line-height: 1.55 !important;
}
@media (max-width: 900px) {
  body.second-page-clean .yohjima-profile-page .yohjima-hero,
  body.second-page-clean .yohjima-profile-page .yohjima-info-grid,
  body.second-page-clean .yohjima-release-card,
  body.second-page-clean .yohjima-goods-card,
  body.second-page-clean .yohjima-works-grid {
    grid-template-columns: 1fr !important;
  }
  body.second-page-clean .yohjima-profile-page .yohjima-hero-photo {
    max-width: 320px !important;
  }
}


/* ==================== 2026-06-04 flatman profile page ==================== */
body.second-page-clean .flatman-profile-page .flatman-hero {
  align-items: center !important;
}
body.second-page-clean .flatman-profile-page .flatman-hero-photo {
  background: linear-gradient(135deg, #ffffff 0%, #eef6ff 100%) !important;
}
body.second-page-clean .flatman-profile-page .flatman-hero-photo img {
  object-fit: cover !important;
  object-position: center center !important;
}
body.second-page-clean .flatman-profile-page .flatman-hero-copy .najib-lead {
  color: #12346d !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  font-weight: 900 !important;
  line-height: 1.7 !important;
}
body.second-page-clean .flatman-profile-page .flatman-social-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 22px 0 0 !important;
}
body.second-page-clean .flatman-profile-page .flatman-social-icons span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(23, 58, 120, .12) !important;
}
body.second-page-clean .flatman-profile-page .flatman-social-icons img {
  width: 22px !important;
  height: 22px !important;
  object-fit: contain !important;
}
body.second-page-clean .flatman-profile-page .flatman-story-card {
  margin-top: 24px !important;
  padding: clamp(22px, 3vw, 34px) !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(238,246,255,.92)) !important;
  border: 1px solid rgba(166, 200, 244, .55) !important;
  box-shadow: 0 18px 44px rgba(23, 58, 120, .08) !important;
}
body.second-page-clean .flatman-profile-page .flatman-story-card p {
  color: #274571 !important;
  line-height: 1.95 !important;
}
body.second-page-clean .flatman-profile-page .flatman-art-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(14px, 2vw, 22px) !important;
  margin-top: 26px !important;
}
body.second-page-clean .flatman-profile-page .flatman-art-grid figure {
  margin: 0 !important;
  padding: 16px !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid rgba(166, 200, 244, .55) !important;
  box-shadow: 0 16px 36px rgba(23, 58, 120, .08) !important;
  min-height: 180px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.second-page-clean .flatman-profile-page .flatman-art-grid img {
  width: 100% !important;
  max-height: 210px !important;
  object-fit: contain !important;
}
body.second-page-clean .flatman-profile-page .flatman-message-section {
  background: linear-gradient(135deg, #f5f9ff 0%, #ffffff 100%) !important;
}
@media (max-width: 980px) {
  body.second-page-clean .flatman-profile-page .flatman-art-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 680px) {
  body.second-page-clean .flatman-profile-page .flatman-art-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.second-page-clean .flatman-profile-page .flatman-art-grid figure {
    min-height: 140px !important;
    padding: 12px !important;
  }
}

/* ==================== 2026-06-05 events image replacement ==================== */
#events .simple-media-thumb img {
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  background: #f4f8ff !important;
  box-shadow: 0 16px 34px rgba(18, 52, 109, .12) !important;
}

#events .events-text-block h2 {
  letter-spacing: .04em !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

/* ==================== 2026-06-05 TOP schedule / Google Calendar ==================== */
.home-schedule-section {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 12%, rgba(128, 181, 255, .22), transparent 32%),
    radial-gradient(circle at 86% 10%, rgba(202, 174, 255, .20), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%) !important;
}
.home-schedule-container {
  position: relative !important;
  z-index: 1 !important;
}
.home-schedule-heading {
  max-width: 760px !important;
  margin: 0 auto clamp(28px, 4vw, 46px) !important;
  text-align: center !important;
}
.home-schedule-eyebrow {
  margin: 0 0 10px !important;
  color: #225bd5 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .22em !important;
}
.home-schedule-heading h2 {
  margin: 0 0 14px !important;
  color: #08346f !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.15 !important;
  letter-spacing: .08em !important;
}
.home-schedule-heading p:not(.home-schedule-eyebrow) {
  margin: 0 !important;
  color: #506787 !important;
  line-height: 1.9 !important;
}
.home-schedule-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
  gap: clamp(22px, 3vw, 36px) !important;
  align-items: stretch !important;
}
.home-schedule-calendar-card,
.home-schedule-list-card {
  border: 1px solid rgba(159, 196, 246, .70) !important;
  border-radius: 34px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 24px 58px rgba(23, 58, 120, .11) !important;
}
.home-schedule-calendar-card {
  overflow: hidden !important;
}
.home-schedule-calendar-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 18px clamp(20px, 3vw, 28px) !important;
  background: linear-gradient(135deg, #123a79, #4f77d7) !important;
  color: #ffffff !important;
}
.home-schedule-calendar-head span {
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}
.home-schedule-calendar-head small {
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.18) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.home-schedule-iframe-wrap {
  position: relative !important;
  min-height: 430px !important;
  background:
    linear-gradient(90deg, rgba(227, 237, 255, .72) 1px, transparent 1px),
    linear-gradient(180deg, rgba(227, 237, 255, .72) 1px, transparent 1px),
    #f8fbff !important;
  background-size: 14.28% 72px !important;
}
.home-schedule-iframe-wrap iframe {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 430px !important;
  border: 0 !important;
  background: transparent !important;
}
.home-schedule-placeholder {
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(84%, 420px) !important;
  padding: 28px !important;
  border: 1px dashed rgba(62, 118, 204, .38) !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: 0 18px 40px rgba(23,58,120,.10) !important;
  color: #274571 !important;
  text-align: center !important;
  pointer-events: none !important;
}
.home-schedule-placeholder strong {
  display: block !important;
  margin-bottom: 10px !important;
  color: #123a79 !important;
  font-size: 20px !important;
  letter-spacing: .08em !important;
}
.home-schedule-placeholder span {
  display: block !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}
.home-schedule-list-card {
  padding: clamp(24px, 3vw, 34px) !important;
}
.home-schedule-list-card h3 {
  margin: 0 0 20px !important;
  color: #08346f !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  letter-spacing: .08em !important;
}
.home-schedule-month-grid {
  display: grid !important;
  gap: 22px !important;
}
.home-schedule-month {
  padding: 20px !important;
  border-radius: 24px !important;
  background: #f7fbff !important;
  border: 1px solid rgba(188, 212, 245, .72) !important;
}
.home-schedule-month h4 {
  margin: 0 0 12px !important;
  color: #245fa8 !important;
  font-size: 24px !important;
  letter-spacing: .10em !important;
}
.home-schedule-month ul {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.home-schedule-month li {
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  color: #25466f !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}
.home-schedule-month time {
  color: #e65d44 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
.home-schedule-month span em {
  display: block !important;
  margin-top: 4px !important;
  color: #667a99 !important;
  font-size: 12px !important;
  font-style: normal !important;
}
.home-schedule-note {
  margin: 18px 0 0 !important;
  color: #6b7c96 !important;
  font-size: 12px !important;
  line-height: 1.8 !important;
}
@media (max-width: 980px) {
  .home-schedule-layout {
    grid-template-columns: 1fr !important;
  }
  .home-schedule-iframe-wrap,
  .home-schedule-iframe-wrap iframe {
    min-height: 380px !important;
    height: 380px !important;
  }
}
@media (max-width: 640px) {
  .home-schedule-calendar-card,
  .home-schedule-list-card {
    border-radius: 24px !important;
  }
  .home-schedule-calendar-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .home-schedule-month li {
    grid-template-columns: 1fr !important;
    gap: 2px !important;
  }
}

/* ==================== 2026-06-05 TOP schedule / one column override ==================== */
.home-schedule-layout-single {
  display: block !important;
  max-width: 920px !important;
  margin: 0 auto !important;
}
.home-schedule-single-card {
  width: 100% !important;
  padding: clamp(26px, 4vw, 44px) !important;
  border-radius: 34px !important;
}
.home-schedule-single-card h3 {
  margin-bottom: clamp(20px, 3vw, 30px) !important;
  text-align: center !important;
}
.home-schedule-single-card .home-schedule-month-grid {
  grid-template-columns: 1fr !important;
  gap: clamp(20px, 3vw, 28px) !important;
}
.home-schedule-single-card .home-schedule-month {
  padding: clamp(22px, 3vw, 30px) !important;
}
.home-schedule-single-card .home-schedule-month li {
  grid-template-columns: 96px minmax(0, 1fr) !important;
  gap: clamp(12px, 2vw, 18px) !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(188, 212, 245, .58) !important;
  font-size: 15px !important;
}
.home-schedule-single-card .home-schedule-month li:last-child {
  border-bottom: 0 !important;
}
.home-schedule-single-card .home-schedule-month time {
  font-size: 15px !important;
}
@media (max-width: 640px) {
  .home-schedule-single-card {
    padding: 22px !important;
    border-radius: 24px !important;
  }
  .home-schedule-single-card .home-schedule-month li {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}

/* ==================== 2026-06-05 lsm-smile.html DAMMY image replacement ==================== */
body.second-page-clean .smile-shop-logo-thumb {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 36px rgba(18, 52, 109, .10) !important;
}
body.second-page-clean .smile-shop-logo-thumb img {
  width: 100% !important;
  max-height: 170px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

/* ==================== 2026-06-05 lsm-smile.html Rili.Project image replacement ==================== */
body.second-page-clean .smile-rili-project-thumb {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 36px rgba(18, 52, 109, .10) !important;
  overflow: hidden !important;
}
body.second-page-clean .smile-rili-project-thumb img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

/* ==================== 2026-06-05 lsm-smile.html Rili.Project overseas shop image ==================== */
body.second-page-clean .smile-rili-shop-thumb {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 36px rgba(18, 52, 109, .10) !important;
  overflow: hidden !important;
}
body.second-page-clean .smile-rili-shop-thumb img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

/* ==================== 2026-06-05 smile page dummy image replacements ==================== */
.smile-shop-logo-thumb img,
.smile-rili-project-thumb img,
.smile-rili-shop-thumb img,
.smile-shop-list-thumb img {
  object-fit: contain !important;
  background: #ffffff !important;
}

/* ==================== 2026-06-05 lsm-smile.html R.Sapphire Shop image ==================== */
body.second-page-clean .smile-rsapphire-shop-thumb {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 36px rgba(18, 52, 109, .10) !important;
  overflow: hidden !important;
}
body.second-page-clean .smile-rsapphire-shop-thumb img {
  width: 100% !important;
  max-height: 180px !important;
  object-fit: contain !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  background: #ffffff !important;
}

/* ==================== 2026-06-05 smile page image fit ==================== */
body.second-page-clean .smile-flatman-thumb img,
body.second-page-clean .smile-shop-logo-thumb img,
body.second-page-clean .smile-rili-project-thumb img,
body.second-page-clean .smile-rili-shop-thumb img,
body.second-page-clean .smile-shop-list-thumb img,
body.second-page-clean .smile-rsapphire-shop-thumb img,
body.second-page-clean .smile-jewl-heart-shop-thumb img {
  object-fit: contain !important;
  background: #ffffff !important;
  padding: 10px !important;
}

/* ==================== 2026-06-05 smile generated fantasy banners ==================== */
body.second-page-clean .smile-generated-thumb {
  display: block !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 36px rgba(18, 52, 109, .10) !important;
}
body.second-page-clean .smile-generated-thumb img {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  height: auto !important;
  min-height: 175px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 18px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.second-page-clean .smile-sponsor-thumb img,
body.second-page-clean .smile-donation-thumb img {
  object-position: center !important;
}
@media (max-width: 640px) {
  body.second-page-clean .smile-generated-thumb img {
    min-height: 160px !important;
  }
}

/* =========================================================
  FINAL CLEANUP 20260605
  - TOP news typography
  - schedule moved below news and compact layout
  - simple profile / achievement lists
  - audition frame removal
  - news archive page
  - smile cute sponsor/donation images
========================================================= */

/* TOP: red headings -> elegant pink serif */
.news-info-card h3,
.news-info-request h3,
.news-info-line h3 {
  color: #e86aa8 !important;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
}

/* TOP NEWS archive button */
.news-list-more {
  margin-top: 24px !important;
  text-align: center !important;
}

/* Schedule: compact, NEWS下でも圧迫しない */
.home-schedule-section {
  padding: clamp(42px, 5vw, 68px) 0 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}
.home-schedule-heading {
  margin-bottom: 22px !important;
}
.home-schedule-heading h2 {
  font-size: clamp(28px, 3.2vw, 42px) !important;
  margin-bottom: 8px !important;
}
.home-schedule-heading p:not(.home-schedule-eyebrow) {
  font-size: 14px !important;
  line-height: 1.7 !important;
}
.home-schedule-single-card {
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: clamp(22px, 3vw, 30px) !important;
  border-radius: 28px !important;
  box-shadow: 0 14px 34px rgba(23, 58, 120, .07) !important;
}
.home-schedule-single-card h3 {
  margin-bottom: 18px !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
}
.home-schedule-single-card .home-schedule-month-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
}
.home-schedule-single-card .home-schedule-month {
  padding: 22px 24px !important;
  border-radius: 22px !important;
  background: #f7fbff !important;
}
.home-schedule-single-card .home-schedule-month h4 {
  margin-bottom: 12px !important;
  font-size: 22px !important;
}
.home-schedule-single-card .home-schedule-month li {
  padding: 9px 0 !important;
  gap: 16px !important;
}
.home-schedule-single-card .home-schedule-month time {
  min-width: 64px !important;
  font-size: 14px !important;
}
.home-schedule-single-card .home-schedule-month span {
  font-size: 14px !important;
  line-height: 1.65 !important;
}
@media (max-width: 760px) {
  .home-schedule-single-card .home-schedule-month-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Talent profile info: no big boxes */
body.second-page-clean .talent-profile-page .talent-profile-info-grid,
body.second-page-clean .paul-info-grid,
body.second-page-clean .akama-info-grid,
body.second-page-clean .taiga-info-grid,
body.second-page-clean .sakai-info-grid,
body.second-page-clean .eneku-info-grid,
body.second-page-clean .suiren-info-grid,
body.second-page-clean .luca-info-grid,
body.second-page-clean .yohjima-info-grid {
  gap: 0 34px !important;
  margin: 20px 0 26px !important;
}
body.second-page-clean .talent-profile-page .talent-profile-info-card {
  padding: 14px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: 1px solid rgba(160, 194, 238, .45) !important;
}
body.second-page-clean .talent-profile-page .talent-profile-info-card h3,
body.second-page-clean .paul-info-grid .talent-profile-info-card h3,
body.second-page-clean .akama-profile-page .akama-info-grid .talent-profile-info-card h3,
body.second-page-clean .taiga-profile-page .taiga-info-grid .talent-profile-info-card h3,
body.second-page-clean .sakai-profile-page .sakai-info-grid .talent-profile-info-card h3,
body.second-page-clean .eneku-profile-page .eneku-info-grid .talent-profile-info-card h3,
body.second-page-clean .suiren-profile-page .suiren-info-grid .talent-profile-info-card h3,
body.second-page-clean .luca-profile-page .luca-info-grid .talent-profile-info-card h3,
body.second-page-clean .yohjima-profile-page .yohjima-info-grid .talent-profile-info-card h3 {
  margin: 6px 0 0 !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  line-height: 1.45 !important;
}

/* Paul achievements: simple list, not cards */
body.second-page-clean .paul-awards-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 34px !important;
}
body.second-page-clean .paul-award-card {
  position: relative !important;
  padding: 13px 0 13px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: 1px solid rgba(160, 194, 238, .45) !important;
}
body.second-page-clean .paul-award-card::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 24px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #8ab6ff !important;
}
body.second-page-clean .paul-award-card h3 {
  margin: 0 !important;
  font-size: clamp(14px, 1.5vw, 18px) !important;
  line-height: 1.65 !important;
}
@media (max-width: 760px) {
  body.second-page-clean .paul-awards-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Audition: remove unnecessary big outer frame */
body.second-page-clean .audition-recruit-content,
body.second-page-clean .audition-top-banner-card,
body.second-page-clean .audition-genre-hero {
  border: 0 !important;
  box-shadow: none !important;
}

/* Smile sponsor/donation cute image display */
body.second-page-clean .smile-sponsor-thumb img,
body.second-page-clean .smile-donation-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* NEWS archive page */
.news-archive-hero .container {
  max-width: 1080px !important;
  padding-top: clamp(50px, 6vw, 80px) !important;
  padding-bottom: 20px !important;
}
.news-archive-hero h1 {
  margin: 0 0 14px !important;
  color: #08346f !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  letter-spacing: .06em !important;
}
.news-archive-container {
  max-width: 1080px !important;
}
.news-archive-list {
  display: grid !important;
  gap: 12px !important;
  margin-bottom: 46px !important;
}
.news-archive-list a {
  display: grid !important;
  grid-template-columns: 92px 100px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(160, 194, 238, .72) !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: #0b3774 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(23, 58, 120, .05) !important;
}
.news-archive-list time {
  color: #2f6eca !important;
  font-weight: 800 !important;
}
.news-archive-list span {
  display: inline-flex !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #245da8 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}
.news-archive-list strong {
  font-size: 15px !important;
  line-height: 1.7 !important;
}
.news-archive-detail {
  scroll-margin-top: 110px !important;
  padding: 32px 0 !important;
  border-top: 1px solid rgba(160, 194, 238, .48) !important;
}
.news-archive-detail h2 {
  margin: 0 0 14px !important;
  color: #08346f !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  line-height: 1.45 !important;
}
.news-archive-detail p:not(.eyebrow) {
  color: #274571 !important;
  line-height: 1.9 !important;
}
@media (max-width: 760px) {
  .news-archive-list a {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .news-archive-list span {
    justify-content: flex-start !important;
    width: fit-content !important;
  }
}


/* =========================================================
  UPDATE vLATEST: lsm-ginza.html スポンサーを最下部へ移動・外枠削除
========================================================= */
body.second-page-clean .ginza-sponsor-section {
  margin: clamp(28px, 4vw, 48px) 0 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.second-page-clean .ginza-sponsor-heading {
  margin: 0 auto clamp(14px, 2vw, 20px) !important;
  text-align: center !important;
}
body.second-page-clean .ginza-sponsor-grid {
  max-width: 620px !important;
}


/* ==================== DONATE iframe embed ==================== */
.donate-iframe-section {
  padding-top: 24px;
}

.donate-iframe-heading {
  text-align: center;
  margin-bottom: 20px;
}

.donate-iframe-heading h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: .04em;
}

.donate-iframe-wrap {
  overflow: hidden;
  border: 1px solid rgba(42, 110, 190, .22);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(27, 76, 150, .10);
}

.donate-iframe-wrap iframe {
  display: block;
  width: 100%;
  height: min(78vh, 920px);
  min-height: 620px;
  border: 0;
  background: #fff;
}

.donate-iframe-note {
  margin: 14px 0 0;
  text-align: center;
  font-size: 13px;
  color: rgba(5, 43, 94, .70);
}

.donate-iframe-note a {
  color: var(--blue);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 767px) {
  .donate-iframe-wrap {
    border-radius: 18px;
  }

  .donate-iframe-wrap iframe {
    min-height: 560px;
    height: 72vh;
  }
}

/* ==================== 2026-06-05 health page / cold prevention content ==================== */
.health-article-page {
  padding-top: clamp(72px, 8vw, 120px);
}
.health-article-wrap {
  max-width: 1040px;
}
.health-article-heading {
  margin-bottom: clamp(28px, 4vw, 48px);
}
.health-article-card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(145, 186, 255, 0.45);
  border-radius: 32px;
  padding: clamp(24px, 4vw, 48px);
  box-shadow: 0 22px 60px rgba(17, 66, 133, 0.08);
}
.health-article-title-row {
  text-align: center;
  margin-bottom: 28px;
}
.health-category-label {
  color: #e86aa8;
  font-family: "Playfair Display", "Noto Sans JP", serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  margin-bottom: 8px;
}
.health-article-title-row h2 {
  color: #082f6f;
  font-size: clamp(2rem, 4vw, 3.1rem);
  font-weight: 900;
  line-height: 1.25;
  margin: 0 0 14px;
}
.health-article-title-row p {
  color: #173b77;
  line-height: 1.9;
  margin: 0;
}
.health-article-visual {
  background: #fff;
  border-radius: 24px;
  padding: clamp(12px, 2vw, 20px);
  margin: 0 0 clamp(28px, 4vw, 42px);
  box-shadow: inset 0 0 0 1px rgba(145, 186, 255, 0.28);
}
.health-article-visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
}
.health-point-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.health-point-item {
  background: linear-gradient(180deg, rgba(245, 250, 255, 0.96), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(185, 211, 255, 0.8);
  border-radius: 22px;
  padding: 22px 18px;
  text-align: center;
}
.health-point-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 10px 24px rgba(20, 67, 135, 0.08);
  font-size: 1.8rem;
  margin-bottom: 12px;
}
.health-point-item h3 {
  color: #08306f;
  font-size: 1.12rem;
  font-weight: 900;
  margin: 0 0 8px;
}
.health-point-item p {
  color: #1a3d76;
  font-size: 0.92rem;
  line-height: 1.75;
  margin: 0;
  text-align: left;
}
.health-article-note {
  margin-top: 34px;
  padding: 24px 28px;
  border-radius: 22px;
  background: rgba(255, 246, 251, 0.9);
  border-left: 5px solid #e86aa8;
}
.health-article-note h3 {
  color: #08306f;
  font-size: 1.25rem;
  font-weight: 900;
  margin: 0 0 8px;
}
.health-article-note p {
  color: #173b77;
  line-height: 1.9;
  margin: 0;
}
@media (max-width: 900px) {
  .health-point-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .health-article-card {
    border-radius: 24px;
    padding: 22px 16px;
  }
  .health-point-grid {
    grid-template-columns: 1fr;
  }
  .health-point-item p {
    text-align: center;
  }
}

/* =========================================================
  ADD: fixed side SMILE LABO blog banner
========================================================= */
.fixed-side-mini-banner.fixed-side-smile-labo-blog {
  min-height: 70px !important;
  background: #ffffff !important;
}
.fixed-side-mini-banner.fixed-side-smile-labo-blog img {
  width: 100% !important;
  max-width: 104px !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  background: #ffffff !important;
}


/* Cameraman detail pages */
.cameraman-member-link{
  text-decoration:none;
  color:inherit;
  display:block;
}
.cameraman-card-caption{
  display:block;
}
.cameraman-card-caption em{
  display:inline-block;
  margin-top:10px;
  font-style:normal;
  font-weight:800;
  color:#1d5cab;
  font-size:.9rem;
}
.cameraman-detail-wrap{
  max-width:1040px;
}
.cameraman-detail-hero{
  display:grid;
  grid-template-columns:minmax(260px,380px) 1fr;
  gap:44px;
  align-items:center;
  padding:34px 0 10px;
}
.cameraman-detail-photo img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:28px;
  box-shadow:0 20px 45px rgba(20,70,130,.14);
}
.cameraman-detail-text{
  color:#06306b;
}
.cameraman-role{
  display:inline-block;
  margin:0 0 18px;
  color:#1d5cab;
  font-weight:800;
  letter-spacing:.08em;
}
.cameraman-detail-text h2{
  margin:0 0 18px;
  font-size:clamp(1.7rem,3vw,2.5rem);
  color:#062d67;
}
.cameraman-detail-text p{
  line-height:2;
  font-weight:600;
}
.cameraman-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}
@media (max-width: 820px){
  .cameraman-detail-hero{
    grid-template-columns:1fr;
    gap:28px;
  }
  .cameraman-detail-photo{
    max-width:360px;
    margin:0 auto;
  }
}


/* =========================================================
  UPDATE: lsm-ginza.html 詳細ブロックの購入ボタン削除後、外枠を外してすっきり表示
========================================================= */
body.second-page-clean .ginza-detail-card {
  padding: clamp(18px, 3vw, 28px) 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.second-page-clean .ginza-detail-card::before,
body.second-page-clean .ginza-detail-card::after {
  display: none !important;
}
body.second-page-clean .ginza-detail-card .simple-info-list {
  margin-bottom: 0 !important;
}

/* 芳田マサヒロ：名前が右端に当たらないよう個別調整 */
#talent-yoshida-masahiro .card-body h3 {
  font-size: clamp(20px, 1.7vw, 24px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.04em !important;
  word-break: keep-all !important;
}

/* ==================== 2026-06-05 cameraman card text layout fix ==================== */
body.second-page-clean .cameraman-member-card .cameraman-card-caption,
.cameraman-member-card .cameraman-card-caption {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-areas:
    "name button"
    "work button" !important;
  align-items: center !important;
  column-gap: 14px !important;
  row-gap: 6px !important;
  text-align: left !important;
  padding: 14px 14px 16px !important;
}

body.second-page-clean .cameraman-member-card .cameraman-card-caption strong,
.cameraman-member-card .cameraman-card-caption strong {
  grid-area: name !important;
  display: block !important;
  color: #12346d !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

body.second-page-clean .cameraman-member-card .cameraman-card-caption > span,
.cameraman-member-card .cameraman-card-caption > span {
  display: none !important;
}

body.second-page-clean .cameraman-member-card .cameraman-card-caption small,
.cameraman-member-card .cameraman-card-caption small {
  grid-area: work !important;
  display: block !important;
  color: #425782 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
}

body.second-page-clean .cameraman-member-card .cameraman-card-caption em,
.cameraman-member-card .cameraman-card-caption em {
  grid-area: button !important;
  justify-self: end !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 104px !important;
  padding: 9px 14px !important;
  border-radius: 999px !important;
  background: #2768b8 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: 0 8px 18px rgba(39,104,184,.18) !important;
}

@media (max-width: 640px) {
  body.second-page-clean .cameraman-member-card .cameraman-card-caption,
  .cameraman-member-card .cameraman-card-caption {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "name"
      "work"
      "button" !important;
    text-align: left !important;
  }
  body.second-page-clean .cameraman-member-card .cameraman-card-caption em,
  .cameraman-member-card .cameraman-card-caption em {
    justify-self: start !important;
    margin-top: 4px !important;
  }
}

/* Talent badge color rhythm: blue / gold by display order */
#talent .talent-card:nth-child(odd) .tag {
  color: #ffffff !important;
  background: linear-gradient(135deg, #173a78, #3f7fc4) !important;
  box-shadow: 0 8px 18px rgba(23, 58, 120, .16) !important;
}

#talent .talent-card:nth-child(even) .tag {
  color: #ffffff !important;
  background: linear-gradient(135deg, #b99645, #d7bd73) !important;
  box-shadow: 0 8px 18px rgba(185, 150, 69, .18) !important;
}


/* =========================================================
   FINAL CONSOLIDATED UPDATES 2026-06-05
   - legal/media simple pages
   - shop/smile buttons
   - audition frame cleanup
   - rili-s title image rows
   ========================================================= */
.legal-plain-section,
.iframe-page-section{
  padding: 72px 0 96px;
  background: #fff;
}
.legal-plain-wrap,
.iframe-page-wrap{
  max-width: 980px;
  margin: 0 auto;
}
.breadcrumb-nav{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 34px;
  font-size:13px;
  font-weight:700;
  color:#6f83b6;
}
.breadcrumb-nav a{ color:#1b5ab3; text-decoration:none; }
.breadcrumb-nav a:hover{ text-decoration:underline; }
.legal-plain-wrap > h1,
.iframe-page-wrap > h1{
  margin:8px 0 28px;
  color:#082e6d;
  font-size:clamp(34px,5vw,56px);
  line-height:1.15;
  letter-spacing:.04em;
}
.legal-plain-body{
  max-width: 880px;
  color:#0b3477;
  font-size:16px;
  line-height:2.05;
}
.legal-plain-body h2{
  margin:42px 0 14px;
  padding-top:28px;
  border-top:1px solid #dbe7fb;
  color:#082e6d;
  font-size:24px;
}
.legal-plain-body ul{ margin:16px 0 0; padding-left:1.3em; }
.legal-plain-body li{ margin:.55em 0; }
.legal-plain-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-top:36px; }
.legal-plain-dl{ margin:12px 0 0; }
.legal-plain-dl div{
  display:grid;
  grid-template-columns: 230px 1fr;
  gap:28px;
  padding:18px 0;
  border-bottom:1px solid #dbe7fb;
}
.legal-plain-dl dt{ font-weight:900; color:#082e6d; }
.legal-plain-dl dd{ margin:0; }
.iframe-page-note{ color:#274b88; line-height:1.9; margin:-12px 0 28px; }
.site-iframe-panel{
  width:100%;
  min-height:780px;
  border:1px solid #d7e5ff;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 50px rgba(13,65,140,.08);
}
.site-iframe-panel iframe{ width:100%; height:860px; border:0; display:block; }

/* lsm-audition.html: remove unnecessary large frames */
body.second-page-clean .audition-simple-section .audition-page-wrap,
body.second-page-clean .audition-recruit-content,
body.second-page-clean .audition-flat-block,
body.second-page-clean .audition-activity-panel,
body.second-page-clean .audition-apply-card,
body.second-page-clean .audition-external-form-card,
body.second-page-clean .audition-genre-hero{
  border:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
body.second-page-clean .audition-flat-block,
body.second-page-clean .audition-recruit-content{
  padding-left:0 !important;
  padding-right:0 !important;
}
body.second-page-clean .audition-genre-card{
  box-shadow:none !important;
}

/* lsm-smile.html: remove image-only frames and unify buttons */
.smile-page-visuals .simple-photo-card{
  border:none !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
}
.smile-simple-page .button.secondary,
.smile-simple-page .button.primary,
.shop-title-row b,
.shop-branch-arrow,
.shop-item-button{
  background:linear-gradient(135deg,#ff4fa3 0%,#ff8a00 100%) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 14px 24px rgba(255,94,84,.22) !important;
}
.smile-simple-page .button.secondary:hover,
.smile-simple-page .button.primary:hover,
.shop-title-row:hover b,
.shop-branch-card:hover .shop-branch-arrow,
.shop-item-button:hover{
  transform:translateY(-2px);
}

/* lsm-rili-s.html: image left + title list */
.shop-title-row-list{ display:grid; gap:22px; margin-top:42px; }
.shop-title-row{
  display:grid;
  grid-template-columns: 170px 1fr auto;
  align-items:center;
  gap:28px;
  padding:22px 0;
  border-bottom:1px solid #dbe7fb;
  color:#082e6d;
  text-decoration:none;
}
.shop-title-row:first-child{ border-top:1px solid #dbe7fb; }
.shop-title-row img{
  width:170px;
  height:112px;
  object-fit:contain;
  border-radius:16px;
  background:#fff;
}
.shop-title-row span{ display:grid; gap:7px; }
.shop-title-row em{
  font-style:normal;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  color:#245bd4;
}
.shop-title-row strong{ font-size:28px; line-height:1.22; }
.shop-title-row small{ font-size:15px; color:#234d8c; font-weight:700; }
.shop-title-row b{
  justify-self:end;
  border-radius:999px;
  padding:13px 22px;
  font-size:14px;
  white-space:nowrap;
}
.shop-title-media-heading{
  display:grid;
  grid-template-columns: 180px 1fr;
  align-items:center;
  gap:34px;
  text-align:left !important;
  margin-bottom:42px;
}
.shop-title-media-img{ margin:0; }
.shop-title-media-img img{
  width:180px;
  max-height:130px;
  object-fit:contain;
  border-radius:16px;
  background:#fff;
}
.shop-title-media-copy h1{ margin-top:6px; }

/* lsm-shop.html: right-aligned branch buttons and centered product buttons */
.refined-shop-card,
.shop-branch-card{ display:flex; flex-direction:column; }
.shop-branch-arrow{
  align-self:flex-end;
  margin-top:auto;
  border-radius:999px;
  padding:12px 20px;
  font-weight:900;
  text-align:center;
}
.shop-item-copy{ display:flex; flex-direction:column; align-items:center; }
.shop-item-copy .shop-item-button{ align-self:center; margin-left:auto; margin-right:auto; }

/* lsm-cameraman.html: name/job/button layout */
.cameraman-member-card .cameraman-card-caption{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:8px 14px;
}
.cameraman-member-card .cameraman-card-caption strong{ grid-column:1 / 3; }
.cameraman-member-card .cameraman-card-caption > span{ display:none !important; }
.cameraman-member-card .cameraman-card-caption small{ grid-column:1; font-weight:700; color:#173b80; line-height:1.6; }
.cameraman-member-card .cameraman-card-caption em{
  grid-column:2;
  align-self:end;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  padding:10px 15px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff4fa3,#ff8a00);
  color:#fff;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 12px 22px rgba(255,94,84,.18);
}

@media (max-width: 760px){
  .legal-plain-dl div{ grid-template-columns:1fr; gap:6px; }
  .site-iframe-panel iframe{ height:760px; }
  .shop-title-row{ grid-template-columns:110px 1fr; gap:16px; }
  .shop-title-row img{ width:110px; height:82px; }
  .shop-title-row b{ grid-column:2; justify-self:start; }
  .shop-title-row strong{ font-size:21px; }
  .shop-title-media-heading{ grid-template-columns:110px 1fr; gap:18px; }
  .shop-title-media-img img{ width:110px; max-height:86px; }
  .cameraman-member-card .cameraman-card-caption{ grid-template-columns:1fr; }
  .cameraman-member-card .cameraman-card-caption strong,
  .cameraman-member-card .cameraman-card-caption small,
  .cameraman-member-card .cameraman-card-caption em{ grid-column:1; justify-self:start; }
}


/* =========================================================
  FIX: TOP cameraman section simplified to one short banner
========================================================= */
.camera-wide-banner {
  display: grid !important;
  grid-template-columns: 220px 1fr auto !important;
  align-items: center !important;
  gap: 26px !important;
  width: 100% !important;
  margin-top: 10px !important;
  padding: 18px 22px !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(176, 207, 244, .78) !important;
  box-shadow: 0 18px 42px rgba(28, 58, 120, .08) !important;
  text-decoration: none !important;
  color: inherit !important;
}

.camera-wide-visual {
  overflow: hidden !important;
  height: 118px !important;
  border-radius: 22px !important;
  background: #eef5ff !important;
}

.camera-wide-visual img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.camera-wide-copy {
  min-width: 0 !important;
}

.camera-wide-label {
  display: inline-block !important;
  margin-bottom: 8px !important;
  color: #0f55d8 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
}

.camera-wide-copy h3 {
  margin: 0 0 8px !important;
  color: #12346d !important;
  font-size: clamp(22px, 2.4vw, 32px) !important;
  line-height: 1.25 !important;
}

.camera-wide-copy p {
  margin: 0 !important;
  color: #4d6290 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.camera-wide-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 138px !important;
  min-height: 46px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff4fa3 0%, #ff8a00 100%) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 24px rgba(255, 79, 163, .22) !important;
  white-space: nowrap !important;
}

.camera-wide-banner:hover,
.camera-wide-banner:focus {
  transform: translateY(-2px) !important;
  box-shadow: 0 24px 52px rgba(28, 58, 120, .13) !important;
}

@media (max-width: 900px) {
  .camera-wide-banner {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 18px !important;
  }
  .camera-wide-visual {
    height: 150px !important;
  }
  .camera-wide-button {
    justify-self: flex-start !important;
  }
}

.cameraman-detail-page .cameraman-breadcrumb{
  margin: 0 0 28px;
}
.cameraman-detail-page .cameraman-breadcrumb span:last-child{
  color:#0b3477;
}

/* Talent detail breadcrumbs */
.talent-profile-page .talent-breadcrumb,
.rili-profile-page .talent-breadcrumb{
  margin: 0 0 28px;
}
.talent-breadcrumb span:last-child{
  color:#0b3477;
}

/* ==================== 2026-06-05 lsm-smile.html visual frame cleanup ==================== */
body.second-page-clean #smile .smile-page-visuals .simple-photo-card,
body.second-page-clean #smile .smile-page-visuals figure.simple-photo-card {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
body.second-page-clean #smile .smile-page-visuals .simple-photo-card img {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  object-fit: contain !important;
}

/* =========================================================
  FIX: lsm-shop.html button alignment and color
  ショップページ内の白文字ボタンを右端配置・同一グラデーションに統一
========================================================= */
body.second-page-clean .shop-item-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

body.second-page-clean .shop-item-button,
body.second-page-clean .shop-branch-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  align-self: flex-end !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff7a32 0%, #e85143 100%) !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 12px 26px rgba(232, 81, 67, .28) !important;
  text-decoration: none !important;
}

body.second-page-clean .shop-item-button {
  margin-top: auto !important;
  padding: 10px 16px 10px 18px !important;
}

body.second-page-clean .shop-branch-arrow {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  justify-self: end !important;
  margin: auto 22px 24px auto !important;
  min-height: 36px !important;
  padding: 10px 16px 10px 18px !important;
}

body.second-page-clean .shop-item-button::after,
body.second-page-clean .shop-branch-arrow::after {
  content: "›" !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .22) !important;
  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

body.second-page-clean .shop-item-button:hover,
body.second-page-clean .shop-item-button:focus-visible,
body.second-page-clean .shop-branch-card:hover .shop-branch-arrow,
body.second-page-clean .shop-branch-card:focus-visible .shop-branch-arrow {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 32px rgba(232, 81, 67, .36) !important;
}

@media (max-width: 640px) {
  body.second-page-clean .shop-item-button,
  body.second-page-clean .shop-branch-arrow {
    align-self: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* =========================================================
  FIX: lsm-smile.html CTA buttons unified to orange-red and right aligned
========================================================= */
body.second-page-clean .smile-simple-page .smile-action-row {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-top: 22px !important;
}
body.second-page-clean .smile-simple-page .button.secondary,
body.second-page-clean .smile-simple-page .button.primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 10px 18px 10px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff7a32 0%, #e85143 100%) !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 12px 26px rgba(232, 81, 67, .28) !important;
  text-decoration: none !important;
}
body.second-page-clean .smile-simple-page .button.secondary::after,
body.second-page-clean .smile-simple-page .button.primary::after {
  content: "›" !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .22) !important;
  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}
body.second-page-clean .smile-simple-page .button.secondary:hover,
body.second-page-clean .smile-simple-page .button.primary:hover,
body.second-page-clean .smile-simple-page .button.secondary:focus-visible,
body.second-page-clean .smile-simple-page .button.primary:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 32px rgba(232, 81, 67, .36) !important;
}
@media (max-width: 640px) {
  body.second-page-clean .smile-simple-page .smile-action-row {
    justify-content: flex-start !important;
  }
}


/* =========================================================
  2026-06-05 additional fix: lsm-shop.html CTA buttons
  - all "詳細はこちら" / purchase buttons on lsm-shop.html are orange-red
  - placed at the right edge of each card
  - guide section removed from HTML
========================================================= */
body.second-page-clean .shop-branch-card.refined-shop-card {
  display: flex !important;
  flex-direction: column !important;
}
body.second-page-clean .shop-branch-card.refined-shop-card .shop-branch-arrow,
body.second-page-clean .shop-item-copy .shop-item-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: max-content !important;
  min-width: 132px !important;
  min-height: 42px !important;
  padding: 10px 18px 10px 22px !important;
  margin-top: auto !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  align-self: flex-end !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff7a32 0%, #e85143 100%) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(232, 81, 67, .28) !important;
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
}
body.second-page-clean .shop-branch-card.refined-shop-card .shop-branch-arrow {
  margin: auto 22px 24px auto !important;
}
body.second-page-clean .shop-item-copy .shop-item-button {
  margin: 18px 0 0 auto !important;
}
body.second-page-clean .shop-branch-card.refined-shop-card .shop-branch-arrow::after,
body.second-page-clean .shop-item-copy .shop-item-button::after {
  content: "›" !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .22) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
body.second-page-clean .shop-branch-card.refined-shop-card:hover .shop-branch-arrow,
body.second-page-clean .shop-branch-card.refined-shop-card:focus-visible .shop-branch-arrow,
body.second-page-clean .shop-item-copy .shop-item-button:hover,
body.second-page-clean .shop-item-copy .shop-item-button:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 32px rgba(232, 81, 67, .36) !important;
}
body.second-page-clean .shop-hub-note {
  display: none !important;
}
@media (max-width: 640px) {
  body.second-page-clean .shop-branch-card.refined-shop-card .shop-branch-arrow,
  body.second-page-clean .shop-item-copy .shop-item-button {
    align-self: flex-end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}

/* =========================================================
   2026-06-05: lsm-shop.html / lsm-smile.html outer frame cleanup
   - lsm-shop.html: remove large hero border frame
   - lsm-smile.html: remove main description card frame
========================================================= */
body.second-page-clean .shop-hub-section .shop-hub-hero.shop-hub-hero-text-only {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

body.second-page-clean .shop-hub-section .shop-hub-hero.shop-hub-hero-text-only .shop-hub-hero-copy {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

body.second-page-clean .smile-simple-page .simple-main-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* =========================================================
  2026-06-05 lsm-cameraman.html intro frame removal
  カメラマン概要部分の余計な外枠を削除
========================================================= */
#cameraman .simple-main-card {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  max-width: 1120px !important;
  margin: 28px auto 40px !important;
}

#cameraman .simple-main-card h2 {
    margin-top: 0 !important;
    text-align: center;
}

/* =========================================================
   2026-06-05: lsm-shop.html lead text center alignment
   SHOP見出し下のリード文を完全中央寄せ
========================================================= */
body.second-page-clean .shop-hub-section .shop-hub-hero.shop-hub-hero-text-only,
body.second-page-clean .shop-hub-section .shop-hub-hero.shop-hub-hero-text-only .shop-hub-hero-copy {
  text-align: center !important;
}

body.second-page-clean .shop-hub-section .shop-hub-hero.shop-hub-hero-text-only .shop-hub-hero-copy p:not(.eyebrow) {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* =========================================================
   2026-06-05: page lead center alignment across subpages
   各ページ見出し直下の短いリード文を中央寄せに統一
========================================================= */
body.second-page-clean .section-heading.center > p:not(.eyebrow),
body.second-page-clean .simple-subpage-heading.center > p:not(.eyebrow),
body.second-page-clean .simple-inner-heading.center > p:not(.eyebrow),
body.second-page-clean .contact-heading > p:not(.eyebrow),
body.second-page-clean .school-main-heading > p:not(.eyebrow),
body.second-page-clean .school-teacher-heading > p:not(.eyebrow),
body.second-page-clean .shop-hub-hero-copy > p:not(.eyebrow),
body.second-page-clean .news-detail-hero-copy > p:not(.eyebrow),
body.second-page-clean .release-detail-copy > p:not(.eyebrow),
body.second-page-clean .iframe-page-wrap > p.iframe-page-note {
  display: block !important;
  width: 100% !important;
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.second-page-clean .shop-hub-section .shop-hub-hero.shop-hub-hero-text-only .shop-hub-hero-copy p:not(.eyebrow) {
  text-align: center !important;
}

/* =========================================================
   2026-06-05: subpage typography softening
   下層ページの大見出し・本文見出しの太さを少し抑えて上品に調整
========================================================= */
body.second-page-clean main h1,
body.second-page-clean main h2,
body.second-page-clean main .contact-simple-heading h1,
body.second-page-clean main .contact-simple-intro h2,
body.second-page-clean main .contact-simple-section h2,
body.second-page-clean main .section-heading h1,
body.second-page-clean main .section-heading h2,
body.second-page-clean main .simple-subpage-heading h1,
body.second-page-clean main .simple-subpage-heading h2,
body.second-page-clean main .simple-inner-heading h1,
body.second-page-clean main .simple-inner-heading h2,
body.second-page-clean main .shop-hub-hero-copy h1,
body.second-page-clean main .shop-hub-hero-copy h2,
body.second-page-clean main .release-detail-copy h1,
body.second-page-clean main .news-detail-hero-copy h1 {
  font-weight: 700 !important;
}

body.second-page-clean main h1,
body.second-page-clean main .contact-simple-heading h1,
body.second-page-clean main .section-heading h1,
body.second-page-clean main .simple-subpage-heading h1,
body.second-page-clean main .shop-hub-hero-copy h1 {
  letter-spacing: .035em !important;
}

body.second-page-clean main h2,
body.second-page-clean main .contact-simple-intro h2,
body.second-page-clean main .contact-simple-section h2,
body.second-page-clean main .section-heading h2,
body.second-page-clean main .simple-subpage-heading h2,
body.second-page-clean main .simple-inner-heading h2 {
  letter-spacing: .025em !important;
  line-height: 1.45 !important;
}

body.second-page-clean main .contact-simple-intro h2 {
  font-size: clamp(30px, 4vw, 46px) !important;
}

body.second-page-clean main h3,
body.second-page-clean main .contact-simple-list h3,
body.second-page-clean main .profile-info-label,
body.second-page-clean main .eyebrow {
  font-weight: 700 !important;
}

body.second-page-clean main .contact-refined-label {
  font-weight: 700 !important;
  letter-spacing: .16em !important;
}

@media (max-width: 640px) {
  body.second-page-clean main h1 {
    letter-spacing: .025em !important;
  }
  body.second-page-clean main h2,
  body.second-page-clean main .contact-simple-intro h2 {
    letter-spacing: .02em !important;
  }
}

/* =========================================================
   2026-06-05: final subpage typography light adjustment
   下層ページの見出しをさらに少し細く・落ち着いた印象へ調整
========================================================= */
body.second-page-clean main h1,
body.second-page-clean main .contact-simple-heading h1,
body.second-page-clean main .section-heading h1,
body.second-page-clean main .simple-subpage-heading h1,
body.second-page-clean main .shop-hub-hero-copy h1,
body.second-page-clean main .release-detail-copy h1,
body.second-page-clean main .news-detail-hero-copy h1 {
  font-weight: 600 !important;
  letter-spacing: .025em !important;
}

body.second-page-clean main h2,
body.second-page-clean main .contact-simple-intro h2,
body.second-page-clean main .contact-simple-section h2,
body.second-page-clean main .section-heading h2,
body.second-page-clean main .simple-subpage-heading h2,
body.second-page-clean main .simple-inner-heading h2,
body.second-page-clean main .shop-hub-hero-copy h2 {
    font-weight: 600 !important;
    letter-spacing: .018em !important;
    line-height: 1.5 !important;
    text-align: center;
}

body.second-page-clean main .contact-simple-intro h2 {
  font-size: clamp(28px, 3.4vw, 40px) !important;
  max-width: 880px !important;
}

body.second-page-clean main h3,
body.second-page-clean main .contact-simple-list h3,
body.second-page-clean main .profile-info-value,
body.second-page-clean main .profile-info-label,
body.second-page-clean main .eyebrow {
  font-weight: 600 !important;
}

body.second-page-clean main p,
body.second-page-clean main li,
body.second-page-clean main dt,
body.second-page-clean main dd {
  font-weight: 400 !important;
}

body.second-page-clean main strong,
body.second-page-clean main b {
  font-weight: 600 !important;
}

/* =========================================================
   2026-06-05: important news detail title size refinement
   IMPORTANT NEWS 詳細ページの大見出しが大きすぎるため、上品なサイズへ調整
========================================================= */
body.second-page-clean .news-detail-head h1,
.news-detail-head h1 {
  font-size: clamp(24px, 2.6vw, 34px) !important;
  line-height: 1.48 !important;
  letter-spacing: .035em !important;
  font-weight: 600 !important;
  max-width: 760px !important;
}

body.second-page-clean .news-detail-head {
  margin-bottom: 28px !important;
}

@media (max-width: 680px) {
  body.second-page-clean .news-detail-head h1,
  .news-detail-head h1 {
    font-size: 24px !important;
    line-height: 1.45 !important;
    letter-spacing: .02em !important;
  }
}


/* ==================== Added pages: Idol / Press Release ==================== */
.idol-audition-page .legal-note{
  margin-top:18px;
  color:#5b6680;
  font-size:.95rem;
  line-height:1.9;
}
.pressrelease-page .pressrelease-body{
  max-width:960px;
  margin:0 auto;
}
.pressrelease-page .pressrelease-info-card{
  margin-top:28px;
  padding:28px;
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 50px rgba(29,54,112,.08);
}
.audition-genre-card{
  text-decoration:none;
  color:inherit;
}
.audition-flow-button-row .button.secondary{
  margin-left:12px;
}
@media (max-width: 768px){
  .audition-flow-button-row .button.secondary{
    margin-left:0;
    margin-top:10px;
  }
}


/* =========================================================
   UPDATE: lsm-rili.html official social links
========================================================= */
.rili-social-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}
.rili-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 58px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(18, 52, 109, .14);
  box-shadow: 0 12px 26px rgba(18, 52, 109, .08);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
  padding: 10px 12px;
}
.rili-social-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(18, 52, 109, .12);
}
.rili-social-link img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}
.rili-social-chip {
  min-width: 130px;
  padding: 0 16px;
}
.rili-social-chip span {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
}
.rili-social-line span { color: #00b900; }
.rili-social-apple span { color: #d656a7; }
@media (max-width: 760px) {
  .rili-social-icons {
    gap: 10px;
  }
  .rili-social-link {
    min-width: 52px;
    min-height: 52px;
    border-radius: 14px;
  }
  .rili-social-link img {
    width: 30px;
    height: 30px;
  }
  .rili-social-chip {
    min-width: 118px;
  }
  .rili-social-chip span {
    font-size: 13px;
  }
}

body.second-page-clean .najib-social-icons a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 24px rgba(23, 58, 120, .16) !important;
}

body.second-page-clean .akama-profile-page .akama-social-list a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 26px rgba(30, 77, 150, .24) !important;
}

body.second-page-clean .taiga-profile-page .taiga-social-icons a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 24px rgba(40, 81, 155, .2) !important;
}

.talent-social-icons.yohjima-social-icons a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 24px rgba(40, 81, 155, .18) !important;
}

/* =========================================================
   UPDATE: lsm-rili.html official links moved into hero area
========================================================= */
.rili-hero-social-wrap {
  margin: 22px 0 18px !important;
}
.rili-hero-social-wrap .simple-info-label {
  margin-bottom: 10px !important;
}
.rili-hero-copy .rili-social-icons {
  justify-content: flex-start !important;
  gap: 10px !important;
}
.rili-hero-copy .rili-social-link {
  min-width: 48px !important;
  min-height: 48px !important;
  border-radius: 14px !important;
  padding: 8px !important;
}
.rili-hero-copy .rili-social-link img {
  width: 32px !important;
  height: 32px !important;
}
@media (max-width: 760px) {
  .rili-hero-copy .rili-social-icons {
    justify-content: center !important;
  }
}

/* =========================================================
   UPDATE: lsm-akama-shota.html SNS links moved into hero area
========================================================= */
.akama-hero-social-wrap {
  margin: 22px 0 18px !important;
}
.akama-hero-social-wrap .simple-info-label {
  margin-bottom: 10px !important;
}
.akama-hero-copy .akama-social-list {
  margin-top: 0 !important;
  justify-content: flex-start !important;
}
@media (max-width: 760px) {
  .akama-hero-copy .akama-social-list {
    justify-content: center !important;
  }
}

/* =========================================================
   UPDATE: lsm-yohjima-hiroto.html SNS icons horizontal
========================================================= */
body.second-page-clean .yohjima-profile-page .talent-social-icons.yohjima-social-icons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin-top: 20px !important;
}
body.second-page-clean .yohjima-profile-page .talent-social-icons.yohjima-social-icons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(152, 182, 226, .65) !important;
  box-shadow: 0 10px 20px rgba(40, 81, 155, .12) !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
body.second-page-clean .yohjima-profile-page .talent-social-icons.yohjima-social-icons img {
  width: 33px !important;
  height: 33px !important;
  display: block !important;
  object-fit: contain !important;
}
body.second-page-clean .yohjima-profile-page .talent-social-icons.yohjima-social-icons a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 24px rgba(40, 81, 155, .18) !important;
}
@media (max-width: 760px) {
  body.second-page-clean .yohjima-profile-page .talent-social-icons.yohjima-social-icons {
    justify-content: center !important;
  }
}

/* =========================================================
   UPDATE: lsm-luca-cross.html remove blue border around SNS icons
========================================================= */
body.second-page-clean .luca-profile-page .luca-social-icons span,
body.second-page-clean .luca-profile-page .luca-social-icons a,
body.second-page-clean .luca-profile-page .luca-social-icons img,
body.second-page-clean .luca-social-icons span,
body.second-page-clean .luca-social-icons a,
body.second-page-clean .luca-social-icons img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
body.second-page-clean .luca-profile-page .luca-social-icons img,
body.second-page-clean .luca-social-icons img {
  display: block !important;
}

/* =========================================================
   UPDATE: Header search / site search page
========================================================= */
.header-search-form {
  display: flex;
  align-items: center;
  width: min(220px, 20vw);
  min-width: 170px;
  height: 42px;
  margin-left: 14px;
  border: 1px solid rgba(18, 52, 109, .24);
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 22px rgba(18, 52, 109, .08);
  overflow: hidden;
}
.header-search-input {
  min-width: 0;
  flex: 1;
  height: 100%;
  border: 0;
  outline: 0;
  padding: 0 4px 0 16px;
  background: transparent;
  color: #12346d;
  font-size: 13px;
  font-weight: 600;
}
.header-search-input::placeholder {
  color: rgba(18, 52, 109, .56);
}
.header-search-button {
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  color: #12346d;
  font-size: 21px;
  line-height: 1;
  cursor: pointer;
}
.header-search-button:hover {
  color: #f0549a;
}
.site-search-main-form {
  display: flex;
  gap: 12px;
  align-items: stretch;
  max-width: 720px;
  margin: 28px auto 24px;
}
.site-search-main-input {
  flex: 1;
  min-height: 56px;
  border: 1px solid rgba(18, 52, 109, .24);
  border-radius: 999px;
  padding: 0 22px;
  background: #fff;
  color: #12346d;
  font-size: 16px;
  font-weight: 600;
  box-shadow: 0 12px 28px rgba(18, 52, 109, .08);
}
.site-search-main-input:focus {
  outline: 2px solid rgba(240, 84, 154, .22);
  border-color: rgba(240, 84, 154, .5);
}
.site-search-main-button {
  min-width: 120px;
  border: 0;
  cursor: pointer;
}
.site-search-status {
  max-width: 720px;
  margin: 0 auto 18px;
  color: #12346d;
  font-weight: 800;
}
.site-search-results {
  display: grid;
  gap: 18px;
  max-width: 860px;
  margin: 0 auto;
}
.site-search-result-card {
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(160, 194, 238, .68);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.94));
  box-shadow: 0 18px 40px rgba(18, 52, 109, .08);
}
.site-search-result-card h2 {
  margin: 6px 0 10px;
  font-size: clamp(20px, 2.2vw, 28px);
}
.site-search-result-card h2 a {
  color: #12346d;
  text-decoration: none;
}
.site-search-result-card h2 a:hover {
  color: #f0549a;
}
.site-search-result-card p {
  color: #274571;
  line-height: 1.8;
}
.site-search-result-link {
  display: inline-flex;
  margin-top: 12px;
  color: #f0549a;
  font-weight: 900;
  text-decoration: none;
}
.site-search-empty {
  text-align: center;
  color: #274571;
  font-weight: 700;
}
@media (max-width: 1100px) {
  .header-search-form {
    order: 20;
    width: 100%;
    max-width: 420px;
    margin: 12px auto 0;
  }
}
@media (max-width: 760px) {
  .site-search-main-form {
    flex-direction: column;
  }
  .site-search-main-button {
    width: 100%;
  }
}

/* =========================================================
   UPDATE: Subtle header cart / shop shortcut
========================================================= */
.header-shop-cart-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  margin-left: 10px;
  padding: 0 13px 0 11px;
  border: 1px solid rgba(18, 52, 109, .14);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: #12346d;
  text-decoration: none;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .06em;
  box-shadow: 0 10px 22px rgba(18, 52, 109, .07);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.header-shop-cart-link:hover {
  transform: translateY(-1px);
  border-color: rgba(240, 84, 154, .35);
  box-shadow: 0 14px 26px rgba(18, 52, 109, .11);
}
.header-shop-cart-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  color: #d7192f;
}
.header-shop-cart-icon svg {
  width: 23px;
  height: 23px;
  display: block;
  fill: currentColor;
}
.header-shop-cart-text {
  line-height: 1;
}
@media (max-width: 1100px) {
  .header-shop-cart-link {
    order: 21;
    margin: 12px auto 0;
    min-height: 40px;
  }
}
@media (max-width: 760px) {
  .header-shop-cart-link {
    width: fit-content;
  }
}

/* =========================================================
   UPDATE: Header search compact / move shop cart to fixed side
========================================================= */
.header-search-form {
  width: 176px !important;
  min-width: 150px !important;
  height: 38px !important;
  margin-left: 10px !important;
}
.header-search-input {
  font-size: 12px !important;
  padding-left: 14px !important;
}
.header-search-button {
  width: 36px !important;
  height: 38px !important;
  font-size: 19px !important;
}
.header-shop-cart-link {
  display: none !important;
}
.fixed-side-cart-shop {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(18, 52, 109, .14) !important;
  color: #12346d !important;
  box-shadow: 0 10px 22px rgba(18, 52, 109, .12) !important;
}
.fixed-side-cart-shop:hover {
  transform: translateX(-2px) !important;
  box-shadow: 0 14px 28px rgba(18, 52, 109, .16) !important;
}
.fixed-side-cart-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  color: #d7192f !important;
  margin-bottom: 4px !important;
}
.fixed-side-cart-icon svg {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
  fill: currentColor !important;
}
.fixed-side-cart-shop .fixed-side-label {
  color: #12346d !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}
@media (max-width: 1180px) {
  .header-search-form {
    width: 150px !important;
    min-width: 140px !important;
    margin-left: 8px !important;
  }
}
@media (max-width: 1100px) {
  .header-search-form {
    order: 20;
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    margin: 10px auto 0 !important;
  }
}

/* =========================================================
   UPDATE: Prevent header nav text breaking
   ナビ文字の1文字折り返し防止・狭い幅では早めにメニュー化
========================================================= */
.header-inner {
  gap: 12px !important;
  flex-wrap: nowrap !important;
}
.global-nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.global-nav ul {
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 2px !important;
}
.global-nav li {
  flex: 0 0 auto !important;
}
.global-nav a,
.global-nav .dropdown-parent {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-height: 1.2 !important;
  font-size: 12px !important;
  letter-spacing: .02em !important;
  padding: 8px 7px !important;
}
.global-nav .has-dropdown > .dropdown-parent::after {
  margin-left: 4px !important;
}
.header-search-form {
  width: 150px !important;
  min-width: 136px !important;
  height: 36px !important;
  margin-left: 6px !important;
}
.header-search-input {
  font-size: 12px !important;
  padding-left: 12px !important;
}
.header-search-button {
  width: 34px !important;
  height: 36px !important;
}
.header-contact-button {
  padding-inline: 13px !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}
@media (min-width: 1181px) and (max-width: 1320px) {
  .brand-logo {
    width: 132px !important;
  }
  .brand {
    min-width: 132px !important;
  }
  .global-nav a,
  .global-nav .dropdown-parent {
    font-size: 11.5px !important;
    padding-inline: 5px !important;
  }
  .header-search-form {
    width: 132px !important;
    min-width: 126px !important;
  }
}
@media (max-width: 1180px) {
  .header-inner {
    min-height: 78px !important;
    position: relative !important;
  }
  .brand-logo {
    width: 138px !important;
  }
  .brand {
    min-width: auto !important;
  }
  .nav-toggle {
    display: inline-block !important;
    order: 10 !important;
  }
  .global-nav {
    display: none !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 78px !important;
    z-index: 1200 !important;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid rgba(21,49,168,.12) !important;
    box-shadow: 0 18px 34px rgba(11,31,114,.10) !important;
  }
  .global-nav.is-open {
    display: block !important;
  }
  .global-nav ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 14px 18px 18px !important;
  }
  .global-nav li {
    width: 100% !important;
  }
  .global-nav a,
  .global-nav .dropdown-parent {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }
  .header-search-form {
    order: 20 !important;
    width: 160px !important;
    min-width: 150px !important;
    margin-left: auto !important;
  }
  .header-contact-button {
    order: 30 !important;
  }
}
@media (max-width: 760px) {
  .header-inner {
    flex-wrap: wrap !important;
  }
  .header-search-form {
    order: 30 !important;
    width: min(100%, 280px) !important;
    max-width: 280px !important;
    margin: 8px auto 0 !important;
  }
  .header-contact-button {
    order: 40 !important;
    margin: 8px auto 0 !important;
  }
  .global-nav {
    top: 78px !important;
  }
  .global-nav ul {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   UPDATE: lsm-talent.html remove heading gap under slider
========================================================= */
body.second-page-clean .talent-page-lineup-section {
  padding-bottom: clamp(22px, 3vw, 34px) !important;
}
body.second-page-clean .talent-list-direct-section {
  padding-top: 0 !important;
}
body.second-page-clean .talent-list-direct-section .talent-grid {
  margin-top: 0 !important;
}

/* =========================================================
   UPDATE: lsm-talent.html remove large blank space between slider and cards
========================================================= */
body.second-page-clean .talent-page-lineup-section {
  padding-top: clamp(34px, 4vw, 52px) !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
body.second-page-clean .talent-page-lineup-section .container {
  margin-bottom: 0 !important;
}
body.second-page-clean .talent-page-lineup-panel {
  margin-bottom: 0 !important;
}
body.second-page-clean .talent-page-lineup-section + .talent-list-direct-section,
body.second-page-clean #talent.talent-list-direct-section {
  padding-top: clamp(22px, 2.4vw, 34px) !important;
  margin-top: 0 !important;
}
body.second-page-clean #talent.talent-list-direct-section > .container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.second-page-clean #talent.talent-list-direct-section .talent-grid {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* =========================================================
   UPDATE: lsm-rili.html YouTube iframe embed area
========================================================= */
.rili-wix-youtube-embed-section {
  padding-top: clamp(34px, 4vw, 54px) !important;
}
.rili-wix-video-box {
  margin-top: 24px !important;
  padding: clamp(18px, 3vw, 26px) !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, #6265f4 0%, #5b6df2 48%, #6c66f5 100%) !important;
  box-shadow: 0 22px 54px rgba(39, 55, 190, .20) !important;
}
.rili-wix-video-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 16px !important;
}
.rili-wix-video-title {
  margin: 0 !important;
  color: #0c1b42 !important;
  font-size: clamp(16px, 1.8vw, 22px) !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}
.rili-wix-video-channel {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  color: #12346d !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 22px rgba(18,52,109,.12) !important;
}
.rili-wix-video-channel:hover {
  color: #f0549a !important;
}
.rili-wix-iframe-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: #111b4f !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18) !important;
}
.rili-wix-iframe-wrap iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
}
.rili-wix-video-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}
.rili-wix-video-list article {
  min-height: 74px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.16) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
}
.rili-wix-video-list span {
  display: inline-flex !important;
  margin-bottom: 5px !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}
.rili-wix-video-list p {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}
@media (max-width: 900px) {
  .rili-wix-video-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .rili-wix-video-head {
    display: block !important;
  }
  .rili-wix-video-channel {
    margin-top: 10px !important;
  }
  .rili-wix-video-list {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   UPDATE: lsm-najib-chari.html YouTube iframe embed area
========================================================= */
.najib-youtube-embed-section {
  padding-top: clamp(34px, 4vw, 54px) !important;
}
.najib-wix-video-box {
  margin-top: 24px !important;
  padding: clamp(18px, 3vw, 26px) !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, #6265f4 0%, #5b6df2 48%, #6c66f5 100%) !important;
  box-shadow: 0 22px 54px rgba(39, 55, 190, .20) !important;
}
.najib-wix-video-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 16px !important;
}
.najib-wix-video-title {
  margin: 0 !important;
  color: #0c1b42 !important;
  font-size: clamp(16px, 1.8vw, 22px) !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}
.najib-wix-video-channel {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  color: #12346d !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 22px rgba(18,52,109,.12) !important;
}
.najib-wix-video-channel:hover {
  color: #f0549a !important;
}
.najib-wix-iframe-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #111b4f !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18) !important;
}
.najib-wix-iframe-wrap iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
}
.najib-wix-video-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}
.najib-wix-video-list article {
  min-height: 74px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.16) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
}
.najib-wix-video-list span {
  display: inline-flex !important;
  margin-bottom: 5px !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}
.najib-wix-video-list p {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}
@media (max-width: 900px) {
  .najib-wix-video-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .najib-wix-video-head {
    display: block !important;
  }
  .najib-wix-video-channel {
    margin-top: 10px !important;
  }
  .najib-wix-video-list {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   UPDATE: shared artist YouTube iframe embed blocks
========================================================= */
.artist-youtube-box {
  margin-top: 24px !important;
  padding: clamp(18px, 3vw, 26px) !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, #6265f4 0%, #5b6df2 48%, #6c66f5 100%) !important;
  box-shadow: 0 22px 54px rgba(39, 55, 190, .20) !important;
}
.artist-youtube-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 16px !important;
}
.artist-youtube-title {
  margin: 0 !important;
  color: #0c1b42 !important;
  font-size: clamp(16px, 1.8vw, 22px) !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}
.artist-youtube-channel {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  color: #12346d !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 22px rgba(18,52,109,.12) !important;
}
.artist-youtube-channel:hover {
  color: #f0549a !important;
}
.artist-youtube-iframe-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #111b4f !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18) !important;
}
.artist-youtube-iframe-wrap iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
}
.artist-youtube-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}
.artist-youtube-list article {
  min-height: 74px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.16) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
}
.artist-youtube-list span {
  display: inline-flex !important;
  margin-bottom: 5px !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}
.artist-youtube-list p {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}
@media (max-width: 900px) {
  .artist-youtube-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .artist-youtube-head {
    display: block !important;
  }
  .artist-youtube-channel {
    margin-top: 10px !important;
  }
  .artist-youtube-list {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   UPDATE: Fixed side official LINE shortcut
========================================================= */
.fixed-side-line-official {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(0, 185, 0, .20) !important;
  color: #12346d !important;
  box-shadow: 0 10px 22px rgba(18, 52, 109, .12) !important;
}
.fixed-side-line-official:hover {
  transform: translateX(-2px) !important;
  border-color: rgba(0, 185, 0, .42) !important;
  box-shadow: 0 14px 28px rgba(18, 52, 109, .16) !important;
}
.fixed-side-line-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin-bottom: 4px !important;
}
.fixed-side-line-icon img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
  display: block !important;
}
.fixed-side-line-official .fixed-side-label {
  color: #00a848 !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}

/* =========================================================
   UPDATE: lsm-akama-shota.html larger photo / icon SNS
========================================================= */
body.second-page-clean .akama-profile-page .akama-hero {
  grid-template-columns: minmax(360px, 500px) minmax(0, 1fr) !important;
  gap: clamp(42px, 6vw, 86px) !important;
  align-items: center !important;
}
body.second-page-clean .akama-profile-page .akama-hero-photo {
  max-width: 500px !important;
  width: 100% !important;
}
body.second-page-clean .akama-profile-page .akama-hero-photo img {
  width: 100% !important;
  max-width: 480px !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 34px !important;
}
body.second-page-clean .akama-profile-page .akama-social-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  margin-top: 0 !important;
}
body.second-page-clean .akama-profile-page .akama-social-icons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid rgba(18, 52, 109, .12) !important;
  box-shadow: 0 10px 22px rgba(18, 52, 109, .10) !important;
  text-decoration: none !important;
}
body.second-page-clean .akama-profile-page .akama-social-icons a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 26px rgba(18, 52, 109, .15) !important;
}
body.second-page-clean .akama-profile-page .akama-social-icons img {
  width: 34px !important;
  height: 34px !important;
  display: block !important;
  object-fit: contain !important;
}
body.second-page-clean .akama-profile-page .akama-ameblo-icon span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #27c27a, #18a85f) !important;
  color: #ffffff !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  font-family: Arial, sans-serif !important;
  line-height: 1 !important;
}
@media (max-width: 980px) {
  body.second-page-clean .akama-profile-page .akama-hero {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
  body.second-page-clean .akama-profile-page .akama-hero-photo {
    margin-inline: auto !important;
    max-width: 420px !important;
  }
  body.second-page-clean .akama-profile-page .akama-hero-copy .akama-social-icons {
    justify-content: center !important;
  }
}
@media (max-width: 640px) {
  body.second-page-clean .akama-profile-page .akama-hero-photo {
    max-width: 320px !important;
  }
}

/* =========================================================
   UPDATE: Compact artist profile information sections
   各アーティストページのPROFILE余白を詰める
========================================================= */
body.second-page-clean .talent-profile-section {
  padding-top: clamp(34px, 4vw, 56px) !important;
  padding-bottom: clamp(34px, 4vw, 56px) !important;
}
body.second-page-clean .talent-profile-section .eyebrow {
  margin-bottom: 8px !important;
}
body.second-page-clean .talent-profile-section h2 {
  margin-bottom: clamp(18px, 2.4vw, 30px) !important;
}
body.second-page-clean .talent-profile-info-grid {
  gap: clamp(14px, 2vw, 26px) 34px !important;
  margin-top: 0 !important;
}
body.second-page-clean .talent-profile-info-card {
  min-height: auto !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid rgba(40, 90, 170, .16) !important;
}
body.second-page-clean .talent-profile-info-card .simple-info-label,
body.second-page-clean .talent-profile-info-card p.simple-info-label {
  margin-bottom: 8px !important;
  font-size: 12px !important;
}
body.second-page-clean .talent-profile-info-card h3 {
  margin: 0 !important;
  line-height: 1.35 !important;
  font-size: clamp(20px, 2vw, 28px) !important;
}
body.second-page-clean .najib-profile-summary,
body.second-page-clean .taiga-profile-summary,
body.second-page-clean .eneku-profile-summary,
body.second-page-clean .paul-profile-detail,
body.second-page-clean .akama-profile-detail {
  padding-top: clamp(30px, 3.5vw, 48px) !important;
  padding-bottom: clamp(30px, 3.5vw, 48px) !important;
}
body.second-page-clean .najib-profile-summary .talent-profile-info-grid,
body.second-page-clean .taiga-profile-summary .talent-profile-info-grid,
body.second-page-clean .eneku-profile-summary .talent-profile-info-grid,
body.second-page-clean .paul-profile-detail .talent-profile-info-grid,
body.second-page-clean .akama-profile-detail .talent-profile-info-grid {
  row-gap: 18px !important;
}
@media (max-width: 760px) {
  body.second-page-clean .talent-profile-section {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  body.second-page-clean .talent-profile-info-grid {
    gap: 14px !important;
  }
}

/* =========================================================
   UPDATE: unify talent FV photo size
   タレント詳細ページのFV写真サイズを赤間翔太ページ基準に統一
========================================================= */
body.second-page-clean .talent-profile-page .talent-profile-hero {
  grid-template-columns: minmax(420px, 1.08fr) minmax(340px, .92fr) !important;
  gap: clamp(42px, 6vw, 86px) !important;
  align-items: center !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.second-page-clean .talent-profile-page .talent-profile-hero .talent-profile-photo {
  width: min(100%, 620px) !important;
  max-width: 620px !important;
  justify-self: center !important;
  padding: 18px !important;
  margin: 0 !important;
  border-radius: 34px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(238,246,255,.94)) !important;
  box-shadow: 0 22px 54px rgba(23, 58, 120, .16) !important;
}
body.second-page-clean .talent-profile-page .talent-profile-hero .talent-profile-photo img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 28px !important;
  box-shadow: none !important;
}
body.second-page-clean .talent-profile-page .talent-profile-hero .talent-profile-copy {
  max-width: 520px !important;
}
@media (max-width: 980px) {
  body.second-page-clean .talent-profile-page .talent-profile-hero {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    text-align: center !important;
  }
  body.second-page-clean .talent-profile-page .talent-profile-hero .talent-profile-photo {
    width: min(100%, 520px) !important;
    max-width: 520px !important;
  }
}
@media (max-width: 640px) {
  body.second-page-clean .talent-profile-page .talent-profile-hero .talent-profile-photo {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    padding: 14px !important;
  }
}

/* =========================================================
   UPDATE: Final tight artist PROFILE blocks
   PROFILE欄の大きすぎる余白を強制的に削減
========================================================= */
body.second-page-clean .talent-profile-page .talent-profile-section:has(> .talent-profile-info-grid),
body.second-page-clean .talent-profile-page .talent-profile-section:has(> h2 + .talent-profile-info-grid),
body.second-page-clean .talent-profile-page .najib-profile-summary,
body.second-page-clean .talent-profile-page .taiga-profile-summary,
body.second-page-clean .talent-profile-page .eneku-profile-summary,
body.second-page-clean .talent-profile-page .paul-profile-detail,
body.second-page-clean .talent-profile-page .akama-profile-detail {
  padding-top: 22px !important;
  padding-bottom: 24px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-height: 0 !important;
}
body.second-page-clean .talent-profile-page .talent-profile-section:has(> .talent-profile-info-grid) > .eyebrow,
body.second-page-clean .talent-profile-page .talent-profile-section:has(> h2 + .talent-profile-info-grid) > .eyebrow,
body.second-page-clean .talent-profile-page .najib-profile-summary > .eyebrow,
body.second-page-clean .talent-profile-page .taiga-profile-summary > .eyebrow,
body.second-page-clean .talent-profile-page .eneku-profile-summary > .eyebrow,
body.second-page-clean .talent-profile-page .paul-profile-detail > .eyebrow,
body.second-page-clean .talent-profile-page .akama-profile-detail > .eyebrow {
  margin: 0 0 6px !important;
}
body.second-page-clean .talent-profile-page .talent-profile-section:has(> .talent-profile-info-grid) > h2,
body.second-page-clean .talent-profile-page .talent-profile-section:has(> h2 + .talent-profile-info-grid) > h2,
body.second-page-clean .talent-profile-page .najib-profile-summary > h2,
body.second-page-clean .talent-profile-page .taiga-profile-summary > h2,
body.second-page-clean .talent-profile-page .eneku-profile-summary > h2,
body.second-page-clean .talent-profile-page .paul-profile-detail > h2,
body.second-page-clean .talent-profile-page .akama-profile-detail > h2 {
  margin: 0 0 16px !important;
  font-size: clamp(28px, 3.2vw, 42px) !important;
}
body.second-page-clean .talent-profile-page .talent-profile-info-grid {
  margin: 0 !important;
  gap: 16px 34px !important;
}
body.second-page-clean .talent-profile-page .talent-profile-info-card {
  padding: 0 0 12px !important;
  min-height: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(40, 90, 170, .18) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.second-page-clean .talent-profile-page .talent-profile-info-card .simple-info-label,
body.second-page-clean .talent-profile-page .talent-profile-info-card p.simple-info-label {
  margin: 0 0 7px !important;
  line-height: 1.2 !important;
}
body.second-page-clean .talent-profile-page .talent-profile-info-card h3 {
  margin: 0 !important;
  line-height: 1.3 !important;
  font-size: clamp(20px, 2vw, 27px) !important;
}
body.second-page-clean .talent-profile-page .talent-profile-info-grid + p {
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  line-height: 1.75 !important;
}
@media (max-width: 760px) {
  body.second-page-clean .talent-profile-page .talent-profile-section:has(> .talent-profile-info-grid),
  body.second-page-clean .talent-profile-page .talent-profile-section:has(> h2 + .talent-profile-info-grid),
  body.second-page-clean .talent-profile-page .najib-profile-summary,
  body.second-page-clean .talent-profile-page .taiga-profile-summary,
  body.second-page-clean .talent-profile-page .eneku-profile-summary,
  body.second-page-clean .talent-profile-page .paul-profile-detail,
  body.second-page-clean .talent-profile-page .akama-profile-detail {
    padding-top: 20px !important;
    padding-bottom: 22px !important;
  }
  body.second-page-clean .talent-profile-page .talent-profile-info-grid {
    gap: 14px !important;
  }
}

/* =========================================================
   UPDATE: Center contact buttons in talent profile sections
   各タレントページ下部「出演・お仕事のご依頼」ボタン中央揃え
========================================================= */
body.second-page-clean .talent-profile-page .talent-profile-section .button-row {
  justify-content: center !important;
  text-align: center !important;
}
body.second-page-clean .talent-profile-page .talent-profile-section .button-row .button {
  text-align: center !important;
}

/* =========================================================
   UPDATE: Fixed side official LINE QR larger
   右端固定メニューの公式LINEをQRコード表示に変更
========================================================= */
.fixed-side-line-official {
  min-height: 118px !important;
  padding: 12px 10px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(0, 185, 0, .26) !important;
}
.fixed-side-line-qr {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 78px !important;
  height: 78px !important;
  margin: 0 auto 6px !important;
  padding: 4px !important;
  border-radius: 12px !important;
  background: #ffffff !important;
}
.fixed-side-line-qr img {
  width: 70px !important;
  height: 70px !important;
  object-fit: contain !important;
  display: block !important;
}
.fixed-side-line-official .fixed-side-label {
  color: #00a848 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .02em !important;
}
@media (max-width: 760px) {
  .fixed-side-line-official {
    min-height: 104px !important;
  }
  .fixed-side-line-qr {
    width: 68px !important;
    height: 68px !important;
  }
  .fixed-side-line-qr img {
    width: 62px !important;
    height: 62px !important;
  }
}

/* =========================================================
   UPDATE: featured Sentimental Ginza recommendation text
========================================================= */
.featured-banner-item-ginza {
  text-align: center !important;
}
.featured-ginza-message {
  max-width: 960px !important;
  margin: 18px auto 14px !important;
  padding: clamp(20px, 3vw, 30px) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 10% 8%, rgba(255, 222, 238, .55), transparent 30%),
    radial-gradient(circle at 92% 6%, rgba(255, 244, 211, .52), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,248,252,.94)) !important;
  border: 1px solid rgba(255, 158, 194, .35) !important;
  box-shadow: 0 18px 44px rgba(195, 74, 116, .10) !important;
  color: #12346d !important;
}
.featured-ginza-message p {
  margin: 0 !important;
  line-height: 1.9 !important;
  color: #274571 !important;
  font-weight: 700 !important;
}
.featured-ginza-lead {
  color: #a76a24 !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}
.featured-ginza-message h3 {
  margin: 12px 0 12px !important;
  color: #c9458e !important;
  font-size: clamp(26px, 4vw, 46px) !important;
  line-height: 1.25 !important;
  letter-spacing: .08em !important;
}
.featured-ginza-message h3 span {
  color: #f05b2e !important;
  letter-spacing: .04em !important;
}
.featured-ginza-comments {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 18px !important;
  text-align: left !important;
}
.featured-ginza-comments article {
  padding: 18px 18px 16px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(255, 158, 194, .28) !important;
}
.featured-ginza-comments article p {
  font-size: 13px !important;
  line-height: 1.8 !important;
}
.featured-ginza-comments footer {
  margin-top: 12px !important;
  color: #12346d !important;
  font-weight: 900 !important;
  text-align: right !important;
  line-height: 1.55 !important;
}
.featured-ginza-comments footer span {
  color: #66789b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
@media (max-width: 760px) {
  .featured-ginza-comments {
    grid-template-columns: 1fr !important;
  }
  .featured-ginza-message {
    text-align: left !important;
  }
  .featured-ginza-message h3 {
    text-align: center !important;
  }
}

/* =========================================================
   UPDATE: featured Hiroshi Miyagawa Hit Parade text
========================================================= */
.featured-banner-item-hitparade {
  text-align: center !important;
}
.featured-hitparade-message {
  max-width: 960px !important;
  margin: 18px auto 14px !important;
  padding: clamp(20px, 3vw, 30px) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 10% 8%, rgba(206, 228, 255, .58), transparent 30%),
    radial-gradient(circle at 92% 6%, rgba(255, 255, 255, .74), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,246,255,.94)) !important;
  border: 1px solid rgba(132, 172, 224, .38) !important;
  box-shadow: 0 18px 44px rgba(30, 70, 135, .10) !important;
  color: #12346d !important;
}
.featured-hitparade-message p {
  margin: 0 !important;
  line-height: 1.9 !important;
  color: #274571 !important;
  font-weight: 700 !important;
}
.featured-hitparade-kicker {
  color: #12346d !important;
  font-size: clamp(18px, 2.2vw, 26px) !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
}
.featured-hitparade-message h3 {
  margin: 8px 0 10px !important;
  color: #12346d !important;
  font-size: clamp(28px, 4vw, 48px) !important;
  line-height: 1.2 !important;
  letter-spacing: .06em !important;
}
.featured-hitparade-message h3 span {
  display: inline-block !important;
  margin-left: .2em !important;
  color: #315f9e !important;
  font-size: .55em !important;
  letter-spacing: .03em !important;
  vertical-align: middle !important;
}
.featured-hitparade-date {
  margin-bottom: 10px !important;
  color: #315f9e !important;
  font-weight: 900 !important;
}
.featured-hitparade-note {
  display: inline-flex !important;
  justify-content: center !important;
  margin-top: 14px !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .94) !important;
  color: #e84b5f !important;
  border: 1px solid rgba(232, 75, 95, .22) !important;
  box-shadow: 0 10px 22px rgba(30, 70, 135, .08) !important;
  font-weight: 900 !important;
}
@media (max-width: 760px) {
  .featured-hitparade-message {
    text-align: left !important;
  }
  .featured-hitparade-message h3,
  .featured-hitparade-kicker,
  .featured-hitparade-date {
    text-align: center !important;
  }
  .featured-hitparade-note {
    display: flex !important;
  }
}

/* =========================================================
   UPDATE: Featured banners purchase bonus note
========================================================= */
.featured-banners-note {
  max-width: 980px !important;
  margin: 0 auto 20px !important;
  text-align: center !important;
}
.featured-banners-note p {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 12px 28px !important;
  border-radius: 999px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(252,247,255,.96)) !important;
  border: 1px solid rgba(255, 181, 205, .55) !important;
  box-shadow: 0 14px 28px rgba(192, 92, 132, .10) !important;
  color: #111 !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  line-height: 1.5 !important;
  position: relative !important;
}
.featured-banners-note p::before,
.featured-banners-note p::after {
  content: "✦" !important;
  color: #e67aa7 !important;
  font-size: 18px !important;
  margin: 0 12px !important;
}
@media (max-width: 760px) {
  .featured-banners-note {
    margin-bottom: 14px !important;
    padding-inline: 10px !important;
  }
  .featured-banners-note p {
    width: 100% !important;
    padding: 12px 18px !important;
    font-size: 16px !important;
  }
}

/* =========================================================
   UPDATE: ginza endorsement comments under profile cards
========================================================= */
.ginza-endorsement {
  margin-top: 22px !important;
  padding: 18px 18px 16px !important;
  border-radius: 20px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(252,247,250,.94)) !important;
  border: 1px solid rgba(230, 181, 201, .34) !important;
  box-shadow: 0 14px 32px rgba(24, 52, 109, .06) !important;
}
.ginza-endorsement-title {
  margin: 0 0 8px !important;
  color: #c9458e !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.6 !important;
}
.ginza-endorsement-byline {
  margin: 0 0 14px !important;
  color: #12346d !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-align: right !important;
  line-height: 1.7 !important;
}
.ginza-endorsement p {
  margin: 0 0 12px !important;
  color: #274571 !important;
  font-size: 13px !important;
  line-height: 1.95 !important;
}
.ginza-endorsement p:last-child {
  margin-bottom: 0 !important;
}

/* =========================================================
   UPDATE: ginza page Wix content integration
========================================================= */
.ginza-wix-intro-copy {
  max-width: 960px !important;
  margin: 0 auto clamp(28px, 4vw, 46px) !important;
  padding: clamp(22px, 3vw, 34px) !important;
  border-radius: 30px !important;
  text-align: center !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 222, 238, .55), transparent 30%),
    radial-gradient(circle at 90% 12%, rgba(244, 231, 180, .46), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,248,252,.94)) !important;
  border: 1px solid rgba(255, 158, 194, .32) !important;
  box-shadow: 0 18px 44px rgba(195, 74, 116, .10) !important;
}
.ginza-wix-intro-copy p {
  margin: 0 0 10px !important;
  color: #274571 !important;
  font-weight: 800 !important;
  line-height: 1.9 !important;
}
.ginza-wix-intro-copy p:last-child {
  margin-bottom: 0 !important;
}
.ginza-wix-intro-lead {
  color: #c9458e !important;
  font-size: clamp(20px, 2.5vw, 30px) !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
}
.ginza-wix-intro-copy strong {
  color: #e84b5f !important;
  font-weight: 900 !important;
}
.ginza-profile-heading {
  max-width: 860px !important;
  margin: 0 auto 28px !important;
  text-align: center !important;
}
.ginza-profile-heading h2 {
  margin: 8px 0 12px !important;
  color: #12346d !important;
  font-size: clamp(28px, 3.8vw, 46px) !important;
  line-height: 1.35 !important;
}
.ginza-profile-heading p:not(.eyebrow) {
  margin: 0 !important;
  color: #526b91 !important;
  font-weight: 700 !important;
}
.ginza-endorsement {
  margin-top: 22px !important;
  padding: 18px 18px 16px !important;
  border-radius: 20px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(252,247,250,.94)) !important;
  border: 1px solid rgba(230, 181, 201, .34) !important;
  box-shadow: 0 14px 32px rgba(24, 52, 109, .06) !important;
}
.ginza-endorsement-title {
  margin: 0 0 8px !important;
  color: #c9458e !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.6 !important;
}
.ginza-endorsement-byline {
  margin: 0 0 14px !important;
  color: #12346d !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-align: right !important;
  line-height: 1.7 !important;
}
.ginza-endorsement p {
  margin: 0 0 12px !important;
  color: #274571 !important;
  font-size: 13px !important;
  line-height: 1.95 !important;
}
.ginza-endorsement p:last-child {
  margin-bottom: 0 !important;
}
.ginza-endorsement-mori {
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(245,249,255,.94)) !important;
  border-color: rgba(132, 172, 224, .34) !important;
}
@media (max-width: 760px) {
  .ginza-wix-intro-copy,
  .ginza-profile-heading {
    text-align: left !important;
  }
}

/* =========================================================
   UPDATE: lsm-rili.html reading text beside name
========================================================= */
body.second-page-clean .rili-profile-page .rili-name-reading {
  display: inline-block !important;
  margin-left: .28em !important;
  color: #12346d !important;
  font-size: .32em !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  vertical-align: middle !important;
}
@media (max-width: 640px) {
  body.second-page-clean .rili-profile-page .rili-name-reading {
    display: block !important;
    margin: 6px 0 0 !important;
    font-size: .34em !important;
  }
}

/* =========================================================
   UPDATE: lsm-rili.html official link icons flat style
========================================================= */
body.second-page-clean .rili-profile-page .rili-social-icons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  align-items: center !important;
}
body.second-page-clean .rili-profile-page .rili-social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: auto !important;
  min-height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body.second-page-clean .rili-profile-page .rili-social-link:hover {
  transform: translateY(-1px) !important;
  box-shadow: none !important;
  opacity: .92 !important;
}
body.second-page-clean .rili-profile-page .rili-social-link img {
  width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
  display: block !important;
}
@media (max-width: 760px) {
  body.second-page-clean .rili-profile-page .rili-social-icons {
    gap: 12px !important;
  }
  body.second-page-clean .rili-profile-page .rili-social-link img {
    width: 34px !important;
    height: 34px !important;
  }
}

/* =========================================================
   UPDATE: mobile header cleanup
   スマホ表示：右常時メニュー非表示・検索非表示・ドロップダウン簡略化
========================================================= */
@media (max-width: 760px) {
  /* 右端の常時固定メニューはスマホでは非表示 */
  .fixed-side-menu {
    display: none !important;
  }

  /* スマホでは検索窓を非表示 */
  .site-header .header-search-form {
    display: none !important;
  }

  /* スマホではお問い合わせボタンもヘッダーから外し、本文/メニュー導線を優先 */
  .site-header .header-contact-button {
    display: none !important;
  }

  /* ロゴとMENUボタンを1段で見せる */
  .site-header .header-inner {
    flex-wrap: nowrap !important;
    min-height: 70px !important;
    gap: 10px !important;
  }

  .site-header .brand {
    flex: 0 0 auto !important;
  }

  .site-header .brand-logo {
    width: 136px !important;
    max-width: 42vw !important;
  }

  .site-header .nav-toggle {
    margin-left: auto !important;
    flex: 0 0 auto !important;
  }

  /* ハンバーガー内のプルダウンを長くしすぎない */
  .global-nav .dropdown-menu {
    position: static !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin-top: 4px !important;
  }

  .global-nav .dropdown-menu ul {
    display: block !important;
    padding: 0 !important;
  }

  /* スマホでは各プルダウンの中身を1つだけに簡略化 */
  .global-nav .dropdown-menu li {
    display: none !important;
  }

  .global-nav .dropdown-menu li:first-child {
    display: block !important;
  }

  .global-nav .dropdown-menu a {
    min-height: 34px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
    color: #35568c !important;
    background: rgba(255,255,255,.70) !important;
    border-radius: 999px !important;
  }

  /* タレントのプルダウンは「タレント一覧」だけを見せる */
  .global-nav .has-dropdown .dropdown-menu a[href="lsm-talent.html"] {
    display: flex !important;
  }
}

@media (max-width: 1180px) and (min-width: 761px) {
  .site-header .header-search-form {
    width: 140px !important;
    min-width: 130px !important;
  }
}

/* =========================================================
   UPDATE: mobile menu contact button
   スマホMENU内にお問い合わせボタンを追加
========================================================= */
.mobile-nav-contact-only {
  display: none !important;
}

@media (max-width: 760px) {
  .global-nav .mobile-nav-contact-only {
    display: block !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-top: 8px !important;
  }

  .global-nav .mobile-nav-contact-only a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    width: 100% !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #ff4f8b 0%, #ff7a1a 100%) !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    box-shadow: 0 14px 28px rgba(255, 89, 80, .22) !important;
  }

  .global-nav .mobile-nav-contact-only a:hover {
    color: #ffffff !important;
    transform: translateY(-1px) !important;
  }
}


/* =========================================================
   UPDATE: TOP smartphone official LINE position
   スマホ表示のみ、OFFICIAL LINEカードをタレント一覧の下へ移動
========================================================= */
.hero-line-card-mobile-v2 {
  display: none !important;
}

@media (max-width: 760px) {
  .hero-feature-main-v2 > .hero-line-card-v2 {
    display: none !important;
  }

  .hero-line-card-mobile-v2 {
    display: grid !important;
    margin-top: 18px !important;
  }
}


/* =========================================================
   UPDATE: mobile only hide second sentimental ginza comment
========================================================= */
@media (max-width: 760px) {
  .featured-ginza-comments article:nth-of-type(2) {
    display: none !important;
  }
  .featured-ginza-comments article:first-of-type {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}


/* =========================================================
   UPDATE: PC/SP common one-card sentimental ginza comment
========================================================= */
.featured-ginza-comments {
  grid-template-columns: 1fr !important;
}
.featured-ginza-comments article:nth-of-type(2) {
  display: none !important;
}
.featured-ginza-comments article:first-of-type {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}


/* =========================================================
   FIX: Featured banners height balance after quote removal
   TOPの2カラム告知エリアで左右の高さ・ボタン位置を揃える
========================================================= */
@media (min-width: 981px) {
  #featured-banners .featured-banner-grid {
    align-items: stretch !important;
  }

  #featured-banners .featured-banner-item {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  #featured-banners .featured-banner-card {
    width: 100% !important;
  }

  #featured-banners .featured-hitparade-message,
  #featured-banners .featured-ginza-message {
    width: 100% !important;
    min-height: 314px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}


/* =========================================================
   UPDATE: Beauty / Health lead collection section
   lead-collectionの内容を美と健康相談室内に追加
========================================================= */
.beauty-lead-collection-block {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr) !important;
  gap: clamp(24px, 4vw, 48px) !important;
  align-items: center !important;
  margin: 0 0 clamp(24px, 4vw, 42px) !important;
  padding: clamp(24px, 4vw, 44px) !important;
  border-radius: 32px !important;
  background: linear-gradient(135deg, rgba(255, 248, 252, .98), rgba(242, 248, 255, .98)) !important;
  border: 1px solid rgba(255, 74, 160, .16) !important;
  box-shadow: 0 18px 44px rgba(18, 52, 109, .08) !important;
}

.beauty-lead-collection-copy {
  min-width: 0 !important;
}

.beauty-lead-collection-copy h2 {
  margin: 0 0 14px !important;
  color: #12346d !important;
  font-size: clamp(28px, 3.6vw, 46px) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: .03em !important;
}

.beauty-lead-catch {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 22px !important;
  padding: 9px 18px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(255, 74, 160, .24) !important;
  color: #c53882 !important;
  font-weight: 900 !important;
  line-height: 1.5 !important;
}

.beauty-lead-point-grid {
  display: grid !important;
  gap: 16px !important;
}

.beauty-lead-point-card {
  position: relative !important;
  padding: 20px 22px 20px 62px !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(21,49,168,.08) !important;
}

.beauty-lead-number {
  position: absolute !important;
  left: 20px !important;
  top: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff4f8b 0%, #ff7a1a 100%) !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.beauty-lead-point-card h3 {
  margin: 0 0 8px !important;
  color: #12346d !important;
  font-size: clamp(18px, 2vw, 23px) !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
}

.beauty-lead-point-card p:not(.beauty-lead-number) {
  margin: 0 0 8px !important;
  color: #263d70 !important;
  line-height: 1.85 !important;
}

.beauty-lead-collection-photo {
  justify-self: center !important;
  width: min(100%, 280px) !important;
  margin: 0 !important;
  padding: 16px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(176, 207, 244, .86) !important;
  box-shadow: 0 18px 44px rgba(18, 52, 109, .14) !important;
}

.beauty-lead-collection-photo img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 999px !important;
  object-fit: contain !important;
  background: #000000 !important;
}

@media (max-width: 820px) {
  .beauty-lead-collection-block {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .beauty-lead-point-card {
    text-align: left !important;
  }

  .beauty-lead-collection-photo {
    order: -1 !important;
    width: min(100%, 220px) !important;
  }
}

@media (max-width: 560px) {
  .beauty-lead-collection-block {
    padding: 22px 18px !important;
  }

  .beauty-lead-point-card {
    padding: 18px 18px 18px 56px !important;
  }

  .beauty-lead-number {
    left: 17px !important;
    top: 18px !important;
  }
}


/* =========================================================
   UPDATE: Beauty / Health Wix lead-collection iframe form
   既存Wixのlead-collectionお問い合わせフォームをiframe表示
========================================================= */
.beauty-health-contact-iframe-section {
  margin-top: clamp(28px, 4vw, 48px) !important;
  padding: clamp(24px, 4vw, 42px) !important;
  border-radius: 30px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,49,168,.10) !important;
  box-shadow: 0 14px 34px rgba(18,52,109,.06) !important;
  text-align: center !important;
}

.beauty-health-contact-iframe-section h2 {
  margin: 0 0 10px !important;
  color: #12346d !important;
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

.beauty-health-contact-iframe-section > p:not(.simple-info-label):not(.form-note) {
  margin: 0 !important;
  color: #40527f !important;
  line-height: 1.9 !important;
}

.beauty-health-contact-frame-wrap {
  margin: 24px auto 0 !important;
  max-width: 820px !important;
  border-color: rgba(255, 77, 119, .24) !important;
  border-radius: 26px !important;
  box-shadow: 0 16px 40px rgba(18,52,109,.07) !important;
}

.beauty-health-contact-frame-wrap iframe {
  width: 100% !important;
  min-height: 760px !important;
  border: 0 !important;
}

.beauty-health-contact-note {
  margin: 14px 0 0 !important;
  color: #647096 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.beauty-health-contact-note a {
  color: #2257d6 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

@media (max-width: 760px) {
  .beauty-health-contact-iframe-section {
    padding: 22px 16px !important;
    border-radius: 24px !important;
  }

  .beauty-health-contact-frame-wrap iframe {
    min-height: 720px !important;
  }
}


/* =========================================================
   2026-06-23 打ち合わせ反映：FV/NEWS/Radio/Smile/Talent/Paul
========================================================= */
.hero-home-fv-renewal.hero-home-v2 {
  padding: 22px 0 42px !important;
  color: #17306a !important;
  background:
    radial-gradient(circle at 12% 6%, rgba(255, 255, 255, .98), transparent 26%),
    radial-gradient(circle at 88% 8%, rgba(255, 238, 185, .72), transparent 28%),
    radial-gradient(circle at 50% 105%, rgba(255, 198, 221, .45), transparent 34%),
    linear-gradient(135deg, #fff8f2 0%, #f8ddd7 48%, #fff0c9 100%) !important;
}
.hero-home-fv-renewal .hero-sky-stars i,
.hero-home-fv-renewal .hero-sky-stars i::before {
  color: rgba(224, 154, 92, .55) !important;
  text-shadow: 0 0 14px rgba(255, 255, 255, .88) !important;
}
.hero-fv-container {
  display: grid !important;
  gap: 18px !important;
}
.hero-home-fv-renewal .hero-lineup-v2 {
  order: 0 !important;
  margin-top: 0 !important;
  padding: 12px 14px 14px !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .48) !important;
  box-shadow: 0 16px 38px rgba(214, 145, 141, .14) !important;
  backdrop-filter: blur(10px) !important;
}
.hero-home-fv-renewal .hero-lineup-card-v2 {
  color: #17306a !important;
  border-color: rgba(255, 182, 202, .58) !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 10px 22px rgba(214,145,141,.14) !important;
}
.hero-home-fv-renewal .hero-lineup-card-v2 img {
  width: 82px !important;
  height: 82px !important;
  border: 3px solid #fff !important;
}
.hero-home-fv-renewal .hero-lineup-actions-v2 {
  margin-top: 8px !important;
}
.hero-fv-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.hero-fv-card {
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255,255,255,.76) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,248,244,.78) 100%) !important;
  box-shadow: 0 20px 48px rgba(183, 117, 119, .18) !important;
  text-decoration: none !important;
  color: inherit !important;
}
.hero-fv-card-image img,
.hero-fv-sentimental > img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
  object-fit: cover !important;
}
.hero-fv-audition {
  min-height: 302px !important;
  background: linear-gradient(135deg, #fff, #fff0f8) !important;
}
.hero-fv-radio {
  min-height: 240px !important;
  background: linear-gradient(135deg, #fff, #fff7df) !important;
}
.hero-fv-sentimental {
  position: relative !important;
  min-height: 240px !important;
  display: block !important;
  background: linear-gradient(135deg, #fff2f7, #fff7e1) !important;
}
.hero-fv-sentimental::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(23,48,106,.80), rgba(23,48,106,.20) 46%, rgba(23,48,106,0));
  pointer-events: none;
}
.hero-fv-sentimental-copy {
  position: absolute !important;
  z-index: 2 !important;
  left: 24px !important;
  bottom: 22px !important;
  color: #fff !important;
  text-shadow: 0 3px 16px rgba(0,0,0,.34) !important;
}
.hero-fv-sentimental-copy p {
  margin: 0 0 8px !important;
  display: inline-flex !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .20) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}
.hero-fv-sentimental-copy h2 {
  margin: 0 0 6px !important;
  color: #fff !important;
  font-size: clamp(25px, 3vw, 38px) !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
}
.hero-fv-sentimental-copy span {
  font-weight: 900 !important;
  color: #ffe49d !important;
}
.hero-home-fv-renewal .hero-release-panel-v2 {
  height: 100% !important;
  padding: 14px !important;
  border-radius: 26px !important;
  color: #17306a !important;
  background: linear-gradient(135deg, #ffffff 0%, #eef6ff 52%, #fff0f6 100%) !important;
  border: 0 !important;
  box-shadow: none !important;
}
.hero-home-fv-renewal .hero-release-label-v2 {
  color: #dd5c9d !important;
}
.hero-home-fv-renewal .hero-release-panel-v2 h2 {
  color: #17306a !important;
  font-size: clamp(19px, 2vw, 25px) !important;
}
.hero-home-fv-renewal .hero-release-stage-v2,
.hero-home-fv-renewal .hero-release-stage-image-v2 {
  min-height: 185px !important;
  height: 220px !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  border: 1px solid rgba(190, 210, 255, .64) !important;
}
.hero-home-fv-renewal .hero-release-slide-v2 {
  padding: 12px !important;
  gap: 8px !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  color: #17306a !important;
}
.hero-home-fv-renewal .hero-release-slide-thumb-v2,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 {
  height: 132px !important;
  min-height: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #f7fbff, #fff7fb) !important;
}
.hero-home-fv-renewal .hero-release-slide-copy-v2 strong {
  color: #17306a !important;
  font-size: clamp(17px, 1.75vw, 23px) !important;
  line-height: 1.2 !important;
}
.hero-home-fv-renewal .hero-release-slide-copy-v2 em,
.hero-home-fv-renewal .hero-release-slide-copy-v2 time {
  color: #5a6f9e !important;
  font-size: 12px !important;
}
.hero-home-fv-renewal .hero-release-arrow-v2 {
  top: 39% !important;
  width: 34px !important;
  height: 34px !important;
  background: rgba(255,255,255,.92) !important;
}
.hero-home-fv-renewal .hero-release-dots-v2 {
  margin-top: 6px !important;
}
.news-heading-wrap {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
}
.news-heading-text h2 a {
  color: inherit !important;
  text-decoration: none !important;
}
.news-heading-text h2 a:hover,
.news-heading-text h2 a:focus-visible {
  color: #e65499 !important;
}
.breaking-news-btn {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff5fa2 0%, #ff9ec4 54%, #ffe27a 100%) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(255, 95, 162, .30) !important;
  border: 3px solid #fff !important;
}
.breaking-news-btn:hover,
.breaking-news-btn:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(255, 95, 162, .40) !important;
}
body.smile-bg-yellow {
  background: linear-gradient(180deg, #fff9df 0%, #fffef7 38%, #fff8d6 100%) !important;
}
body.smile-bg-yellow .simple-subpage-section {
  background: transparent !important;
}
body.talent-tone-male .simple-subpage-section,
body.talent-tone-male .rili-profile-page {
  background: linear-gradient(180deg, #eef9ff 0%, #ffffff 48%, #eaf6ff 100%) !important;
}
body.talent-tone-female .simple-subpage-section,
body.talent-tone-female .rili-profile-page {
  background: linear-gradient(180deg, #fff1f8 0%, #ffffff 48%, #ffeaf5 100%) !important;
}
body.second-page-clean .paul-profile-page .talent-profile-hero .paul-hero-photo img,
body.second-page-clean .paul-profile-page .paul-hero-photo img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  max-height: 640px !important;
  object-fit: contain !important;
  object-position: center top !important;
  border-radius: 28px !important;
  background: #fff !important;
}
body.second-page-clean .paul-profile-page .talent-profile-hero .paul-hero-photo,
body.second-page-clean .paul-profile-page .paul-hero-photo {
  max-width: 560px !important;
  background: linear-gradient(160deg, #f6fbff 0%, #ffffff 52%, #fff2e8 100%) !important;
}
.idol-promo-video-card {
  display: grid !important;
  grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr) !important;
  gap: 22px !important;
  align-items: center !important;
  margin: 24px 0 30px !important;
  padding: 22px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #fff 0%, #fff0f8 55%, #fff8d8 100%) !important;
  border: 1px solid rgba(255, 157, 194, .42) !important;
  box-shadow: 0 18px 42px rgba(255, 112, 174, .14) !important;
}
.idol-promo-video-card video {
  width: 100% !important;
  display: block !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(23,48,106,.12) !important;
}
.radio-press-page {
  background: linear-gradient(180deg, #fff8fb 0%, #fffdf6 46%, #fff1d7 100%) !important;
}
.radio-press-main-banner {
  margin: 22px auto 30px !important;
  max-width: 1180px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 52px rgba(218, 118, 153, .18) !important;
}
.radio-press-main-banner img {
  width: 100% !important;
  display: block !important;
}
.radio-press-info-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.radio-press-info-card {
  padding: 26px !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(255, 174, 202, .48) !important;
  box-shadow: 0 12px 30px rgba(218, 118, 153, .10) !important;
}
.radio-press-info-card h2 {
  margin: 0 0 10px !important;
  color: #17306a !important;
  font-size: clamp(22px, 3vw, 34px) !important;
}
.radio-press-info-card-wide {
  grid-column: 1 / -1 !important;
}
@media (max-width: 900px) {
  .hero-fv-grid,
  .radio-press-info-grid,
  .idol-promo-video-card {
    grid-template-columns: 1fr !important;
  }
  .hero-fv-audition,
  .hero-fv-radio,
  .hero-fv-sentimental {
    min-height: 0 !important;
  }
  .hero-fv-card-image img,
  .hero-fv-sentimental > img {
    height: auto !important;
    aspect-ratio: 3 / 1 !important;
  }
  .hero-home-fv-renewal .hero-release-stage-v2,
  .hero-home-fv-renewal .hero-release-stage-image-v2 {
    height: 250px !important;
  }
  .hero-home-fv-renewal .hero-release-slide-thumb-v2,
  .hero-home-fv-renewal .hero-release-slide-main-image-v2 {
    height: 155px !important;
  }
  .news-heading-wrap {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}
@media (max-width: 640px) {
  .hero-home-fv-renewal .hero-lineup-scroll-v2 {
    grid-auto-columns: minmax(104px, 104px) !important;
  }
  .hero-home-fv-renewal .hero-lineup-card-v2 img {
    width: 70px !important;
    height: 70px !important;
  }
  .breaking-news-btn {
    min-height: 42px !important;
    padding: 8px 17px !important;
    font-size: 13px !important;
  }
  .idol-promo-video-card {
    padding: 16px !important;
  }
}


/* =========================================================
   2026-06-23 差分修正：FVの画像フィット / センチメンタル文字削除 / 明るい風水カラー
========================================================= */
.hero-home-fv-renewal.hero-home-v2 {
  background:
    radial-gradient(circle at 12% 8%, rgba(255,255,255,.98), transparent 22%),
    radial-gradient(circle at 88% 10%, rgba(255, 232, 184, .92), transparent 24%),
    radial-gradient(circle at 18% 76%, rgba(255, 208, 225, .42), transparent 24%),
    radial-gradient(circle at 52% 102%, rgba(255, 195, 214, .68), transparent 30%),
    linear-gradient(135deg, #fff7f2 0%, #ffdce7 45%, #f6d9d0 72%, #fff0ca 100%) !important;
}
.hero-home-fv-renewal .hero-lineup-v2 {
  background: linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,248,244,.78) 100%) !important;
  border: 1px solid rgba(255, 212, 224, .78) !important;
  box-shadow: 0 18px 40px rgba(226, 166, 149, .12) !important;
}
.hero-fv-card {
  border: 1px solid rgba(255, 209, 222, .92) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,245,241,.96) 58%, rgba(255,249,236,.94) 100%) !important;
  box-shadow: 0 18px 42px rgba(214, 152, 131, .14) !important;
}
.hero-fv-card-image,
.hero-fv-sentimental {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px !important;
}
.hero-fv-card-image img,
.hero-fv-sentimental > img {
  width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 20px !important;
  background: #fffdf9 !important;
  box-shadow: 0 10px 26px rgba(224, 180, 154, .10) !important;
}
.hero-fv-audition {
  min-height: 0 !important;
  background: linear-gradient(135deg, #fff7fb, #ffe8f2) !important;
}
.hero-fv-radio {
  min-height: 0 !important;
  background: linear-gradient(135deg, #fffdf8, #fff3dc) !important;
}
.hero-fv-sentimental {
  min-height: 0 !important;
  background: linear-gradient(135deg, #fff7fa, #fff3e6) !important;
}
.hero-fv-sentimental::after,
.hero-fv-sentimental-copy {
  display: none !important;
}
.hero-home-fv-renewal .hero-release-panel-v2 {
  background: linear-gradient(135deg, #fffdfd 0%, #fff3f7 38%, #fff6eb 100%) !important;
  border: 1px solid rgba(255, 221, 205, .88) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72) !important;
}
.hero-home-fv-renewal .hero-release-stage-v2,
.hero-home-fv-renewal .hero-release-stage-image-v2 {
  min-height: 170px !important;
  height: 210px !important;
  background: linear-gradient(180deg, #fffefe 0%, #fff6f6 54%, #fff8ed 100%) !important;
  border: 1px solid rgba(255, 223, 211, .86) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75) !important;
}
.hero-home-fv-renewal .hero-release-slide-v2 {
  padding: 12px !important;
}
.hero-home-fv-renewal .hero-release-slide-thumb-v2,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px !important;
  height: 126px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff5f3 60%, #fffaf0 100%) !important;
  border: 1px solid rgba(255, 227, 214, .85) !important;
}
.hero-home-fv-renewal .hero-release-slide-thumb-v2 img,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 12px !important;
}
.hero-home-fv-renewal .hero-release-slide-copy-v2 {
  padding-inline: 2px !important;
}
.hero-home-fv-renewal .hero-release-arrow-v2 {
  background: rgba(255,255,255,.98) !important;
  color: #e15b93 !important;
  border: 1px solid rgba(255, 212, 224, .92) !important;
  box-shadow: 0 8px 18px rgba(227, 168, 144, .18) !important;
}
.hero-home-fv-renewal .hero-release-dot-v2 {
  background: rgba(255, 152, 191, .42) !important;
}
.hero-home-fv-renewal .hero-release-dot-v2.is-active {
  background: linear-gradient(135deg, #ff7db0, #ffc77c) !important;
}
@media (max-width: 900px) {
  .hero-fv-card-image,
  .hero-fv-sentimental {
    padding: 8px !important;
  }
  .hero-fv-card-image img,
  .hero-fv-sentimental > img {
    aspect-ratio: auto !important;
  }
  .hero-home-fv-renewal .hero-release-stage-v2,
  .hero-home-fv-renewal .hero-release-stage-image-v2 {
    height: 230px !important;
  }
}


/* =========================================================
   2026-06-23 再修正：FVバナーをカード全面表示・新譜画像を大きく
   ※前回の contain 指定を上書きして、画像が小さく見える問題を修正
========================================================= */
.hero-fv-card {
  overflow: hidden !important;
}
.hero-fv-card-image,
.hero-fv-sentimental {
  display: block !important;
  padding: 0 !important;
  aspect-ratio: 1663 / 946 !important;
  background: #fffaf8 !important;
}
.hero-fv-card-image img,
.hero-fv-sentimental > img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  background: transparent !important;
}
.hero-fv-audition img {
  object-position: center center !important;
}
.hero-fv-radio img {
  object-position: center center !important;
}
.hero-fv-sentimental img {
  object-position: center center !important;
}
.hero-home-fv-renewal .hero-release-card,
.hero-home-fv-renewal .hero-release-column-v2 {
  aspect-ratio: 1663 / 946 !important;
}
.hero-home-fv-renewal .hero-release-panel-v2 {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 18px !important;
  background: linear-gradient(135deg, #fffefd 0%, #fff3f7 44%, #fff7ec 100%) !important;
}
.hero-home-fv-renewal .hero-release-panel-v2-head {
  margin-bottom: 10px !important;
}
.hero-home-fv-renewal .hero-release-panel-v2 h2 {
  margin: 0 !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
}
.hero-home-fv-renewal .hero-release-slider-v2 {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
.hero-home-fv-renewal .hero-release-stage-v2,
.hero-home-fv-renewal .hero-release-stage-image-v2 {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 250px !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #fff 0%, #fff7f5 58%, #fffaf0 100%) !important;
}
.hero-home-fv-renewal .hero-release-slide-v2 {
  padding: 14px !important;
  gap: 8px !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
}
.hero-home-fv-renewal .hero-release-slide-thumb-v2,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 {
  height: auto !important;
  min-height: 178px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #fff !important;
}
.hero-home-fv-renewal .hero-release-slide-thumb-v2 img,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 img {
  width: 100% !important;
  height: 100% !important;
  min-height: 178px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
}
.hero-home-fv-renewal .hero-release-slide-caption-v2 {
  min-height: 38px !important;
  gap: 2px !important;
}
.hero-home-fv-renewal .hero-release-dots-v2 {
  margin-top: 8px !important;
}
@media (max-width: 900px) {
  .hero-fv-card-image,
  .hero-fv-sentimental,
  .hero-home-fv-renewal .hero-release-card,
  .hero-home-fv-renewal .hero-release-column-v2 {
    aspect-ratio: auto !important;
  }
  .hero-fv-card-image img,
  .hero-fv-sentimental > img {
    height: auto !important;
    aspect-ratio: 1663 / 946 !important;
  }
  .hero-home-fv-renewal .hero-release-stage-v2,
  .hero-home-fv-renewal .hero-release-stage-image-v2 {
    min-height: 260px !important;
  }
}


/* =========================================================
   2026-06-23 差分修正v3：FVバナーを枠いっぱいに表示
   - バナー3枚はカード全面に表示
   - アイドル/ラジオはセンチメンタル銀座と同等比率の画像に差し替え
   - 注目の新譜は画像を縦に大きく表示
========================================================= */
.hero-home-fv-renewal.hero-home-v2 {
  background:
    radial-gradient(circle at 10% 6%, rgba(255,255,255,.98), transparent 23%),
    radial-gradient(circle at 88% 8%, rgba(255, 232, 184, .95), transparent 24%),
    radial-gradient(circle at 18% 78%, rgba(255, 204, 224, .48), transparent 25%),
    radial-gradient(circle at 52% 102%, rgba(255, 194, 214, .72), transparent 31%),
    linear-gradient(135deg, #fff7f2 0%, #ffdce7 45%, #f7d8cf 72%, #fff0c8 100%) !important;
}
.hero-fv-grid {
  gap: 18px !important;
  align-items: stretch !important;
}
.hero-fv-card {
  aspect-ratio: 1663 / 946 !important;
  min-height: 0 !important;
  height: auto !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 204, 220, .96) !important;
  background: #fffaf7 !important;
  box-shadow: 0 16px 36px rgba(214, 142, 139, .14) !important;
}
.hero-fv-card-image,
.hero-fv-audition,
.hero-fv-radio,
.hero-fv-sentimental {
  padding: 0 !important;
  display: block !important;
  align-items: unset !important;
  justify-content: unset !important;
  background: #fffaf7 !important;
}
.hero-fv-card-image > img,
.hero-fv-audition > img,
.hero-fv-radio > img,
.hero-fv-sentimental > img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.hero-fv-sentimental::after,
.hero-fv-sentimental-copy {
  display: none !important;
}
.hero-home-fv-renewal .hero-release-column-v2,
.hero-home-fv-renewal .hero-release-card,
.hero-home-fv-renewal .hero-release-panel-v2 {
  min-height: 0 !important;
}
.hero-home-fv-renewal .hero-release-panel-v2 {
  height: 100% !important;
  padding: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  background: linear-gradient(135deg, #fffefe 0%, #fff4f8 42%, #fff7ec 100%) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.76) !important;
}
.hero-home-fv-renewal .hero-release-panel-v2-head {
  flex: 0 0 auto !important;
  margin-bottom: 10px !important;
}
.hero-home-fv-renewal .hero-release-panel-v2 h2 {
  font-size: clamp(20px, 2.1vw, 27px) !important;
}
.hero-home-fv-renewal .hero-release-slider-v2 {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
.hero-home-fv-renewal .hero-release-stage-v2,
.hero-home-fv-renewal .hero-release-stage-image-v2 {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff6f2 58%, #fffaf0 100%) !important;
  border: 1px solid rgba(255, 220, 207, .92) !important;
  overflow: hidden !important;
}
.hero-home-fv-renewal .hero-release-slide-v2 {
  height: 100% !important;
  padding: 12px !important;
  gap: 8px !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
}
.hero-home-fv-renewal .hero-release-slide-thumb-v2,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(255, 226, 214, .85) !important;
}
.hero-home-fv-renewal .hero-release-slide-thumb-v2 img,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
}
.hero-home-fv-renewal .hero-release-slide-copy-v2,
.hero-home-fv-renewal .hero-release-slide-caption-v2 {
  min-height: 34px !important;
  padding: 0 2px !important;
}
.hero-home-fv-renewal .hero-release-dots-v2 {
  flex: 0 0 auto !important;
  margin-top: 8px !important;
}
.hero-home-fv-renewal .hero-release-arrow-v2 {
  top: 50% !important;
  background: rgba(255,255,255,.96) !important;
  color: #e15b93 !important;
  border: 1px solid rgba(255, 198, 216, .95) !important;
}
@media (max-width: 900px) {
  .hero-fv-card {
    aspect-ratio: 1663 / 946 !important;
  }
  .hero-fv-card-image > img,
  .hero-fv-audition > img,
  .hero-fv-radio > img,
  .hero-fv-sentimental > img {
    aspect-ratio: auto !important;
  }
}


/* =========================================================
   2026-06-23 統合修正 current-v20
   FV / NEWS / smile背景 / 人物写真表示 / 各バナー調整
========================================================= */

/* FV背景：ピンク×ピーチ×淡いゴールド */
.hero-home-fv-renewal.hero-home-v2 {
  background:
    radial-gradient(circle at 10% 7%, rgba(255, 255, 255, .96), transparent 23%),
    radial-gradient(circle at 88% 10%, rgba(255, 222, 167, .78), transparent 27%),
    radial-gradient(circle at 9% 78%, rgba(255, 139, 184, .54), transparent 31%),
    radial-gradient(circle at 58% 105%, rgba(255, 118, 170, .66), transparent 39%),
    radial-gradient(circle at 92% 88%, rgba(255, 229, 160, .42), transparent 29%),
    linear-gradient(135deg, #fff7fb 0%, #ffd3e6 40%, #ffb8d2 69%, #ffe6b8 100%) !important;
}

/* FV 2カラム構成 */
.hero-fv-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.hero-fv-left-column,
.hero-fv-right-column {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}
.hero-fv-left-column .hero-fv-card {
  flex: 1 1 0 !important;
  min-height: 300px !important;
}
.hero-fv-right-column .hero-release-column-v2 {
  flex: 1 1 auto !important;
  min-height: 0 !important;
}
.hero-fv-card {
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 204, 220, .96) !important;
  background: #fffaf7 !important;
  box-shadow: 0 16px 36px rgba(214, 142, 139, .14) !important;
}
.hero-fv-card-image,
.hero-fv-audition,
.hero-fv-sentimental {
  padding: 0 !important;
  display: block !important;
}
.hero-fv-card-image > img,
.hero-fv-audition > img,
.hero-fv-sentimental > img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 新譜特集：バイオレットブルー＋白文字 */
.hero-home-fv-renewal .hero-fv-release-card,
.hero-home-fv-renewal .hero-release-panel-v2 {
  background: linear-gradient(180deg, #6b67d8 0%, #4f61ca 48%, #4058be 100%) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
}
.hero-home-fv-renewal .hero-release-panel-v2 {
  height: 100% !important;
  padding: 15px 16px 11px !important;
  display: flex !important;
  flex-direction: column !important;
}
.hero-home-fv-renewal .hero-release-label-v2,
.hero-home-fv-renewal .hero-release-panel-v2 h2,
.hero-home-fv-renewal .hero-release-slide-copy-v2,
.hero-home-fv-renewal .hero-release-slide-caption-v2,
.hero-home-fv-renewal .hero-release-slide-copy-v2 strong,
.hero-home-fv-renewal .hero-release-slide-caption-v2 strong,
.hero-home-fv-renewal .hero-release-slide-copy-v2 em,
.hero-home-fv-renewal .hero-release-slide-copy-v2 time,
.hero-home-fv-renewal .hero-release-slide-caption-v2 em,
.hero-home-fv-renewal .hero-release-slide-caption-v2 time {
  color: #ffffff !important;
}
.hero-home-fv-renewal .hero-release-stage-v2,
.hero-home-fv-renewal .hero-release-stage-image-v2 {
  min-height: 305px !important;
  height: 305px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.05) 100%) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 22px !important;
}
.hero-home-fv-renewal .hero-release-slide-thumb-v2,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 {
  height: 198px !important;
  min-height: 198px !important;
  background: #ffffff !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}
.hero-home-fv-renewal .hero-release-slide-thumb-v2 img,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.hero-home-fv-renewal .hero-release-arrow-v2 {
  background: rgba(255,255,255,.96) !important;
  color: #5b5ed4 !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  box-shadow: none !important;
}
.hero-home-fv-renewal .hero-release-dot-v2 { background: rgba(255,255,255,.40) !important; }
.hero-home-fv-renewal .hero-release-dot-v2.is-active { background: #ffffff !important; }

/* ラジオバナー：端の文字が切れないよう全体表示 */
.hero-fv-right-column .hero-fv-radio,
.hero-fv-right-column .hero-fv-radio.hero-fv-card,
.hero-fv-right-column .hero-fv-radio.hero-fv-card-image {
  flex: 0 0 220px !important;
  min-height: 220px !important;
  height: 220px !important;
  padding: 6px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #f7f4ff 0%, #f2eeff 100%) !important;
  border: 1px solid rgba(184, 170, 255, 0.65) !important;
  border-radius: 22px !important;
}
.hero-fv-right-column .hero-fv-radio > img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
}

/* タレントスライダー色分け：写真は無加工 */
.hero-home-fv-renewal .hero-lineup-v2 {
  background:
    linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,245,248,.68)),
    linear-gradient(135deg, rgba(255,151,190,.16), rgba(255,222,155,.18)) !important;
  border: 1px solid rgba(255, 211, 225, .82) !important;
  box-shadow: 0 18px 42px rgba(214, 116, 144, .16) !important;
}
.hero-home-fv-renewal .hero-lineup-card-v2 img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background: #fff !important;
  border: 3px solid rgba(255,255,255,.96) !important;
}
.hero-home-fv-renewal .hero-lineup-card-v2.is-male {
  color: #fff !important;
  background: linear-gradient(135deg, #37b8f2 0%, #4c9fec 48%, #6d8fec 100%) !important;
}
.hero-home-fv-renewal .hero-lineup-card-v2.is-female {
  color: #fff !important;
  background: linear-gradient(135deg, #ff78b4 0%, #f05ca0 48%, #d95095 100%) !important;
}
.hero-home-fv-renewal .hero-lineup-card-v2.is-neutral {
  color: #fff !important;
  background: linear-gradient(135deg, #ffbd61 0%, #ff9f7a 48%, #f67aa5 100%) !important;
}
.hero-home-fv-renewal .hero-lineup-card-v2 strong {
  color: #fff !important;
  text-shadow: 0 2px 6px rgba(18,45,110,.36) !important;
  font-weight: 900 !important;
}

/* 最新ニュース横の緊急速報ボタン */
.news-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.news-title-row h2 { margin: 0 !important; }
.news-title-row .breaking-news-btn,
.breaking-news-btn {
  min-height: 42px !important;
  padding: 8px 20px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff2f8a 0%, #ff5fa8 48%, #ffcf4d 100%) !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

/* 人物写真の切れ防止 */
.hero-home-fv-renewal .hero-lineup-card-v2[href="lsm-suiren.html"] img,
.talent-page-lineup-section .hero-lineup-card-v2[href="lsm-suiren.html"] img,
#talent #talent-suiren > img,
#talent .talent-card#talent-suiren > img {
  object-fit: cover !important;
  object-position: center 12% !important;
}
body.second-page-clean .suiren-profile-page .talent-profile-hero .suiren-hero-photo.talent-profile-photo img,
body.second-page-clean .suiren-profile-page .talent-profile-hero .suiren-hero-photo img,
body.second-page-clean #profile-suiren .suiren-hero-photo img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center top !important;
  background: #f8f8f8 !important;
}
.hero-home-fv-renewal .hero-lineup-card-v2[href="lsm-yohjima-hiroto.html"] img,
.talent-page-lineup-section .hero-lineup-card-v2[href="lsm-yohjima-hiroto.html"] img,
#talent #talent-yohjima > img,
#talent .talent-card#talent-yohjima > img,
#talent #talent-yohjima-hiroto > img,
#talent .talent-card#talent-yohjima-hiroto > img {
  object-fit: cover !important;
  object-position: center 10% !important;
}
body.second-page-clean .yohjima-profile-page .yohjima-hero-photo img {
  object-fit: contain !important;
  object-position: center top !important;
  background: #f8f8f8 !important;
}
.hero-home-fv-renewal .hero-lineup-card-v2[href="lsm-paulsteward.html"] img,
.talent-page-lineup-section .hero-lineup-card-v2[href="lsm-paulsteward.html"] img,
#talent #talent-paulsteward > img,
#talent .talent-card#talent-paulsteward > img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #000 !important;
}
body.second-page-clean .paul-profile-page .paul-hero-photo img {
  object-fit: contain !important;
  object-position: center top !important;
}
.hero-home-fv-renewal .hero-lineup-card-v2[href="lsm-kenta-kodera.html"] img,
.talent-page-lineup-section .hero-lineup-card-v2[href="lsm-kenta-kodera.html"] img,
#talent #talent-kenta > img,
#talent .talent-card#talent-kenta > img,
#talent #talent-kenta-kodera > img,
#talent .talent-card#talent-kenta-kodera > img {
  object-fit: cover !important;
  object-position: center 18% !important;
}
body.second-page-clean #profile-kenta-kodera .talent-profile-photo img,
body.second-page-clean #profile-kenta-kodera .rili-hero-photo img {
  object-fit: contain !important;
  object-position: center top !important;
  background: #e7ffff !important;
}

/* lsm-smile.htmlとリンク先ページの背景をクリーム色に */
body.smile-cream-page,
body.second-page-clean.smile-page,
body.smile-page {
  background:
    radial-gradient(circle at 12% 8%, rgba(255,255,255,.92), transparent 26%),
    radial-gradient(circle at 88% 12%, rgba(255, 230, 170, .42), transparent 30%),
    linear-gradient(180deg, #fff9e8 0%, #fff3cf 100%) !important;
  color: #17306a !important;
}
body.smile-cream-page main,
body.smile-cream-page .section,
body.smile-cream-page .simple-subpage-section,
body.smile-cream-page .rili-simple-section,
body.smile-cream-page .shop-section,
body.smile-cream-page .product-section {
  background: transparent !important;
}
body.smile-cream-page .card,
body.smile-cream-page .simple-card,
body.smile-cream-page .rili-simple-card,
body.smile-cream-page .shop-card,
body.smile-cream-page .product-card,
body.smile-cream-page .shop-product-card,
body.smile-cream-page .smile-card,
body.smile-cream-page .smile-content-card {
  background-color: rgba(255, 255, 255, 0.88) !important;
  border-color: rgba(241, 201, 128, 0.42) !important;
}
body.smile-cream-page h1,
body.smile-cream-page h2,
body.smile-cream-page h3,
body.smile-cream-page h4 {
  color: #113779 !important;
}
body.smile-cream-page p,
body.smile-cream-page li,
body.smile-cream-page dd,
body.smile-cream-page dt {
  color: #273f6f !important;
}

@media (max-width: 900px) {
  .hero-fv-grid { grid-template-columns: 1fr !important; }
  .hero-fv-left-column,
  .hero-fv-right-column { gap: 14px !important; }
  .hero-fv-right-column .hero-fv-radio,
  .hero-fv-right-column .hero-fv-radio.hero-fv-card,
  .hero-fv-right-column .hero-fv-radio.hero-fv-card-image {
    flex: none !important;
    min-height: 168px !important;
    height: 168px !important;
  }
  .hero-home-fv-renewal .hero-release-stage-v2,
  .hero-home-fv-renewal .hero-release-stage-image-v2 {
    min-height: 280px !important;
    height: 280px !important;
  }
  .hero-home-fv-renewal .hero-release-slide-thumb-v2,
  .hero-home-fv-renewal .hero-release-slide-main-image-v2 {
    height: 174px !important;
    min-height: 174px !important;
  }
}


/* =========================================================
   2026-06-23 注目の新譜 特集 外枠整理 v21
   センチメンタル銀座などのスライド外側の白枠をなくす
========================================================= */
.hero-home-fv-renewal .hero-release-stage-v2,
.hero-home-fv-renewal .hero-release-stage-image-v2 {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.hero-home-fv-renewal .hero-release-slide-v2 {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.hero-home-fv-renewal .hero-release-slide-thumb-v2,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}


/* =========================================================
   2026-06-23 TOPページ NEWS背景 白化 v22
   index.html のクリーム背景混入を避け、NEWS周辺は白で統一
========================================================= */
.news-clean-section {
  background: #ffffff !important;
}


/* =========================================================
   2026-06-23 smile系ページ限定 クリーム背景 v23
   TOPや通常タレントページには適用せず、lsm-smile.htmlと関連ページだけに限定
========================================================= */
body:not(.smile-cream-page) {
  background: #ffffff !important;
}

body.smile-cream-page {
  background:
    radial-gradient(circle at 12% 8%, rgba(255,255,255,.92), transparent 26%),
    radial-gradient(circle at 88% 12%, rgba(255, 230, 170, .42), transparent 30%),
    linear-gradient(180deg, #fff9e8 0%, #fff3cf 100%) !important;
  color: #17306a !important;
}

body.smile-cream-page main,
body.smile-cream-page .section,
body.smile-cream-page .simple-subpage-section,
body.smile-cream-page .rili-simple-section,
body.smile-cream-page .shop-section,
body.smile-cream-page .product-section {
  background: transparent !important;
}

body.smile-cream-page .card,
body.smile-cream-page .simple-card,
body.smile-cream-page .rili-simple-card,
body.smile-cream-page .shop-card,
body.smile-cream-page .product-card,
body.smile-cream-page .shop-product-card,
body.smile-cream-page .smile-card,
body.smile-cream-page .smile-content-card {
  background-color: rgba(255, 255, 255, 0.88) !important;
  border-color: rgba(241, 201, 128, 0.42) !important;
}

body.smile-cream-page h1,
body.smile-cream-page h2,
body.smile-cream-page h3,
body.smile-cream-page h4 {
  color: #113779 !important;
}

body.smile-cream-page p,
body.smile-cream-page li,
body.smile-cream-page dd,
body.smile-cream-page dt {
  color: #273f6f !important;
}

/* TOPページのNEWS周辺は白 */
.news-clean-section {
  background: #ffffff !important;
}


/* =========================================================
   2026-06-23 前橋ジュニアオーケストラ 10周年記念コンサート v24
========================================================= */
.hero-home-fv-renewal .hero-release-slide-main-image-event-v2 {
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(241,245,255,0.98)) !important;
  padding: 10px !important;
}
.hero-release-event-card-v2 {
  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  height: 100% !important;
}
.hero-release-event-poster-v2 {
  background: #fff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(86, 104, 198, 0.18) !important;
}
.hero-home-fv-renewal .hero-release-event-poster-v2 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
}
.hero-release-event-copy-v2 {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.hero-home-fv-renewal .hero-release-event-copy-v2 strong {
  display: block !important;
  color: #203890 !important;
  font-size: 25px !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
}
.hero-home-fv-renewal .hero-release-event-copy-v2 em {
  color: #4c5b95 !important;
  font-style: normal !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
.hero-release-event-tag-v2 {
  display: inline-flex !important;
  align-self: flex-start !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #43c9c0 0%, #58abc9 100%) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}
.maebashi-event-hero {
  background: linear-gradient(180deg, #f7fbff 0%, #fdf7ff 100%) !important;
}
.maebashi-event-grid {
  align-items: start !important;
}
.maebashi-event-image img {
  width: 100% !important;
  max-width: 560px !important;
  height: auto !important;
  display: block !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 42px rgba(37,70,132,.12) !important;
}
.event-feature-card-v2 {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) !important;
  gap: 22px !important;
  padding: 24px !important;
  border-radius: 28px !important;
  background: #fff !important;
  border: 1px solid rgba(184, 201, 238, .9) !important;
}
.event-feature-card-v2-image img {
  width: 100% !important;
  border-radius: 18px !important;
  display: block !important;
}
@media (max-width: 900px) {
  .hero-release-event-card-v2 {
    grid-template-columns: 84px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .hero-home-fv-renewal .hero-release-event-copy-v2 strong {
    font-size: 18px !important;
  }
  .hero-home-fv-renewal .hero-release-event-copy-v2 em {
    font-size: 11px !important;
  }
  .event-feature-card-v2 {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   2026-06-23 タレントスライダー なじむ色・男女色分け v25
   背景はFVになじむ明るいブルーラベンダー。
   女性カードはピンク、男性カードはスカイブルー。
   写真は無加工。
========================================================= */
.hero-home-fv-renewal .hero-lineup-v2 {
  background:
    radial-gradient(circle at 12% 12%, rgba(255,255,255,.52), transparent 24%),
    radial-gradient(circle at 88% 18%, rgba(255,210,235,.28), transparent 30%),
    linear-gradient(135deg, #69c3f2 0%, #86a8f4 50%, #b399f1 100%) !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  box-shadow: 0 16px 34px rgba(151, 108, 184, .16) !important;
}

/* 共通：写真は元画像のまま。カードだけ色を変える */
.hero-home-fv-renewal .hero-lineup-card-v2,
.talent-page-lineup-section .hero-lineup-card-v2 {
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.68) !important;
  box-shadow: none !important;
}

.hero-home-fv-renewal .hero-lineup-card-v2 img,
.talent-page-lineup-section .hero-lineup-card-v2 img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background: #ffffff !important;
  border: 3px solid rgba(255,255,255,.96) !important;
  box-shadow: none !important;
}

/* 男性：明るく清潔なスカイブルー。白文字が読める濃さ */
.hero-home-fv-renewal .hero-lineup-card-v2.is-male,
.talent-page-lineup-section .hero-lineup-card-v2.is-male {
  background: linear-gradient(180deg, #53c4f3 0%, #439eea 58%, #5d8be6 100%) !important;
}

/* 女性：華やかだけど濃すぎないピンク。白文字が読める濃さ */
.hero-home-fv-renewal .hero-lineup-card-v2.is-female,
.talent-page-lineup-section .hero-lineup-card-v2.is-female {
  background: linear-gradient(180deg, #ff8fbe 0%, #f064a8 58%, #dd559a 100%) !important;
}

/* Amour.など性別分類しにくいもの：FVになじむ中間色 */
.hero-home-fv-renewal .hero-lineup-card-v2.is-neutral,
.talent-page-lineup-section .hero-lineup-card-v2.is-neutral {
  background: linear-gradient(180deg, #b6a3f2 0%, #9c8df0 56%, #8a7ce3 100%) !important;
}

.hero-home-fv-renewal .hero-lineup-card-v2 strong,
.talent-page-lineup-section .hero-lineup-card-v2 strong {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(28, 50, 120, .32) !important;
  font-weight: 900 !important;
}


/* =========================================================
   2026-06-23 タレントスライダー 色分け強調 v27
   変化が分かりにくかったため、カード色をはっきり上書き
========================================================= */

/* スライダー全体はFV背景になじむ、淡いブルーラベンダー */
.hero-home-fv-renewal .hero-lineup-v2 {
  background:
    radial-gradient(circle at 14% 15%, rgba(255,255,255,.65), transparent 25%),
    radial-gradient(circle at 84% 18%, rgba(255,219,238,.34), transparent 30%),
    linear-gradient(135deg, #86cef4 0%, #93b3f3 52%, #c5a6ee 100%) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 14px 32px rgba(167, 104, 155, .12) !important;
}

/* 全カード共通：既存の is-pickup 紫を無効化 */
.hero-home-fv-renewal .hero-lineup-v2 a.hero-lineup-card-v2,
.hero-home-fv-renewal .hero-lineup-v2 a.hero-lineup-card-v2.is-pickup,
.talent-page-lineup-section a.hero-lineup-card-v2,
.talent-page-lineup-section a.hero-lineup-card-v2.is-pickup {
  color: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 1px solid rgba(255,255,255,.72) !important;
}

/* 女性寄り：ピンク */
.hero-home-fv-renewal .hero-lineup-v2 a.hero-lineup-card-v2.is-female,
.hero-home-fv-renewal .hero-lineup-v2 a.hero-lineup-card-v2.is-female.is-pickup,
.talent-page-lineup-section a.hero-lineup-card-v2.is-female,
.talent-page-lineup-section a.hero-lineup-card-v2.is-female.is-pickup {
  background: linear-gradient(180deg, #ff94c2 0%, #f363aa 56%, #db4f95 100%) !important;
}

/* 男性：スカイブルー */
.hero-home-fv-renewal .hero-lineup-v2 a.hero-lineup-card-v2.is-male,
.hero-home-fv-renewal .hero-lineup-v2 a.hero-lineup-card-v2.is-male.is-pickup,
.talent-page-lineup-section a.hero-lineup-card-v2.is-male,
.talent-page-lineup-section a.hero-lineup-card-v2.is-male.is-pickup {
  background: linear-gradient(180deg, #63cdf6 0%, #3faeea 56%, #4d8fe6 100%) !important;
}

/* Amour.：中間色 */
.hero-home-fv-renewal .hero-lineup-v2 a.hero-lineup-card-v2.is-neutral,
.hero-home-fv-renewal .hero-lineup-v2 a.hero-lineup-card-v2.is-neutral.is-pickup,
.talent-page-lineup-section a.hero-lineup-card-v2.is-neutral,
.talent-page-lineup-section a.hero-lineup-card-v2.is-neutral.is-pickup {
  background: linear-gradient(180deg, #bea9f5 0%, #a08df0 56%, #8c78e2 100%) !important;
}

/* 写真はそのまま。色はカード背景だけ */
.hero-home-fv-renewal .hero-lineup-v2 a.hero-lineup-card-v2 img,
.talent-page-lineup-section a.hero-lineup-card-v2 img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background: #ffffff !important;
  border: 3px solid rgba(255,255,255,.98) !important;
  box-shadow: none !important;
}

.hero-home-fv-renewal .hero-lineup-v2 a.hero-lineup-card-v2 strong,
.talent-page-lineup-section a.hero-lineup-card-v2 strong {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(19, 47, 110, .34) !important;
}


/* =========================================================
   2026-06-23 タレント一覧 プロフィールボタン男女色分け v28
   女性はピンク、男性はブルー、Amour.はラベンダー
========================================================= */

/* 女性寄り：プロフィールボタンをピンク */
#talent .talent-card:has(a[href="lsm-rili.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-eneku.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-luca-cross.html"]) .text-link,
.talent-card:has(a[href="lsm-rili.html"]) .button,
.talent-card:has(a[href="lsm-eneku.html"]) .button,
.talent-card:has(a[href="lsm-luca-cross.html"]) .button {
  background: linear-gradient(135deg, #ff73b6 0%, #ec4f9c 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* 男性：プロフィールボタンをブルー */
#talent .talent-card:has(a[href="lsm-najib-chari.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-hajime-waki.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-nanda-kenji.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-artist-yamaguchi.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-kenta-kodera.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-sakai-hiroki.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-suiren.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-nakamura-taiga.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-paulsteward.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-akama-shota.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-yohjima-hiroto.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-jouu-shouu.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-flatman.html"]) .text-link,
#talent .talent-card:has(a[href="lsm-yoshida-masahiro.html"]) .text-link,
.talent-card:has(a[href="lsm-najib-chari.html"]) .button,
.talent-card:has(a[href="lsm-hajime-waki.html"]) .button,
.talent-card:has(a[href="lsm-nanda-kenji.html"]) .button,
.talent-card:has(a[href="lsm-artist-yamaguchi.html"]) .button,
.talent-card:has(a[href="lsm-kenta-kodera.html"]) .button,
.talent-card:has(a[href="lsm-sakai-hiroki.html"]) .button,
.talent-card:has(a[href="lsm-suiren.html"]) .button,
.talent-card:has(a[href="lsm-nakamura-taiga.html"]) .button,
.talent-card:has(a[href="lsm-paulsteward.html"]) .button,
.talent-card:has(a[href="lsm-akama-shota.html"]) .button,
.talent-card:has(a[href="lsm-yohjima-hiroto.html"]) .button,
.talent-card:has(a[href="lsm-jouu-shouu.html"]) .button,
.talent-card:has(a[href="lsm-flatman.html"]) .button,
.talent-card:has(a[href="lsm-yoshida-masahiro.html"]) .button {
  background: linear-gradient(135deg, #44bdf0 0%, #2473ce 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Amour.：中間のラベンダー */
#talent .talent-card:has(a[href="lsm-amour.html"]) .text-link,
.talent-card:has(a[href="lsm-amour.html"]) .button {
  background: linear-gradient(135deg, #a998f0 0%, #7c6bd8 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* ホバー時も汚い影を出さない */
#talent .talent-card .text-link:hover,
#talent .talent-card .text-link:focus-visible,
.talent-card .button:hover,
.talent-card .button:focus-visible {
  box-shadow: none !important;
  filter: brightness(1.04) !important;
}


/* =========================================================
   2026-06-23 lsm-talent.html 男女別カラー調整 v29
   lsm-talent.html のスライダーとプロフィールボタンにも確実に反映
========================================================= */

/* lsm-talent.html スライダー全体 */
body:has(.talent-page-lineup-section) .hero-lineup-v2,
.talent-page-lineup-section .hero-lineup-v2,
body.second-page-clean .hero-lineup-v2 {
  background:
    radial-gradient(circle at 14% 15%, rgba(255,255,255,.65), transparent 25%),
    radial-gradient(circle at 84% 18%, rgba(255,219,238,.34), transparent 30%),
    linear-gradient(135deg, #86cef4 0%, #93b3f3 52%, #c5a6ee 100%) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 14px 32px rgba(167, 104, 155, .12) !important;
}

/* lsm-talent.html スライダー：既存の紫背景をリセット */
body.second-page-clean a.hero-lineup-card-v2,
body.second-page-clean a.hero-lineup-card-v2.is-pickup,
.talent-page-lineup-section a.hero-lineup-card-v2,
.talent-page-lineup-section a.hero-lineup-card-v2.is-pickup {
  color: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 1px solid rgba(255,255,255,.72) !important;
}

/* 女性寄り：Rili. / 絵音徠 ENEKU / Luca Cross */
body.second-page-clean a.hero-lineup-card-v2.is-female,
body.second-page-clean a.hero-lineup-card-v2.is-female.is-pickup,
.talent-page-lineup-section a.hero-lineup-card-v2.is-female,
.talent-page-lineup-section a.hero-lineup-card-v2.is-female.is-pickup {
  background: linear-gradient(180deg, #ff94c2 0%, #f363aa 56%, #db4f95 100%) !important;
}

/* 男性：スカイブルー */
body.second-page-clean a.hero-lineup-card-v2.is-male,
body.second-page-clean a.hero-lineup-card-v2.is-male.is-pickup,
.talent-page-lineup-section a.hero-lineup-card-v2.is-male,
.talent-page-lineup-section a.hero-lineup-card-v2.is-male.is-pickup {
  background: linear-gradient(180deg, #63cdf6 0%, #3faeea 56%, #4d8fe6 100%) !important;
}

/* Amour.：中間色 */
body.second-page-clean a.hero-lineup-card-v2.is-neutral,
body.second-page-clean a.hero-lineup-card-v2.is-neutral.is-pickup,
.talent-page-lineup-section a.hero-lineup-card-v2.is-neutral,
.talent-page-lineup-section a.hero-lineup-card-v2.is-neutral.is-pickup {
  background: linear-gradient(180deg, #bea9f5 0%, #a08df0 56%, #8c78e2 100%) !important;
}

/* lsm-talent.html プロフィールボタン：女性ピンク */
#talent .talent-card.is-female .text-link,
#talent .talent-card.is-female .button,
.talent-card.is-female .text-link,
.talent-card.is-female .button {
  background: linear-gradient(135deg, #ff73b6 0%, #ec4f9c 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* lsm-talent.html プロフィールボタン：男性ブルー */
#talent .talent-card.is-male .text-link,
#talent .talent-card.is-male .button,
.talent-card.is-male .text-link,
.talent-card.is-male .button {
  background: linear-gradient(135deg, #44bdf0 0%, #2473ce 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* lsm-talent.html プロフィールボタン：Amour.中間色 */
#talent .talent-card.is-neutral .text-link,
#talent .talent-card.is-neutral .button,
.talent-card.is-neutral .text-link,
.talent-card.is-neutral .button {
  background: linear-gradient(135deg, #a998f0 0%, #7c6bd8 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* 文字と写真 */
body.second-page-clean a.hero-lineup-card-v2 strong,
.talent-page-lineup-section a.hero-lineup-card-v2 strong {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(19, 47, 110, .34) !important;
}

body.second-page-clean a.hero-lineup-card-v2 img,
.talent-page-lineup-section a.hero-lineup-card-v2 img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  background: #ffffff !important;
  border: 3px solid rgba(255,255,255,.98) !important;
  box-shadow: none !important;
}

/* ボタンホバー時も影なし */
#talent .talent-card .text-link:hover,
#talent .talent-card .text-link:focus-visible,
.talent-card .button:hover,
.talent-card .button:focus-visible {
  box-shadow: none !important;
  filter: brightness(1.04) !important;
}

/* =========================================================
   2026-06-23 lsm-smile.html ページ中身背景 クリーム化 v25
   白く見えていた本文エリア（内側パネル）をクリーム色に変更
========================================================= */
body.second-page-clean.smile-cream-page #smile > .simple-inner-wrap,
body.smile-cream-page .smile-simple-page > .simple-inner-wrap {
  background: linear-gradient(180deg, rgba(255, 249, 232, .98) 0%, rgba(255, 243, 207, .96) 100%) !important;
  border-color: rgba(241, 201, 128, .58) !important;
  box-shadow: 0 24px 62px rgba(170, 124, 40, .12) !important;
}

body.second-page-clean.smile-cream-page #smile .simple-info-card,
body.smile-cream-page .smile-simple-page .simple-info-card {
  background: rgba(255, 253, 244, .92) !important;
  border-color: rgba(241, 201, 128, .50) !important;
}



/* =========================================================
   2026-06-23 TOP 注目の新譜・特集 タイトル中央揃え v30
   - スライド下部のタイトルを中央配置にして読みやすく調整
   - 長いタイトルも2行で収まりやすいよう余白を確保
========================================================= */
.hero-home-fv-renewal .hero-release-slide-v2 {
  grid-template-rows: minmax(0, 1fr) 68px !important;
  gap: 7px !important;
}

.hero-home-fv-renewal .hero-release-slide-copy-v2,
.hero-home-fv-renewal .hero-release-slide-caption-v2 {
  min-height: 68px !important;
  height: 68px !important;
  padding: 7px 12px 5px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  text-align: center !important;
  overflow: visible !important;
}

.hero-home-fv-renewal .hero-release-slide-copy-v2 strong,
.hero-home-fv-renewal .hero-release-slide-caption-v2 strong {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(17px, 1.65vw, 23px) !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-shadow: 0 2px 7px rgba(17, 36, 106, .34) !important;
  letter-spacing: .01em !important;
}

.hero-home-fv-renewal .hero-release-slide-copy-v2 em,
.hero-home-fv-renewal .hero-release-slide-copy-v2 time,
.hero-home-fv-renewal .hero-release-slide-caption-v2 em,
.hero-home-fv-renewal .hero-release-slide-caption-v2 time {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

.hero-home-fv-renewal .hero-release-event-copy-v2 {
  align-items: center !important;
  text-align: center !important;
}

.hero-home-fv-renewal .hero-release-event-tag-v2 {
  align-self: center !important;
}

.hero-home-fv-renewal .hero-release-event-copy-v2 strong,
.hero-home-fv-renewal .hero-release-event-copy-v2 em {
  text-align: center !important;
}

@media (max-width: 900px) {
  .hero-home-fv-renewal .hero-release-slide-v2 {
    grid-template-rows: minmax(0, 1fr) 72px !important;
  }
  .hero-home-fv-renewal .hero-release-slide-copy-v2,
  .hero-home-fv-renewal .hero-release-slide-caption-v2 {
    min-height: 72px !important;
    height: 72px !important;
    padding: 8px 10px 6px !important;
  }
  .hero-home-fv-renewal .hero-release-slide-copy-v2 strong,
  .hero-home-fv-renewal .hero-release-slide-caption-v2 strong {
    font-size: 18px !important;
  }
}

/* =========================================================
   2026-06-24 TOP 注目の新譜・特集 外枠除去＆タイトル位置微調整 v31
   - 紫カードの白い外枠を削除
   - スライド下タイトルを少し上に移動して線かぶりを防止
========================================================= */
.hero-home-fv-renewal .hero-fv-release-card,
.hero-home-fv-renewal .hero-release-panel-v2 {
  border: none !important;
  box-shadow: none !important;
}

.hero-home-fv-renewal .hero-release-slide-v2 {
  grid-template-rows: minmax(0, 1fr) 64px !important;
}

.hero-home-fv-renewal .hero-release-slide-copy-v2,
.hero-home-fv-renewal .hero-release-slide-caption-v2 {
  min-height: 64px !important;
  height: 64px !important;
  padding: 5px 12px 3px !important;
  transform: translateY(-4px) !important;
}

@media (max-width: 900px) {
  .hero-home-fv-renewal .hero-release-slide-v2 {
    grid-template-rows: minmax(0, 1fr) 68px !important;
  }
  .hero-home-fv-renewal .hero-release-slide-copy-v2,
  .hero-home-fv-renewal .hero-release-slide-caption-v2 {
    min-height: 68px !important;
    height: 68px !important;
    padding: 6px 10px 4px !important;
    transform: translateY(-3px) !important;
  }
}

/* =========================================================
   2026-06-24 前橋ジュニアオーケストラ 見出しバランス調整 v34
   - タイトルを中央寄せに調整
   - スマホで細かく折り返されないよう文字サイズと幅を最適化
========================================================= */
.maebashi-event-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.maebashi-event-copy h1,
.maebashi-event-copy h2,
.maebashi-event-copy .section-lead {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.maebashi-event-copy h1 {
  max-width: 11.5em !important;
  font-size: clamp(38px, 4.6vw, 64px) !important;
  line-height: 1.22 !important;
  letter-spacing: .015em !important;
  text-wrap: balance !important;
}

.maebashi-event-copy h2 {
  max-width: 18em !important;
  font-size: clamp(22px, 2.8vw, 40px) !important;
  line-height: 1.28 !important;
  letter-spacing: .01em !important;
  text-wrap: balance !important;
}

@media (max-width: 900px) {
  .maebashi-event-copy h1 {
    max-width: 10.8em !important;
    font-size: clamp(30px, 8vw, 48px) !important;
    line-height: 1.24 !important;
  }

  .maebashi-event-copy h2 {
    max-width: 15em !important;
    font-size: clamp(18px, 5.2vw, 30px) !important;
    line-height: 1.3 !important;
  }
}

/* =========================================================
   2026-06-24 TOP 注目の新譜・特集 タイトル下余白調整 v35
   - 前橋ジュニアオーケストラのタイトルが下線にかぶらないよう
     下側に余白を追加して、全体を少し上寄せに調整
========================================================= */
.hero-home-fv-renewal .hero-release-slide-v2 {
  grid-template-rows: minmax(0, 1fr) 70px !important;
}

.hero-home-fv-renewal .hero-release-slide-copy-v2,
.hero-home-fv-renewal .hero-release-slide-caption-v2 {
  min-height: 70px !important;
  height: 70px !important;
  padding: 4px 12px 10px !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 900px) {
  .hero-home-fv-renewal .hero-release-slide-v2 {
    grid-template-rows: minmax(0, 1fr) 74px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-copy-v2,
  .hero-home-fv-renewal .hero-release-slide-caption-v2 {
    min-height: 74px !important;
    height: 74px !important;
    padding: 5px 10px 11px !important;
    transform: translateY(-1px) !important;
  }
}


/* =========================================================
   2026-06-24 TOP 注目の新譜・特集 イベント詳細表示復旧 v36
   - 前橋ジュニアオーケストラの「イベント詳細はこちら」が
     消えないよう、イベントスライドだけキャプション高さを確保
========================================================= */
.hero-home-fv-renewal .hero-release-slide-v2-event {
  grid-template-rows: minmax(0, 1fr) 90px !important;
}

.hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-copy-v2,
.hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 {
  min-height: 90px !important;
  height: 90px !important;
  padding: 6px 12px 14px !important;
  transform: translateY(-2px) !important;
  justify-content: center !important;
  overflow: visible !important;
}

.hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 strong {
  font-size: clamp(16px, 1.45vw, 21px) !important;
  line-height: 1.18 !important;
}

.hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 em {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  margin-top: 3px !important;
  opacity: .94 !important;
}

@media (max-width: 900px) {
  .hero-home-fv-renewal .hero-release-slide-v2-event {
    grid-template-rows: minmax(0, 1fr) 96px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-copy-v2,
  .hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 {
    min-height: 96px !important;
    height: 96px !important;
    padding: 6px 10px 15px !important;
    transform: translateY(-1px) !important;
  }

  .hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 strong {
    font-size: 17px !important;
    line-height: 1.18 !important;
  }

  .hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 em {
    font-size: 11px !important;
  }
}


/* =========================================================
   2026-06-24 TOP 注目の新譜・特集 スライド画像の縦幅調整 v37
   - スライド画像を少し縦長にして、横長すぎる見え方を軽減
   - 下部タイトル・「イベント詳細はこちら」が消えないよう表示領域も拡張
========================================================= */
.hero-home-fv-renewal .hero-release-stage-v2,
.hero-home-fv-renewal .hero-release-stage-image-v2 {
  min-height: 360px !important;
  height: 360px !important;
}

.hero-home-fv-renewal .hero-release-slide-thumb-v2,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 {
  height: 230px !important;
  min-height: 230px !important;
}

.hero-home-fv-renewal .hero-release-slide-thumb-v2 img,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 img {
  height: 100% !important;
  min-height: 230px !important;
  object-fit: cover !important;
}

@media (max-width: 900px) {
  .hero-home-fv-renewal .hero-release-stage-v2,
  .hero-home-fv-renewal .hero-release-stage-image-v2 {
    min-height: 340px !important;
    height: 340px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-thumb-v2,
  .hero-home-fv-renewal .hero-release-slide-main-image-v2 {
    height: 210px !important;
    min-height: 210px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-thumb-v2 img,
  .hero-home-fv-renewal .hero-release-slide-main-image-v2 img {
    min-height: 210px !important;
  }
}

/* =========================================================
   2026-06-24 TOP 注目の新譜・特集 画像と下部文字の再バランス v38
   - 画像を無理に大きくしすぎず、下部タイトル・説明文の表示領域を確保
   - 余白を整理して、画像と文字がカード内に収まるよう調整
========================================================= */
.hero-home-fv-renewal .hero-release-stage-v2,
.hero-home-fv-renewal .hero-release-stage-image-v2 {
  min-height: 370px !important;
  height: 370px !important;
  overflow: hidden !important;
}

.hero-home-fv-renewal .hero-release-slide-v2 {
  padding: 10px 12px 14px !important;
  gap: 8px !important;
  grid-template-rows: minmax(0, 220px) 82px !important;
}

.hero-home-fv-renewal .hero-release-slide-thumb-v2,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 {
  height: 220px !important;
  min-height: 220px !important;
}

.hero-home-fv-renewal .hero-release-slide-thumb-v2 img,
.hero-home-fv-renewal .hero-release-slide-main-image-v2 img {
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.hero-home-fv-renewal .hero-release-slide-copy-v2,
.hero-home-fv-renewal .hero-release-slide-caption-v2 {
  min-height: 82px !important;
  height: 82px !important;
  padding: 4px 12px 12px !important;
  transform: none !important;
  justify-content: center !important;
  overflow: visible !important;
}

.hero-home-fv-renewal .hero-release-slide-caption-v2 strong,
.hero-home-fv-renewal .hero-release-slide-copy-v2 strong {
  font-size: clamp(16px, 1.45vw, 21px) !important;
  line-height: 1.18 !important;
}

.hero-home-fv-renewal .hero-release-slide-caption-v2 em,
.hero-home-fv-renewal .hero-release-slide-copy-v2 em,
.hero-home-fv-renewal .hero-release-slide-caption-v2 time,
.hero-home-fv-renewal .hero-release-slide-copy-v2 time {
  font-size: 11px !important;
  line-height: 1.35 !important;
  margin-top: 3px !important;
}

/* 前橋ジュニアオーケストラはタイトルが長いため、文字領域をさらに確保 */
.hero-home-fv-renewal .hero-release-slide-v2-event {
  grid-template-rows: minmax(0, 208px) 108px !important;
}

.hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-thumb-v2,
.hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-main-image-v2 {
  height: 208px !important;
  min-height: 208px !important;
}

.hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-copy-v2,
.hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 {
  min-height: 108px !important;
  height: 108px !important;
  padding: 4px 12px 16px !important;
}

.hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 strong {
  font-size: clamp(15px, 1.35vw, 19px) !important;
  line-height: 1.16 !important;
}

.hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 em {
  display: block !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  margin-top: 4px !important;
}

@media (max-width: 900px) {
  .hero-home-fv-renewal .hero-release-stage-v2,
  .hero-home-fv-renewal .hero-release-stage-image-v2 {
    min-height: 350px !important;
    height: 350px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-v2 {
    padding: 9px 10px 13px !important;
    grid-template-rows: minmax(0, 205px) 86px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-thumb-v2,
  .hero-home-fv-renewal .hero-release-slide-main-image-v2 {
    height: 205px !important;
    min-height: 205px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-copy-v2,
  .hero-home-fv-renewal .hero-release-slide-caption-v2 {
    min-height: 86px !important;
    height: 86px !important;
    padding: 4px 10px 13px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-caption-v2 strong,
  .hero-home-fv-renewal .hero-release-slide-copy-v2 strong {
    font-size: 16px !important;
    line-height: 1.18 !important;
  }

  .hero-home-fv-renewal .hero-release-slide-v2-event {
    grid-template-rows: minmax(0, 194px) 112px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-thumb-v2,
  .hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-main-image-v2 {
    height: 194px !important;
    min-height: 194px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-copy-v2,
  .hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 {
    min-height: 112px !important;
    height: 112px !important;
    padding: 4px 10px 16px !important;
  }

  .hero-home-fv-renewal .hero-release-slide-v2-event .hero-release-slide-caption-v2 strong {
    font-size: 15px !important;
    line-height: 1.16 !important;
  }
}

/* =========================================================
   2026-06-24 lsm-rili-s.html 背景クリーム化 v43
   - SMILE Shopページの白い本文エリアもクリーム色に変更
========================================================= */
body.second-page-clean.smile-cream-page {
  background:
    radial-gradient(circle at 12% 8%, rgba(255,255,255,.92), transparent 26%),
    radial-gradient(circle at 88% 12%, rgba(255, 230, 170, .42), transparent 30%),
    linear-gradient(180deg, #fff9e8 0%, #fff3cf 100%) !important;
}

body.second-page-clean.smile-cream-page .smile-shop-simple-page,
body.second-page-clean.smile-cream-page #smile-shop {
  background: transparent !important;
  background-image: none !important;
}

body.second-page-clean.smile-cream-page .smile-shop-simple-page > .simple-subpage-wrap,
body.second-page-clean.smile-cream-page #smile-shop > .simple-subpage-wrap {
  background: linear-gradient(180deg, rgba(255, 249, 232, .98) 0%, rgba(255, 243, 207, .96) 100%) !important;
  border: 1px solid rgba(241, 201, 128, .58) !important;
  border-radius: clamp(24px, 3.6vw, 42px) !important;
  box-shadow: 0 24px 62px rgba(170, 124, 40, .12) !important;
}

body.second-page-clean.smile-cream-page .smile-shop-simple-page .shop-title-row {
  border-color: rgba(204, 153, 62, .26) !important;
}

body.second-page-clean.smile-cream-page .smile-shop-simple-page .shop-title-row img {
  background: rgba(255, 255, 255, .82) !important;
}

/* =========================================================
   2026-06-24 陽嶋大翔プロフィール写真 全体表示調整 v50
   - 顔上部が切れないよう、正方形トリミングを解除
   - 頭のてっぺんまで見えるよう全体表示に調整
========================================================= */
body.second-page-clean .yohjima-profile-page .yohjima-hero-photo img {
  aspect-ratio: auto !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center top !important;
  background: #f8f8f8 !important;
}


/* =========================================================
   2026-06-24 陽嶋大翔プロフィール写真 再調整 v51
   - 元画像自体を4:5に整え、頭のてっぺんが切れない表示に固定
   - 以前の正方形・中央トリミング指定より後ろで上書き
========================================================= */
body.second-page-clean .yohjima-profile-page .yohjima-hero-photo {
  width: min(100%, 360px) !important;
  max-width: 360px !important;
  overflow: visible !important;
}

body.second-page-clean .yohjima-profile-page .yohjima-hero-photo img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 24px !important;
}


/* =========================================================
   2026-06-24 TOP タレント導線ボタン 白ベース復旧 v52
   - 最新差分適用後に戻ったボタンを、白ベース＋色文字へ再固定
   - 以後の上書きに負けにくいよう最後尾で再指定
========================================================= */
.hero-home-fv-renewal .hero-lineup-actions-v2 {
  gap: 20px !important;
  margin-top: 18px !important;
}

.hero-home-fv-renewal .hero-lineup-actions-v2 .button {
  position: relative !important;
  min-width: 300px !important;
  min-height: 56px !important;
  padding: 14px 30px !important;
  border-radius: 999px !important;
  border: 2px solid rgba(255,255,255,.95) !important;
  background: rgba(255,255,255,.94) !important;
  background-image: none !important;
  box-shadow: 0 16px 34px rgba(42, 70, 168, .18) !important;
  letter-spacing: .055em !important;
  text-shadow: none !important;
}

.hero-home-fv-renewal .hero-lineup-actions-v2 .button.primary {
  color: #174aaf !important;
}

.hero-home-fv-renewal .hero-lineup-actions-v2 .button.secondary {
  color: #8a69df !important;
}

.hero-home-fv-renewal .hero-lineup-actions-v2 .button::after {
  content: "→" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  margin-left: 12px !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

.hero-home-fv-renewal .hero-lineup-actions-v2 .button.primary::after {
  background: linear-gradient(135deg, #174aaf, #48a7e8) !important;
}

.hero-home-fv-renewal .hero-lineup-actions-v2 .button.secondary::after {
  background: linear-gradient(135deg, #8a69df, #ff72b6) !important;
}

.hero-home-fv-renewal .hero-lineup-actions-v2 .button:hover,
.hero-home-fv-renewal .hero-lineup-actions-v2 .button:focus-visible {
  transform: translateY(-3px) !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 20px 42px rgba(42, 70, 168, .26) !important;
}

@media (max-width: 900px) {
  .hero-home-fv-renewal .hero-lineup-actions-v2 {
    gap: 12px !important;
  }

  .hero-home-fv-renewal .hero-lineup-actions-v2 .button {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 54px !important;
  }
}
