/* Language switcher (JP / EN) */
#header_top .container { position: relative; }
.lang_switch {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 13px;
  letter-spacing: 0.05em;
}
.lang_switch a {
  color: #fff;
  text-decoration: none;
  opacity: 0.7;
  padding: 2px 6px;
  border-bottom: 1px solid transparent;
  transition: opacity 0.15s, border-color 0.15s;
}
.lang_switch a:hover { opacity: 1; }
.lang_switch a.active {
  opacity: 1;
  border-bottom-color: currentColor;
  font-weight: 600;
}
.lang_switch span { color: rgba(255,255,255,0.4); }
.lang_switch .lang_disabled {
  opacity: 0.35;
  padding: 2px 6px;
  cursor: not-allowed;
}

/* English MV title — text headings that replace the Japanese calligraphy
   banner images on the English pages (markup: #mv.mv_en > .container > .mv_title_en).
   The decorative background band is kept; only the title art is swapped for text. */
#mv.mv_en .container {
  max-width: none;
}
.mv_title_en {
  display: block;
  margin: 0;
  padding: 28px 16px;
  text-align: center;
  font-family: "Helvetica Neue", Helvetica, Arial, "Segoe UI", sans-serif;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: #231815;
}
/* The product list (#contents) normally paints its title as a background image
   and visually-hides the container; undo that for the English text variant.
   Its band image has no mascot illustration (unlike company/vision/etc.), so we
   keep it a compact strip instead of the full-height MV — otherwise the empty
   band looks stretched. The default .container 5em/7em padding is dropped. */
#contents #mv.mv_en {
  background: url(/common/img/mv_bg_contents_band.png) center repeat;
  height: auto;
}
#contents #mv.mv_en .container {
  position: static;
  width: auto;
  max-width: none;
  height: auto;
  overflow: visible;
  clip: auto;
  padding: 0;
}
#contents #mv.mv_en .mv_title_en {
  padding: 22px 16px;
}
@media screen and (max-width:768px) {
  .mv_title_en {
    font-size: 2.4rem;
    padding: 0;
  }
}

@media (max-width: 768px) {
  .lang_switch {
    position: static;
    transform: none;
    justify-content: flex-end;
    padding: 6px 12px 0;
  }
  .lang_switch a { color: #231815; }
  .lang_switch span { color: rgba(0,0,0,0.4); }
}
