@charset "utf-8";
/**
 * MobilityBox global design overrides
 * Version 0.5.0
 *
 * Phase 1: common header only.
 * - Keep SEEED's existing header markup and admin settings.
 * - Remove the floating/overlapping header treatment.
 * - Keep the desktop global menu, order button, mega menu and mobile drawer logic.
 * - Make normal document flow start below the sticky header.
 */

:root {
  --mb-primary: #005070;
  --mb-primary-dark: #003b4f;
  --mb-ink: #11181c;
  --mb-line: #e2e8eb;
  --mb-header-shadow: 0 8px 24px rgba(17, 24, 28, 0.08);
}

/* ----------------------------------------------------------------------
   Header shell
---------------------------------------------------------------------- */
#header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  z-index: 2000;
  border: 0;
  border-bottom: 1px solid var(--mb-line);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: none;
  transition: box-shadow 0.25s ease, background-color 0.25s ease;
}

/* SEEED normally overlaps #container with the floating header. */
#container,
body.show_header_message:not(.hide_header_message):not(.error404):not(.search-no-results) #container,
body.header_design_type2 #container {
  margin-top: 0 !important;
}

/* Shadow only after the user has moved away from the page top. */
body.open_header #header,
body.no_header_image.open_header #header {
  box-shadow: var(--mb-header-shadow);
}

body.no_header_image:not(.open_header) #header {
  box-shadow: none;
}

/* Keep in-page anchors visible below the sticky header. */
html {
  scroll-padding-top: 104px;
}

/* ----------------------------------------------------------------------
   Logo
---------------------------------------------------------------------- */
#header_logo {
  left: 32px;
  max-width: 220px;
}

#header_logo img {
  max-height: 48px;
}

#header_logo a .logo_text {
  color: var(--mb-ink);
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* ----------------------------------------------------------------------
   Global navigation
---------------------------------------------------------------------- */
#global_menu {
  height: 80px;
}

#global_menu > ul {
  height: 80px;
  padding: 0 220px;
  white-space: nowrap;
}

#global_menu > ul > li {
  font-size: 15px;
}

#global_menu > ul > li > a {
  height: 80px;
  line-height: 80px;
  padding: 0 14px;
  color: var(--mb-ink);
  font-weight: 500;
  transition: color 0.2s ease;
}

#global_menu > ul > li.active > a,
#global_menu > ul > li.current-menu-item > a,
#global_menu > ul > li.current-menu-ancestor > a {
  color: var(--mb-primary);
}

@media (hover: hover) {
  #global_menu > ul > li > a:hover {
    color: var(--mb-primary);
  }
}

/* Preserve SEEED submenu behavior, with slightly quieter corners. */
#global_menu ul ul a {
  border-radius: 0;
}

#global_menu > ul ul > li:first-of-type > a {
  border-radius: 5px 5px 0 0;
}

#global_menu > ul ul > li:last-of-type > a {
  border-radius: 0 0 5px 5px;
}

#global_menu > ul ul > li:only-of-type > a {
  border-radius: 5px;
}

/* ----------------------------------------------------------------------
   Primary order button
---------------------------------------------------------------------- */
#header_button {
  top: 13px;
  right: 24px;
  min-width: 160px;
  height: 54px;
  line-height: 54px;
  padding: 0 24px;
  border-radius: 6px;
  background: var(--mb-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@media (hover: hover) {
  #header_button:hover {
    background: var(--mb-primary-dark);
  }
}

/* ----------------------------------------------------------------------
   Logged-in preview: do not let the sticky header cover WP admin bar.
---------------------------------------------------------------------- */
body.admin-bar #header {
  top: 32px;
}

/* ----------------------------------------------------------------------
   Narrow desktop: keep existing menu but reserve room for logo/button.
---------------------------------------------------------------------- */
@media screen and (max-width: 1360px) and (min-width: 1201px) {
  #header_logo {
    left: 24px;
    max-width: 190px;
  }

  #global_menu > ul {
    padding-right: 185px;
    padding-left: 205px;
  }

  #global_menu > ul > li {
    font-size: 14px;
  }

  #global_menu > ul > li > a {
    padding-right: 10px;
    padding-left: 10px;
  }

  #header_button {
    right: 18px;
    min-width: 148px;
    padding-right: 18px;
    padding-left: 18px;
  }
}

/* ----------------------------------------------------------------------
   Tablet / mobile
   Preserve SEEED's drawer-menu implementation; restyle only the shell.
---------------------------------------------------------------------- */
@media screen and (max-width: 1200px) {
  #header {
    position: sticky !important;
    top: 0;
    height: 60px;
    border-bottom: 1px solid var(--mb-line);
    background: rgba(255, 255, 255, 0.98);
  }

  #header_logo {
    left: 20px;
    max-width: calc(100% - 90px);
  }

  #header_logo img {
    max-height: 40px;
  }

  #drawer_menu_button {
    width: 60px;
    height: 60px;
    right: 0;
    top: 0;
  }

  #drawer_menu_button span,
  body.header_type2 #drawer_menu_button span,
  body.header_type2.header_fixed #drawer_menu_button span {
    background: var(--mb-ink);
  }

  html {
    scroll-padding-top: 80px;
  }

  body.admin-bar #header,
  body.admin-bar.open_header #header,
  body.admin-bar.close_header #header {
    top: 32px !important;
  }
}

@media screen and (max-width: 782px) {
  body.admin-bar #header,
  body.admin-bar.open_header #header,
  body.admin-bar.close_header #header {
    top: 46px !important;
  }
}

@media screen and (max-width: 600px) {
  #header_logo {
    left: 16px;
  }
}

/* ======================================================================
   Phase 2 / 0.4.0
   Default fixed pages: page header, content width, reading rhythm.

   Scope is deliberately limited to page-template-default so the front page,
   design-system preview, archives, custom posts and LP template are not
   changed in this phase.
====================================================================== */

:root {
  --mb-page-max: 1200px;
  --mb-page-gutter: 32px;
  --mb-page-gutter-sp: 20px;
  --mb-body-ink: #313b40;
  --mb-muted: #5f6b72;
  --mb-surface: #f5f7f8;
}

/* ----------------------------------------------------------------------
   Fixed-page H1 / with header image
---------------------------------------------------------------------- */
body.page-template-default:not(.no_header_image) #page_header {
  height: 420px;
  margin: 0;
  background: #24333a;
}

body.page-template-default:not(.no_header_image) #page_header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.08) 62%, rgba(0, 0, 0, 0) 100%);
}

body.page-template-default:not(.no_header_image) #page_header .headline {
  left: 50%;
  bottom: 0;
  width: min(calc(100% - (var(--mb-page-gutter) * 2)), var(--mb-page-max));
  height: auto;
  margin: 0;
  padding: 0 0 56px;
  transform: translateX(-50%);
  background: transparent !important;
  color: #fff;
  font-size: 42px;
  line-height: 1.35;
  letter-spacing: 0.02em;
  text-align: left;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.16);
  z-index: 4;
}

body.page-template-default:not(.no_header_image) #page_header .headline span {
  display: block;
  max-width: 880px;
}

body.page-template-default:not(.no_header_image) #page_header .overlay {
  z-index: 2;
}

body.page-template-default:not(.no_header_image) #page_header .bg_image {
  z-index: 1;
}

body.page-template-default:not(.no_header_image) #page_header .bg_image img {
  object-position: center center;
}

/* ----------------------------------------------------------------------
   Fixed-page H1 / simple header when no image is selected
---------------------------------------------------------------------- */
body.page-template-default.no_header_image #page_header {
  height: auto;
  min-height: 0;
  margin: 0 !important;
  padding: 70px var(--mb-page-gutter) 56px;
  overflow: visible;
  border-bottom: 1px solid var(--mb-line);
  background: #fff;
}

body.page-template-default.no_header_image #page_header .headline {
  position: static;
  width: min(100%, var(--mb-page-max));
  height: auto;
  margin: 0 auto;
  padding: 0;
  background: transparent !important;
  color: var(--mb-ink);
  font-size: 42px;
  line-height: 1.35;
  letter-spacing: 0.02em;
  text-align: left;
}

/* ----------------------------------------------------------------------
   Breadcrumb: align with the new page grid.
---------------------------------------------------------------------- */
body.page-template-default #bread_crumb {
  border-bottom-color: var(--mb-line);
}

body.page-template-default.no_header_image #bread_crumb {
  margin-bottom: 0;
  border-bottom: 1px solid var(--mb-line);
}

body.page-template-default #bread_crumb ul {
  width: min(calc(100% - (var(--mb-page-gutter) * 2)), var(--mb-page-max));
}

/* ----------------------------------------------------------------------
   Default fixed-page content container.
   Existing page HTML is kept intact; only its outer grid and rhythm change.
---------------------------------------------------------------------- */
body.page-template-default #page_contents {
  width: min(calc(100% - (var(--mb-page-gutter) * 2)), var(--mb-page-max)) !important;
  margin: 0 auto !important;
  padding: 88px 0 120px;
}

body.page-template-default #page_contents .post_content {
  color: var(--mb-body-ink);
}

body.page-template-default #page_contents .post_content p {
  line-height: 2;
}

/* TCD quick-tag headings: the admin options own appearance;
   the child theme only standardizes vertical spacing. */
body.page-template-default .post_content .styled_h2 {
  margin-top: 72px !important;
  margin-bottom: 30px !important;
}

body.page-template-default .post_content .styled_h3 {
  margin-top: 54px !important;
  margin-bottom: 24px !important;
}

body.page-template-default .post_content .styled_h4 {
  margin-top: 42px !important;
  margin-bottom: 20px !important;
}

body.page-template-default .post_content .styled_h5 {
  margin-top: 34px !important;
  margin-bottom: 18px !important;
}

body.page-template-default .post_content > .styled_h2:first-child,
body.page-template-default .post_content > .styled_h3:first-child,
body.page-template-default .post_content > .styled_h4:first-child,
body.page-template-default .post_content > .styled_h5:first-child {
  margin-top: 0 !important;
}

/* Keep large media/tables inside the available page width. */
body.page-template-default #page_contents .post_content iframe,
body.page-template-default #page_contents .post_content video,
body.page-template-default #page_contents .post_content img {
  max-width: 100%;
}

/* ----------------------------------------------------------------------
   Responsive fixed pages
---------------------------------------------------------------------- */
@media screen and (max-width: 1200px) {
  body.page-template-default:not(.no_header_image) #page_header {
    height: 360px;
  }

  body.page-template-default:not(.no_header_image) #page_header .headline {
    width: calc(100% - 80px);
    padding-bottom: 48px;
    font-size: 38px;
  }

  body.page-template-default.no_header_image #page_header {
    padding: 60px 40px 48px;
  }

  body.page-template-default.no_header_image #page_header .headline {
    font-size: 38px;
  }

  body.page-template-default #bread_crumb ul,
  body.page-template-default #page_contents {
    width: calc(100% - 80px) !important;
  }
}

@media screen and (max-width: 767px) {
  body.page-template-default:not(.no_header_image) #page_header {
    height: 250px;
    padding: 0;
  }

  body.page-template-default:not(.no_header_image) #page_header .headline {
    width: calc(100% - (var(--mb-page-gutter-sp) * 2));
    padding-bottom: 28px;
    font-size: 28px;
    line-height: 1.4;
  }

  body.page-template-default.no_header_image #page_header {
    padding: 40px var(--mb-page-gutter-sp) 34px;
  }

  body.page-template-default.no_header_image #page_header .headline {
    font-size: 28px;
    line-height: 1.4;
  }

  body.page-template-default #bread_crumb {
    padding-right: var(--mb-page-gutter-sp);
    padding-left: var(--mb-page-gutter-sp);
  }

  body.page-template-default #bread_crumb ul,
  body.page-template-default #page_contents {
    width: 100% !important;
  }

  body.page-template-default #page_contents {
    padding: 52px var(--mb-page-gutter-sp) 80px;
    box-sizing: border-box;
  }

  body.page-template-default .post_content .styled_h2 {
    margin-top: 54px !important;
    margin-bottom: 24px !important;
  }

  body.page-template-default .post_content .styled_h3 {
    margin-top: 42px !important;
    margin-bottom: 20px !important;
  }

  body.page-template-default .post_content .styled_h4 {
    margin-top: 34px !important;
    margin-bottom: 18px !important;
  }

  body.page-template-default .post_content .styled_h5 {
    margin-top: 28px !important;
    margin-bottom: 16px !important;
  }
}

/* ======================================================================
   Phase 3 / 0.5.0
   Common footer.

   SEEED's footer.php and TCD Theme Options remain untouched. The existing
   contact titles/descriptions/URLs, background media, footer catch, logo,
   menu and copyright are simply presented through the MobilityBox visual
   system.
====================================================================== */

:root {
  --mb-footer-bg: #0f1a20;
  --mb-footer-bg-deep: #091217;
  --mb-footer-text: #f7f9fa;
  --mb-footer-muted: #aeb9bf;
  --mb-footer-line: rgba(255, 255, 255, 0.12);
}

/* ----------------------------------------------------------------------
   Footer CTA / contact area
---------------------------------------------------------------------- */
#footer_contact {
  min-height: 460px;
  overflow: hidden;
  background: var(--mb-footer-bg-deep);
}

/* Keep any media selected in TCD Theme Options as a full-bleed backdrop. */
#footer_contact #footer_video,
#footer_contact #footer_image_carousel_wrap,
#footer_contact .bg_image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  z-index: 1;
}

#footer_contact #footer_video video,
#footer_contact .bg_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#footer_contact #footer_image_carousel_wrap {
  overflow: hidden;
}

#footer_contact .footer_image_carousel,
#footer_contact .footer_image_carousel .item {
  height: 100%;
}

#footer_contact .footer_image_carousel .item {
  min-width: 420px;
}

/* TCD's configured overlay remains, but we strengthen it enough to make the
   CTA readable regardless of the selected photo/video. */
#footer_contact .overlay {
  z-index: 2;
  background: rgba(5, 20, 27, 0.66) !important;
}

#footer_button_area,
#footer_contact.one_item #footer_button_area {
  display: flex;
  gap: 16px;
  align-items: stretch;
  width: min(calc(100% - 64px), 1200px);
  min-height: 0;
  margin: 0;
  position: absolute;
  left: 50%;
  bottom: auto;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  background: transparent;
}

#footer_contact.one_item #footer_button_area {
  max-width: 620px;
}

#footer_button_area .item {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  padding: 34px 36px;
  border: 1px solid rgba(255, 255, 255, 0.38) !important;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--mb-ink);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

#footer_button_area .item:last-of-type,
#footer_button_area .item:only-of-type {
  border-left: 1px solid rgba(255, 255, 255, 0.38) !important;
}

#footer_button_area .icon {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 7px;
  background: var(--mb-primary);
}

#footer_button_area .icon span {
  font-size: 27px;
  font-weight: 200;
}

#footer_button_area .icon img {
  max-width: 28px;
  max-height: 28px;
}

#footer_button_area .content {
  width: calc(100% - 56px);
}

#footer_button_area .icon + .content {
  padding-left: 22px;
}

#footer_button_area .title {
  margin: 0;
  color: var(--mb-ink);
  font-size: 21px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.02em;
}

#footer_button_area .desc {
  margin: 6px 0 0;
  color: #526169;
  font-size: 14px;
  line-height: 1.85;
}

@media (hover: hover) {
  #footer_button_area .item:hover {
    transform: translateY(-3px);
    background: #fff;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.24);
  }
}

/* If the TCD contact background is disabled, keep the same CTA language
   without relying on a media asset. */
#footer_contact.no_background,
#footer_contact.fixed_image {
  min-height: 460px;
  height: auto;
  padding: 0;
  background: linear-gradient(135deg, #0b3545 0%, #102129 100%);
}

#footer_contact.no_background #footer_button_area {
  border: 0;
}

/* ----------------------------------------------------------------------
   Main footer shell
---------------------------------------------------------------------- */
#footer {
  background: var(--mb-footer-bg);
  color: var(--mb-footer-text);
}

#footer_catch {
  padding: 46px 32px 10px;
  background: transparent;
  color: var(--mb-footer-text);
  font-size: 18px;
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: center;
}

#footer_catch p {
  width: min(calc(100% - 64px), 1200px);
  margin: 0 auto;
}

#footer_inner {
  width: min(calc(100% - 64px), 1200px);
  margin: 0 auto;
  padding: 24px 0 48px;
  color: var(--mb-footer-text);
  text-align: center;
}

#footer_logo a .logo_text {
  color: var(--mb-footer-text) !important;
  font-weight: 700;
  letter-spacing: 0.01em;
}

#footer_logo img {
  max-height: 54px;
}

#footer_sns {
  margin-top: 24px;
}

/* Footer navigation remains editable from WordPress Menus. */
#footer_nav {
  padding: 0 32px;
  border-top: 1px solid var(--mb-footer-line);
  background: var(--mb-footer-bg);
}

#footer_nav ul {
  justify-content: center;
}

#footer_nav li {
  margin-right: 32px;
  font-size: 14px;
}

#footer_nav li:last-of-type {
  margin-right: 0;
}

#footer_nav li a {
  height: 62px;
  line-height: 62px;
  color: rgba(255, 255, 255, 0.76);
  transition: color 0.2s ease;
}

@media (hover: hover) {
  #footer_nav li a:hover {
    color: #fff;
  }
}

/* SEEED makes copyright sticky at the bottom of the viewport. For the renewal
   it belongs to normal footer flow, which is simpler and less error-prone. */
#copyright {
  position: static !important;
  top: auto !important;
  margin: 0;
  padding: 20px 32px;
  border-top: 1px solid var(--mb-footer-line);
  background: var(--mb-footer-bg-deep);
  color: var(--mb-footer-muted);
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}

/* ----------------------------------------------------------------------
   PAGE TOP
---------------------------------------------------------------------- */
#return_top {
  right: 20px;
}

#return_top a {
  width: 48px;
  height: 48px;
  line-height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 6px;
  background: rgba(15, 26, 32, 0.92);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}

#return_top a:before {
  top: 0;
  font-size: 12px;
}

#return_top.active {
  bottom: 20px;
}

@media (hover: hover) {
  #return_top a:hover {
    background: var(--mb-primary);
  }
}

/* ----------------------------------------------------------------------
   Footer responsive
---------------------------------------------------------------------- */
@media screen and (max-width: 1000px) {
  #footer_contact,
  #footer_contact.no_background,
  #footer_contact.fixed_image {
    min-height: 0;
    height: auto;
    padding: 48px 24px;
  }

  #footer_contact #footer_video,
  #footer_contact #footer_image_carousel_wrap,
  #footer_contact .bg_image {
    position: absolute;
    inset: 0;
    height: 100%;
    max-height: none;
  }

  #footer_button_area,
  #footer_contact.one_item #footer_button_area {
    width: min(100%, 760px);
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
    transform: none;
  }

  #footer_button_area .item {
    padding: 28px;
  }

  #footer_catch {
    padding: 38px 24px 8px;
    font-size: 16px;
  }

  #footer_catch p,
  #footer_inner {
    width: calc(100% - 48px);
  }

  #footer_inner {
    padding: 22px 0 40px;
  }

  #footer_nav {
    padding: 0 24px;
  }
}

@media screen and (max-width: 767px) {
  #footer_contact,
  #footer_contact.no_background,
  #footer_contact.fixed_image {
    padding: 36px 16px;
  }

  #footer_button_area,
  #footer_contact.one_item #footer_button_area {
    display: block;
    width: 100%;
  }

  #footer_button_area .item {
    width: 100%;
    padding: 24px 20px;
    border-radius: 6px;
  }

  #footer_button_area .item + .item {
    margin-top: 12px;
  }

  #footer_button_area .item:last-of-type {
    border-top: 1px solid rgba(255, 255, 255, 0.38) !important;
  }

  #footer_button_area .icon {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
  }

  #footer_button_area .icon span {
    font-size: 24px;
  }

  #footer_button_area .content {
    width: calc(100% - 48px);
  }

  #footer_button_area .icon + .content {
    padding-left: 16px;
  }

  #footer_button_area .title {
    font-size: 18px;
  }

  #footer_button_area .desc {
    font-size: 13px;
    line-height: 1.75;
  }

  #footer_catch {
    padding: 34px 20px 6px;
    font-size: 15px;
  }

  #footer_catch p,
  #footer_inner {
    width: 100%;
  }

  #footer_inner {
    padding: 20px 20px 34px;
  }

  #footer_nav {
    padding: 12px 16px;
    overflow: visible;
  }

  #footer_nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
  }

  #footer_nav li {
    margin: 0;
    font-size: 13px;
  }

  #footer_nav li a {
    height: auto;
    line-height: 1.55;
    padding: 9px 10px;
    white-space: nowrap;
  }

  #copyright {
    padding: 18px 20px;
  }

  /* Leave enough room for SEEED's mobile footer bar when it is enabled. */
  body.show_footer_bar #return_top.active,
  .p-footer-bar + #return_top.active {
    bottom: 68px;
  }
}


/* ======================================================================
   0.6.0 / small-screen finishing adjustment
   Keep PAGE TOP clear of the copyright area and browser safe-area.
====================================================================== */
@media screen and (max-width: 767px) {
  #return_top {
    right: max(12px, env(safe-area-inset-right));
  }

  #return_top.active {
    bottom: calc(64px + env(safe-area-inset-bottom));
  }

  body.show_footer_bar #return_top.active,
  .p-footer-bar + #return_top.active {
    bottom: calc(72px + env(safe-area-inset-bottom));
  }
}

/* ----------------------------------------------------------------------
   Wash price page (/plan/) - WordPress Posts Page override
   Version 0.7.0
---------------------------------------------------------------------- */
body.home #page_header.mb-plan-page-header {
  margin-bottom: 0;
}

body.home .mb-plan-archive {
  padding: 88px 24px 96px;
  background: #fff;
}

/* The Price Manager owns the inner component widths and visual system. */
body.home .mb-plan-archive > .mbpm-price-guide {
  width: 100%;
}

@media screen and (max-width: 750px) {
  body.home .mb-plan-archive {
    padding: 56px 14px 64px;
  }
}

/* ======================================================================
   0.8.0 / FAQ archive
   The FAQ custom post type remains managed by SEEED. Only the public
   archive presentation is replaced with a mobile-first, low-friction UI.
====================================================================== */

:root {
  --mb-faq-navy: #073848;
  --mb-faq-navy-deep: #052b38;
  --mb-faq-gold: #c7a66a;
  --mb-faq-surface: #f4f7f8;
  --mb-faq-border: #dce4e7;
}

.mb-faq-shell {
  width: min(calc(100% - 64px), 1120px);
  margin-right: auto;
  margin-left: auto;
}

.mb-faq-hero {
  position: relative;
  min-height: 390px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--mb-faq-navy-deep);
  color: #fff;
}

.mb-faq-hero__media,
.mb-faq-hero__overlay {
  position: absolute;
  inset: 0;
}

.mb-faq-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-faq-hero.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 29, 39, 0.76) 0%, rgba(3, 29, 39, 0.38) 55%, rgba(3, 29, 39, 0.12) 100%);
  pointer-events: none;
}

.mb-faq-hero__inner {
  position: relative;
  z-index: 3;
  padding-top: 80px;
  padding-bottom: 64px;
}

.mb-faq-eyebrow,
.mb-faq-group__eyebrow {
  margin: 0 0 12px;
  color: var(--mb-faq-gold);
  font-family: "Hind Madurai", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.mb-faq-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.28;
  letter-spacing: 0.02em;
}

.mb-faq-hero__desc {
  max-width: 700px;
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
  line-height: 2;
}

.mb-faq-hero__desc p {
  margin: 0;
}

.mb-faq-desc-sp {
  display: none;
}

.mb-faq-archive {
  padding: 72px 0 110px;
  background: #fff;
}

.mb-faq-category-nav {
  margin-bottom: 66px;
}

.mb-faq-category-nav__scroll {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.mb-faq-category-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid var(--mb-faq-border);
  border-radius: 4px;
  background: #fff;
  color: var(--mb-ink);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

@media (hover: hover) {
  .mb-faq-category-nav a:hover {
    border-color: var(--mb-faq-navy);
    background: var(--mb-faq-navy);
    color: #fff;
  }
}

.mb-faq-group {
  scroll-margin-top: 110px;
}

.mb-faq-group + .mb-faq-group {
  margin-top: 80px;
}

.mb-faq-group__heading {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--mb-faq-border);
}

.mb-faq-group__eyebrow {
  margin-bottom: 6px;
  color: var(--mb-primary);
}

.mb-faq-group__heading h2 {
  margin: 0;
  color: var(--mb-ink);
  font-size: 30px;
  line-height: 1.4;
}

.mb-faq-list {
  border-top: 1px solid var(--mb-faq-border);
}

.mb-faq-item {
  border-bottom: 1px solid var(--mb-faq-border);
  background: #fff;
}

.mb-faq-question {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 16px;
  min-height: 88px;
  padding: 18px 12px 18px 0;
  cursor: pointer;
  list-style: none;
}

.mb-faq-question::-webkit-details-marker {
  display: none;
}

.mb-faq-qmark,
.mb-faq-amark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-family: "Hind Madurai", sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.mb-faq-qmark {
  background: var(--mb-faq-navy);
  color: #fff;
}

.mb-faq-question__text {
  color: var(--mb-ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.65;
}

.mb-faq-toggle {
  position: relative;
  width: 22px;
  height: 22px;
  justify-self: end;
}

.mb-faq-toggle::before,
.mb-faq-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 1px;
  background: var(--mb-faq-navy);
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease;
}

.mb-faq-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.mb-faq-item[open] .mb-faq-toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.mb-faq-item[open] .mb-faq-question {
  color: var(--mb-faq-navy);
}

.mb-faq-answer {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 16px;
  padding: 4px 58px 34px 0;
  color: var(--mb-body-ink);
  font-size: 15px;
  line-height: 2;
}

.mb-faq-amark {
  background: #edf3f5;
  color: var(--mb-faq-navy);
}

.mb-faq-answer__content > :first-child {
  margin-top: 0;
}

.mb-faq-answer__content > :last-child {
  margin-bottom: 0;
}

.mb-faq-answer__content img {
  max-width: 100%;
  height: auto;
  margin-top: 18px;
  margin-bottom: 18px;
  border-radius: 4px;
}

.mb-faq-item:target {
  scroll-margin-top: 100px;
}

@media screen and (max-width: 750px) {
  .mb-faq-shell {
    width: calc(100% - 32px);
  }

  .mb-faq-hero {
    min-height: 300px;
  }

  .mb-faq-hero.has-image::after {
    background: linear-gradient(90deg, rgba(3, 29, 39, 0.78) 0%, rgba(3, 29, 39, 0.44) 100%);
  }

  .mb-faq-hero__inner {
    padding-top: 64px;
    padding-bottom: 38px;
  }

  .mb-faq-hero h1 {
    font-size: 32px;
  }

  .mb-faq-hero__desc {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.8;
  }

  .mb-faq-desc-pc.has-sp {
    display: none;
  }

  .mb-faq-desc-sp {
    display: block;
  }

  .mb-faq-archive {
    padding-top: 38px;
    padding-bottom: 76px;
  }

  .mb-faq-category-nav {
    width: calc(100% + 16px);
    margin-bottom: 50px;
    overflow: hidden;
  }

  .mb-faq-category-nav__scroll {
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    padding-right: 16px;
    padding-bottom: 7px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .mb-faq-category-nav__scroll::-webkit-scrollbar {
    display: none;
  }

  .mb-faq-category-nav a {
    flex: 0 0 auto;
    min-height: 42px;
    padding-right: 17px;
    padding-left: 17px;
    font-size: 13px;
  }

  .mb-faq-group + .mb-faq-group {
    margin-top: 62px;
  }

  .mb-faq-group__heading {
    margin-bottom: 10px;
  }

  .mb-faq-group__heading h2 {
    font-size: 24px;
  }

  .mb-faq-question {
    grid-template-columns: 34px minmax(0, 1fr) 26px;
    gap: 10px;
    min-height: 74px;
    padding: 14px 4px 14px 0;
  }

  .mb-faq-qmark,
  .mb-faq-amark {
    width: 30px;
    height: 30px;
    font-size: 14px;
  }

  .mb-faq-question__text {
    font-size: 15px;
    line-height: 1.65;
  }

  .mb-faq-answer {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    padding: 0 4px 26px 0;
    font-size: 14px;
    line-height: 1.9;
  }
}

/* ======================================================================
   0.9.0 / Case studies (会員様の声・事例)
   Preserve SEEED's case_study editor/custom fields, but replace the public
   archive/single presentation with a quieter premium, mobile-first layout.
====================================================================== */

:root {
  --mb-case-navy: #073848;
  --mb-case-navy-deep: #052b38;
  --mb-case-gold: #c7a66a;
  --mb-case-surface: #f4f7f8;
  --mb-case-border: #dce4e7;
}

.mb-case-shell {
  width: min(calc(100% - 64px), 1160px);
  margin-right: auto;
  margin-left: auto;
}

.mb-case-eyebrow {
  margin: 0 0 10px;
  color: var(--mb-case-gold);
  font-family: "Hind Madurai", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
}

/* Archive hero */
.mb-case-hero {
  position: relative;
  min-height: 390px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--mb-case-navy-deep);
  color: #fff;
}

.mb-case-hero__media,
.mb-case-hero__overlay {
  position: absolute;
  inset: 0;
}

.mb-case-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-case-hero.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 29, 39, .78) 0%, rgba(3, 29, 39, .42) 58%, rgba(3, 29, 39, .14) 100%);
  pointer-events: none;
}

.mb-case-hero__inner {
  position: relative;
  z-index: 3;
  padding-top: 80px;
  padding-bottom: 62px;
}

.mb-case-hero h1 {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(36px, 4vw, 52px);
  line-height: 1.28;
  letter-spacing: .02em;
}

.mb-case-hero__desc {
  max-width: 720px;
  margin-top: 20px;
  color: rgba(255,255,255,.84);
  font-size: 15px;
  line-height: 2;
}

.mb-case-hero__desc p { margin: 0; }
.mb-case-desc-sp { display: none; }

/* Archive body */
.mb-case-archive {
  padding: 76px 0 110px;
  background: #fff;
}

.mb-case-archive__head {
  max-width: 760px;
  margin-bottom: 42px;
}

.mb-case-archive__head h2,
.mb-case-related__head h2 {
  margin: 0;
  color: var(--mb-ink);
  font-size: 30px;
  line-height: 1.45;
}

.mb-case-archive__head > p:last-child {
  margin: 16px 0 0;
  color: var(--mb-muted);
  font-size: 15px;
  line-height: 1.9;
}

.mb-case-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 28px;
}

.mb-case-card {
  min-width: 0;
  border: 1px solid var(--mb-case-border);
  background: #fff;
  box-shadow: 0 14px 38px rgba(13, 39, 50, .06);
}

.mb-case-card__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.mb-case-card__media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(135deg, #0b4053, #102630);
}

.mb-case-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.mb-case-card__media.no-image {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.72);
  font-family: "Hind Madurai", sans-serif;
  letter-spacing: .15em;
}

.mb-case-card__body {
  padding: 28px 30px 30px;
}

.mb-case-card__topline {
  min-height: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
}

.mb-case-card__category {
  color: var(--mb-primary);
  font-family: "Hind Madurai", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
}

.mb-case-card__topline time {
  color: #859197;
  font-size: 12px;
}

.mb-case-card h2 {
  margin: 0;
  color: var(--mb-ink);
  font-size: 22px;
  line-height: 1.65;
  letter-spacing: .01em;
}

.mb-case-card__person {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: baseline;
  margin-top: 18px;
  color: var(--mb-muted);
  font-size: 13px;
}

.mb-case-card__person strong {
  color: var(--mb-ink);
  font-size: 14px;
}

.mb-case-card__more {
  display: inline-flex;
  gap: 9px;
  margin-top: 24px;
  color: var(--mb-primary);
  font-size: 13px;
  font-weight: 700;
}

.mb-case-card__more i { font-style: normal; transition: transform .2s ease; }

@media (hover:hover) {
  .mb-case-card__link:hover .mb-case-card__media img { transform: scale(1.025); }
  .mb-case-card__link:hover .mb-case-card__more i { transform: translateX(4px); }
}

.mb-case-pagination { margin-top: 58px; }
.mb-case-pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.mb-case-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 10px;
  border: 1px solid var(--mb-case-border);
  color: var(--mb-ink);
  text-decoration: none;
}
.mb-case-pagination .page-numbers.current,
.mb-case-pagination a.page-numbers:hover { background: var(--mb-case-navy); border-color: var(--mb-case-navy); color: #fff; }

.mb-case-tax-back { margin: 0 0 32px; }
.mb-case-tax-back a { color: var(--mb-primary); font-weight: 700; text-decoration: none; }

/* Single hero */
.mb-case-single {
  background: #fff;
}

.mb-case-single-hero {
  background: var(--mb-case-navy-deep);
  color: #fff;
}

.mb-case-single-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  min-height: 520px;
}

.mb-case-single-hero:not(.has-image) .mb-case-single-hero__grid {
  display: block;
  min-height: 0;
}

.mb-case-single-hero__media {
  min-height: 520px;
  overflow: hidden;
}

.mb-case-single-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-case-single-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 70px clamp(40px, 6vw, 96px);
  background:
    radial-gradient(circle at 100% 10%, rgba(199,166,106,.10), transparent 34%),
    var(--mb-case-navy-deep);
}

.mb-case-single-hero:not(.has-image) .mb-case-single-hero__content {
  width: min(calc(100% - 64px), 960px);
  margin: 0 auto;
  padding-right: 0;
  padding-left: 0;
}

.mb-case-single-hero__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.mb-case-single-hero__categories a {
  padding: 5px 9px;
  border: 1px solid rgba(255,255,255,.24);
  color: rgba(255,255,255,.78);
  font-size: 11px;
  line-height: 1.2;
  text-decoration: none;
}

.mb-case-single-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.5;
  letter-spacing: .015em;
}

.mb-case-single-hero__date {
  margin-top: 18px;
  color: rgba(255,255,255,.54);
  font-size: 12px;
}

.mb-case-single-hero__person {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: baseline;
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.mb-case-single-hero__person span { color: rgba(255,255,255,.66); font-size: 13px; }
.mb-case-single-hero__person strong { color: #fff; font-size: 15px; }

.mb-case-single__main {
  padding: 82px 24px 40px;
}

.mb-case-single__reading {
  width: min(100%, 860px);
  margin: 0 auto;
  color: var(--mb-body-ink);
  font-size: 16px;
  line-height: 2;
}

.mb-case-single__reading > :first-child { margin-top: 0; }
.mb-case-single__reading > :last-child { margin-bottom: 0; }
.mb-case-single__reading p { line-height: 2; }
.mb-case-single__reading img { max-width: 100%; height: auto; border-radius: 4px; }
.mb-case-single__reading iframe,
.mb-case-single__reading video { display: block; max-width: 100%; margin-right: auto; margin-left: auto; }

/* TCD case-study data shortcode */
.mb-case-single__reading .case_study_info_wrap {
  margin: 0 0 58px;
  padding: 0;
  background: var(--mb-case-surface);
  border: 1px solid var(--mb-case-border);
}

.mb-case-single__reading .case_study_info {
  padding: 0;
}

.mb-case-single__reading .case_study_info dl {
  margin: 0;
}

.mb-case-single__reading .case_study_info dl > div { margin: 0; }

.mb-case-single__reading .case_study_info dt,
.mb-case-single__reading .case_study_info dd {
  box-sizing: border-box;
  margin: 0;
  padding: 14px 18px;
  border-bottom: 1px solid var(--mb-case-border);
}

.mb-case-single__reading .case_study_info dt {
  float: left;
  clear: both;
  width: 27%;
  color: var(--mb-case-navy);
  font-weight: 700;
}

.mb-case-single__reading .case_study_info dd {
  min-height: 52px;
  margin-left: 27%;
  background: #fff;
}

.mb-case-single__reading .case_study_info dl::after {
  content: "";
  display: block;
  clear: both;
}

/*
 * SEEED's parent CSS makes .case_study_info dl a flex container.
 * The previous float-based child rules conflicted with that on desktop and
 * caused each label/value pair to wrap onto separate rows.  Use an explicit
 * two-column grid on desktop so every profile label stays beside its value.
 * Mobile keeps the stacked layout defined below.
 */
@media screen and (min-width: 768px) {
  .mb-case-single__reading .case_study_info dl {
    display: grid !important;
    grid-template-columns: minmax(160px, 27%) minmax(0, 1fr);
    align-items: stretch;
  }

  .mb-case-single__reading .case_study_info dt,
  .mb-case-single__reading .case_study_info dd {
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-height: 0;
    margin: 0 !important;
  }

  .mb-case-single__reading .case_study_info dt {
    background: var(--mb-case-surface);
  }

  .mb-case-single__reading .case_study_info dt:last-of-type,
  .mb-case-single__reading .case_study_info dd:last-of-type {
    border-bottom: 0;
  }

  .mb-case-single__reading .case_study_info dl::after {
    display: none;
  }
}

/* Existing Classic Editor heading styles still own color/border; normalize rhythm here. */
.mb-case-single__reading .styled_h2 { margin-top: 66px !important; margin-bottom: 28px !important; }
.mb-case-single__reading .styled_h3 { margin-top: 48px !important; margin-bottom: 22px !important; }
.mb-case-single__reading .styled_h4 { margin-top: 38px !important; margin-bottom: 18px !important; }

.mb-case-single__back {
  width: min(calc(100% - 48px), 860px);
  margin: 0 auto;
  padding: 24px 0 82px;
  border-top: 1px solid var(--mb-case-border);
}

.mb-case-single__back a {
  color: var(--mb-primary);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

/* Related stories */
.mb-case-related {
  padding: 74px 0 100px;
  background: var(--mb-case-surface);
}

.mb-case-related__head {
  margin-bottom: 30px;
}

.mb-case-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.mb-case-related-card {
  background: #fff;
  border: 1px solid var(--mb-case-border);
}

.mb-case-related-card a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.mb-case-related-card__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--mb-case-navy-deep);
}

.mb-case-related-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.mb-case-related-card__body { padding: 20px 20px 22px; }
.mb-case-related-card h3 { margin:0; color:var(--mb-ink); font-size:16px; line-height:1.65; }
.mb-case-related-card p { display:flex; flex-wrap:wrap; gap:4px 8px; margin:12px 0 0; color:var(--mb-muted); font-size:12px; }
.mb-case-related-card p strong { color:var(--mb-ink); }
.mb-case-related-card__body > span { display:inline-block; margin-top:16px; color:var(--mb-primary); font-size:12px; font-weight:700; }

@media (hover:hover) {
  .mb-case-related-card a:hover .mb-case-related-card__media img { transform: scale(1.025); }
}

@media screen and (max-width: 900px) {
  .mb-case-single-hero__grid { grid-template-columns: 1fr; min-height:0; }
  .mb-case-single-hero__media { min-height:0; aspect-ratio:16 / 10; }
  .mb-case-single-hero__content { padding: 48px 40px 54px; }
  .mb-case-related__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media screen and (max-width: 750px) {
  .mb-case-shell { width: calc(100% - 32px); }
  .mb-case-hero { min-height: 300px; }
  .mb-case-hero.has-image::after { background: linear-gradient(90deg, rgba(3,29,39,.80), rgba(3,29,39,.42)); }
  .mb-case-hero__inner { padding-top: 62px; padding-bottom: 38px; }
  .mb-case-hero h1 { font-size: 32px; }
  .mb-case-hero__desc { margin-top:14px; font-size:14px; line-height:1.8; }
  .mb-case-desc-pc.has-sp { display:none; }
  .mb-case-desc-sp { display:block; }

  .mb-case-archive { padding: 46px 0 76px; }
  .mb-case-archive__head { margin-bottom: 28px; }
  .mb-case-archive__head h2,
  .mb-case-related__head h2 { font-size: 24px; }
  .mb-case-archive__head > p:last-child { margin-top:12px; font-size:14px; line-height:1.8; }
  .mb-case-grid { grid-template-columns: 1fr; gap:16px; }
  .mb-case-card__body { padding:22px 20px 24px; }
  .mb-case-card h2 { font-size:18px; line-height:1.65; }
  .mb-case-card__person { margin-top:14px; }
  .mb-case-card__more { margin-top:18px; }

  .mb-case-single-hero__media { aspect-ratio: 16 / 10; }
  .mb-case-single-hero__content { padding: 36px 20px 42px; }
  .mb-case-single-hero h1 { font-size: 28px; line-height: 1.5; }
  .mb-case-single-hero__person { margin-top:22px; padding-top:18px; }

  .mb-case-single__main { padding: 48px 16px 26px; }
  .mb-case-single__reading { font-size: 15px; line-height:1.95; }
  .mb-case-single__reading p { line-height:1.95; }
  .mb-case-single__reading .case_study_info_wrap { margin-bottom:42px; }
  .mb-case-single__reading .case_study_info dt,
  .mb-case-single__reading .case_study_info dd { float:none; width:100%; margin-left:0; padding:11px 14px; }
  .mb-case-single__reading .case_study_info dt { padding-bottom:6px; border-bottom:0; background:var(--mb-case-surface); }
  .mb-case-single__reading .case_study_info dd { padding-top:4px; min-height:0; }
  .mb-case-single__reading .styled_h2 { margin-top:50px !important; margin-bottom:22px !important; }
  .mb-case-single__reading .styled_h3 { margin-top:40px !important; margin-bottom:18px !important; }
  .mb-case-single__reading .styled_h4 { margin-top:32px !important; margin-bottom:16px !important; }
  .mb-case-single__back { width:calc(100% - 32px); padding-bottom:56px; }

  .mb-case-related { padding: 48px 0 70px; }
  .mb-case-related__grid { grid-template-columns: 1fr; gap:14px; }
  .mb-case-related-card { display:none; }
  .mb-case-related-card:nth-child(-n+2) { display:block; }
}


/* ==========================================================================
   MobilityBox option / service archive + single (v1.0.0)
   ========================================================================== */

:root {
  --mb-service-navy: #073746;
  --mb-service-deep: #042833;
  --mb-service-blue: #005b78;
  --mb-service-gold: #c7a866;
  --mb-service-ink: #11181c;
  --mb-service-text: #4d5a60;
  --mb-service-line: #d8e0e4;
  --mb-service-surface: #f4f7f8;
  --mb-service-white: #fff;
}

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

.mb-service-eyebrow {
  margin: 0 0 12px;
  color: var(--mb-service-blue);
  font-family: "Hind Madurai", "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.3;
}

.mb-service-hero {
  position: relative;
  min-height: 430px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: linear-gradient(135deg, #f4f7f8 0%, #fff 100%);
}

.mb-service-hero.has-image {
  color: #fff;
  background: var(--mb-service-deep);
}

.mb-service-hero__media,
.mb-service-hero__overlay {
  position: absolute;
  inset: 0;
}

.mb-service-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-service-hero__overlay {
  z-index: 1;
}

.mb-service-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 92px 0 68px;
}

.mb-service-hero .mb-service-eyebrow {
  color: var(--mb-service-gold);
}

.mb-service-hero h1 {
  margin: 0;
  max-width: 820px;
  color: inherit;
  font-size: clamp(38px, 5vw, 62px);
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.22;
}

.mb-service-hero__desc {
  max-width: 760px;
  margin-top: 24px;
  color: inherit;
  font-size: 16px;
  line-height: 2;
}

.mb-service-hero__desc p {
  margin: 0;
}

.mb-service-desc-sp {
  display: none;
}

.mb-service-index {
  padding: 92px 0 110px;
  background: #fff;
}

.mb-service-index__head {
  max-width: 760px;
  margin-bottom: 44px;
}

.mb-service-index__head h2,
.mb-service-related__head h2 {
  margin: 0;
  color: var(--mb-service-ink);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.35;
}

.mb-service-index__head > p:last-child {
  margin: 16px 0 0;
  color: var(--mb-service-text);
  font-size: 15px;
  line-height: 1.9;
}

.mb-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.mb-service-card {
  min-width: 0;
  border: 1px solid var(--mb-service-line);
  background: #fff;
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.mb-service-card:hover {
  transform: translateY(-3px);
  border-color: #c7d2d7;
  box-shadow: 0 18px 44px rgba(5, 36, 47, .10);
}

.mb-service-card__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.mb-service-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e9eef0;
}

.mb-service-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--mb-service-blue), var(--mb-service-gold));
}

.mb-service-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.mb-service-card:hover .mb-service-card__image {
  transform: scale(1.025);
}

.mb-service-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #dce5e8, #f2f5f6);
}

.mb-service-card__body {
  padding: 26px 26px 28px;
}

.mb-service-card__kicker {
  margin: 0 0 7px;
  color: var(--mb-service-blue);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
}

.mb-service-card h3 {
  margin: 0;
  color: var(--mb-service-ink);
  font-size: 21px;
  line-height: 1.45;
}

.mb-service-card__desc {
  margin: 13px 0 0;
  color: var(--mb-service-text);
  font-size: 14px;
  line-height: 1.8;
}

.mb-service-card__more {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  margin-top: 22px;
  color: var(--mb-service-blue);
  font-size: 13px;
  font-weight: 700;
}

.mb-service-empty {
  color: var(--mb-service-text);
}

/* Single service */
.mb-service-single__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  min-height: 510px;
  background: var(--mb-service-deep);
  color: #fff;
}

.mb-service-single__hero:not(.has-image) {
  grid-template-columns: 1fr;
}

.mb-service-single__visual {
  min-height: 510px;
  overflow: hidden;
  background: #dce4e6;
}

.mb-service-single__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-service-single__hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 70px clamp(42px, 7vw, 96px);
}

.mb-service-single__hero-copy .mb-service-eyebrow {
  color: var(--mb-service-gold);
}

.mb-service-single__sub-title {
  margin: 0 0 8px;
  color: #d6e1e4;
  font-size: 14px;
  font-weight: 700;
}

.mb-service-single__hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(36px, 4.5vw, 58px);
  line-height: 1.25;
}

.mb-service-single__lead {
  margin: 24px 0 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.17);
  color: #d9e2e5;
  font-size: 15px;
  line-height: 1.9;
}

.mb-service-single__navline {
  border-bottom: 1px solid var(--mb-service-line);
  background: #fff;
}

.mb-service-single__navline .mb-service-shell {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 54px;
  color: #6b777c;
  font-size: 12px;
}

.mb-service-single__navline a {
  color: var(--mb-service-blue);
  text-decoration: none;
}

.mb-service-single__article {
  width: min(900px, calc(100% - 48px));
  margin: 0 auto;
  padding: 82px 0 100px;
}

.mb-service-single__content {
  color: #20282c;
  font-size: 16px;
  line-height: 2;
}

.mb-service-single__content > :first-child {
  margin-top: 0;
}

.mb-service-single__content > :last-child {
  margin-bottom: 0;
}

.mb-service-single__content img {
  max-width: 100%;
  height: auto;
}

.mb-service-single__content video,
.mb-service-single__content iframe {
  max-width: 100%;
}

.mb-service-single__content .wp-video {
  max-width: 100% !important;
}

.mb-service-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 56px;
}

.mb-service-gallery__item {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--mb-service-surface);
}

.mb-service-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-service-booking {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  margin-top: 72px;
  padding: 42px 46px;
  background: var(--mb-service-deep);
  color: #fff;
  box-shadow: inset 3px 0 0 var(--mb-service-gold);
}

.mb-service-booking .mb-service-eyebrow {
  color: var(--mb-service-gold);
}

.mb-service-booking h2 {
  margin: 0;
  color: #fff;
  font-size: 26px;
  line-height: 1.45;
}

.mb-service-booking p:not(.mb-service-eyebrow) {
  margin: 10px 0 0;
  color: #d8e3e6;
  font-size: 14px;
  line-height: 1.8;
}

.mb-service-booking__button {
  display: inline-flex;
  min-height: 54px;
  padding: 0 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  background: #fff;
  color: var(--mb-service-deep);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}

.mb-service-booking__button:hover {
  background: transparent;
  color: #fff;
}

.mb-service-related {
  padding: 82px 0 100px;
  background: var(--mb-service-surface);
}

.mb-service-related__head {
  margin-bottom: 34px;
}

.mb-service-related__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.mb-service-related-card {
  min-width: 0;
}

.mb-service-related-card a {
  display: block;
  height: 100%;
  border: 1px solid var(--mb-service-line);
  background: #fff;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
}

.mb-service-related-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e8edef;
}

.mb-service-related-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-service-related-card h3 {
  margin: 0;
  padding: 18px 18px 0;
  color: var(--mb-service-ink);
  font-size: 16px;
  line-height: 1.5;
}

.mb-service-related-card span {
  display: block;
  padding: 10px 18px 20px;
  color: var(--mb-service-blue);
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 980px) {
  .mb-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mb-service-single__hero {
    grid-template-columns: 1fr;
  }

  .mb-service-single__visual {
    min-height: 420px;
  }

  .mb-service-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 750px) {
  .mb-service-shell {
    width: min(100% - 28px, 1180px);
  }

  .mb-service-hero {
    min-height: 350px;
  }

  .mb-service-hero__inner {
    width: calc(100% - 36px);
    padding: 72px 0 42px;
  }

  .mb-service-hero h1 {
    font-size: 34px;
  }

  .mb-service-hero__desc {
    margin-top: 17px;
    font-size: 14px;
    line-height: 1.85;
  }

  .mb-service-desc-pc {
    display: none;
  }

  .mb-service-desc-sp {
    display: block;
  }

  .mb-service-index {
    padding: 58px 0 72px;
  }

  .mb-service-index__head {
    margin-bottom: 28px;
  }

  .mb-service-index__head h2,
  .mb-service-related__head h2 {
    font-size: 27px;
  }

  /* Smartphone-first: two compact option cards per row to reduce scrolling. */
  .mb-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .mb-service-card__media {
    aspect-ratio: 4 / 3;
  }

  .mb-service-card__body {
    padding: 15px 13px 16px;
  }

  .mb-service-card__kicker,
  .mb-service-card__desc {
    display: none;
  }

  .mb-service-card h3 {
    font-size: 14px;
    line-height: 1.5;
  }

  .mb-service-card__more {
    margin-top: 10px;
    font-size: 11px;
  }

  .mb-service-single__hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .mb-service-single__visual {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .mb-service-single__hero-copy {
    padding: 32px 18px 38px;
  }

  .mb-service-single__sub-title {
    font-size: 12px;
  }

  .mb-service-single__hero h1 {
    font-size: 30px;
  }

  .mb-service-single__lead {
    margin-top: 18px;
    padding-top: 18px;
    font-size: 14px;
    line-height: 1.8;
  }

  .mb-service-single__navline .mb-service-shell {
    width: calc(100% - 36px);
    min-height: 48px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .mb-service-single__article {
    width: calc(100% - 36px);
    padding: 52px 0 68px;
  }

  .mb-service-single__content {
    font-size: 15px;
    line-height: 1.95;
  }

  .mb-service-gallery {
    grid-template-columns: 1fr;
    margin-bottom: 38px;
  }

  .mb-service-booking {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 54px;
    padding: 30px 24px;
  }

  .mb-service-booking h2 {
    font-size: 22px;
  }

  .mb-service-booking__button {
    width: 100%;
  }

  .mb-service-related {
    padding: 56px 0 70px;
  }

  .mb-service-related__head {
    margin-bottom: 24px;
  }

  .mb-service-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .mb-service-related-card h3 {
    padding: 12px 12px 0;
    font-size: 13px;
  }

  .mb-service-related-card span {
    padding: 7px 12px 14px;
    font-size: 10px;
  }
}

@media (max-width: 380px) {
  .mb-service-grid,
  .mb-service-related__grid {
    gap: 8px;
  }

  .mb-service-card h3 {
    font-size: 13px;
  }
}


/* ==========================================================================
   Service editorial body refinement (v1.1.0)
   Keep Classic Editor copy; presentation is controlled here.
   ========================================================================== */

.mb-service-single__content-label {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 28px;
  color: var(--mb-service-blue);
  font-family: "Hind Madurai", "Noto Sans JP", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
}

.mb-service-single__content-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(0,91,120,.34), rgba(0,91,120,0));
}

/* Neutralize legacy quick-tag decoration only inside service detail pages.
   Editors keep using H2/H3/H4 in Classic Editor; the public design is automatic. */
.mb-service-single__content h2,
.mb-service-single__content h3,
.mb-service-single__content h4,
.mb-service-single__content h5,
.mb-service-single__content h6 {
  height: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
  color: var(--mb-service-ink) !important;
  font-family: inherit;
  font-weight: 700 !important;
  letter-spacing: .01em;
}

.mb-service-single__content h2 {
  position: relative;
  margin: 78px 0 30px !important;
  padding: 0 0 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mb-service-line) !important;
  font-size: 31px !important;
  line-height: 1.45 !important;
}

.mb-service-single__content h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 54px;
  height: 2px;
  background: linear-gradient(90deg, var(--mb-service-blue), var(--mb-service-gold));
}

.mb-service-single__content h3 {
  margin: 50px 0 22px !important;
  padding: 2px 0 2px 18px !important;
  border: 0 !important;
  border-left: 4px solid var(--mb-service-blue) !important;
  font-size: 23px !important;
  line-height: 1.55 !important;
}

.mb-service-single__content h4 {
  margin: 38px 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 19px !important;
  line-height: 1.6 !important;
}

.mb-service-single__content h5,
.mb-service-single__content h6 {
  margin: 30px 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.mb-service-single__content p {
  margin: 0 0 1.55em;
}

.mb-service-single__content p + p {
  margin-top: 0;
}

.mb-service-single__content strong,
.mb-service-single__content b {
  color: var(--mb-service-ink);
  font-weight: 700;
}

.mb-service-single__content a:not(.q_custom_button) {
  color: var(--mb-service-blue);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.mb-service-single__content ul,
.mb-service-single__content ol {
  margin: 30px 0;
  padding: 24px 28px 24px 48px;
  border: 1px solid var(--mb-service-line);
  background: var(--mb-service-surface);
}

.mb-service-single__content li {
  margin: .55em 0;
  padding-left: .2em;
}

.mb-service-single__content li::marker {
  color: var(--mb-service-blue);
  font-weight: 700;
}

.mb-service-single__content blockquote {
  position: relative;
  margin: 44px 0;
  padding: 30px 34px 30px 38px;
  border: 0 !important;
  background: var(--mb-service-deep);
  color: #fff;
  font-size: 16px;
  line-height: 1.95;
  box-shadow: inset 3px 0 0 var(--mb-service-gold);
}

.mb-service-single__content blockquote::before,
.mb-service-single__content blockquote::after {
  display: none !important;
}

.mb-service-single__content blockquote p:last-child {
  margin-bottom: 0;
}

.mb-service-single__content hr {
  height: 1px;
  margin: 58px 0;
  border: 0;
  background: var(--mb-service-line);
}

/* Editorial images: use existing images selectively, but make the ones that remain
   feel intentional and consistent. */
.mb-service-single__content img {
  max-width: 100% !important;
  height: auto !important;
}

.mb-service-single__content figure,
.mb-service-single__content .wp-caption,
.mb-service-single__content .wp-block-image,
.mb-service-single__content p:has(> img:only-child) {
  max-width: 100% !important;
  margin: 42px 0 !important;
}

.mb-service-single__content figure img,
.mb-service-single__content .wp-caption img,
.mb-service-single__content .wp-block-image img,
.mb-service-single__content p:has(> img:only-child) > img {
  display: block;
  width: auto;
  max-width: 100% !important;
  margin-inline: auto;
  background: #eef2f3;
}

.mb-service-single__content figcaption,
.mb-service-single__content .wp-caption-text {
  margin: 10px auto 0 !important;
  color: #718087;
  font-size: 12px !important;
  line-height: 1.65 !important;
  text-align: center !important;
}

/* Legacy alignment is allowed on desktop, but with safe dimensions. */
.mb-service-single__content .alignleft {
  float: left;
  max-width: min(46%, 380px) !important;
  margin: 8px 34px 22px 0 !important;
}

.mb-service-single__content .alignright {
  float: right;
  max-width: min(46%, 380px) !important;
  margin: 8px 0 22px 34px !important;
}

.mb-service-single__content .aligncenter {
  display: block;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Tables are treated as information components rather than raw editor tables. */
.mb-service-single__content table {
  display: table;
  width: 100% !important;
  max-width: 100% !important;
  margin: 38px 0;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid var(--mb-service-line);
  background: #fff;
  table-layout: auto;
}

.mb-service-single__content th,
.mb-service-single__content td {
  padding: 15px 17px !important;
  border: 1px solid var(--mb-service-line) !important;
  vertical-align: top;
  line-height: 1.7;
}

.mb-service-single__content th {
  background: #edf3f5;
  color: var(--mb-service-ink);
  font-weight: 700;
  text-align: left;
}

.mb-service-single__content tr:nth-child(even) td {
  background: #fafcfc;
}

/* Videos / embeds */
.mb-service-single__content iframe[src*="youtube"],
.mb-service-single__content iframe[src*="youtu.be"],
.mb-service-single__content iframe[src*="vimeo"] {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  margin: 42px 0;
  border: 0;
}

.mb-service-single__content .wp-video,
.mb-service-single__content video {
  width: 100% !important;
  max-width: 100% !important;
  margin: 42px 0;
}

/* TCD / Classic Editor buttons inside a service body:
   retain editor insertion convenience but align public visual language. */
.mb-service-single__content .q_custom_button,
.mb-service-single__content a[class*="q_custom_button"] {
  border-radius: 4px !important;
  font-weight: 700 !important;
}

/* The automatically inserted legacy slider is intentionally capped at two images.
   If the editor body contains media, it is not inserted at all. */
.mb-service-gallery {
  max-width: 900px;
}

.mb-service-gallery__item {
  position: relative;
}

.mb-service-gallery__item::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, var(--mb-service-blue), var(--mb-service-gold));
}

@media (max-width: 750px) {
  .mb-service-single__content-label {
    margin-bottom: 22px;
  }

  .mb-service-single__content h2 {
    margin: 58px 0 24px !important;
    padding-bottom: 14px !important;
    font-size: 25px !important;
  }

  .mb-service-single__content h3 {
    margin: 38px 0 18px !important;
    padding-left: 14px !important;
    border-left-width: 3px !important;
    font-size: 20px !important;
  }

  .mb-service-single__content h4 {
    margin: 31px 0 15px !important;
    font-size: 17px !important;
  }

  .mb-service-single__content h5,
  .mb-service-single__content h6 {
    font-size: 15px !important;
  }

  .mb-service-single__content ul,
  .mb-service-single__content ol {
    margin: 24px 0;
    padding: 20px 18px 20px 38px;
  }

  .mb-service-single__content blockquote {
    margin: 32px 0;
    padding: 24px 22px 24px 26px;
    font-size: 14px;
  }

  .mb-service-single__content figure,
  .mb-service-single__content .wp-caption,
  .mb-service-single__content .wp-block-image,
  .mb-service-single__content p:has(> img:only-child) {
    margin: 30px 0 !important;
  }

  .mb-service-single__content .alignleft,
  .mb-service-single__content .alignright {
    float: none !important;
    display: block;
    max-width: 100% !important;
    margin: 30px auto !important;
  }

  /* Make wide legacy tables usable on mobile without breaking the page width. */
  .mb-service-single__content table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .mb-service-single__content th,
  .mb-service-single__content td {
    padding: 12px 13px !important;
    font-size: 13px;
  }
}

/* ==========================================================================
   Managed option/service sales panel (v1.2.0)
   ========================================================================== */
.mb-service-offer{position:relative;padding:0 0 24px;background:linear-gradient(180deg,#f4f7f8 0%,#fff 100%)}
.mb-service-offer__panel{position:relative;margin-top:0;padding:46px 50px 42px;border:1px solid #d7e0e4;background:#fff;box-shadow:0 20px 55px rgba(5,36,47,.09);overflow:hidden}
.mb-service-offer__panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--mb-service-blue),var(--mb-service-gold))}
.mb-service-offer__head{max-width:820px;margin-bottom:30px}.mb-service-offer__head h2{margin:0;color:var(--mb-service-ink);font-size:clamp(28px,3.4vw,42px);line-height:1.35}.mb-service-offer__head>p:last-child{margin:14px 0 0;color:#536269;font-size:15px;line-height:1.9}
.mb-service-offer__prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 24px}.mb-service-offer-price{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid #d7e0e4;background:#f8fafb}.mb-service-offer-price__label{color:#46545a;font-size:14px;font-weight:700;line-height:1.6}.mb-service-offer-price__value{color:var(--mb-service-deep);font-family:"Hind Madurai","Noto Sans JP",sans-serif;font-size:clamp(26px,3vw,38px);line-height:1;white-space:nowrap;letter-spacing:-.02em}
.mb-service-offer__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;background:#d7e0e4;border:1px solid #d7e0e4}.mb-service-offer__facts>div{min-width:0;padding:17px 18px;background:#fff}.mb-service-offer__facts dt{margin:0 0 5px;color:#748087;font-size:11px;font-weight:700;letter-spacing:.04em}.mb-service-offer__facts dd{margin:0;color:#1b2529;font-size:14px;font-weight:700;line-height:1.55}
.mb-service-offer__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0 0}.mb-service-offer__benefits>div{display:flex;gap:10px;align-items:flex-start;padding:16px 17px;background:#edf4f6;color:#304047;font-size:13px;font-weight:700;line-height:1.65}.mb-service-offer__benefits span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--mb-service-blue);color:#fff;font-size:12px}
.mb-service-offer__note{margin:20px 0 0;padding:14px 16px;border-left:3px solid var(--mb-service-gold);background:#faf8f2;color:#665c46;font-size:12px;line-height:1.75}.mb-service-offer__action{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:28px;border-top:1px solid #e0e6e8}.mb-service-offer__action a{display:inline-flex;align-items:center;justify-content:center;min-width:250px;min-height:56px;padding:0 28px;background:var(--mb-service-deep);color:#fff;text-decoration:none;font-size:14px;font-weight:700;transition:background .2s ease,transform .2s ease}.mb-service-offer__action a:hover{background:var(--mb-service-blue);transform:translateY(-1px)}.mb-service-offer__action span{color:#78858b;font-size:12px;line-height:1.6;text-align:right}
.mb-service-offer__consultation-copy{margin:0 0 22px;padding:22px 24px;background:#f5f8f9;border:1px solid #d7e0e4;color:#243238;font-size:17px;font-weight:700;line-height:1.7}
/* Quick options make the price the immediate decision cue. */
.mb-service-offer--quick .mb-service-offer__panel{padding-top:40px}.mb-service-offer--quick .mb-service-offer__head{margin-bottom:22px}.mb-service-offer--quick .mb-service-offer__prices{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.mb-service-offer--quick .mb-service-offer-price{background:var(--mb-service-deep);border-color:var(--mb-service-deep)}.mb-service-offer--quick .mb-service-offer-price__label{color:#d8e3e6}.mb-service-offer--quick .mb-service-offer-price__value{color:#fff}.mb-service-offer--quick .mb-service-offer-price:after{content:"OPTION";align-self:flex-start;color:var(--mb-service-gold);font-size:9px;font-weight:700;letter-spacing:.14em}
/* Premium services get more whitespace and a quiet gold frame. */
.mb-service-offer--premium{padding-bottom:34px}.mb-service-offer--premium .mb-service-offer__panel{padding:58px 60px 50px;border-color:#d9d0bd;box-shadow:0 24px 70px rgba(3,31,42,.12)}.mb-service-offer--premium .mb-service-offer__panel:before{width:5px;background:var(--mb-service-gold)}.mb-service-offer--premium .mb-service-offer-price{background:#fffaf0;border-color:#e5dac4}.mb-service-offer--premium .mb-service-offer__benefits>div{background:#f7f3ea}
/* Consultation services are sold by trust rather than a fixed amount. */
.mb-service-offer--consultation{background:var(--mb-service-deep);padding:40px 0}.mb-service-offer--consultation .mb-service-offer__panel{margin:0;border-color:rgba(255,255,255,.14);background:#0a3a49;color:#fff;box-shadow:none}.mb-service-offer--consultation .mb-service-offer__panel:before{background:var(--mb-service-gold)}.mb-service-offer--consultation .mb-service-eyebrow{color:var(--mb-service-gold)}.mb-service-offer--consultation .mb-service-offer__head h2{color:#fff}.mb-service-offer--consultation .mb-service-offer__head>p:last-child{color:#d7e2e5}.mb-service-offer--consultation .mb-service-offer__consultation-copy{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}.mb-service-offer--consultation .mb-service-offer__facts{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.14)}.mb-service-offer--consultation .mb-service-offer__facts>div{background:rgba(255,255,255,.05)}.mb-service-offer--consultation .mb-service-offer__facts dt{color:#aebec3}.mb-service-offer--consultation .mb-service-offer__facts dd{color:#fff}.mb-service-offer--consultation .mb-service-offer__benefits>div{background:rgba(255,255,255,.07);color:#eef4f6}.mb-service-offer--consultation .mb-service-offer__action{border-color:rgba(255,255,255,.14)}.mb-service-offer--consultation .mb-service-offer__action a{background:#fff;color:var(--mb-service-deep)}.mb-service-offer--consultation .mb-service-offer__action span{color:#b8c7cb}
/* When a managed offer exists the long-form body becomes supporting evidence, not the first decision point. */
.mb-service-single:has(.mb-service-offer) .mb-service-single__article{padding-top:58px}
@media(max-width:980px){.mb-service-offer__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.mb-service-offer__benefits{grid-template-columns:1fr}.mb-service-offer__action{align-items:flex-start;flex-direction:column}.mb-service-offer__action span{text-align:left}.mb-service-offer--premium .mb-service-offer__panel{padding:48px 42px}}
@media(max-width:750px){.mb-service-offer{padding:0 0 8px}.mb-service-offer .mb-service-shell{width:100%}.mb-service-offer__panel{padding:30px 18px 28px;border-left:0;border-right:0;box-shadow:none}.mb-service-offer__panel:before{width:3px}.mb-service-offer__head{margin-bottom:22px}.mb-service-offer__head h2{font-size:26px}.mb-service-offer__head>p:last-child{font-size:14px}.mb-service-offer__prices{grid-template-columns:1fr;gap:8px}.mb-service-offer-price{padding:18px 17px}.mb-service-offer-price__label{font-size:12px}.mb-service-offer-price__value{font-size:27px}.mb-service-offer__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.mb-service-offer__facts>div{padding:13px 12px}.mb-service-offer__facts dd{font-size:12px}.mb-service-offer__benefits{margin-top:16px;gap:7px}.mb-service-offer__benefits>div{padding:13px 12px;font-size:12px}.mb-service-offer__note{margin-top:16px}.mb-service-offer__action{margin-top:22px;padding-top:22px}.mb-service-offer__action a{width:100%;min-width:0}.mb-service-offer--premium{padding-bottom:8px}.mb-service-offer--premium .mb-service-offer__panel{padding:32px 18px 30px;border-left:0;border-right:0}.mb-service-offer--consultation{padding:0}.mb-service-offer--consultation .mb-service-offer__panel{padding:32px 18px}.mb-service-offer__consultation-copy{padding:18px;font-size:15px}.mb-service-single:has(.mb-service-offer) .mb-service-single__article{padding-top:42px}}

/* ==========================================================================
   Option Manager sales presentation (v1.3.0)
   Quiet luxury: smaller typography, thin rules, editorial spacing.
   ========================================================================== */
.mb-option-sheet{padding:56px 0 34px;background:linear-gradient(180deg,#f4f6f6 0%,#fff 100%)}
.mb-option-sheet__inner{position:relative;padding:52px 56px 44px;border:1px solid #d9e0e1;background:#fff;box-shadow:0 18px 48px rgba(5,36,47,.055)}
.mb-option-sheet__inner:before{content:"";position:absolute;left:-1px;top:-1px;width:3px;height:96px;background:#b99a59}
.mb-option-sheet__head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:56px;align-items:end;padding-bottom:30px;border-bottom:1px solid #dde3e5}
.mb-option-sheet__eyebrow{margin:0 0 11px;color:#866f3e;font-family:"Hind Madurai","Noto Sans JP",sans-serif;font-size:9px;font-weight:700;letter-spacing:.24em;line-height:1.2}
.mb-option-sheet__head h2{margin:0;color:#172126;font-size:clamp(24px,2.6vw,32px);font-weight:600;letter-spacing:.01em;line-height:1.45}
.mb-option-sheet__lead{margin:0;color:#58666c;font-size:13px;line-height:2;max-width:620px}
.mb-option-sheet__prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:32px;background:#dfe4e5;border:1px solid #dfe4e5}
.mb-option-price{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;min-width:0;padding:24px 26px;background:#fbfaf6}
.mb-option-price__label{color:#526067;font-size:12px;font-weight:600;line-height:1.6}
.mb-option-price__value{color:#092e3a;font-family:"Hind Madurai","Noto Sans JP",sans-serif;font-size:clamp(25px,2.8vw,34px);font-weight:600;letter-spacing:-.025em;line-height:1;white-space:nowrap}
.mb-option-sheet__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:26px 0 0;border-top:1px solid #dde3e5;border-bottom:1px solid #dde3e5}
.mb-option-sheet__facts>div{min-width:0;padding:18px 20px;border-right:1px solid #e1e6e8}.mb-option-sheet__facts>div:last-child{border-right:0}
.mb-option-sheet__facts dt{margin:0 0 7px;color:#899399;font-size:9px;font-weight:700;letter-spacing:.06em}.mb-option-sheet__facts dd{margin:0;color:#202b30;font-size:13px;font-weight:600;line-height:1.65}
.mb-option-sheet__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:28px 0 0;padding:0;list-style:none;border-top:1px solid #e3e7e8}
.mb-option-sheet__benefits li{position:relative;margin:0;padding:17px 18px 17px 27px;border-bottom:1px solid #e3e7e8;color:#405057;font-size:12px;font-weight:600;line-height:1.7}.mb-option-sheet__benefits li:before{content:"";position:absolute;left:7px;top:25px;width:7px;height:1px;background:#b99a59}
.mb-option-sheet__note{margin:22px 0 0;padding:0 0 0 16px;border-left:1px solid #b99a59;color:#746b5a;font-size:11px;line-height:1.9}
.mb-option-sheet__consultation{margin-top:30px;padding:22px 0;border-top:1px solid #dde3e5;border-bottom:1px solid #dde3e5;color:#243239;font-size:14px;font-weight:600;line-height:1.8}
.mb-option-sheet__order{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-top:32px;padding-top:25px;border-top:1px solid #dde3e5}
.mb-option-sheet__order>div{max-width:690px}.mb-option-sheet__order>div>span{display:block;margin-bottom:6px;color:#866f3e;font-family:"Hind Madurai","Noto Sans JP",sans-serif;font-size:9px;font-weight:700;letter-spacing:.18em}.mb-option-sheet__order strong{display:block;color:#2d393e;font-size:12px;font-weight:600;line-height:1.8}
.mb-option-sheet__order nav{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end}.mb-option-sheet__order a{position:relative;color:#07546d;font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}.mb-option-sheet__order a:after{content:"→";margin-left:7px}.mb-option-sheet__order a:hover{text-decoration:underline;text-underline-offset:4px}
.mb-option-sheet--premium{padding-top:64px}.mb-option-sheet--premium .mb-option-sheet__inner{border-color:#dcd6c9;box-shadow:0 22px 58px rgba(4,31,42,.065)}.mb-option-sheet--premium .mb-option-sheet__inner:before{height:132px;background:#b79a5e}.mb-option-sheet--premium .mb-option-price{background:#f9f6ef}
.mb-option-sheet--quick .mb-option-sheet__inner{padding-top:42px;padding-bottom:38px}.mb-option-sheet--quick .mb-option-sheet__head{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr)}.mb-option-sheet--quick .mb-option-sheet__prices{max-width:860px}.mb-option-sheet--quick .mb-option-price__value{font-size:clamp(24px,2.5vw,31px)}
.mb-option-sheet--consultation{background:#f2f5f5}.mb-option-sheet--consultation .mb-option-sheet__inner{border-color:#cdd8db}.mb-option-sheet--consultation .mb-option-sheet__inner:before{background:#0a536b}

/* Body is editorial, not a raw Classic Editor canvas. */
.mb-service-single:has(.mb-option-sheet) .mb-service-single__article{width:min(860px,calc(100% - 48px));padding-top:72px}
.mb-service-single__content-label{margin-bottom:36px;color:#07546d;font-size:9px;letter-spacing:.24em}.mb-service-single__content-label:after{background:linear-gradient(90deg,rgba(7,84,109,.22),rgba(7,84,109,0))}
.mb-service-single__content{color:#283238;font-size:15px;line-height:2.15}
.mb-service-single__content p{margin:0 0 1.75em;text-align:left!important}
.mb-service-single__content h2{margin:72px 0 28px!important;padding:0 0 15px!important;border-bottom:1px solid #dfe4e6!important;font-size:26px!important;font-weight:600!important;letter-spacing:.015em!important;line-height:1.55!important}
.mb-service-single__content h2:after{width:42px;height:1px;background:#b99a59}
.mb-service-single__content h3{margin:46px 0 19px!important;padding:0 0 0 15px!important;border-left:2px solid #0b5b75!important;font-size:19px!important;font-weight:600!important;line-height:1.65!important}
.mb-service-single__content h4{margin:34px 0 16px!important;font-size:16px!important;font-weight:700!important;line-height:1.7!important}
.mb-service-single__content ul,.mb-service-single__content ol{margin:30px 0;padding:22px 24px 22px 43px;border:0;border-top:1px solid #dfe4e6;border-bottom:1px solid #dfe4e6;background:#fafbfb}
.mb-service-single__content li{margin:.65em 0}.mb-service-single__content li::marker{color:#876f3e}
.mb-service-single__content blockquote{margin:40px 0;padding:26px 30px 26px 34px;background:#f6f4ee;color:#42443f;font-size:14px;box-shadow:inset 2px 0 0 #b99a59}
.mb-service-single__content figure,.mb-service-single__content .wp-caption,.mb-service-single__content .wp-block-image,.mb-service-single__content p:has(> img:only-child){margin:46px 0!important;text-align:center!important}
.mb-service-single__content p:has(> img:only-child){text-align:center!important}
.mb-service-single__content figure img,.mb-service-single__content .wp-caption img,.mb-service-single__content .wp-block-image img,.mb-service-single__content p:has(> img:only-child)>img{max-width:100%!important;margin-inline:auto;border:1px solid #edf0f1;background:#f4f5f5}
.mb-service-single__content figcaption,.mb-service-single__content .wp-caption-text{color:#818c91;font-size:10px!important;letter-spacing:.02em;line-height:1.7!important}
.mb-service-gallery{margin-bottom:62px}.mb-service-gallery__item:after{height:1px;background:#b99a59}

/* The previous direct reservation cards are intentionally disabled in 1.3.0.
   Add-on services must not look independently orderable. */
.mb-service-single .mb-service-booking,.mb-service-single .mb-service-offer{display:none!important}

@media(max-width:980px){
  .mb-option-sheet__head{grid-template-columns:1fr;gap:18px;align-items:start}.mb-option-sheet__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.mb-option-sheet__facts>div:nth-child(2n){border-right:0}.mb-option-sheet__benefits{grid-template-columns:1fr}.mb-option-sheet__order{align-items:flex-start;flex-direction:column}.mb-option-sheet__order nav{justify-content:flex-start}
}
@media(max-width:750px){
  .mb-option-sheet{padding:32px 0 14px}.mb-option-sheet .mb-service-shell{width:100%}.mb-option-sheet__inner{padding:32px 18px 28px;border-left:0;border-right:0;box-shadow:none}.mb-option-sheet__inner:before{left:18px;top:0;width:42px;height:2px}.mb-option-sheet--premium{padding-top:32px}.mb-option-sheet--premium .mb-option-sheet__inner:before{height:2px;width:58px}.mb-option-sheet__head{padding-bottom:23px}.mb-option-sheet__head h2{font-size:23px}.mb-option-sheet__lead{font-size:12px;line-height:1.9}.mb-option-sheet__prices{grid-template-columns:1fr;margin-top:24px}.mb-option-price{padding:18px 16px;gap:16px}.mb-option-price__label{font-size:11px}.mb-option-price__value{font-size:25px}.mb-option-sheet__facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.mb-option-sheet__facts>div{padding:14px 12px}.mb-option-sheet__facts dt{font-size:8px}.mb-option-sheet__facts dd{font-size:11px}.mb-option-sheet__benefits{margin-top:20px}.mb-option-sheet__benefits li{padding:13px 12px 13px 24px;font-size:11px}.mb-option-sheet__benefits li:before{left:7px;top:21px}.mb-option-sheet__note{font-size:10px}.mb-option-sheet__order{gap:16px;margin-top:24px;padding-top:20px}.mb-option-sheet__order strong{font-size:11px}.mb-option-sheet__order nav{gap:12px 18px}.mb-option-sheet__order a{font-size:10px}
  .mb-service-single:has(.mb-option-sheet) .mb-service-single__article{width:calc(100% - 36px);padding-top:50px}.mb-service-single__content-label{margin-bottom:28px}.mb-service-single__content{font-size:14px;line-height:2.05}.mb-service-single__content h2{margin:54px 0 22px!important;padding-bottom:12px!important;font-size:22px!important}.mb-service-single__content h3{margin:36px 0 17px!important;font-size:18px!important}.mb-service-single__content h4{font-size:16px!important}.mb-service-single__content figure,.mb-service-single__content .wp-caption,.mb-service-single__content .wp-block-image,.mb-service-single__content p:has(> img:only-child){margin:34px 0!important}
}


/* ==========================================================================
   Option / service refinement (v1.3.1)
   - Robust mobile header
   - More branded color on the commercial panel
   - Dedicated premium editorial CSS for Classic Editor service copy
   ========================================================================== */

/* ---------- OPTION INFORMATION PANEL ---------- */

/* Mobile/tablet is the safe default. Desktop two-column composition is opt-in
   below, so the title can never be squeezed into the narrow column seen in 1.3.0. */
.mb-option-sheet__head {
  display: block;
  margin: -52px -56px 0;
  padding: 38px 42px 36px;
  border-bottom: 0;
  background:
    linear-gradient(118deg, rgba(185,154,89,.12) 0, rgba(185,154,89,0) 32%),
    linear-gradient(135deg, #052e3a 0%, #0a4353 100%);
}

.mb-option-sheet__eyebrow {
  margin-bottom: 12px;
  color: #d1b778;
}

.mb-option-sheet__head h2 {
  max-width: 720px;
  color: #fff;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: .015em;
  line-height: 1.48;
}

.mb-option-sheet__lead {
  max-width: 720px;
  margin-top: 16px;
  color: #d7e2e5;
  font-size: 13px;
  line-height: 2;
}

.mb-option-sheet__prices {
  margin-top: 30px;
  border-color: #ddd5c5;
  background: #ddd5c5;
}

.mb-option-price {
  position: relative;
  background: linear-gradient(135deg, #fbf8f1 0%, #f6f1e7 100%);
}

.mb-option-price::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: #b99a59;
}

.mb-option-price__label {
  color: #5b5f5f;
}

.mb-option-price__value {
  color: #073746;
}

.mb-option-sheet__facts {
  gap: 1px;
  border: 1px solid #d9e2e4;
  background: #d9e2e4;
}

.mb-option-sheet__facts > div {
  border-right: 0;
  background: #f1f6f7;
}

.mb-option-sheet__facts dt {
  color: #7b8c92;
}

.mb-option-sheet__facts dd {
  color: #17323b;
}

.mb-option-sheet__benefits {
  gap: 1px;
  border-top: 0;
  background: #e3ded2;
}

.mb-option-sheet__benefits li {
  border-bottom: 0;
  background: #faf8f2;
  color: #34454b;
}

.mb-option-sheet__benefits li::before {
  background: #b99a59;
}

.mb-option-sheet__note {
  padding: 14px 18px;
  border-left: 2px solid #b99a59;
  background: #f8f5ee;
  color: #665f51;
}

.mb-option-sheet__order {
  margin-top: 30px;
  padding: 20px 22px;
  border-top: 0;
  background: #edf4f5;
}

.mb-option-sheet__order > div > span {
  color: #8b7441;
}

.mb-option-sheet__order strong {
  color: #19343d;
}

.mb-option-sheet__order a {
  color: #07546d;
}

/* Desktop-only split composition. */
@media (min-width: 981px) {
  .mb-option-sheet__head {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr);
    gap: 58px;
    align-items: end;
  }

  .mb-option-sheet__lead {
    margin-top: 0;
  }
}

/* ---------- SERVICE DETAIL / CLASSIC EDITOR PRESENTATION ---------- */

/* Give the descriptive area its own premium editorial surface instead of
   presenting raw Classic Editor text on a blank white page. */
.mb-service-single:has(.mb-option-sheet) .mb-service-single__article {
  width: min(1040px, calc(100% - 48px));
  padding-top: 78px;
}

.mb-service-single__content-label {
  width: min(900px, 100%);
  margin: 0 auto 22px;
  color: #8a7340;
}

.mb-service-single__content-label::after {
  background: linear-gradient(90deg, rgba(185,154,89,.48), rgba(7,84,109,.12), rgba(7,84,109,0));
}

.mb-service-single__content {
  counter-reset: mb-service-feature;
  width: min(900px, 100%);
  margin: 0 auto;
  padding: 58px 64px 66px;
  border: 1px solid #dce4e6;
  background:
    linear-gradient(180deg, rgba(238,245,246,.82) 0, rgba(255,255,255,0) 150px),
    #fff;
  box-shadow: 0 22px 58px rgba(4,31,42,.065);
  color: #26343a;
  font-size: 15px;
  line-height: 2.15;
}

/* Opening paragraph = editorial lead. */
.mb-service-single__content > p:first-child:not(:has(img)) {
  position: relative;
  margin-bottom: 28px;
  padding: 0 0 26px 22px;
  border-bottom: 1px solid #dce4e6;
  color: #123a47;
  font-size: 17px;
  font-weight: 500;
  line-height: 2;
}

.mb-service-single__content > p:first-child:not(:has(img))::before {
  content: "";
  position: absolute;
  inset: 7px auto 30px 0;
  width: 2px;
  background: linear-gradient(#b99a59, rgba(185,154,89,.15));
}

.mb-service-single__content p {
  color: #35434a;
}

/* Chapter heading: deep navy block + restrained gold detail. */
.mb-service-single__content h2 {
  position: relative;
  margin: 72px -22px 30px !important;
  padding: 27px 30px 26px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #062f3c 0%, #0a4657 100%) !important;
  color: #fff !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  letter-spacing: .015em !important;
  line-height: 1.55 !important;
}

.mb-service-single__content h2::before {
  content: "SERVICE";
  display: block;
  margin-bottom: 8px;
  color: #d1b778;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1;
}

.mb-service-single__content h2::after {
  display: none;
}

/* Feature heading: numbered editorial band.
   This makes simple H3 + paragraphs entered in Classic Editor feel designed. */
.mb-service-single__content h3 {
  counter-increment: mb-service-feature;
  position: relative;
  margin: 54px 0 24px !important;
  padding: 23px 24px 22px 78px !important;
  border: 0 !important;
  border-top: 1px solid #c8d6da !important;
  border-bottom: 1px solid #c8d6da !important;
  background: #edf4f5 !important;
  color: #123b48 !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
}

.mb-service-single__content h3::before {
  content: counter(mb-service-feature, decimal-leading-zero);
  position: absolute;
  left: 24px;
  top: 50%;
  translate: 0 -50%;
  color: #b08f4e;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
}

.mb-service-single__content h3::after {
  content: "";
  position: absolute;
  left: 59px;
  top: 19px;
  bottom: 19px;
  width: 1px;
  background: #c7d4d7;
}

.mb-service-single__content h4 {
  position: relative;
  margin: 40px 0 19px !important;
  padding: 0 0 0 18px !important;
  color: #163b47 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

.mb-service-single__content h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 1px;
  background: #b99a59;
}

.mb-service-single__content strong,
.mb-service-single__content b {
  color: #113946;
}

/* Information lists become restrained specification panels. */
.mb-service-single__content ul,
.mb-service-single__content ol {
  margin: 34px 0;
  padding: 24px 28px 24px 48px;
  border: 1px solid #dce4e6;
  border-top: 2px solid #0a536b;
  background: #f2f7f8;
}

.mb-service-single__content li::marker {
  color: #b08f4e;
}

/* Premium image treatment. Existing images are used; no new image is required. */
.mb-service-single__content figure,
.mb-service-single__content .wp-caption,
.mb-service-single__content .wp-block-image,
.mb-service-single__content p:has(> img:only-child) {
  position: relative;
  margin: 48px 0 !important;
  padding: 9px 9px 24px;
  border: 1px solid #ded8ca;
  background: linear-gradient(180deg, #faf8f2 0%, #f3efe5 100%);
  box-shadow: 0 18px 44px rgba(4,31,42,.10);
  text-align: center !important;
}

.mb-service-single__content figure::after,
.mb-service-single__content .wp-caption::after,
.mb-service-single__content .wp-block-image::after,
.mb-service-single__content p:has(> img:only-child)::after {
  content: "";
  position: absolute;
  left: 9px;
  right: 9px;
  bottom: 8px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #b99a59, transparent);
}

.mb-service-single__content figure img,
.mb-service-single__content .wp-caption img,
.mb-service-single__content .wp-block-image img,
.mb-service-single__content p:has(> img:only-child) > img {
  display: block;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
  border: 0;
  background: #eef2f3;
}

.mb-service-single__content figcaption,
.mb-service-single__content .wp-caption-text {
  margin: 13px 0 -7px !important;
  color: #786f5e;
}

/* Quotes / important notes. */
.mb-service-single__content blockquote {
  margin: 42px 0;
  padding: 29px 32px 29px 36px;
  border: 0 !important;
  background: linear-gradient(135deg, #062f3c 0%, #0a4657 100%);
  color: #f1f5f6;
  box-shadow: inset 2px 0 0 #c5a45d, 0 14px 32px rgba(4,31,42,.09);
}

.mb-service-single__content blockquote p {
  color: #f1f5f6;
}

/* Keep table usability from the previous version but give it the same language. */
.mb-service-single__content table {
  border-color: #d7e1e3;
  box-shadow: 0 10px 28px rgba(4,31,42,.045);
}

.mb-service-single__content th {
  background: #0a4353;
  color: #fff;
}

.mb-service-single__content tr:nth-child(even) td {
  background: #f3f7f8;
}

@media (max-width: 980px) {
  .mb-option-sheet__head {
    display: block;
  }

  .mb-option-sheet__lead {
    margin-top: 15px;
  }
}

@media (max-width: 750px) {
  .mb-option-sheet__inner {
    padding-top: 28px;
  }

  .mb-option-sheet__head {
    margin: -28px -18px 0;
    padding: 28px 18px 26px;
  }

  .mb-option-sheet__head h2 {
    max-width: none;
    font-size: 20px;
    line-height: 1.55;
  }

  .mb-option-sheet__eyebrow {
    margin-bottom: 9px;
    font-size: 8px;
    letter-spacing: .2em;
  }

  .mb-option-sheet__lead {
    margin-top: 13px;
    font-size: 12px;
    line-height: 1.85;
  }

  .mb-option-sheet__prices {
    margin-top: 22px;
  }

  .mb-option-price {
    align-items: center;
    padding: 17px 14px;
  }

  .mb-option-price__value {
    font-size: 23px;
  }

  .mb-option-sheet__order {
    display: block;
    padding: 18px;
  }

  .mb-option-sheet__order nav {
    margin-top: 12px;
  }

  .mb-service-single:has(.mb-option-sheet) .mb-service-single__article {
    width: calc(100% - 28px);
    padding-top: 46px;
  }

  .mb-service-single__content-label {
    margin-bottom: 18px;
  }

  .mb-service-single__content {
    padding: 34px 20px 40px;
    border-color: #dfe6e7;
    box-shadow: 0 12px 34px rgba(4,31,42,.055);
    font-size: 14px;
    line-height: 2.05;
  }

  .mb-service-single__content > p:first-child:not(:has(img)) {
    padding: 0 0 22px 15px;
    font-size: 15px;
    line-height: 1.95;
  }

  .mb-service-single__content h2 {
    margin: 52px -8px 25px !important;
    padding: 23px 20px 22px !important;
    font-size: 21px !important;
  }

  .mb-service-single__content h3 {
    margin: 42px 0 22px !important;
    padding: 20px 16px 19px 58px !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  .mb-service-single__content h3::before {
    left: 16px;
    font-size: 11px;
  }

  .mb-service-single__content h3::after {
    left: 44px;
    top: 16px;
    bottom: 16px;
  }

  .mb-service-single__content h4 {
    margin-top: 32px !important;
    font-size: 16px !important;
  }

  .mb-service-single__content figure,
  .mb-service-single__content .wp-caption,
  .mb-service-single__content .wp-block-image,
  .mb-service-single__content p:has(> img:only-child) {
    margin: 34px 0 !important;
    padding: 6px 6px 19px;
    box-shadow: 0 12px 28px rgba(4,31,42,.08);
  }

  .mb-service-single__content ul,
  .mb-service-single__content ol {
    padding: 20px 18px 20px 38px;
  }
}


/* ==========================================================================
   Option information desktop balance (v1.3.2)
   The 1.3.1 palette/direction is retained. This pass fixes the sparse desktop
   geometry and increases the practical reading size of facts and benefits.
   ========================================================================== */

@media (min-width: 981px) {
  .mb-option-sheet__inner {
    padding: 52px 56px 48px;
  }

  .mb-option-sheet__head {
    grid-template-columns: minmax(360px, .92fr) minmax(420px, 1.08fr);
    gap: 68px;
    padding: 40px 42px 38px;
  }

  .mb-option-sheet__head h2 {
    font-size: 29px;
    line-height: 1.45;
  }

  .mb-option-sheet__lead {
    max-width: 560px;
    font-size: 14px;
    line-height: 1.9;
  }

  /*
   * One-price options previously left an empty second grid cell, creating
   * a large beige blank block. A single price now becomes one deliberate
   * full-width information band.
   */
  .mb-option-sheet__prices:has(> .mb-option-price:only-child) {
    grid-template-columns: 1fr;
    gap: 0;
    border-color: #ded8c9;
    background: #f8f5ed;
  }

  .mb-option-sheet__prices:has(> .mb-option-price:only-child) > .mb-option-price {
    justify-content: flex-start;
    gap: 54px;
    min-height: 86px;
    padding: 24px 30px;
  }

  .mb-option-sheet__prices:has(> .mb-option-price:only-child) .mb-option-price__label {
    min-width: 145px;
  }

  .mb-option-price__label {
    font-size: 13px;
    line-height: 1.6;
  }

  .mb-option-price__value {
    font-size: clamp(28px, 2.35vw, 34px);
  }

  /*
   * A service with only one fact (e.g. +10 min) should not look like the
   * first cell of a four-column spreadsheet. It becomes a clean horizontal
   * specification strip.
   */
  .mb-option-sheet__facts:has(> div:only-child) {
    display: block;
    border: 1px solid #d7e1e3;
    background: #edf4f5;
  }

  .mb-option-sheet__facts:has(> div:only-child) > div {
    display: flex;
    align-items: center;
    gap: 34px;
    min-height: 70px;
    padding: 17px 28px;
    border-right: 0;
    background: transparent;
  }

  .mb-option-sheet__facts:has(> div:only-child) dt {
    min-width: 112px;
    margin: 0;
  }

  .mb-option-sheet__facts:has(> div:only-child) dd {
    margin: 0;
  }

  /* General fact typography: intentionally larger than 1.3.1. */
  .mb-option-sheet__facts dt {
    margin-bottom: 8px;
    font-size: 10px;
    letter-spacing: .07em;
  }

  .mb-option-sheet__facts dd {
    font-size: 15px;
    line-height: 1.6;
  }

  /* Benefits are decision information, not fine print. */
  .mb-option-sheet__benefits li {
    display: flex;
    align-items: center;
    min-height: 62px;
    padding: 18px 20px 18px 31px;
    font-size: 14px;
    line-height: 1.65;
  }

  .mb-option-sheet__benefits li::before {
    left: 11px;
    top: 50%;
    translate: 0 -50%;
    width: 8px;
  }

  .mb-option-sheet__order {
    padding: 21px 24px;
  }

  .mb-option-sheet__order > div > span {
    font-size: 10px;
  }

  .mb-option-sheet__order strong {
    font-size: 13px;
    line-height: 1.75;
  }

  .mb-option-sheet__order a {
    font-size: 12px;
  }

  /*
   * When there are multiple facts/prices the grid remains compact, but
   * all visible cells are given enough visual weight for desktop viewing.
   */
  .mb-option-sheet__facts:not(:has(> div:only-child)) > div {
    min-height: 76px;
    padding: 19px 22px;
  }
}

/* Tablet: avoid the "desktop panel with mobile-size copy" middle state. */
@media (min-width: 751px) and (max-width: 980px) {
  .mb-option-sheet__facts dt {
    font-size: 10px;
  }

  .mb-option-sheet__facts dd {
    font-size: 14px;
  }

  .mb-option-sheet__benefits li {
    font-size: 13px;
  }
}

/* Mobile was already structurally correct in 1.3.1; make facts just a touch
   easier to read without materially increasing scroll length. */
@media (max-width: 750px) {
  .mb-option-sheet__facts dt {
    font-size: 9px;
  }

  .mb-option-sheet__facts dd {
    font-size: 13px;
  }

  .mb-option-sheet__benefits li {
    font-size: 12px;
    line-height: 1.65;
  }
}


/* ==========================================================================
   SERVICE DETAIL — premium editorial system (v1.4.0)
   Classic Editor remains the source of truth. PHP adds only structural classes.
   ========================================================================== */

/* The detail area becomes a series of designed editorial objects instead of
   one large bordered text box. */
.mb-service-single:has(.mb-option-sheet) .mb-service-single__article {
  width: min(1120px, calc(100% - 48px));
  padding-top: 88px;
}

.mb-service-single__content-label {
  width: min(1000px, 100%);
  margin: 0 auto 28px;
  color: #947a42;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .24em;
}

.mb-service-single__content-label::before {
  content: "";
  width: 28px;
  height: 1px;
  margin-right: 12px;
  background: #b99a59;
}

.mb-service-single__content-label {
  display: flex;
  align-items: center;
}

.mb-service-single__content-label::after {
  flex: 1;
  margin-left: 14px;
  background: linear-gradient(90deg, rgba(185,154,89,.42), rgba(7,84,109,.08), transparent);
}

.mb-service-single__content {
  counter-reset: mb-service-feature;
  width: min(1000px, 100%);
  margin: 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #27363c;
  font-size: 15px;
  line-height: 2.1;
}

/* --------------------------------------------------------------------------
   Opening editorial intro
   -------------------------------------------------------------------------- */

.mb-service-editorial-intro {
  position: relative;
  margin: 0 0 76px;
  padding: 48px 54px 50px;
  border: 1px solid #ddd7c9;
  background:
    linear-gradient(120deg, rgba(185,154,89,.08), rgba(185,154,89,0) 42%),
    #f8f6f0;
  box-shadow: 0 20px 50px rgba(4,31,42,.055);
}

.mb-service-editorial-intro::before {
  content: "ABOUT THIS SERVICE";
  display: block;
  margin-bottom: 20px;
  color: #9a7e42;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1;
}

.mb-service-editorial-intro > p {
  max-width: 760px;
  margin: 0 0 1.55em !important;
  color: #34444a;
  font-size: 15px;
  line-height: 2.15;
}

.mb-service-editorial-intro > p:first-of-type:not(:has(img)) {
  position: relative;
  margin-bottom: 25px !important;
  padding: 0 0 0 20px !important;
  border: 0 !important;
  color: #123a47 !important;
  font-size: 18px !important;
  font-weight: 500;
  line-height: 2 !important;
}

.mb-service-editorial-intro > p:first-of-type:not(:has(img))::before {
  content: "";
  position: absolute;
  inset: 6px auto 6px 0;
  width: 2px;
  background: linear-gradient(#b99a59, rgba(185,154,89,.2));
}

.mb-service-editorial-intro > :last-child {
  margin-bottom: 0 !important;
}

/* Intro with an existing image: art-directed two-column composition. */
.mb-service-editorial-intro--media {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, .98fr);
  gap: 16px 54px;
  align-items: start;
  padding: 0;
  overflow: hidden;
  background: #f8f6f0;
}

.mb-service-editorial-intro--media::before {
  grid-column: 1;
  margin: 48px 0 2px 54px;
}

.mb-service-editorial-intro--media > p:not(:has(img)),
.mb-service-editorial-intro--media > h2,
.mb-service-editorial-intro--media > h3 {
  grid-column: 1;
  margin-left: 54px !important;
  margin-right: 16px !important;
}

.mb-service-editorial-intro--media > p:first-of-type:not(:has(img)) {
  margin-top: 0 !important;
}

.mb-service-editorial-intro--media > p:has(img),
.mb-service-editorial-intro--media > figure,
.mb-service-editorial-intro--media > .wp-caption,
.mb-service-editorial-intro--media > .wp-block-image {
  grid-column: 2;
  grid-row: 1 / span 30;
  align-self: stretch;
  min-height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: #e7ecec !important;
  box-shadow: none !important;
}

.mb-service-editorial-intro--media > p:has(img)::after,
.mb-service-editorial-intro--media > figure::after,
.mb-service-editorial-intro--media > .wp-caption::after,
.mb-service-editorial-intro--media > .wp-block-image::after {
  display: none !important;
}

.mb-service-editorial-intro--media img {
  width: 100% !important;
  height: 100% !important;
  min-height: 380px;
  object-fit: cover;
}

/* --------------------------------------------------------------------------
   Chapter headings entered as H2/H3
   -------------------------------------------------------------------------- */

.mb-service-single__content > h2 {
  margin: 86px 0 34px !important;
  padding: 32px 36px 31px !important;
  border: 0 !important;
  background:
    linear-gradient(115deg, rgba(185,154,89,.14), rgba(185,154,89,0) 30%),
    linear-gradient(135deg, #052d39 0%, #0a4556 100%) !important;
  color: #fff !important;
  box-shadow: 0 16px 36px rgba(4,31,42,.10);
  font-size: 27px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}

.mb-service-single__content > h2::before {
  content: "CHAPTER";
  margin-bottom: 10px;
  color: #d4bb7d;
  font-size: 9px;
  letter-spacing: .24em;
}

.mb-service-single__content > h3 {
  margin: 58px 0 28px !important;
  padding: 22px 26px 21px 78px !important;
  border: 1px solid #cbd8db !important;
  background: #edf4f5 !important;
  color: #123b48 !important;
  box-shadow: none;
  font-size: 20px !important;
}

/* --------------------------------------------------------------------------
   H4-based feature sections.
   Most existing option pages use H4 as their logical feature heading.
   -------------------------------------------------------------------------- */

.mb-service-feature {
  counter-increment: mb-service-feature;
  position: relative;
  margin: 0 0 42px;
  padding: 40px 44px 42px;
  border: 1px solid #dce4e6;
  background: #fff;
  box-shadow: 0 18px 45px rgba(4,31,42,.055);
  overflow: hidden;
}

.mb-service-feature::before {
  content: counter(mb-service-feature, decimal-leading-zero);
  position: absolute;
  top: 22px;
  right: 26px;
  color: rgba(7,55,70,.12);
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 54px;
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1;
  pointer-events: none;
}

.mb-service-feature > h4 {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 0 24px !important;
  padding: 0 0 17px !important;
  border: 0 !important;
  border-bottom: 1px solid #dfe6e7 !important;
  color: #123b48 !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  line-height: 1.65 !important;
}

.mb-service-feature > h4::before {
  content: "FEATURE";
  display: block;
  position: static;
  width: auto;
  height: auto;
  margin-bottom: 9px;
  background: none;
  color: #a3884d;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1;
}

.mb-service-feature > p {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 0 1.45em !important;
  color: #3a474d;
  line-height: 2.05;
}

.mb-service-feature > :last-child {
  margin-bottom: 0 !important;
}

/* Media feature = magazine spread. Existing photo becomes a full-height panel. */
.mb-service-feature--media {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(300px, .96fr);
  gap: 0 46px;
  min-height: 390px;
  padding: 0;
}

.mb-service-feature--media > h4,
.mb-service-feature--media > p:not(:has(img)),
.mb-service-feature--media > ul,
.mb-service-feature--media > ol,
.mb-service-feature--media > table,
.mb-service-feature--media > blockquote {
  grid-column: 1;
  margin-left: 44px !important;
  margin-right: 0 !important;
}

.mb-service-feature--media > h4 {
  margin-top: 42px !important;
}

.mb-service-feature--media > :not(:has(img)):last-child {
  margin-bottom: 42px !important;
}

.mb-service-feature--media > p:has(img),
.mb-service-feature--media > figure,
.mb-service-feature--media > .wp-caption,
.mb-service-feature--media > .wp-block-image {
  grid-column: 2;
  grid-row: 1 / span 40;
  align-self: stretch;
  min-height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: #e7ecec !important;
  box-shadow: none !important;
}

.mb-service-feature--media > p:has(img)::after,
.mb-service-feature--media > figure::after,
.mb-service-feature--media > .wp-caption::after,
.mb-service-feature--media > .wp-block-image::after {
  display: none !important;
}

.mb-service-feature--media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 390px;
  object-fit: cover;
}

/* Alternate the image side to avoid a repetitive catalogue rhythm. */
.mb-service-feature--media.mb-service-feature--reverse {
  grid-template-columns: minmax(300px, .96fr) minmax(0, 1.04fr);
}

.mb-service-feature--media.mb-service-feature--reverse > h4,
.mb-service-feature--media.mb-service-feature--reverse > p:not(:has(img)),
.mb-service-feature--media.mb-service-feature--reverse > ul,
.mb-service-feature--media.mb-service-feature--reverse > ol,
.mb-service-feature--media.mb-service-feature--reverse > table,
.mb-service-feature--media.mb-service-feature--reverse > blockquote {
  grid-column: 2;
  margin-left: 0 !important;
  margin-right: 44px !important;
}

.mb-service-feature--media.mb-service-feature--reverse > p:has(img),
.mb-service-feature--media.mb-service-feature--reverse > figure,
.mb-service-feature--media.mb-service-feature--reverse > .wp-caption,
.mb-service-feature--media.mb-service-feature--reverse > .wp-block-image {
  grid-column: 1;
}

/* Tables used for actual service contents (e.g. interior cleaning points). */
.mb-service-feature table,
.mb-service-editorial-intro table,
.mb-service-single__content > table {
  margin: 30px 0 0 !important;
  border: 1px solid #d5e0e2 !important;
  box-shadow: none;
  font-size: 13px;
}

.mb-service-feature th,
.mb-service-editorial-intro th,
.mb-service-single__content > table th {
  padding: 15px 17px !important;
  background: #0a4353 !important;
  color: #fff !important;
}

.mb-service-feature td,
.mb-service-editorial-intro td,
.mb-service-single__content > table td {
  padding: 14px 17px !important;
  background: #fff;
  color: #35454b;
}

/* General paragraphs that sit outside a structured intro/feature block. */
.mb-service-single__content > p {
  width: min(820px, 100%);
  margin: 0 auto 1.65em !important;
  color: #37464c;
}

.mb-service-single__content > p:has(img) {
  width: min(900px, 100%);
  margin: 44px auto !important;
  padding: 8px 8px 23px !important;
  border: 1px solid #ddd8cc !important;
  background: #f7f4ed !important;
  box-shadow: 0 16px 40px rgba(4,31,42,.08) !important;
}

.mb-service-single__content > p:has(img)::after {
  left: 8px;
  right: 8px;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 980px) {
  .mb-service-editorial-intro--media,
  .mb-service-feature--media,
  .mb-service-feature--media.mb-service-feature--reverse {
    grid-template-columns: 1fr;
  }

  .mb-service-editorial-intro--media::before,
  .mb-service-editorial-intro--media > p:not(:has(img)),
  .mb-service-editorial-intro--media > h2,
  .mb-service-editorial-intro--media > h3 {
    grid-column: 1;
  }

  .mb-service-editorial-intro--media > p:has(img),
  .mb-service-editorial-intro--media > figure,
  .mb-service-editorial-intro--media > .wp-caption,
  .mb-service-editorial-intro--media > .wp-block-image {
    grid-column: 1;
    grid-row: auto;
    min-height: 0;
  }

  .mb-service-feature--media > h4,
  .mb-service-feature--media > p:not(:has(img)),
  .mb-service-feature--media > ul,
  .mb-service-feature--media > ol,
  .mb-service-feature--media > table,
  .mb-service-feature--media > blockquote,
  .mb-service-feature--media.mb-service-feature--reverse > h4,
  .mb-service-feature--media.mb-service-feature--reverse > p:not(:has(img)),
  .mb-service-feature--media.mb-service-feature--reverse > ul,
  .mb-service-feature--media.mb-service-feature--reverse > ol,
  .mb-service-feature--media.mb-service-feature--reverse > table,
  .mb-service-feature--media.mb-service-feature--reverse > blockquote {
    grid-column: 1;
    margin-left: 36px !important;
    margin-right: 36px !important;
  }

  .mb-service-feature--media > p:has(img),
  .mb-service-feature--media > figure,
  .mb-service-feature--media > .wp-caption,
  .mb-service-feature--media > .wp-block-image,
  .mb-service-feature--media.mb-service-feature--reverse > p:has(img),
  .mb-service-feature--media.mb-service-feature--reverse > figure,
  .mb-service-feature--media.mb-service-feature--reverse > .wp-caption,
  .mb-service-feature--media.mb-service-feature--reverse > .wp-block-image {
    grid-column: 1;
    grid-row: auto;
    min-height: 0;
  }

  .mb-service-feature--media img {
    height: auto !important;
    min-height: 0;
    max-height: 520px;
    object-fit: cover;
  }
}

@media (max-width: 750px) {
  .mb-service-single:has(.mb-option-sheet) .mb-service-single__article {
    width: calc(100% - 28px);
    padding-top: 54px;
  }

  .mb-service-single__content-label {
    margin-bottom: 20px;
  }

  .mb-service-single__content {
    width: 100%;
    font-size: 14px;
    line-height: 2.02;
  }

  .mb-service-editorial-intro {
    margin-bottom: 44px;
    padding: 30px 22px 32px;
    box-shadow: 0 12px 30px rgba(4,31,42,.05);
  }

  .mb-service-editorial-intro::before {
    margin-bottom: 15px;
    font-size: 8px;
  }

  .mb-service-editorial-intro > p:first-of-type:not(:has(img)) {
    padding-left: 14px !important;
    font-size: 15px !important;
    line-height: 1.95 !important;
  }

  .mb-service-editorial-intro--media {
    padding: 0;
  }

  .mb-service-editorial-intro--media::before {
    margin: 28px 22px 2px;
  }

  .mb-service-editorial-intro--media > p:not(:has(img)),
  .mb-service-editorial-intro--media > h2,
  .mb-service-editorial-intro--media > h3 {
    margin-left: 22px !important;
    margin-right: 22px !important;
  }

  .mb-service-editorial-intro--media > p:has(img),
  .mb-service-editorial-intro--media > figure,
  .mb-service-editorial-intro--media > .wp-caption,
  .mb-service-editorial-intro--media > .wp-block-image {
    margin-top: 12px !important;
  }

  .mb-service-editorial-intro--media img {
    height: auto !important;
    min-height: 0;
  }

  .mb-service-single__content > h2 {
    margin: 58px 0 28px !important;
    padding: 25px 22px 24px !important;
    font-size: 21px !important;
  }

  .mb-service-single__content > h3 {
    margin: 42px 0 24px !important;
    padding: 19px 18px 18px 58px !important;
    font-size: 17px !important;
  }

  .mb-service-feature {
    margin-bottom: 26px;
    padding: 30px 22px 32px;
    box-shadow: 0 10px 28px rgba(4,31,42,.045);
  }

  .mb-service-feature::before {
    top: 18px;
    right: 18px;
    font-size: 42px;
  }

  .mb-service-feature > h4 {
    margin-bottom: 20px !important;
    padding-bottom: 14px !important;
    padding-right: 42px !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  .mb-service-feature--media > h4,
  .mb-service-feature--media > p:not(:has(img)),
  .mb-service-feature--media > ul,
  .mb-service-feature--media > ol,
  .mb-service-feature--media > table,
  .mb-service-feature--media > blockquote,
  .mb-service-feature--media.mb-service-feature--reverse > h4,
  .mb-service-feature--media.mb-service-feature--reverse > p:not(:has(img)),
  .mb-service-feature--media.mb-service-feature--reverse > ul,
  .mb-service-feature--media.mb-service-feature--reverse > ol,
  .mb-service-feature--media.mb-service-feature--reverse > table,
  .mb-service-feature--media.mb-service-feature--reverse > blockquote {
    margin-left: 22px !important;
    margin-right: 22px !important;
  }

  .mb-service-feature--media > h4,
  .mb-service-feature--media.mb-service-feature--reverse > h4 {
    margin-top: 28px !important;
  }

  .mb-service-feature--media > :not(:has(img)):last-child,
  .mb-service-feature--media.mb-service-feature--reverse > :not(:has(img)):last-child {
    margin-bottom: 28px !important;
  }

  .mb-service-feature--media > p:has(img),
  .mb-service-feature--media > figure,
  .mb-service-feature--media > .wp-caption,
  .mb-service-feature--media > .wp-block-image,
  .mb-service-feature--media.mb-service-feature--reverse > p:has(img),
  .mb-service-feature--media.mb-service-feature--reverse > figure,
  .mb-service-feature--media.mb-service-feature--reverse > .wp-caption,
  .mb-service-feature--media.mb-service-feature--reverse > .wp-block-image {
    margin: 0 !important;
  }

  .mb-service-single__content > p {
    width: 100%;
  }

  .mb-service-single__content > p:has(img) {
    margin: 30px 0 !important;
  }
}


/* ==========================================================================
   SERVICE DETAIL structural fix (v1.4.1)
   1.4.0 positioned raw children directly on a CSS grid. On real Classic Editor
   markup that could create very tall empty grid tracks. 1.4.1 uses explicit
   copy/media wrappers generated in PHP, so desktop height follows real content.
   ========================================================================== */

@media (min-width: 981px) {
  /* ABOUT THIS SERVICE: real two-column card, no row-spanning trick. */
  .mb-service-editorial-intro--media {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: 0;
    align-items: stretch;
    min-height: 0;
    padding: 0;
  }

  .mb-service-editorial-intro--media::before {
    display: none;
  }

  .mb-service-editorial-intro__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 48px 54px 50px;
  }

  .mb-service-editorial-intro__copy::before {
    content: "ABOUT THIS SERVICE";
    display: block;
    margin-bottom: 20px;
    color: #9a7e42;
    font-family: "Hind Madurai","Noto Sans JP",sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1;
  }

  .mb-service-editorial-intro__copy > p {
    max-width: 100%;
    margin: 0 0 1.55em !important;
    color: #34444a;
    font-size: 15px;
    line-height: 2.15;
  }

  .mb-service-editorial-intro__copy > p:first-of-type {
    position: relative;
    margin-bottom: 25px !important;
    padding-left: 20px !important;
    color: #123a47 !important;
    font-size: 18px !important;
    font-weight: 500;
    line-height: 2 !important;
  }

  .mb-service-editorial-intro__copy > p:first-of-type::before {
    content: "";
    position: absolute;
    inset: 6px auto 6px 0;
    width: 2px;
    background: linear-gradient(#b99a59, rgba(185,154,89,.2));
  }

  .mb-service-editorial-intro__copy > :last-child {
    margin-bottom: 0 !important;
  }

  .mb-service-editorial-intro__media {
    min-width: 0;
    overflow: hidden;
    background: #e7ecec;
  }

  /* Only one representative existing image is needed for the intro. */
  .mb-service-editorial-intro__media > *:not(:first-child) {
    display: none !important;
  }

  .mb-service-editorial-intro__media > p,
  .mb-service-editorial-intro__media > figure,
  .mb-service-editorial-intro__media > .wp-caption,
  .mb-service-editorial-intro__media > .wp-block-image {
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .mb-service-editorial-intro__media img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 300px;
    max-height: 440px;
    object-fit: cover;
  }

  /* Feature with image: explicit two-column spread. */
  .mb-service-feature--media,
  .mb-service-feature--media.mb-service-feature--reverse {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
    gap: 0;
    min-height: 0;
    padding: 0;
    align-items: stretch;
  }

  .mb-service-feature--media.mb-service-feature--reverse {
    grid-template-columns: minmax(360px, .96fr) minmax(0, 1.04fr);
  }

  .mb-service-feature__copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 42px 44px 44px;
  }

  .mb-service-feature--media.mb-service-feature--reverse .mb-service-feature__copy {
    grid-column: 2;
  }

  .mb-service-feature__copy > h4 {
    position: relative;
    max-width: 100%;
    margin: 0 0 24px !important;
    padding: 0 0 17px !important;
    border: 0 !important;
    border-bottom: 1px solid #dfe6e7 !important;
    color: #123b48 !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    line-height: 1.65 !important;
  }

  .mb-service-feature__copy > h4::before {
    content: "FEATURE";
    display: block;
    position: static;
    width: auto;
    height: auto;
    margin-bottom: 9px;
    background: none;
    color: #a3884d;
    font-family: "Hind Madurai","Noto Sans JP",sans-serif;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1;
  }

  .mb-service-feature__copy > p {
    max-width: 100%;
    margin: 0 0 1.45em !important;
    color: #3a474d;
    line-height: 2.05;
  }

  .mb-service-feature__copy > :last-child {
    margin-bottom: 0 !important;
  }

  .mb-service-feature__media {
    min-width: 0;
    overflow: hidden;
    background: #e7ecec;
  }

  .mb-service-feature--media.mb-service-feature--reverse .mb-service-feature__media {
    grid-column: 1;
    grid-row: 1;
  }

  /* As with the intro, one strong image is preferable to a stack of similar shots. */
  .mb-service-feature__media > *:not(:first-child) {
    display: none !important;
  }

  .mb-service-feature__media > p,
  .mb-service-feature__media > figure,
  .mb-service-feature__media > .wp-caption,
  .mb-service-feature__media > .wp-block-image {
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .mb-service-feature__media img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 330px;
    max-height: 470px;
    object-fit: cover;
  }

  /* Disable 1.4.0's direct-child positioning now that wrappers own layout. */
  .mb-service-feature--media > h4,
  .mb-service-feature--media > p:not(:has(img)),
  .mb-service-feature--media > ul,
  .mb-service-feature--media > ol,
  .mb-service-feature--media > table,
  .mb-service-feature--media > blockquote,
  .mb-service-feature--media.mb-service-feature--reverse > h4,
  .mb-service-feature--media.mb-service-feature--reverse > p:not(:has(img)),
  .mb-service-feature--media.mb-service-feature--reverse > ul,
  .mb-service-feature--media.mb-service-feature--reverse > ol,
  .mb-service-feature--media.mb-service-feature--reverse > table,
  .mb-service-feature--media.mb-service-feature--reverse > blockquote {
    grid-column: auto;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 980px) {
  .mb-service-editorial-intro--media,
  .mb-service-feature--media,
  .mb-service-feature--media.mb-service-feature--reverse {
    display: block;
  }

  .mb-service-editorial-intro__copy {
    padding: 32px 28px 34px;
  }

  .mb-service-editorial-intro__copy::before {
    content: "ABOUT THIS SERVICE";
    display: block;
    margin-bottom: 16px;
    color: #9a7e42;
    font-family: "Hind Madurai","Noto Sans JP",sans-serif;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .22em;
  }

  .mb-service-editorial-intro__media > *:not(:first-child),
  .mb-service-feature__media > *:not(:first-child) {
    display: none !important;
  }

  .mb-service-editorial-intro__media > p,
  .mb-service-editorial-intro__media > figure,
  .mb-service-editorial-intro__media > .wp-caption,
  .mb-service-editorial-intro__media > .wp-block-image,
  .mb-service-feature__media > p,
  .mb-service-feature__media > figure,
  .mb-service-feature__media > .wp-caption,
  .mb-service-feature__media > .wp-block-image {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .mb-service-editorial-intro__media img,
  .mb-service-feature__media img {
    display: block;
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    max-height: none;
    object-fit: cover;
  }

  .mb-service-feature__copy {
    padding: 30px 28px 32px;
  }

  .mb-service-feature__copy > h4 {
    margin: 0 0 20px !important;
    padding: 0 38px 14px 0 !important;
    border-bottom: 1px solid #dfe6e7 !important;
    color: #123b48 !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  .mb-service-feature__copy > h4::before {
    content: "FEATURE";
    display: block;
    position: static;
    margin-bottom: 8px;
    color: #a3884d;
    font-size: 8px;
    letter-spacing: .22em;
  }
}

@media (max-width: 750px) {
  .mb-service-editorial-intro__copy,
  .mb-service-feature__copy {
    padding-left: 22px;
    padding-right: 22px;
  }
}


/* ==========================================================================
   SERVICE DETAIL robustness / media sizing (v1.4.2)
   ========================================================================== */

@media (min-width: 981px) {
  .mb-service-editorial-intro--media {
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  }

  .mb-service-feature--media,
  .mb-service-feature--media.mb-service-feature--reverse {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  }

  .mb-service-feature--media.mb-service-feature--reverse {
    grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr);
  }

  /* Fill the entire media column. 1.4.1 capped image height, which could leave
     a large grey area when the copy column was taller. */
  .mb-service-editorial-intro__media,
  .mb-service-feature__media {
    position: relative;
    min-height: 100%;
  }

  .mb-service-editorial-intro__media > *,
  .mb-service-feature__media > * {
    width: 100% !important;
    height: 100% !important;
  }

  .mb-service-editorial-intro__media a,
  .mb-service-editorial-intro__media picture,
  .mb-service-editorial-intro__media span,
  .mb-service-feature__media a,
  .mb-service-feature__media picture,
  .mb-service-feature__media span {
    display: block;
    width: 100% !important;
    height: 100% !important;
  }

  .mb-service-editorial-intro__media img,
  .mb-service-feature__media img {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  /*
   * Fallback for old Classic Editor blocks that combine text and images inside
   * a single wrapper. They intentionally stay one-column rather than being
   * incorrectly split. Existing images still receive a designed full-width
   * catalogue treatment.
   */
  .mb-service-editorial-intro:not(.mb-service-editorial-intro--media) img,
  .mb-service-feature:not(.mb-service-feature--media) img {
    display: block;
    width: 100% !important;
    max-width: 820px !important;
    height: auto !important;
    margin: 34px auto 0 !important;
    object-fit: cover;
  }

  .mb-service-feature:not(.mb-service-feature--media) p:has(img),
  .mb-service-feature:not(.mb-service-feature--media) figure,
  .mb-service-feature:not(.mb-service-feature--media) .wp-caption,
  .mb-service-feature:not(.mb-service-feature--media) .wp-block-image {
    width: min(820px, 100%);
    margin: 34px auto 0 !important;
    padding: 8px 8px 22px !important;
    border: 1px solid #ddd8cc !important;
    background: #f7f4ed !important;
    box-shadow: 0 14px 34px rgba(4,31,42,.07) !important;
  }

  /* Text in a mixed legacy wrapper should never be styled as media. */
  .mb-service-feature:not(.mb-service-feature--media) {
    padding-top: 42px;
    padding-bottom: 44px;
  }
}

@media (max-width: 980px) {
  .mb-service-editorial-intro__media > *,
  .mb-service-feature__media > * {
    width: 100% !important;
    height: auto !important;
  }

  .mb-service-editorial-intro__media a,
  .mb-service-editorial-intro__media picture,
  .mb-service-feature__media a,
  .mb-service-feature__media picture {
    display: block;
    width: 100% !important;
    height: auto !important;
  }
}


/* ==========================================================================
   SERVICE DETAIL feature number placement (v1.4.3)
   ========================================================================== */

.mb-service-feature::before {
  display: none !important;
}

.mb-service-feature:not(.mb-service-feature--media)::after {
  content: counter(mb-service-feature, decimal-leading-zero);
  display: block;
  position: static;
  margin: 0 0 14px;
  color: rgba(7,55,70,.22);
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1;
}

.mb-service-feature__copy::before {
  content: counter(mb-service-feature, decimal-leading-zero);
  display: block;
  margin: 0 0 14px;
  color: rgba(7,55,70,.22);
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1;
}

@media (max-width: 750px) {
  .mb-service-feature:not(.mb-service-feature--media)::after,
  .mb-service-feature__copy::before {
    margin-bottom: 11px;
    font-size: 22px;
  }
}


/* ==========================================================================
   SERVICE DETAIL numbering / mobile stability (v1.4.4)
   Real DOM numbers replace all pseudo-element counters.
   ========================================================================== */

/* Kill every legacy decorative counter generated by previous versions. */
.mb-service-feature::before,
.mb-service-feature::after,
.mb-service-feature__copy::before,
.mb-service-feature__copy::after {
  content: none !important;
  display: none !important;
}

/* One authoritative number, physically inside the text area. */
.mb-service-feature__number {
  display: block;
  position: static;
  width: auto;
  height: auto;
  margin: 0 0 12px;
  color: rgba(7,55,70,.22);
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1;
  white-space: nowrap;
}

/* Keep the FEATURE kicker horizontal on every breakpoint.
   Earlier generic H4 decoration gave the pseudo element an 8px width on mobile,
   which stacked F/E/A/T/U/R/E vertically. */
.mb-service-feature > h4::before,
.mb-service-feature__copy > h4::before {
  content: "FEATURE" !important;
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  background: none !important;
  color: #a3884d !important;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* The real number lives before the heading, so the heading needs no artificial
   right-side clearance for the old top-right counter. */
.mb-service-feature > h4,
.mb-service-feature__copy > h4 {
  padding-right: 0 !important;
}

/* Mixed legacy content fallback: do not create oversized empty vertical space. */
.mb-service-feature:not(.mb-service-feature--media) {
  min-height: 0 !important;
}

@media (max-width: 980px) {
  .mb-service-feature__number {
    margin-bottom: 10px;
    font-size: 22px;
  }

  .mb-service-feature__copy {
    display: block;
  }

  .mb-service-feature > h4,
  .mb-service-feature__copy > h4 {
    margin-top: 0 !important;
  }
}

@media (max-width: 750px) {
  .mb-service-feature__number {
    margin-bottom: 9px;
    font-size: 21px;
  }

  .mb-service-feature > h4::before,
  .mb-service-feature__copy > h4::before {
    margin-bottom: 8px !important;
    font-size: 7px !important;
    letter-spacing: .18em !important;
  }

  .mb-service-feature__copy {
    padding-top: 26px;
  }

  .mb-service-feature:not(.mb-service-feature--media) {
    padding-top: 26px;
  }
}


/* ==========================================================================
   NEWS / INFORMATION (v1.5.0)
   Corporate, calm, smartphone-first. News remains easy to edit in Classic Editor.
   ========================================================================== */

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

.mb-news-kicker {
  margin: 0 0 11px;
  color: #9b8045;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.2;
}

.mb-news-only-sp {
  display: none;
}

/* Hero */
.mb-news-hero {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 15%, rgba(185,154,89,.10), transparent 26%),
    linear-gradient(135deg, #eef4f5, #fff);
}

.mb-news-hero.has-image {
  color: #fff;
  background: #062f3c;
}

.mb-news-hero__media,
.mb-news-hero__overlay {
  position: absolute;
  inset: 0;
}

.mb-news-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-news-hero__overlay {
  z-index: 1;
}

.mb-news-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 82px 0 58px;
}

.mb-news-hero .mb-news-kicker {
  color: #d5bb7b;
}

.mb-news-hero h1 {
  max-width: 760px;
  margin: 0;
  color: inherit;
  font-size: clamp(38px, 5vw, 58px);
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1.25;
}

.mb-news-hero__desc {
  max-width: 700px;
  margin-top: 19px;
  color: inherit;
  font-size: 14px;
  line-height: 1.9;
}

.mb-news-hero__desc p {
  margin: 0;
}

/* Archive */
.mb-news-archive > .mb-news-shell {
  padding: 84px 0 105px;
}

.mb-news-section-head {
  margin-bottom: 30px;
}

.mb-news-section-head h2 {
  margin: 0;
  color: #16282f;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.45;
}

.mb-news-latest {
  margin-bottom: 86px;
}

.mb-news-latest-card {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
  min-height: 380px;
  border: 1px solid #d7e1e3;
  background: #fff;
  box-shadow: 0 20px 50px rgba(4,31,42,.065);
  overflow: hidden;
}

.mb-news-latest-card__media {
  display: block;
  min-height: 380px;
  overflow: hidden;
  background: #e8eef0;
  text-decoration: none;
}

.mb-news-latest-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.mb-news-latest-card:hover .mb-news-latest-card__media img {
  transform: scale(1.018);
}

.mb-news-latest-card__media--blank {
  display: flex;
  align-items: flex-end;
  padding: 32px;
  background:
    linear-gradient(120deg, rgba(185,154,89,.15), transparent 40%),
    linear-gradient(135deg, #062f3c, #0a4556);
}

.mb-news-latest-card__media--blank span {
  color: rgba(255,255,255,.45);
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .14em;
}

.mb-news-latest-card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 46px 48px;
}

.mb-news-latest-card__body time,
.mb-news-item__body time,
.mb-news-related-card time {
  color: #8a989e;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 11px;
  letter-spacing: .08em;
}

.mb-news-latest-card__body h3 {
  margin: 16px 0 0;
  font-size: 26px;
  line-height: 1.55;
}

.mb-news-latest-card__body h3 a {
  color: #102f3a;
  text-decoration: none;
}

.mb-news-latest-card__body p {
  margin: 20px 0 0;
  color: #526168;
  font-size: 14px;
  line-height: 1.95;
}

.mb-news-readmore {
  align-self: flex-start;
  display: inline-flex;
  gap: 9px;
  align-items: center;
  margin-top: 28px;
  color: #07546d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.mb-news-section-head--archive {
  padding-top: 36px;
  border-top: 1px solid #d8e1e3;
}

.mb-news-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.mb-news-item {
  min-width: 0;
  border: 1px solid #dbe3e5;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, translate .2s ease;
}

.mb-news-item:hover {
  border-color: #c7d4d7;
  box-shadow: 0 12px 30px rgba(4,31,42,.055);
  translate: 0 -2px;
}

.mb-news-item__link {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 118px;
  color: inherit;
  text-decoration: none;
}

.mb-news-item:not(.has-image) .mb-news-item__link {
  grid-template-columns: 1fr;
}

.mb-news-item__media {
  overflow: hidden;
  background: #e9eef0;
}

.mb-news-item__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-news-item__body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 22px 48px 22px 24px;
}

.mb-news-item__body h3 {
  margin: 9px 0 0;
  color: #1a3039;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.65;
}

.mb-news-item__arrow {
  position: absolute;
  right: 21px;
  top: 50%;
  translate: 0 -50%;
  color: #0a5a73;
  font-size: 16px;
}

.mb-news-pagination {
  margin-top: 42px;
}

.mb-news-empty {
  padding: 80px 24px;
  text-align: center;
  color: #66757b;
}

/* Single */
.mb-news-breadcrumb {
  border-bottom: 1px solid #e0e6e8;
  background: #fff;
}

.mb-news-breadcrumb .mb-news-shell {
  display: flex;
  gap: 9px;
  align-items: center;
  min-height: 52px;
  overflow: hidden;
  color: #849197;
  font-size: 11px;
  white-space: nowrap;
}

.mb-news-breadcrumb a {
  color: #07546d;
  text-decoration: none;
}

.mb-news-breadcrumb span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
}

.mb-news-article {
  width: min(900px, calc(100% - 48px));
  margin: 0 auto;
  padding: 82px 0 96px;
}

.mb-news-article__header {
  padding-bottom: 38px;
  border-bottom: 1px solid #dbe3e5;
}

.mb-news-article__date {
  display: flex;
  gap: 18px;
  margin-bottom: 15px;
  color: #849197;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 11px;
  letter-spacing: .06em;
}

.mb-news-article__header h1 {
  max-width: 820px;
  margin: 0;
  color: #102d38;
  font-size: clamp(31px, 4vw, 46px);
  font-weight: 600;
  letter-spacing: .005em;
  line-height: 1.45;
}

.mb-news-article__hero {
  margin: 42px 0 0;
  overflow: hidden;
  background: #edf1f2;
}

.mb-news-article__hero img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 620px;
  object-fit: cover;
}

/* News body: normalize old page-builder/editor markup into a calm corporate article. */
.mb-news-body {
  width: min(760px, 100%);
  margin: 54px auto 0;
  color: #303f45;
  font-size: 15px;
  line-height: 2.08;
}

.mb-news-body > :first-child {
  margin-top: 0 !important;
}

.mb-news-body > :last-child {
  margin-bottom: 0 !important;
}

.mb-news-body p,
.mb-news-body div:not([class*="q_"]):not(.post_row):not(.post_col) {
  line-height: inherit;
}

.mb-news-body p {
  margin: 0 0 1.55em;
}

.mb-news-body h2 {
  position: relative;
  margin: 62px 0 27px !important;
  padding: 0 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid #d9e2e4 !important;
  background: transparent !important;
  color: #123b48 !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
}

.mb-news-body h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 48px;
  height: 2px;
  background: #b99a59;
}

.mb-news-body h3,
.mb-news-body h4 {
  margin: 40px 0 18px !important;
  padding: 0 0 0 15px !important;
  border: 0 !important;
  border-left: 3px solid #0a5a73 !important;
  background: transparent !important;
  color: #173b47 !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.65 !important;
}

.mb-news-body img {
  display: block;
  max-width: 100% !important;
  height: auto !important;
  margin: 34px auto;
}

.mb-news-body figure,
.mb-news-body .wp-caption {
  max-width: 100% !important;
  margin: 36px 0 !important;
}

.mb-news-body figcaption,
.mb-news-body .wp-caption-text {
  margin-top: 9px !important;
  color: #7a878c;
  font-size: 11px !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

.mb-news-body a {
  color: #07546d;
  text-underline-offset: .18em;
}

.mb-news-body ul,
.mb-news-body ol,
.mb-news-body .well {
  margin: 28px 0;
  padding: 22px 26px 22px 44px;
  border: 1px solid #dce4e6;
  background: #f3f7f8;
}

.mb-news-body .well {
  padding: 22px 24px;
}

.mb-news-body .q_frame {
  margin: 32px 0 !important;
  padding: 22px 24px !important;
  border: 1px solid #ddd5c4 !important;
  border-left: 3px solid #b99a59 !important;
  background: #faf7ef !important;
}

.mb-news-body .q_button_wrap {
  margin: 30px 0;
}

.mb-news-body .q_custom_button1,
.mb-news-body .q_custom_button2,
.mb-news-body .q_custom_button3 {
  border-radius: 4px !important;
}

/* Old TCD page-builder content inside news: neutralize outer scaffolding,
   but preserve useful two-column content such as linked image cards. */
.mb-news-body #news_contents,
.mb-news-body #tcd-pb-wrap,
.mb-news-body .tcd-pb-row,
.mb-news-body .tcd-pb-row-inner,
.mb-news-body .tcd-pb-col,
.mb-news-body .pb-widget-editor,
.mb-news-body .pb-widget-image {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.mb-news-body .post_row {
  display: flex;
  gap: 16px;
  margin: 30px 0;
}

.mb-news-body .post_col {
  flex: 1 1 0;
  min-width: 0;
}

.mb-news-body .post_col img {
  margin: 0 auto;
}

.mb-news-article__footer {
  width: min(760px, 100%);
  margin: 62px auto 0;
  padding-top: 24px;
  border-top: 1px solid #dbe3e5;
}

.mb-news-article__footer a {
  color: #07546d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.mb-news-related {
  padding: 74px 0 94px;
  background: #f3f6f7;
}

.mb-news-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.mb-news-related-card {
  min-width: 0;
  border: 1px solid #dbe3e5;
  background: #fff;
}

.mb-news-related-card a {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.mb-news-related-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e9eef0;
}

.mb-news-related-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-news-related-card__body {
  padding: 20px 20px 23px;
}

.mb-news-related-card__body h3 {
  margin: 8px 0 0;
  color: #1b343e;
  font-size: 14px;
  line-height: 1.65;
}

/* Responsive */
@media (max-width: 900px) {
  .mb-news-latest-card {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .mb-news-latest-card__media {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .mb-news-list {
    grid-template-columns: 1fr;
  }

  .mb-news-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 750px) {
  .mb-news-shell {
    width: calc(100% - 28px);
  }

  .mb-news-only-pc {
    display: none;
  }

  .mb-news-only-sp {
    display: block;
  }

  .mb-news-hero {
    min-height: 300px;
  }

  .mb-news-hero__inner {
    width: calc(100% - 36px);
    padding: 68px 0 40px;
  }

  .mb-news-hero h1 {
    font-size: 34px;
  }

  .mb-news-hero__desc {
    font-size: 13px;
  }

  .mb-news-archive > .mb-news-shell {
    padding: 54px 0 70px;
  }

  .mb-news-section-head {
    margin-bottom: 22px;
  }

  .mb-news-section-head h2 {
    font-size: 25px;
  }

  .mb-news-latest {
    margin-bottom: 58px;
  }

  .mb-news-latest-card {
    box-shadow: 0 12px 30px rgba(4,31,42,.05);
  }

  .mb-news-latest-card__body {
    padding: 26px 22px 29px;
  }

  .mb-news-latest-card__body h3 {
    margin-top: 11px;
    font-size: 20px;
    line-height: 1.6;
  }

  .mb-news-latest-card__body p {
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.85;
  }

  .mb-news-readmore {
    margin-top: 20px;
  }

  .mb-news-section-head--archive {
    padding-top: 28px;
  }

  /* Compact horizontal list: optimized for the site's mobile-heavy traffic. */
  .mb-news-item__link {
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 92px;
  }

  .mb-news-item:not(.has-image) .mb-news-item__link {
    grid-template-columns: 1fr;
  }

  .mb-news-item__body {
    padding: 14px 36px 14px 15px;
  }

  .mb-news-item__body time {
    font-size: 9px;
  }

  .mb-news-item__body h3 {
    margin-top: 5px;
    font-size: 13px;
    line-height: 1.55;
  }

  .mb-news-item__arrow {
    right: 13px;
    font-size: 13px;
  }

  .mb-news-breadcrumb .mb-news-shell {
    width: calc(100% - 36px);
    min-height: 47px;
  }

  .mb-news-article {
    width: calc(100% - 36px);
    padding: 52px 0 68px;
  }

  .mb-news-article__header {
    padding-bottom: 28px;
  }

  .mb-news-article__date {
    margin-bottom: 12px;
    font-size: 10px;
  }

  .mb-news-article__header h1 {
    font-size: 28px;
    line-height: 1.5;
  }

  .mb-news-article__hero {
    margin-top: 30px;
  }

  .mb-news-body {
    margin-top: 38px;
    font-size: 14px;
    line-height: 2;
  }

  .mb-news-body h2 {
    margin-top: 48px !important;
    font-size: 21px !important;
  }

  .mb-news-body h3,
  .mb-news-body h4 {
    margin-top: 34px !important;
    font-size: 17px !important;
  }

  .mb-news-body .post_row {
    display: block;
  }

  .mb-news-body .post_col + .post_col {
    margin-top: 14px;
  }

  .mb-news-article__footer {
    margin-top: 48px;
  }

  .mb-news-related {
    padding: 52px 0 66px;
  }

  .mb-news-related__grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .mb-news-related-card a {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
  }

  .mb-news-related-card:not(:has(.mb-news-related-card__media)) a {
    grid-template-columns: 1fr;
  }

  .mb-news-related-card__media {
    aspect-ratio: auto;
    min-height: 86px;
  }

  .mb-news-related-card__body {
    padding: 15px;
  }

  .mb-news-related-card__body h3 {
    margin-top: 5px;
    font-size: 13px;
  }
}


/* ==========================================================================
   ORDER GUIDE (v1.6.0)
   First-time LINE route + existing app guide.
   ========================================================================== */

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

.mb-order-kicker {
  margin: 0 0 11px;
  color: #a18547;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.2;
}

.mb-order-hero {
  position: relative;
  min-height: 390px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 16%, rgba(201,174,111,.15), transparent 26%),
    linear-gradient(135deg, #052c38 0%, #0a4556 100%);
  color: #fff;
}

.mb-order-hero::after {
  content: "";
  position: absolute;
  right: -110px;
  top: -120px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
}

.mb-order-hero__inner {
  position: relative;
  z-index: 1;
  width: min(1080px, calc(100% - 48px));
  margin: 0 auto;
  padding: 94px 0 62px;
}

.mb-order-hero .mb-order-kicker {
  color: #d5bb7b;
}

.mb-order-hero h1 {
  max-width: 780px;
  margin: 0;
  color: #fff;
  font-size: clamp(40px, 5.2vw, 62px);
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1.28;
}

.mb-order-hero__lead {
  margin: 24px 0 0;
  color: #dce6e8;
  font-size: 16px;
  line-height: 2;
}

.mb-order-routes {
  padding: 88px 0 98px;
  background: #fff;
}

.mb-order-section-head {
  margin-bottom: 36px;
}

.mb-order-section-head h2 {
  margin: 0;
  color: #122f39;
  font-size: 31px;
  font-weight: 600;
  line-height: 1.5;
}

.mb-order-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.mb-order-route {
  position: relative;
  min-width: 0;
  padding: 42px 42px 40px;
  border: 1px solid #d9e2e4;
  background: #fff;
  overflow: hidden;
}

.mb-order-route--primary {
  border-color: #123f4d;
  background:
    linear-gradient(140deg, rgba(185,154,89,.10), transparent 34%),
    linear-gradient(135deg, #062f3c, #0a4556);
  color: #fff;
  box-shadow: 0 20px 50px rgba(4,31,42,.10);
}

.mb-order-route__number {
  position: absolute;
  right: 28px;
  top: 25px;
  color: rgba(7,55,70,.10);
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 58px;
  font-weight: 700;
  line-height: 1;
}

.mb-order-route--primary .mb-order-route__number {
  color: rgba(255,255,255,.10);
}

.mb-order-route__label {
  margin: 0 0 17px;
  color: #9a7e42;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
}

.mb-order-route--primary .mb-order-route__label {
  color: #d5bb7b;
}

.mb-order-route h3 {
  position: relative;
  margin: 0;
  padding: 0 0 18px;
  border-bottom: 1px solid #dbe3e5;
  color: #153640;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.45;
}

.mb-order-route--primary h3 {
  border-color: rgba(255,255,255,.17);
  color: #fff;
}

.mb-order-route__headline {
  margin: 24px 0 0 !important;
  color: #173e4b !important;
  font-size: 18px !important;
  font-weight: 600;
  line-height: 1.75 !important;
}

.mb-order-route--primary .mb-order-route__headline {
  color: #fff !important;
}

.mb-order-route > p:not(.mb-order-route__label):not(.mb-order-route__headline) {
  margin: 15px 0 0;
  color: #58686e;
  font-size: 14px;
  line-height: 1.95;
}

.mb-order-route--primary > p:not(.mb-order-route__label):not(.mb-order-route__headline) {
  color: #d5e1e4;
}

.mb-order-route__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 28px 0 0;
  background: rgba(255,255,255,.17);
}

.mb-order-route__steps span {
  position: relative;
  padding: 17px 12px;
  background: rgba(255,255,255,.07);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

.mb-order-route__button {
  display: flex;
  min-height: 54px;
  margin-top: 26px;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #073746;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}

.mb-order-route__button:hover {
  background: #eaf1f2;
}

.mb-order-route__links {
  display: grid;
  gap: 1px;
  margin-top: 30px;
  background: #d9e2e4;
}

.mb-order-route__links a {
  display: flex;
  min-height: 52px;
  padding: 0 18px;
  align-items: center;
  justify-content: space-between;
  background: #f3f7f8;
  color: #07546d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.mb-order-precheck {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 28px;
  padding: 18px 22px;
  border: 1px solid #e0e5e6;
  background: #f7f9f9;
}

.mb-order-precheck > p {
  margin: 0;
  color: #65757b;
  font-size: 11px;
  font-weight: 700;
}

.mb-order-precheck nav {
  display: flex;
  gap: 28px;
}

.mb-order-precheck a {
  color: #07546d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.mb-order-app-guide {
  padding: 90px 0 110px;
  background: #f2f5f6;
}

.mb-order-app-guide__header {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 44px;
  padding-bottom: 30px;
  border-bottom: 1px solid #d2dcdf;
}

.mb-order-app-guide__header h2 {
  margin: 0;
  color: #123641;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.45;
}

.mb-order-app-guide__header > p {
  margin: 0;
  color: #5b6a70;
  font-size: 13px;
  line-height: 1.9;
}

/* Existing Classic Editor app guide */
.mb-order-app-content {
  width: min(880px, 100%);
  margin: 0 auto;
  color: #314147;
  font-size: 14px;
  line-height: 2;
}

.mb-order-app-content h2 {
  position: relative;
  margin: 72px 0 32px !important;
  padding: 30px 34px 29px 94px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #062f3c, #0a4556) !important;
  color: #fff !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

.mb-order-app-content h2::before {
  content: "STEP";
  position: absolute;
  left: 31px;
  top: 22px;
  color: #d5bb7b;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .18em;
}

.mb-order-app-content h2::after {
  content: "";
  position: absolute;
  left: 71px;
  top: 24px;
  bottom: 24px;
  width: 1px;
  background: rgba(255,255,255,.17);
}

.mb-order-app-content h3 {
  margin: 48px 0 23px !important;
  padding: 19px 22px !important;
  border: 1px solid #ccd9dc !important;
  border-left: 3px solid #0a5a73 !important;
  background: #fff !important;
  color: #173d49 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
}

.mb-order-app-content p {
  margin: 0 0 1.45em;
}

.mb-order-app-content p[style*="text-align: center"] {
  text-align: left !important;
}

.mb-order-app-content img {
  display: block;
  width: auto !important;
  max-width: min(300px, 100%) !important;
  height: auto !important;
  margin: 24px auto !important;
  filter: drop-shadow(0 15px 28px rgba(4,31,42,.10));
}

.mb-order-app-content .post_row {
  display: flex;
  justify-content: center;
  gap: 22px;
  margin: 30px auto;
}

.mb-order-app-content .post_col {
  flex: 0 1 300px;
  min-width: 0;
}

.mb-order-app-content .q_frame {
  margin: 34px 0 !important;
  padding: 20px 22px !important;
  border: 1px solid #ddd4c2 !important;
  border-left: 3px solid #b99a59 !important;
  background: #faf7ef !important;
  color: #4d504a !important;
}

.mb-order-app-content .q_button_wrap {
  margin: 28px 0 !important;
  text-align: center;
}

.mb-order-app-content .q_custom_button,
.mb-order-app-content .q_custom_button2 {
  display: inline-flex !important;
  min-height: 52px !important;
  padding: 0 26px !important;
  align-items: center;
  justify-content: center;
  border: 1px solid #07546d !important;
  border-radius: 3px !important;
  background: #07546d !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

@media (max-width: 900px) {
  .mb-order-route-grid {
    grid-template-columns: 1fr;
  }

  .mb-order-app-guide__header {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 750px) {
  .mb-order-shell {
    width: calc(100% - 28px);
  }

  .mb-order-hero {
    min-height: 330px;
  }

  .mb-order-hero__inner {
    width: calc(100% - 36px);
    padding: 76px 0 44px;
  }

  .mb-order-hero h1 {
    font-size: 34px;
  }

  .mb-order-hero__lead {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.9;
  }

  .mb-order-routes {
    padding: 56px 0 66px;
  }

  .mb-order-section-head {
    margin-bottom: 25px;
  }

  .mb-order-section-head h2 {
    font-size: 25px;
  }

  .mb-order-route {
    padding: 30px 22px 28px;
  }

  .mb-order-route__number {
    right: 19px;
    top: 19px;
    font-size: 45px;
  }

  .mb-order-route h3 {
    padding-right: 48px;
    font-size: 21px;
  }

  .mb-order-route__headline {
    margin-top: 20px !important;
    font-size: 16px !important;
  }

  .mb-order-route > p:not(.mb-order-route__label):not(.mb-order-route__headline) {
    font-size: 13px;
    line-height: 1.85;
  }

  .mb-order-route__steps {
    grid-template-columns: 1fr;
  }

  .mb-order-route__steps span {
    padding: 13px;
  }

  .mb-order-precheck {
    display: block;
    padding: 18px;
  }

  .mb-order-precheck nav {
    display: grid;
    gap: 9px;
    margin-top: 12px;
  }

  .mb-order-app-guide {
    padding: 58px 0 72px;
  }

  .mb-order-app-guide__header {
    margin-bottom: 30px;
    padding-bottom: 24px;
  }

  .mb-order-app-guide__header h2 {
    font-size: 25px;
  }

  .mb-order-app-guide__header > p {
    font-size: 12px;
  }

  .mb-order-app-content {
    font-size: 13px;
    line-height: 1.95;
  }

  .mb-order-app-content h2 {
    margin-top: 52px !important;
    padding: 24px 20px 23px 67px !important;
    font-size: 20px !important;
  }

  .mb-order-app-content h2::before {
    left: 20px;
    top: 18px;
  }

  .mb-order-app-content h2::after {
    left: 51px;
    top: 19px;
    bottom: 19px;
  }

  .mb-order-app-content h3 {
    margin-top: 38px !important;
    padding: 16px 17px !important;
    font-size: 16px !important;
  }

  .mb-order-app-content .post_row {
    gap: 10px;
  }

  .mb-order-app-content .post_col {
    flex-basis: 50%;
  }

  .mb-order-app-content img {
    max-width: min(260px, 100%) !important;
    margin: 19px auto !important;
  }
}

@media (max-width: 480px) {
  .mb-order-app-content .post_row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* ==========================================================================
   ORDER GUIDE — LINE first (v1.6.1)
   ========================================================================== */

.mb-order-hero--line-first {
  min-height: 620px;
  align-items: stretch;
  background:
    radial-gradient(circle at 82% 14%, rgba(210,180,109,.17), transparent 27%),
    linear-gradient(135deg, #042b37 0%, #083f4e 62%, #0b5062 100%);
}

.mb-order-hero--line-first .mb-order-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(370px, .82fr);
  gap: 72px;
  align-items: center;
  padding: 90px 0 76px;
}

.mb-order-hero__copy {
  min-width: 0;
}

.mb-order-hero__badge {
  display: inline-flex;
  margin: 2px 0 18px;
  padding: 7px 12px;
  border: 1px solid rgba(213,187,123,.6);
  color: #ead9ad;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.mb-order-hero--line-first h1 {
  max-width: 690px;
  font-size: clamp(42px, 5.5vw, 68px);
  line-height: 1.28;
}

.mb-order-hero--line-first .mb-order-hero__lead {
  max-width: 680px;
  margin-top: 24px;
  color: #d8e4e7;
  font-size: 15px;
  line-height: 2;
}

.mb-order-hero__actions {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-top: 31px;
}

.mb-order-hero__line-button {
  display: inline-flex;
  min-width: 260px;
  min-height: 58px;
  padding: 0 28px;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #073746;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.mb-order-hero__price-link {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.mb-order-hero__member-note {
  margin: 18px 0 0;
  color: #b9cdd2;
  font-size: 11px;
}

.mb-order-hero__flow {
  display: grid;
  gap: 1px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.12);
  box-shadow: 0 24px 60px rgba(0,0,0,.13);
}

.mb-order-hero__flow article {
  position: relative;
  min-height: 150px;
  padding: 29px 30px 27px 77px;
  background: rgba(2,33,42,.64);
}

.mb-order-hero__flow article > span {
  position: absolute;
  left: 26px;
  top: 28px;
  color: #d5bb7b;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 13px;
  font-weight: 700;
}

.mb-order-hero__flow strong {
  display: block;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}

.mb-order-hero__flow p {
  margin: 10px 0 0;
  color: #cbdadd;
  font-size: 12px;
  line-height: 1.8;
}

.mb-order-line-detail {
  padding: 88px 0 92px;
  background: #fff;
}

.mb-order-section-head--line {
  max-width: 720px;
}

.mb-order-section-head--line > p:last-child {
  margin: 16px 0 0;
  color: #607076;
  font-size: 14px;
  line-height: 1.9;
}

.mb-order-line-detail__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 38px;
  border: 1px solid #dce4e6;
  background: #dce4e6;
}

.mb-order-line-detail__grid article {
  min-width: 0;
  padding: 31px 28px 32px;
  background: #f7f9f9;
}

.mb-order-line-detail__grid article.has-image {
  padding-top: 0;
}

.mb-order-line-detail__image {
  margin: 0 -28px 18px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e8eff1;
}

.mb-order-line-detail__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-order-line-detail__number {
  margin-bottom: 17px;
  color: #b08f4e;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 13px;
  font-weight: 700;
}

.mb-order-line-detail__grid h3 {
  margin: 0;
  color: #163945;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.55;
}

.mb-order-line-detail__grid p {
  margin: 13px 0 0;
  color: #5c6b71;
  font-size: 13px;
  line-height: 1.85;
}

.mb-order-line-detail__cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  margin-top: 34px;
  padding: 34px 38px;
  background:
    linear-gradient(120deg, rgba(185,154,89,.10), transparent 32%),
    #062f3c;
  color: #fff;
}

.mb-order-line-detail__cta .mb-order-kicker {
  color: #d5bb7b;
}

.mb-order-line-detail__cta h3 {
  margin: 0;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
}

.mb-order-line-detail__cta p:not(.mb-order-kicker) {
  margin: 8px 0 0;
  color: #ccdadd;
  font-size: 12px;
}

.mb-order-line-detail__cta > a {
  display: inline-flex;
  min-height: 54px;
  padding: 0 26px;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #073746;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.mb-order-app-entry {
  padding: 70px 0;
  background: #edf3f4;
}

.mb-order-app-entry__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 60px;
  align-items: center;
}

.mb-order-app-entry h2 {
  margin: 0;
  color: #153743;
  font-size: 27px;
  font-weight: 600;
}

.mb-order-app-entry p:not(.mb-order-kicker) {
  max-width: 620px;
  margin: 12px 0 0;
  color: #5d6d73;
  font-size: 13px;
  line-height: 1.85;
}

.mb-order-app-entry nav {
  display: grid;
  min-width: 270px;
  gap: 1px;
  background: #cbd8db;
}

.mb-order-app-entry nav a {
  display: flex;
  min-height: 50px;
  padding: 0 17px;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  color: #07546d;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 900px) {
  .mb-order-hero--line-first .mb-order-hero__inner {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .mb-order-line-detail__grid {
    grid-template-columns: 1fr;
  }

  .mb-order-app-entry__inner {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .mb-order-app-entry nav {
    min-width: 0;
  }
}

@media (max-width: 750px) {
  .mb-order-hero--line-first {
    min-height: 0;
  }

  .mb-order-hero--line-first .mb-order-hero__inner {
    width: calc(100% - 36px);
    padding: 65px 0 48px;
    gap: 34px;
  }

  .mb-order-hero__badge {
    margin-bottom: 14px;
    font-size: 10px;
  }

  .mb-order-hero--line-first h1 {
    font-size: 36px;
    line-height: 1.35;
  }

  .mb-order-hero--line-first .mb-order-hero__lead {
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.9;
  }

  .mb-order-hero__actions {
    display: block;
    margin-top: 24px;
  }

  .mb-order-hero__line-button {
    width: 100%;
    min-width: 0;
  }

  .mb-order-hero__price-link {
    display: inline-block;
    margin-top: 15px;
  }

  .mb-order-hero__flow article {
    min-height: 0;
    padding: 23px 20px 22px 59px;
  }

  .mb-order-hero__flow article > span {
    left: 19px;
    top: 23px;
  }

  .mb-order-hero__flow strong {
    font-size: 16px;
  }

  .mb-order-line-detail {
    padding: 55px 0 62px;
  }

  .mb-order-line-detail__grid {
    margin-top: 27px;
  }

  .mb-order-line-detail__grid article {
    padding: 25px 22px 26px;
  }

  .mb-order-line-detail__grid article.has-image {
    padding-top: 0;
  }

  .mb-order-line-detail__image {
    margin: 0 -22px 16px;
  }

  .mb-order-line-detail__cta {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 28px 23px;
  }

  .mb-order-line-detail__cta > a {
    width: 100%;
  }

  .mb-order-app-entry {
    padding: 48px 0;
  }

  .mb-order-app-entry h2 {
    font-size: 23px;
  }
}


/* ==========================================================================
   SERVICE AREA PAGE (v1.7.0)
   Existing Classic Editor copy and Google My Maps embeds remain the data source.
   ========================================================================== */

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

.mb-area-kicker {
  margin: 0 0 11px;
  color: #a38749;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.2;
}

.mb-area-hero {
  position: relative;
  min-height: 470px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: linear-gradient(135deg, #052e3a, #0a4657);
  color: #fff;
}

.mb-area-hero__media,
.mb-area-hero__overlay {
  position: absolute;
  inset: 0;
}

.mb-area-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-area-hero__overlay {
  z-index: 1;
  background: linear-gradient(90deg, rgba(3,34,44,.88) 0%, rgba(3,34,44,.58) 58%, rgba(3,34,44,.30) 100%);
}

.mb-area-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 104px 0 67px;
}

.mb-area-hero .mb-area-kicker {
  color: #d6bc7c;
}

.mb-area-hero h1 {
  max-width: 750px;
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 5.3vw, 64px);
  font-weight: 600;
  line-height: 1.3;
}

.mb-area-hero__lead {
  max-width: 720px;
  margin: 23px 0 0;
  color: #dce6e8;
  font-size: 15px;
  line-height: 2;
}

.mb-area-jump {
  border-bottom: 1px solid #dbe3e5;
  background: #fff;
}

.mb-area-jump .mb-area-shell {
  display: flex;
  gap: 34px;
  align-items: center;
  min-height: 66px;
}

.mb-area-jump span {
  color: #809096;
  font-size: 10px;
  font-weight: 700;
}

.mb-area-jump div {
  display: flex;
  gap: 27px;
  flex-wrap: wrap;
}

.mb-area-jump a {
  color: #07546d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.mb-area-regions {
  padding: 88px 0 106px;
  background: #fff;
}

.mb-area-section-head {
  max-width: 730px;
  margin-bottom: 40px;
}

.mb-area-section-head h2 {
  margin: 0;
  color: #143640;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.45;
}

.mb-area-section-head > p:last-child {
  margin: 14px 0 0;
  color: #607076;
  font-size: 14px;
  line-height: 1.9;
}

.mb-area-region-list {
  display: grid;
  gap: 28px;
}

.mb-area-region {
  display: grid;
  grid-template-columns: minmax(340px, .86fr) minmax(0, 1.14fr);
  min-height: 430px;
  border: 1px solid #d8e2e4;
  background: #fff;
  box-shadow: 0 18px 46px rgba(4,31,42,.055);
  overflow: hidden;
  scroll-margin-top: 110px;
}

.mb-area-region--reverse {
  grid-template-columns: minmax(0, 1.14fr) minmax(340px, .86fr);
}

.mb-area-region--reverse .mb-area-region__copy {
  grid-column: 2;
}

.mb-area-region--reverse .mb-area-region__map {
  grid-column: 1;
  grid-row: 1;
}

.mb-area-region__copy {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 48px 48px 46px;
  background:
    linear-gradient(130deg, rgba(185,154,89,.08), transparent 36%),
    #faf9f5;
}

.mb-area-region__number {
  position: absolute;
  right: 27px;
  top: 24px;
  color: rgba(7,55,70,.11);
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 1;
}

.mb-area-region__copy h3 {
  position: relative;
  margin: 0 0 23px;
  padding-bottom: 18px;
  border-bottom: 1px solid #d9e1e3;
  color: #113b48;
  font-size: 27px;
  font-weight: 600;
  line-height: 1.5;
}

.mb-area-region__copy h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 48px;
  height: 2px;
  background: #b99a59;
}

.mb-area-region__copy > p:not(.mb-area-kicker) {
  margin: 0 0 1.1em;
  color: #53636a;
  font-size: 13px;
  line-height: 1.95;
}

.mb-area-region__copy > a {
  align-self: flex-start;
  margin-top: 9px;
  color: #07546d;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

.mb-area-region__map {
  min-width: 0;
  min-height: 430px;
  background: #e7edef;
}

.mb-area-region__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 430px;
  border: 0;
}

.mb-area-region__map-empty {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 430px;
  align-items: center;
  justify-content: center;
  color: #839197;
  font-size: 12px;
}

.mb-area-confirm {
  padding: 75px 0;
  background: #edf3f4;
}

.mb-area-confirm__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 55px;
  align-items: center;
  padding: 38px 42px;
  background:
    linear-gradient(120deg, rgba(185,154,89,.10), transparent 34%),
    #062f3c;
  color: #fff;
}

.mb-area-confirm__inner .mb-area-kicker {
  color: #d5bb7b;
}

.mb-area-confirm__inner h2 {
  margin: 0;
  color: #fff;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.5;
}

.mb-area-confirm__inner p:not(.mb-area-kicker) {
  margin: 10px 0 0;
  color: #cfdee1;
  font-size: 13px;
  line-height: 1.85;
}

.mb-area-confirm__inner > a {
  display: inline-flex;
  min-height: 54px;
  padding: 0 29px;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #073746;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.mb-area-faq {
  padding: 86px 0 100px;
  background: #fff;
}

.mb-area-faq__body {
  width: min(900px, 100%);
}

@media (max-width: 900px) {
  .mb-area-region,
  .mb-area-region--reverse {
    grid-template-columns: 1fr;
  }

  .mb-area-region--reverse .mb-area-region__copy,
  .mb-area-region--reverse .mb-area-region__map {
    grid-column: 1;
    grid-row: auto;
  }

  .mb-area-region__map {
    order: -1;
  }

  .mb-area-region--reverse .mb-area-region__map {
    order: -1;
  }

  .mb-area-confirm__inner {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .mb-area-confirm__inner > a {
    width: 100%;
  }
}

@media (max-width: 750px) {
  .mb-area-shell {
    width: calc(100% - 28px);
  }

  .mb-area-hero {
    min-height: 380px;
  }

  .mb-area-hero__inner {
    width: calc(100% - 36px);
    padding: 74px 0 43px;
  }

  .mb-area-hero h1 {
    font-size: 35px;
  }

  .mb-area-hero__lead {
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.9;
  }

  .mb-area-jump .mb-area-shell {
    display: block;
    padding: 15px 0 16px;
  }

  .mb-area-jump span {
    display: block;
    margin-bottom: 8px;
  }

  .mb-area-jump div {
    gap: 10px 20px;
  }

  .mb-area-regions {
    padding: 56px 0 68px;
  }

  .mb-area-section-head {
    margin-bottom: 28px;
  }

  .mb-area-section-head h2 {
    font-size: 25px;
  }

  .mb-area-section-head > p:last-child {
    font-size: 13px;
  }

  .mb-area-region-list {
    gap: 16px;
  }

  .mb-area-region {
    min-height: 0;
  }

  .mb-area-region__copy {
    padding: 30px 23px 31px;
  }

  .mb-area-region__number {
    right: 19px;
    top: 19px;
    font-size: 42px;
  }

  .mb-area-region__copy h3 {
    margin-bottom: 20px;
    padding-right: 42px;
    font-size: 22px;
  }

  .mb-area-region__copy > p:not(.mb-area-kicker) {
    font-size: 13px;
    line-height: 1.85;
  }

  .mb-area-region__map,
  .mb-area-region__map iframe,
  .mb-area-region__map-empty {
    min-height: 270px;
    height: 270px;
  }

  .mb-area-confirm {
    padding: 49px 0;
  }

  .mb-area-confirm__inner {
    padding: 29px 23px;
  }

  .mb-area-confirm__inner h2 {
    font-size: 22px;
  }

  .mb-area-faq {
    padding: 58px 0 72px;
  }
}


/* ==========================================================================
   MBORDER — protected printed-QR entrance page (v1.8.0)
   ========================================================================== */

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

.mb-mborder-kicker {
  margin: 0 0 11px;
  color: #aa8d50;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.2;
}

.mb-mborder-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 5%, rgba(205,176,106,.18), transparent 26%),
    linear-gradient(135deg, #042b37 0%, #073846 57%, #0a4a5b 100%);
  color: #fff;
}

.mb-mborder-hero::after {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -230px;
  bottom: -300px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
}

.mb-mborder-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  gap: 72px;
  align-items: center;
  min-height: 590px;
  padding: 86px 0 72px;
}

.mb-mborder-hero .mb-mborder-kicker {
  color: #d5bb7b;
}

.mb-mborder-badge {
  display: inline-flex;
  margin: 3px 0 18px;
  padding: 7px 12px;
  border: 1px solid rgba(213,187,123,.58);
  color: #ead9ad;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.mb-mborder-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 5.2vw, 66px);
  font-weight: 600;
  letter-spacing: .005em;
  line-height: 1.3;
}

.mb-mborder-hero__lead {
  max-width: 650px;
  margin: 25px 0 0;
  color: #d6e3e6;
  font-size: 15px;
  line-height: 2;
}

.mb-mborder-line-button {
  display: inline-flex;
  min-width: 260px;
  min-height: 58px;
  margin-top: 31px;
  padding: 0 28px;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #073746;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease;
}

.mb-mborder-line-button:hover {
  transform: translateY(-1px);
  background: #edf3f4;
}

.mb-mborder-hero__note {
  margin: 16px 0 0;
  color: #b9cdd2;
  font-size: 11px;
  line-height: 1.7;
}

.mb-mborder-hero__visual {
  position: relative;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.07);
  box-shadow: 0 28px 70px rgba(0,0,0,.16);
}

.mb-mborder-hero__visual a {
  display: block;
  overflow: hidden;
  background: #fff;
}

.mb-mborder-hero__visual img {
  display: block;
  width: 100%;
  height: auto;
}

.mb-mborder-hero__visual-fallback {
  min-height: 330px;
  padding: 42px;
  color: #073746;
  text-decoration: none;
}

.mb-mborder-hero__visual-fallback span,
.mb-mborder-hero__visual-fallback strong,
.mb-mborder-hero__visual-fallback small {
  display: block;
}

.mb-mborder-hero__visual-fallback span {
  font-size: 12px;
  letter-spacing: .16em;
}

.mb-mborder-hero__visual-fallback strong {
  margin-top: 18px;
  font-size: 34px;
}

.mb-mborder-hero__visual-fallback small {
  margin-top: 12px;
  color: #65767c;
}

/* LINE flow */
.mb-mborder-line {
  padding: 88px 0 94px;
  background: #fff;
}

.mb-mborder-section-head {
  max-width: 720px;
}

.mb-mborder-section-head h2 {
  margin: 0;
  color: #153743;
  font-size: 31px;
  font-weight: 600;
  line-height: 1.5;
}

.mb-mborder-section-head > p:last-child {
  margin: 15px 0 0;
  color: #607076;
  font-size: 14px;
  line-height: 1.9;
}

.mb-mborder-line-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 38px;
  border: 1px solid #dce4e6;
  background: #dce4e6;
}

.mb-mborder-line-flow article {
  min-width: 0;
  padding: 31px 28px 32px;
  background: #f7f9f9;
}

.mb-mborder-line-flow span {
  display: block;
  margin-bottom: 17px;
  color: #b08f4e;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 13px;
  font-weight: 700;
}

.mb-mborder-line-flow h3 {
  margin: 0;
  color: #163945;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.55;
}

.mb-mborder-line-flow p {
  margin: 13px 0 0;
  color: #5c6b71;
  font-size: 13px;
  line-height: 1.85;
}

.mb-mborder-line__actions {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-top: 31px;
}

.mb-mborder-line-button--dark {
  margin-top: 0;
  background: #073746;
  color: #fff;
}

.mb-mborder-line-button--dark:hover {
  background: #0a4a5b;
}

.mb-mborder-text-link {
  color: #07546d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

/* App */
.mb-mborder-app {
  padding: 86px 0 100px;
  background: #eef3f4;
}

.mb-mborder-app__intro {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: 70px;
  align-items: end;
  padding-bottom: 30px;
  border-bottom: 1px solid #d1dcdf;
}

.mb-mborder-app__intro h2 {
  margin: 0;
  color: #153743;
  font-size: 30px;
  font-weight: 600;
}

.mb-mborder-app__intro > div:last-child p {
  margin: 0;
  color: #5c6d73;
  font-size: 13px;
  line-height: 1.9;
}

.mb-mborder-app__intro > div:last-child a {
  display: inline-flex;
  margin-top: 17px;
  color: #07546d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.mb-mborder-app__qr-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 270px));
  gap: 18px;
  justify-content: center;
  margin-top: 38px;
}

.mb-mborder-app-card {
  padding: 20px 20px 22px;
  border: 1px solid #d7e0e2;
  background: #fff;
  text-align: center;
  box-shadow: 0 12px 30px rgba(4,31,42,.045);
}

.mb-mborder-app-card p {
  margin: 0 0 12px;
  color: #63737a;
  font-size: 11px;
  font-weight: 700;
}

.mb-mborder-app-card a {
  display: block;
}

.mb-mborder-app-card img {
  display: block;
  width: min(190px, 100%);
  height: auto;
  margin: 0 auto;
}

.mb-mborder-app-card span {
  display: block;
  margin-top: 13px;
  color: #173944;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 900px) {
  .mb-mborder-hero__inner {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .mb-mborder-hero__visual {
    max-width: 620px;
  }

  .mb-mborder-line-flow {
    grid-template-columns: 1fr;
  }

  .mb-mborder-app__intro {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 750px) {
  .mb-mborder-shell {
    width: calc(100% - 28px);
  }

  .mb-mborder-hero__inner {
    min-height: 0;
    padding: 64px 0 48px;
    gap: 31px;
  }

  .mb-mborder-badge {
    margin-bottom: 14px;
    font-size: 10px;
  }

  .mb-mborder-hero h1 {
    font-size: 35px;
    line-height: 1.36;
  }

  .mb-mborder-hero__lead {
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.9;
  }

  .mb-mborder-line-button {
    width: 100%;
    min-width: 0;
    margin-top: 24px;
  }

  .mb-mborder-hero__visual {
    padding: 9px;
  }

  .mb-mborder-line {
    padding: 55px 0 62px;
  }

  .mb-mborder-section-head h2 {
    font-size: 25px;
  }

  .mb-mborder-section-head > p:last-child {
    font-size: 13px;
  }

  .mb-mborder-line-flow {
    margin-top: 27px;
  }

  .mb-mborder-line-flow article {
    padding: 25px 22px 26px;
  }

  .mb-mborder-line__actions {
    display: block;
    margin-top: 26px;
  }

  .mb-mborder-line__actions .mb-mborder-line-button {
    margin-top: 0;
  }

  .mb-mborder-text-link {
    display: inline-block;
    margin-top: 15px;
  }

  .mb-mborder-app {
    padding: 55px 0 67px;
  }

  .mb-mborder-app__intro h2 {
    font-size: 25px;
  }

  .mb-mborder-app__qr-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 27px;
  }

  .mb-mborder-app-card {
    padding: 14px 10px 16px;
  }

  .mb-mborder-app-card img {
    width: 100%;
    max-width: 150px;
  }
}

@media (max-width: 390px) {
  .mb-mborder-app__qr-grid {
    gap: 8px;
  }

  .mb-mborder-app-card {
    padding-left: 8px;
    padding-right: 8px;
  }
}


/* ==========================================================================
   DEL — "出張洗車とは" (v1.9.0)
   ========================================================================== */

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

.mb-del-kicker {
  margin: 0 0 11px;
  color: #ad8e50;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .21em;
  line-height: 1.2;
}

.mb-del-badge {
  display: inline-flex;
  margin: 2px 0 17px;
  padding: 7px 11px;
  border: 1px solid rgba(216,191,132,.55);
  color: #ecdcb7;
  font-size: 10px;
  font-weight: 700;
}

.mb-del-hero {
  overflow: hidden;
  background: #062f3b;
  color: #fff;
}

.mb-del-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  gap: 76px;
  align-items: center;
  min-height: 660px;
  padding: 92px 0 82px;
}

.mb-del-hero .mb-del-kicker {
  color: #d6bc7d;
}

.mb-del-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(44px, 5.3vw, 70px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .005em;
}

.mb-del-hero__lead {
  max-width: 650px;
  margin: 26px 0 0;
  color: #d2e0e3;
  font-size: 15px;
  line-height: 2;
}

.mb-del-hero__actions {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-top: 31px;
}

.mb-del-button {
  display: inline-flex;
  min-width: 250px;
  min-height: 58px;
  padding: 0 28px;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  transition: .2s ease;
}

.mb-del-button--primary {
  background: #fff;
  color: #073746;
}

.mb-del-button--primary:hover {
  transform: translateY(-1px);
  background: #edf3f4;
}

.mb-del-text-link {
  color: #07546d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.mb-del-text-link--light {
  color: #e8f0f2;
}

.mb-del-hero__media {
  position: relative;
  overflow: hidden;
  min-height: 470px;
  background: #0b4351;
}

.mb-del-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 470px;
  object-fit: cover;
}

.mb-del-media-fallback {
  display: flex;
  min-height: 470px;
  padding: 42px;
  flex-direction: column;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 20% 20%, rgba(213,187,123,.25), transparent 28%),
    linear-gradient(135deg, #0a4350, #082d38);
}

.mb-del-media-fallback span {
  color: #cdb883;
  font-size: 11px;
  letter-spacing: .2em;
}

.mb-del-media-fallback strong {
  margin-top: 13px;
  color: #fff;
  font-size: 32px;
  line-height: 1.45;
}

/* shared heading */
.mb-del-section-head {
  max-width: 730px;
}

.mb-del-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.mb-del-section-head h2 {
  margin: 0;
  color: #153743;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.55;
}

.mb-del-section-head > p:last-child {
  margin: 16px 0 0;
  color: #617178;
  font-size: 14px;
  line-height: 1.95;
}

/* compare */
.mb-del-concept {
  padding: 92px 0 98px;
  background: #fff;
}

.mb-del-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 66px minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  margin-top: 44px;
}

.mb-del-compare article {
  padding: 37px 40px 39px;
  border: 1px solid #dbe3e5;
}

.mb-del-compare__old {
  background: #f7f8f8;
}

.mb-del-compare__new {
  background: #eef4f5;
}

.mb-del-compare__label {
  margin: 0 0 15px;
  color: #a88b4d;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
}

.mb-del-compare h3 {
  margin: 0;
  color: #173a45;
  font-size: 23px;
  line-height: 1.55;
}

.mb-del-compare ul {
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}

.mb-del-compare li {
  position: relative;
  margin-top: 10px;
  padding-left: 19px;
  color: #5c6d73;
  font-size: 13px;
  line-height: 1.7;
}

.mb-del-compare li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .75em;
  width: 7px;
  height: 1px;
  background: #9ba9ad;
}

.mb-del-compare__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b08f4e;
  font-size: 23px;
}

/* scenarios */
.mb-del-scenes {
  padding: 91px 0 100px;
  background: #eef3f4;
}

.mb-del-scenes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 40px;
}

.mb-del-scenes__grid article {
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 34px rgba(9,42,52,.04);
}

.mb-del-scenes__grid figure {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #dfe8ea;
}

.mb-del-scenes__grid figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-del-scenes__body {
  padding: 27px 27px 30px;
}

.mb-del-scenes__body > span {
  color: #ae8e4f;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.mb-del-scenes__body h3 {
  margin: 9px 0 0;
  color: #163945;
  font-size: 20px;
  font-weight: 600;
}

.mb-del-scenes__body p {
  margin: 12px 0 0;
  color: #5f6f75;
  font-size: 13px;
  line-height: 1.85;
}

/* video */
.mb-del-video {
  padding: 95px 0;
  background: #fff;
}

.mb-del-video .mb-del-shell {
  display: grid;
  grid-template-columns: minmax(330px, .75fr) minmax(0, 1.25fr);
  gap: 66px;
  align-items: center;
}

.mb-del-video__copy h2 {
  margin: 0;
  color: #153743;
  font-size: 31px;
  line-height: 1.55;
  font-weight: 600;
}

.mb-del-video__copy > p:not(.mb-del-kicker) {
  margin: 16px 0 0;
  color: #617178;
  font-size: 13px;
  line-height: 1.9;
}

.mb-del-video__copy .mb-del-text-link {
  display: inline-block;
  margin-top: 18px;
}

.mb-del-video__media {
  overflow: hidden;
  background: #092e39;
}

.mb-del-video__media video {
  display: block;
  width: 100%;
  height: auto;
}

/* facts */
.mb-del-facts {
  padding: 92px 0 98px;
  background: #f7f9f9;
}

.mb-del-facts__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 39px;
  border: 1px solid #dce4e6;
  background: #dce4e6;
}

.mb-del-facts__grid article {
  padding: 31px 30px 33px;
  background: #fff;
}

.mb-del-facts__grid span {
  display: block;
  color: #b08f4e;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 11px;
  font-weight: 700;
}

.mb-del-facts__grid h3 {
  margin: 11px 0 0;
  color: #163945;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.55;
}

.mb-del-facts__grid p {
  margin: 12px 0 0;
  color: #5d6d73;
  font-size: 13px;
  line-height: 1.85;
}

.mb-del-facts__links {
  display: flex;
  gap: 28px;
  margin-top: 22px;
}

.mb-del-facts__links a {
  color: #07546d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

/* final CTA */
.mb-del-order {
  padding: 78px 0;
  background: #073746;
  color: #fff;
}

.mb-del-order__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 60px;
  align-items: center;
}

.mb-del-order .mb-del-kicker {
  color: #d6bc7d;
}

.mb-del-order h2 {
  margin: 0;
  color: #fff;
  font-size: 33px;
  line-height: 1.5;
  font-weight: 600;
}

.mb-del-order p:not(.mb-del-kicker) {
  max-width: 700px;
  margin: 16px 0 0;
  color: #d1dfe2;
  font-size: 13px;
  line-height: 1.9;
}

.mb-del-order__actions {
  min-width: 275px;
}

.mb-del-order__actions .mb-del-button {
  width: 100%;
}

.mb-del-order__actions .mb-del-text-link {
  display: block;
  margin-top: 15px;
  text-align: center;
}

@media (max-width: 920px) {
  .mb-del-hero__inner,
  .mb-del-video .mb-del-shell {
    grid-template-columns: 1fr;
  }

  .mb-del-hero__media {
    max-width: 720px;
  }

  .mb-del-scenes__grid {
    grid-template-columns: 1fr;
  }

  .mb-del-scenes__grid article {
    display: grid;
    grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr);
  }

  .mb-del-scenes__grid figure {
    aspect-ratio: auto;
    min-height: 260px;
  }

  .mb-del-order__inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .mb-del-order__actions {
    max-width: 360px;
  }
}

@media (max-width: 750px) {
  .mb-del-shell {
    width: calc(100% - 28px);
  }

  .mb-del-hero__inner {
    min-height: 0;
    padding: 65px 0 50px;
    gap: 34px;
  }

  .mb-del-hero h1 {
    font-size: 38px;
    line-height: 1.34;
  }

  .mb-del-hero__lead {
    margin-top: 19px;
    font-size: 13px;
    line-height: 1.9;
  }

  .mb-del-hero__actions {
    display: block;
    margin-top: 25px;
  }

  .mb-del-button {
    width: 100%;
    min-width: 0;
  }

  .mb-del-hero__actions .mb-del-text-link {
    display: inline-block;
    margin-top: 15px;
  }

  .mb-del-hero__media,
  .mb-del-hero__media img,
  .mb-del-media-fallback {
    min-height: 310px;
  }

  .mb-del-section-head h2,
  .mb-del-video__copy h2,
  .mb-del-order h2 {
    font-size: 26px;
  }

  .mb-del-concept,
  .mb-del-scenes,
  .mb-del-video,
  .mb-del-facts {
    padding-top: 58px;
    padding-bottom: 64px;
  }

  .mb-del-compare {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }

  .mb-del-compare__arrow {
    height: 45px;
    transform: rotate(90deg);
  }

  .mb-del-compare article {
    padding: 28px 24px 30px;
  }

  .mb-del-scenes__grid {
    margin-top: 28px;
  }

  .mb-del-scenes__grid article {
    display: block;
  }

  .mb-del-scenes__grid figure {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .mb-del-video .mb-del-shell {
    gap: 27px;
  }

  .mb-del-facts__grid {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }

  .mb-del-facts__grid article {
    padding: 26px 22px 28px;
  }

  .mb-del-facts__links {
    display: block;
  }

  .mb-del-facts__links a {
    display: block;
    margin-top: 11px;
  }

  .mb-del-order {
    padding: 56px 0 60px;
  }

  .mb-del-order__actions {
    min-width: 0;
    max-width: none;
  }
}


/* ==========================================================================
   DEL v1.9.1 — editable content + Before/After proof
   ========================================================================== */

.mb-del-proof {
  padding: 88px 0 98px;
  background: #fff;
}

.mb-del-proof__single {
  max-width: 780px;
  margin: 38px auto 0;
  overflow: hidden;
  background: #eef2f3;
}

.mb-del-proof__single img {
  display: block;
  width: 100%;
  height: auto;
}

.mb-del-proof__footer {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  max-width: 780px;
  margin: 15px auto 0;
}

.mb-del-proof__note {
  margin: 0;
  color: #7a898e;
  font-size: 11px;
  line-height: 1.7;
}

.mb-del-proof__footer .mb-del-text-link {
  flex: 0 0 auto;
}

.mb-del-method {
  padding: 92px 0 96px;
  background: #eef3f4;
}

.mb-del-method__inner {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: 65px;
  align-items: center;
}

.mb-del-method__copy h2 {
  margin: 0;
  color: #153743;
  font-size: 31px;
  font-weight: 600;
  line-height: 1.55;
}

.mb-del-method__copy > p:not(.mb-del-kicker) {
  margin: 16px 0 0;
  color: #617178;
  font-size: 13px;
  line-height: 1.95;
}

.mb-del-method__copy .mb-del-text-link {
  display: inline-block;
  margin-top: 18px;
}

.mb-del-method__media {
  overflow: hidden;
  min-height: 370px;
  background: #dfe8ea;
}

.mb-del-method__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 370px;
  object-fit: cover;
}

.mb-del-method__placeholder {
  display: flex;
  min-height: 370px;
  padding: 32px;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(135deg,#dfe8ea,#eef3f4);
}

.mb-del-method__placeholder span {
  color: #ad8e50;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.mb-del-method__placeholder p {
  margin: 10px 0 0;
  color: #52666d;
  font-size: 13px;
}

.mb-del-scenes__grid article.no-image {
  display: block;
}

.mb-del-scenes__grid article.no-image .mb-del-scenes__body {
  min-height: 210px;
}

@media (max-width: 900px) {
  .mb-del-method__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 750px) {
  .mb-del-proof,
  .mb-del-method {
    padding-top: 56px;
    padding-bottom: 62px;
  }

  .mb-del-proof__single {
    margin-top: 27px;
  }

  .mb-del-proof__footer {
    display: block;
  }

  .mb-del-proof__footer .mb-del-text-link {
    display: inline-block;
    margin-top: 12px;
  }

  .mb-del-method__copy h2 {
    font-size: 26px;
  }

  .mb-del-method__media,
  .mb-del-method__media img,
  .mb-del-method__placeholder {
    min-height: 270px;
  }
}


/* ==========================================================================
   ASSETVALUE — waterless wash explanation (v1.10.0)
   ========================================================================== */

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

.mb-assetvalue-kicker {
  margin: 0 0 11px;
  color: #ad8e50;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .21em;
}

.mb-assetvalue-badge {
  display: inline-flex;
  margin: 2px 0 17px;
  padding: 7px 11px;
  border: 1px solid rgba(216,191,132,.55);
  color: #ecdcb7;
  font-size: 10px;
  font-weight: 700;
}

.mb-assetvalue-hero {
  background: #062f3b;
  color: #fff;
}

.mb-assetvalue-hero__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(420px,.9fr);
  gap: 74px;
  align-items: center;
  min-height: 650px;
  padding: 88px 0 80px;
}

.mb-assetvalue-hero .mb-assetvalue-kicker,
.mb-assetvalue-cta .mb-assetvalue-kicker {
  color: #d6bc7d;
}

.mb-assetvalue-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(42px,5.15vw,68px);
  font-weight: 600;
  line-height: 1.28;
}

.mb-assetvalue-hero__lead {
  margin: 25px 0 0;
  color: #d2e0e3;
  font-size: 14px;
  line-height: 2;
}

.mb-assetvalue-hero__actions {
  display: flex;
  gap: 23px;
  align-items: center;
  margin-top: 30px;
}

.mb-assetvalue-button {
  display: inline-flex;
  min-width: 255px;
  min-height: 58px;
  padding: 0 27px;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}

.mb-assetvalue-button--primary {
  background: #fff;
  color: #073746;
}

.mb-assetvalue-button--dark {
  margin-top: 25px;
  background: #073746;
  color: #fff;
}

.mb-assetvalue-text-link {
  color: #07546d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.mb-assetvalue-text-link--light {
  color: #e8f0f2;
}

.mb-assetvalue-hero__media {
  overflow: hidden;
  min-height: 465px;
  background: #0a4350;
}

.mb-assetvalue-hero__media img,
.mb-assetvalue-split__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-assetvalue-hero__media img {
  min-height: 465px;
}

.mb-assetvalue-photo-placeholder {
  display: flex;
  min-height: 465px;
  padding: 38px;
  flex-direction: column;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 20% 20%, rgba(213,187,123,.22), transparent 30%),
    linear-gradient(135deg,#0a4350,#082d38);
}

.mb-assetvalue-photo-placeholder--light {
  min-height: 430px;
  background: linear-gradient(135deg,#e3ebed,#f2f5f6);
}

.mb-assetvalue-photo-placeholder span {
  color: #cdb883;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
}

.mb-assetvalue-photo-placeholder strong {
  margin-top: 12px;
  color: #fff;
  font-size: 28px;
  line-height: 1.5;
}

.mb-assetvalue-photo-placeholder--light strong {
  color: #24434d;
}

/* Proof */
.mb-assetvalue-proof {
  padding: 88px 0 96px;
  background: #fff;
}

.mb-assetvalue-proof__inner {
  display: grid;
  grid-template-columns: minmax(320px,.72fr) minmax(0,1.28fr);
  gap: 64px;
  align-items: center;
}

.mb-assetvalue-proof__copy h2,
.mb-assetvalue-split__copy h2,
.mb-assetvalue-care h2,
.mb-assetvalue-cta h2 {
  margin: 0;
  color: #153743;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.55;
}

.mb-assetvalue-proof__copy > p:not(.mb-assetvalue-kicker),
.mb-assetvalue-split__copy > p:not(.mb-assetvalue-kicker),
.mb-assetvalue-care p {
  margin: 16px 0 0;
  color: #617178;
  font-size: 13px;
  line-height: 1.95;
}

.mb-assetvalue-proof__copy small,
.mb-assetvalue-care small {
  display: block;
  margin-top: 14px;
  color: #7c8a8f;
  font-size: 10px;
  line-height: 1.7;
}

.mb-assetvalue-proof__media {
  margin: 0;
  overflow: hidden;
  background: #eef2f3;
}

.mb-assetvalue-proof__media img {
  display: block;
  width: 100%;
  height: auto;
}

/* Method */
.mb-assetvalue-method {
  padding: 90px 0 98px;
  background: #eef3f4;
}

.mb-assetvalue-section-head {
  max-width: 760px;
}

.mb-assetvalue-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.mb-assetvalue-section-head h2 {
  margin: 0;
  color: #153743;
  font-size: 33px;
  font-weight: 600;
  line-height: 1.55;
}

.mb-assetvalue-section-head > p:last-child {
  margin: 16px 0 0;
  color: #617178;
  font-size: 13px;
  line-height: 1.95;
}

.mb-assetvalue-method__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 15px;
  margin-top: 40px;
}

.mb-assetvalue-method__grid article {
  overflow: hidden;
  background: #fff;
}

.mb-assetvalue-method__grid figure {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #dfe8ea;
}

.mb-assetvalue-method__grid figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-assetvalue-method__body {
  min-height: 205px;
  padding: 27px 26px 29px;
}

.mb-assetvalue-method__body span {
  color: #ad8e50;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
}

.mb-assetvalue-method__body h3 {
  margin: 9px 0 0;
  color: #163945;
  font-size: 19px;
  font-weight: 600;
}

.mb-assetvalue-method__body p {
  margin: 12px 0 0;
  color: #5f6f75;
  font-size: 13px;
  line-height: 1.85;
}

/* Split sections */
.mb-assetvalue-scratch,
.mb-assetvalue-place {
  padding: 94px 0;
}

.mb-assetvalue-scratch {
  background: #fff;
}

.mb-assetvalue-place {
  background: #f7f9f9;
}

.mb-assetvalue-split {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr);
  gap: 67px;
  align-items: center;
}

.mb-assetvalue-split--reverse .mb-assetvalue-split__media {
  order: 2;
}

.mb-assetvalue-split--reverse .mb-assetvalue-split__copy {
  order: 1;
}

.mb-assetvalue-split__media {
  min-height: 430px;
  overflow: hidden;
  background: #e2eaec;
}

.mb-assetvalue-split__media img {
  min-height: 430px;
}

.mb-assetvalue-checks {
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}

.mb-assetvalue-checks li {
  position: relative;
  margin-top: 11px;
  padding: 12px 14px 12px 37px;
  background: #f2f6f7;
  color: #38515a;
  font-size: 12px;
  line-height: 1.6;
}

.mb-assetvalue-checks li::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 11px;
  color: #9b7b3c;
  font-weight: 700;
}

.mb-assetvalue-place .mb-assetvalue-text-link {
  display: inline-block;
  margin: 18px 0 0 18px;
}

/* Care */
.mb-assetvalue-care {
  padding: 84px 0 90px;
  background: #fff;
}

.mb-assetvalue-care__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(320px,.8fr);
  gap: 60px;
  align-items: center;
}

.mb-assetvalue-care figure {
  margin: 0;
  overflow: hidden;
}

.mb-assetvalue-care figure img {
  display: block;
  width: 100%;
  height: auto;
}

/* CTA */
.mb-assetvalue-cta {
  padding: 76px 0;
  background: #073746;
  color: #fff;
}

.mb-assetvalue-cta__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 60px;
  align-items: center;
}

.mb-assetvalue-cta h2 {
  color: #fff;
}

.mb-assetvalue-cta p:not(.mb-assetvalue-kicker) {
  max-width: 700px;
  margin: 16px 0 0;
  color: #d1dfe2;
  font-size: 13px;
  line-height: 1.9;
}

.mb-assetvalue-cta__actions {
  min-width: 275px;
}

.mb-assetvalue-cta__actions .mb-assetvalue-button {
  width: 100%;
}

.mb-assetvalue-cta__actions .mb-assetvalue-text-link {
  display: block;
  margin-top: 15px;
  text-align: center;
}

@media (max-width: 920px) {
  .mb-assetvalue-hero__inner,
  .mb-assetvalue-proof__inner,
  .mb-assetvalue-split,
  .mb-assetvalue-care__inner,
  .mb-assetvalue-cta__inner {
    grid-template-columns: 1fr;
  }

  .mb-assetvalue-split--reverse .mb-assetvalue-split__media,
  .mb-assetvalue-split--reverse .mb-assetvalue-split__copy {
    order: initial;
  }

  .mb-assetvalue-method__grid {
    grid-template-columns: 1fr;
  }

  .mb-assetvalue-method__grid article.has-image {
    display: grid;
    grid-template-columns: minmax(250px,.85fr) minmax(0,1.15fr);
  }

  .mb-assetvalue-method__grid article.has-image figure {
    aspect-ratio: auto;
    min-height: 250px;
  }

  .mb-assetvalue-cta__actions {
    max-width: 360px;
  }
}

@media (max-width: 750px) {
  .mb-assetvalue-shell {
    width: calc(100% - 28px);
  }

  .mb-assetvalue-hero__inner {
    min-height: 0;
    padding: 64px 0 50px;
    gap: 32px;
  }

  .mb-assetvalue-hero h1 {
    font-size: 37px;
    line-height: 1.35;
  }

  .mb-assetvalue-hero__lead {
    margin-top: 19px;
    font-size: 13px;
  }

  .mb-assetvalue-hero__actions {
    display: block;
    margin-top: 24px;
  }

  .mb-assetvalue-button {
    width: 100%;
    min-width: 0;
  }

  .mb-assetvalue-hero__actions .mb-assetvalue-text-link {
    display: inline-block;
    margin-top: 15px;
  }

  .mb-assetvalue-hero__media,
  .mb-assetvalue-hero__media img,
  .mb-assetvalue-photo-placeholder {
    min-height: 300px;
  }

  .mb-assetvalue-proof,
  .mb-assetvalue-method,
  .mb-assetvalue-scratch,
  .mb-assetvalue-place,
  .mb-assetvalue-care {
    padding-top: 57px;
    padding-bottom: 63px;
  }

  .mb-assetvalue-proof__inner,
  .mb-assetvalue-split,
  .mb-assetvalue-care__inner {
    gap: 27px;
  }

  .mb-assetvalue-proof__copy h2,
  .mb-assetvalue-section-head h2,
  .mb-assetvalue-split__copy h2,
  .mb-assetvalue-care h2,
  .mb-assetvalue-cta h2 {
    font-size: 26px;
  }

  .mb-assetvalue-method__grid {
    margin-top: 27px;
  }

  .mb-assetvalue-method__grid article.has-image {
    display: block;
  }

  .mb-assetvalue-method__grid article.has-image figure {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .mb-assetvalue-split__media,
  .mb-assetvalue-split__media img,
  .mb-assetvalue-photo-placeholder--light {
    min-height: 280px;
  }

  .mb-assetvalue-place .mb-assetvalue-text-link {
    display: block;
    margin: 15px 0 0;
  }

  .mb-assetvalue-cta {
    padding: 55px 0 60px;
  }

  .mb-assetvalue-cta__actions {
    min-width: 0;
    max-width: none;
  }
}


/* ==========================================================================\n   MPAA — trust / meister page (v1.11.0)\n   ========================================================================== */
.mb-mpaa-shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}.mb-mpaa-kicker{margin:0 0 11px;color:#ad8e50;font-family:"Hind Madurai","Noto Sans JP",sans-serif;font-size:10px;font-weight:700;letter-spacing:.21em}.mb-mpaa-badge{display:inline-flex;margin:2px 0 17px;padding:7px 11px;border:1px solid rgba(216,191,132,.55);color:#ecdcb7;font-size:10px;font-weight:700}.mb-mpaa-hero{background:#062f3b;color:#fff}.mb-mpaa-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:74px;align-items:center;min-height:650px;padding:88px 0 80px}.mb-mpaa-hero .mb-mpaa-kicker,.mb-mpaa-cta .mb-mpaa-kicker{color:#d6bc7d}.mb-mpaa-hero h1{margin:0;color:#fff;font-size:clamp(42px,5.05vw,67px);font-weight:600;line-height:1.28}.mb-mpaa-hero__lead{margin:25px 0 0;color:#d2e0e3;font-size:14px;line-height:2}.mb-mpaa-hero__actions{display:flex;gap:23px;align-items:center;margin-top:30px}.mb-mpaa-button{display:inline-flex;min-width:255px;min-height:58px;padding:0 27px;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:13px;font-weight:700}.mb-mpaa-button--primary{background:#fff;color:#073746}.mb-mpaa-text-link{color:#07546d;font-size:12px;font-weight:700;text-decoration:none}.mb-mpaa-text-link--light{color:#e8f0f2}.mb-mpaa-hero__media,.mb-mpaa-intro__media,.mb-mpaa-split__media{overflow:hidden;min-height:450px;background:#dfe8ea}.mb-mpaa-hero__media img,.mb-mpaa-intro__media img,.mb-mpaa-split__media img,.mb-mpaa-training__media img,.mb-mpaa-conduct__media img{display:block;width:100%;height:100%;object-fit:cover}.mb-mpaa-hero__media img{min-height:450px}.mb-mpaa-photo-placeholder{display:flex;min-height:450px;padding:38px;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 20% 20%,rgba(213,187,123,.22),transparent 30%),linear-gradient(135deg,#0a4350,#082d38)}.mb-mpaa-photo-placeholder--light{min-height:430px;background:linear-gradient(135deg,#e2eaec,#f4f7f7)}.mb-mpaa-photo-placeholder--dark{min-height:100%;background:linear-gradient(135deg,#0a3d4a,#062c37)}.mb-mpaa-photo-placeholder span{color:#cdb883;font-size:10px;font-weight:700;letter-spacing:.18em}.mb-mpaa-photo-placeholder strong{margin-top:12px;color:#fff;font-size:27px;line-height:1.5}.mb-mpaa-photo-placeholder--light strong{color:#24434d}.mb-mpaa-section-head{max-width:760px}.mb-mpaa-section-head--center{margin-inline:auto;text-align:center}.mb-mpaa-section-head h2,.mb-mpaa-intro__copy h2,.mb-mpaa-training__head h2,.mb-mpaa-split__copy h2,.mb-mpaa-cta h2{margin:0;color:#153743;font-size:32px;font-weight:600;line-height:1.55}.mb-mpaa-section-head>p:last-child,.mb-mpaa-intro__copy>p:not(.mb-mpaa-kicker),.mb-mpaa-training__head>p,.mb-mpaa-split__copy>p:not(.mb-mpaa-kicker){margin:16px 0 0;color:#617178;font-size:13px;line-height:1.95}.mb-mpaa-intro{padding:90px 0 96px;background:#fff}.mb-mpaa-intro__inner{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:65px;align-items:center}.mb-mpaa-intro__copy small{display:block;margin-top:15px;color:#7d898d;font-size:10px;line-height:1.7}.mb-mpaa-flow{padding:90px 0 98px;background:#eef3f4}.mb-mpaa-flow__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:39px;border:1px solid #dce4e6;background:#dce4e6}.mb-mpaa-flow__grid article{display:flex;flex-direction:column;padding:0;background:#fff;overflow:hidden}.mb-mpaa-flow__image{aspect-ratio:4/2.25;background:#dfe8ea}.mb-mpaa-flow__image img{display:block;width:100%;height:100%;object-fit:cover}.mb-mpaa-flow__content{padding:30px 25px 31px}.mb-mpaa-flow__grid span,.mb-mpaa-training__grid span,.mb-mpaa-conduct__grid span{display:block;color:#ad8e50;font-size:11px;font-weight:700}.mb-mpaa-flow__grid h3,.mb-mpaa-training__grid h3,.mb-mpaa-conduct__grid h3{margin:11px 0 0;color:#163945;font-size:18px;font-weight:600;line-height:1.55}.mb-mpaa-flow__grid p,.mb-mpaa-training__grid p,.mb-mpaa-conduct__grid p{margin:12px 0 0;color:#5d6d73;font-size:13px;line-height:1.85}.mb-mpaa-training{padding:92px 0 98px;background:#fff}.mb-mpaa-training__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.75fr);gap:55px;align-items:end}.mb-mpaa-training__body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px;margin-top:39px}.mb-mpaa-training__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid #dce4e6;background:#dce4e6}.mb-mpaa-training__grid article{padding:28px 27px 30px;background:#f7f9f9}.mb-mpaa-training__media{min-height:100%;overflow:hidden;background:#073746}.mb-mpaa-update{padding:94px 0;background:#f7f9f9}.mb-mpaa-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:67px;align-items:center}.mb-mpaa-split__media img{min-height:430px}.mb-mpaa-checks{margin:25px 0 0;padding:0;list-style:none}.mb-mpaa-checks li{position:relative;margin-top:11px;padding:12px 14px 12px 37px;background:#fff;color:#38515a;font-size:12px;line-height:1.6}.mb-mpaa-checks li::before{content:"✓";position:absolute;left:14px;top:11px;color:#9b7b3c;font-weight:700}.mb-mpaa-conduct{padding:92px 0 98px;background:#fff}.mb-mpaa-conduct__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:38px;border:1px solid #dce4e6;background:#dce4e6}.mb-mpaa-conduct__grid article{padding:29px 27px 31px;background:#f7f9f9}.mb-mpaa-conduct__media{margin:20px 0 0;overflow:hidden;max-height:440px}.mb-mpaa-conduct__media img{max-height:440px}.mb-mpaa-faq{padding:88px 0 96px;background:#eef3f4}.mb-mpaa-faq__list{margin-top:32px;border-top:1px solid #cad7da}.mb-mpaa-faq__list details{border-bottom:1px solid #cad7da}.mb-mpaa-faq__list summary{position:relative;padding:22px 52px 22px 0;color:#173945;cursor:pointer;font-size:15px;font-weight:600;list-style:none}.mb-mpaa-faq__list summary::-webkit-details-marker{display:none}.mb-mpaa-faq__list summary::after{content:"+";position:absolute;right:6px;top:19px;color:#9b7b3c;font-size:22px}.mb-mpaa-faq__list details[open] summary::after{content:"−"}.mb-mpaa-faq__list details div{padding:0 55px 23px 0}.mb-mpaa-faq__list details p{margin:0;color:#607076;font-size:13px;line-height:1.9}.mb-mpaa-cta{padding:76px 0;background:#073746;color:#fff}.mb-mpaa-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:center}.mb-mpaa-cta h2{color:#fff}.mb-mpaa-cta p:not(.mb-mpaa-kicker){max-width:700px;margin:16px 0 0;color:#d1dfe2;font-size:13px;line-height:1.9}.mb-mpaa-cta__actions{min-width:275px}.mb-mpaa-cta__actions .mb-mpaa-button{width:100%}.mb-mpaa-cta__actions .mb-mpaa-text-link{display:block;margin-top:15px;text-align:center}@media(max-width:920px){.mb-mpaa-hero__inner,.mb-mpaa-intro__inner,.mb-mpaa-split,.mb-mpaa-cta__inner{grid-template-columns:1fr}.mb-mpaa-flow__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mb-mpaa-training__head,.mb-mpaa-training__body{grid-template-columns:1fr}.mb-mpaa-training__media{min-height:360px}.mb-mpaa-conduct__grid{grid-template-columns:1fr}.mb-mpaa-cta__actions{max-width:360px}}@media(max-width:750px){.mb-mpaa-shell{width:calc(100% - 28px)}.mb-mpaa-hero__inner{min-height:0;padding:64px 0 50px;gap:32px}.mb-mpaa-hero h1{font-size:37px;line-height:1.35}.mb-mpaa-hero__lead{margin-top:19px;font-size:13px}.mb-mpaa-hero__actions{display:block;margin-top:24px}.mb-mpaa-button{width:100%;min-width:0}.mb-mpaa-hero__actions .mb-mpaa-text-link{display:inline-block;margin-top:15px}.mb-mpaa-hero__media,.mb-mpaa-hero__media img,.mb-mpaa-photo-placeholder,.mb-mpaa-intro__media,.mb-mpaa-photo-placeholder--light,.mb-mpaa-split__media,.mb-mpaa-split__media img{min-height:290px}.mb-mpaa-intro,.mb-mpaa-flow,.mb-mpaa-training,.mb-mpaa-update,.mb-mpaa-conduct,.mb-mpaa-faq{padding-top:57px;padding-bottom:63px}.mb-mpaa-intro__inner,.mb-mpaa-split{gap:27px}.mb-mpaa-section-head h2,.mb-mpaa-intro__copy h2,.mb-mpaa-training__head h2,.mb-mpaa-split__copy h2,.mb-mpaa-cta h2{font-size:26px}.mb-mpaa-flow__grid{grid-template-columns:1fr;margin-top:27px}.mb-mpaa-training__body{margin-top:27px}.mb-mpaa-training__grid{grid-template-columns:1fr}.mb-mpaa-training__media{min-height:280px}.mb-mpaa-conduct__grid{margin-top:27px}.mb-mpaa-faq__list{margin-top:24px}.mb-mpaa-cta{padding:55px 0 60px}.mb-mpaa-cta__actions{min-width:0;max-width:none}}


/* ==========================================================================
   FIRST — first-time customer guide (v1.12.0)
   ========================================================================== */
.mb-first-shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}.mb-first-kicker{margin:0 0 11px;color:#ad8e50;font-family:"Hind Madurai","Noto Sans JP",sans-serif;font-size:10px;font-weight:700;letter-spacing:.21em}.mb-first-badge{display:inline-flex;margin:2px 0 17px;padding:7px 11px;border:1px solid rgba(216,191,132,.55);color:#ecdcb7;font-size:10px;font-weight:700}.mb-first-hero{background:#062f3b;color:#fff}.mb-first-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:74px;align-items:center;min-height:650px;padding:88px 0 80px}.mb-first-hero .mb-first-kicker,.mb-first-cta .mb-first-kicker{color:#d6bc7d}.mb-first-hero h1{margin:0;color:#fff;font-size:clamp(41px,4.8vw,64px);font-weight:600;line-height:1.3}.mb-first-hero__lead{margin:25px 0 0;color:#d2e0e3;font-size:14px;line-height:2}.mb-first-hero__actions{display:flex;gap:23px;align-items:center;margin-top:30px}.mb-first-button{display:inline-flex;min-width:255px;min-height:58px;padding:0 27px;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:13px;font-weight:700}.mb-first-button--primary{background:#fff;color:#073746}.mb-first-text-link{color:#07546d;font-size:12px;font-weight:700;text-decoration:none}.mb-first-text-link--light{color:#e8f0f2}.mb-first-hero__media{overflow:hidden;min-height:450px;background:#0a4350}.mb-first-hero__media img{display:block;width:100%;height:100%;min-height:450px;object-fit:cover}.mb-first-photo-placeholder{display:flex;min-height:450px;padding:38px;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 20% 20%,rgba(213,187,123,.22),transparent 30%),linear-gradient(135deg,#0a4350,#082d38)}.mb-first-photo-placeholder span{color:#cdb883;font-size:10px;font-weight:700;letter-spacing:.18em}.mb-first-photo-placeholder strong{margin-top:12px;color:#fff;font-size:27px;line-height:1.5}.mb-first-section-head{max-width:760px}.mb-first-section-head--center{margin-inline:auto;text-align:center}.mb-first-section-head h2,.mb-first-proof__copy h2,.mb-first-check h2,.mb-first-cta h2{margin:0;color:#153743;font-size:32px;font-weight:600;line-height:1.55}.mb-first-section-head>p:last-child,.mb-first-proof__copy>p:not(.mb-first-kicker),.mb-first-check p{margin:16px 0 0;color:#617178;font-size:13px;line-height:1.95}.mb-first-questions{padding:90px 0 98px;background:#eef3f4}.mb-first-questions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}.mb-first-questions__grid article{overflow:hidden;background:#fff}.mb-first-questions__grid figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:#dfe8ea}.mb-first-questions__grid figure img{display:block;width:100%;height:100%;object-fit:cover}.mb-first-questions__body{padding:28px 29px 31px}.mb-first-questions__body>span,.mb-first-flow__grid article>div>span{display:block;color:#ad8e50;font-size:11px;font-weight:700}.mb-first-questions__body h3,.mb-first-flow__grid h3{margin:10px 0 0;color:#163945;font-size:20px;font-weight:600;line-height:1.55}.mb-first-questions__body p,.mb-first-flow__grid p{margin:12px 0 0;color:#5d6d73;font-size:13px;line-height:1.85}.mb-first-questions__body a{display:inline-block;margin-top:16px;color:#07546d;font-size:12px;font-weight:700;text-decoration:none}.mb-first-proof{padding:90px 0 96px;background:#fff}.mb-first-proof__inner{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:64px;align-items:center}.mb-first-proof figure{margin:0;overflow:hidden;background:#eef2f3}.mb-first-proof figure img{display:block;width:100%;height:auto}.mb-first-proof__copy .mb-first-text-link{display:inline-block;margin-top:18px}.mb-first-proof__copy small{display:block;margin-top:14px;color:#7c8a8f;font-size:10px;line-height:1.7}.mb-first-flow{padding:90px 0 98px;background:#f7f9f9}.mb-first-flow__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:38px;border:1px solid #dce4e6;background:#dce4e6}.mb-first-flow__grid article{overflow:hidden;background:#fff}.mb-first-flow__grid figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:#dfe8ea}.mb-first-flow__grid figure img{display:block;width:100%;height:100%;object-fit:cover}.mb-first-flow__grid article>div{padding:28px 27px 30px}.mb-first-check{padding:88px 0 94px;background:#fff}.mb-first-check__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:38px}.mb-first-check__grid article{overflow:hidden;border:1px solid #dce4e6;background:#f7f9f9}.mb-first-check__grid figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:#dfe8ea}.mb-first-check__grid figure img{display:block;width:100%;height:100%;object-fit:cover}.mb-first-check__body{padding:27px 28px 30px}.mb-first-check__body>span{display:block;color:#ad8e50;font-size:10px;font-weight:700;letter-spacing:.08em}.mb-first-check__body h3{margin:9px 0 0;color:#163945;font-size:20px;font-weight:600;line-height:1.55}.mb-first-check__body p{margin:12px 0 0;color:#5d6d73;font-size:13px;line-height:1.85}.mb-first-check__action{text-align:center;margin-top:30px}.mb-first-button--dark{background:#073746;color:#fff}.mb-first-cta{padding:76px 0;background:#073746;color:#fff}.mb-first-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:center}.mb-first-cta h2{color:#fff}.mb-first-cta p:not(.mb-first-kicker){max-width:700px;margin:16px 0 0;color:#d1dfe2;font-size:13px;line-height:1.9}.mb-first-cta__actions{min-width:275px}.mb-first-cta__actions .mb-first-button{width:100%}.mb-first-cta__actions .mb-first-text-link{display:block;margin-top:15px;text-align:center}@media(max-width:920px){.mb-first-hero__inner,.mb-first-proof__inner,.mb-first-cta__inner{grid-template-columns:1fr}.mb-first-flow__grid{grid-template-columns:1fr}.mb-first-cta__actions{max-width:360px}}@media(max-width:750px){.mb-first-shell{width:calc(100% - 28px)}.mb-first-hero__inner{min-height:0;padding:64px 0 50px;gap:32px}.mb-first-hero h1{font-size:36px;line-height:1.36}.mb-first-hero__lead{margin-top:19px;font-size:13px}.mb-first-hero__actions{display:block;margin-top:24px}.mb-first-button{width:100%;min-width:0}.mb-first-hero__actions .mb-first-text-link{display:inline-block;margin-top:15px}.mb-first-hero__media,.mb-first-hero__media img,.mb-first-photo-placeholder{min-height:290px}.mb-first-questions,.mb-first-proof,.mb-first-flow,.mb-first-check{padding-top:57px;padding-bottom:63px}.mb-first-questions__grid{grid-template-columns:1fr;margin-top:27px}.mb-first-proof__inner{gap:27px}.mb-first-section-head h2,.mb-first-proof__copy h2,.mb-first-check h2,.mb-first-cta h2{font-size:26px}.mb-first-flow__grid{margin-top:27px}.mb-first-check__grid{grid-template-columns:1fr;margin-top:27px}.mb-first-cta{padding:55px 0 60px}.mb-first-cta__actions{min-width:0;max-width:none}}


/* ==========================================================================
   Readability adjustment for explanatory fixed pages (v1.12.1)
   PC body: 16px / Mobile body: 15px
   ========================================================================== */

/* first */
.mb-first-hero__lead,
.mb-first-section-head > p:last-child,
.mb-first-questions__body p,
.mb-first-proof__copy > p:not(.mb-first-kicker),
.mb-first-flow__grid p,
.mb-first-check__body p,
.mb-first-cta p:not(.mb-first-kicker) {
  font-size: 16px;
  line-height: 1.9;
}

/* mpaa */
.mb-mpaa-hero__lead,
.mb-mpaa-section-head > p:last-child,
.mb-mpaa-intro__copy > p:not(.mb-mpaa-kicker),
.mb-mpaa-training__head > p,
.mb-mpaa-split__copy > p:not(.mb-mpaa-kicker),
.mb-mpaa-flow__grid p,
.mb-mpaa-training__grid p,
.mb-mpaa-conduct__grid p,
.mb-mpaa-faq__list details p,
.mb-mpaa-cta p:not(.mb-mpaa-kicker) {
  font-size: 16px;
  line-height: 1.9;
}

/* assetvalue */
.mb-assetvalue-hero__lead,
.mb-assetvalue-proof__copy > p:not(.mb-assetvalue-kicker),
.mb-assetvalue-section-head > p:last-child,
.mb-assetvalue-method__body p,
.mb-assetvalue-split__copy > p:not(.mb-assetvalue-kicker),
.mb-assetvalue-care p,
.mb-assetvalue-cta p:not(.mb-assetvalue-kicker) {
  font-size: 16px;
  line-height: 1.9;
}

/* del */
.mb-del-hero__lead,
.mb-del-section-head > p:last-child,
.mb-del-compare li,
.mb-del-scenes__body p,
.mb-del-method__copy > p:not(.mb-del-kicker),
.mb-del-facts__grid p,
.mb-del-order p:not(.mb-del-kicker) {
  font-size: 16px;
  line-height: 1.9;
}

@media (max-width: 750px) {
  .mb-first-hero__lead,
  .mb-first-section-head > p:last-child,
  .mb-first-questions__body p,
  .mb-first-proof__copy > p:not(.mb-first-kicker),
  .mb-first-flow__grid p,
  .mb-first-check__body p,
  .mb-first-cta p:not(.mb-first-kicker),
  .mb-mpaa-hero__lead,
  .mb-mpaa-section-head > p:last-child,
  .mb-mpaa-intro__copy > p:not(.mb-mpaa-kicker),
  .mb-mpaa-training__head > p,
  .mb-mpaa-split__copy > p:not(.mb-mpaa-kicker),
  .mb-mpaa-flow__grid p,
  .mb-mpaa-training__grid p,
  .mb-mpaa-conduct__grid p,
  .mb-mpaa-faq__list details p,
  .mb-mpaa-cta p:not(.mb-mpaa-kicker),
  .mb-assetvalue-hero__lead,
  .mb-assetvalue-proof__copy > p:not(.mb-assetvalue-kicker),
  .mb-assetvalue-section-head > p:last-child,
  .mb-assetvalue-method__body p,
  .mb-assetvalue-split__copy > p:not(.mb-assetvalue-kicker),
  .mb-assetvalue-care p,
  .mb-assetvalue-cta p:not(.mb-assetvalue-kicker),
  .mb-del-hero__lead,
  .mb-del-section-head > p:last-child,
  .mb-del-compare li,
  .mb-del-scenes__body p,
  .mb-del-method__copy > p:not(.mb-del-kicker),
  .mb-del-facts__grid p,
  .mb-del-order p:not(.mb-del-kicker) {
    font-size: 15px;
    line-height: 1.9;
  }
}

/* ========================================================================== 
   COMPANY — simple corporate profile (v1.13.0)
   ========================================================================== */
.mb-company{background:#f4f7f7}.mb-company-shell{width:min(1040px,calc(100% - 48px));margin-inline:auto}.mb-company-kicker{margin:0 0 10px;color:#a88a4c;font-family:"Hind Madurai","Noto Sans JP",sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em}.mb-company-hero{padding:82px 0 68px;background:#073746;color:#fff}.mb-company-hero h1{margin:0;color:#fff;font-size:clamp(38px,4.4vw,56px);font-weight:600;line-height:1.35}.mb-company-hero__lead{margin:14px 0 0;color:#d6e2e5;font-size:16px;line-height:1.9}.mb-company-main{padding:72px 0 92px}.mb-company-panel{padding:48px 54px 56px;background:#fff;box-shadow:0 14px 40px rgba(8,43,54,.045)}.mb-company-panel__head{padding-bottom:24px;border-bottom:1px solid #dce5e7}.mb-company-panel__head h2{margin:0;color:#153743;font-size:28px;font-weight:600;line-height:1.5}.mb-company-content{padding-top:26px;color:#465b63;font-size:16px;line-height:1.9}.mb-company-content>*:first-child{margin-top:0!important}.mb-company-content img{display:block;max-width:100%;height:auto;margin:0 auto 32px}.mb-company-content table{width:100%;margin:0;border:0;border-collapse:collapse;background:#fff;font-size:16px;line-height:1.8}.mb-company-content table th,.mb-company-content table td{padding:18px 20px;border:0;border-bottom:1px solid #dce5e7;vertical-align:top}.mb-company-content table th{width:30%;background:#f5f8f8;color:#183b46;text-align:left;font-weight:600}.mb-company-content table td{color:#53656b}.mb-company-content table a{color:#07546d;text-decoration:underline;text-underline-offset:.2em}.mb-company-content p{margin:0 0 1.45em}.mb-company-content ul,.mb-company-content ol{margin:1.3em 0}@media(max-width:750px){.mb-company-shell{width:calc(100% - 28px)}.mb-company-hero{padding:58px 0 48px}.mb-company-hero h1{font-size:36px}.mb-company-hero__lead{font-size:15px}.mb-company-main{padding:40px 0 58px}.mb-company-panel{padding:31px 20px 36px}.mb-company-panel__head h2{font-size:24px}.mb-company-content,.mb-company-content table{font-size:15px}.mb-company-content table,.mb-company-content tbody,.mb-company-content tr,.mb-company-content th,.mb-company-content td{display:block;width:100%}.mb-company-content table tr{border-bottom:1px solid #dce5e7}.mb-company-content table th,.mb-company-content table td{border-bottom:0}.mb-company-content table th{padding:14px 15px 6px;background:#f5f8f8}.mb-company-content table td{padding:10px 15px 16px}}


/* ========================================================================== JOB — recruitment gateway (v1.14.0) ========================================================================== */
.mb-job-shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}.mb-job-kicker{margin:0 0 11px;color:#ad8e50;font-family:"Hind Madurai","Noto Sans JP",sans-serif;font-size:10px;font-weight:700;letter-spacing:.21em}.mb-job-badge{display:inline-flex;margin:2px 0 17px;padding:7px 11px;border:1px solid rgba(216,191,132,.55);color:#ecdcb7;font-size:10px;font-weight:700}.mb-job-hero{background:#062f3b;color:#fff}.mb-job-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:74px;align-items:center;min-height:640px;padding:86px 0 78px}.mb-job-hero .mb-job-kicker,.mb-job-lp .mb-job-kicker{color:#d6bc7d}.mb-job-hero h1{margin:0;color:#fff;font-size:clamp(42px,5.05vw,67px);font-weight:600;line-height:1.28}.mb-job-hero__lead{margin:25px 0 0;color:#d2e0e3;font-size:16px;line-height:1.95}.mb-job-button{display:inline-flex;min-width:255px;min-height:58px;padding:0 27px;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:14px;font-weight:700}.mb-job-button--primary{margin-top:29px;background:#fff;color:#073746}.mb-job-hero__note{margin:14px 0 0;color:#b9cdd2;font-size:13px;line-height:1.75}.mb-job-hero__media,.mb-job-intro__media,.mb-job-lp__media{overflow:hidden;min-height:440px;background:#dfe8ea}.mb-job-hero__media img,.mb-job-intro__media img,.mb-job-lp__media img{display:block;width:100%;height:100%;min-height:440px;object-fit:cover}.mb-job-photo-placeholder{display:flex;min-height:440px;padding:38px;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 20% 20%,rgba(213,187,123,.22),transparent 30%),linear-gradient(135deg,#0a4350,#082d38)}.mb-job-photo-placeholder--light{background:linear-gradient(135deg,#e2eaec,#f4f7f7)}.mb-job-photo-placeholder span{color:#cdb883;font-size:10px;font-weight:700;letter-spacing:.18em}.mb-job-photo-placeholder strong{margin-top:12px;color:#fff;font-size:27px;line-height:1.5}.mb-job-photo-placeholder--light strong{color:#24434d}
.mb-job-intro{padding:90px 0 94px;background:#fff}.mb-job-intro__inner{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:65px;align-items:center}.mb-job-intro__copy h2,.mb-job-fit h2,.mb-job-lp h2{margin:0;color:#153743;font-size:32px;font-weight:600;line-height:1.55}.mb-job-intro__copy p:not(.mb-job-kicker),.mb-job-lp__copy p:not(.mb-job-kicker){margin:16px 0 0;color:#617178;font-size:16px;line-height:1.95}
.mb-job-points{padding:0 0 96px;background:#fff}.mb-job-points__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.mb-job-points__grid article{overflow:hidden;background:#f5f8f8}.mb-job-points__grid figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#dfe8ea}.mb-job-points__grid figure img{display:block;width:100%;height:100%;object-fit:cover}.mb-job-points__body{min-height:215px;padding:28px 27px 30px}.mb-job-points__body span{color:#ad8e50;font-size:11px;font-weight:700}.mb-job-points__body h3{margin:10px 0 0;color:#163945;font-size:20px;font-weight:600;line-height:1.55}.mb-job-points__body p{margin:12px 0 0;color:#5d6d73;font-size:16px;line-height:1.85}
.mb-job-fit{padding:80px 0;background:#eef3f4}.mb-job-fit__inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px;align-items:start}.mb-job-fit ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;border:1px solid #d6e1e3;background:#d6e1e3;list-style:none}.mb-job-fit li{position:relative;padding:20px 20px 20px 47px;background:#fff;color:#3d5660;font-size:16px;line-height:1.7}.mb-job-fit li::before{content:"✓";position:absolute;left:20px;top:19px;color:#9b7b3c;font-weight:700}
.mb-job-lp{padding:86px 0;background:#073746;color:#fff}.mb-job-lp__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:65px;align-items:center}.mb-job-lp h2{color:#fff}.mb-job-lp__copy p:not(.mb-job-kicker){color:#d1dfe2}.mb-job-lp__media{min-height:360px}.mb-job-lp__media img,.mb-job-lp__media .mb-job-photo-placeholder{min-height:360px}
@media(max-width:920px){.mb-job-hero__inner,.mb-job-intro__inner,.mb-job-fit__inner,.mb-job-lp__inner{grid-template-columns:1fr}.mb-job-points__grid{grid-template-columns:1fr}.mb-job-points__grid article{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.15fr)}.mb-job-points__grid figure{aspect-ratio:auto;min-height:250px}}
@media(max-width:750px){.mb-job-shell{width:calc(100% - 28px)}.mb-job-hero__inner{min-height:0;padding:62px 0 49px;gap:32px}.mb-job-hero h1{font-size:37px;line-height:1.35}.mb-job-hero__lead{margin-top:19px;font-size:15px}.mb-job-button{width:100%;min-width:0}.mb-job-hero__media,.mb-job-hero__media img,.mb-job-photo-placeholder,.mb-job-intro__media,.mb-job-intro__media img{min-height:290px}.mb-job-intro{padding:57px 0 34px}.mb-job-intro__inner{gap:27px}.mb-job-intro__copy h2,.mb-job-fit h2,.mb-job-lp h2{font-size:26px}.mb-job-intro__copy p:not(.mb-job-kicker),.mb-job-points__body p,.mb-job-fit li,.mb-job-lp__copy p:not(.mb-job-kicker){font-size:15px}.mb-job-points{padding-bottom:62px}.mb-job-points__grid article{display:block}.mb-job-points__grid figure{min-height:0;aspect-ratio:4/3}.mb-job-points__body{min-height:0;padding:25px 22px 28px}.mb-job-fit{padding:57px 0}.mb-job-fit__inner{gap:26px}.mb-job-fit ul{grid-template-columns:1fr}.mb-job-fit li{padding:17px 18px 17px 44px}.mb-job-fit li::before{left:18px;top:16px}.mb-job-lp{padding:56px 0 60px}.mb-job-lp__inner{gap:29px}.mb-job-lp__media,.mb-job-lp__media img,.mb-job-lp__media .mb-job-photo-placeholder{min-height:280px}}


/* ========================================================================== HOME — redesigned front page v1.15.1 ========================================================================== */
.mb-home{background:#fff}.mb-home-shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}.mb-home-kicker{margin:0 0 11px;color:#ad8e50;font-family:"Hind Madurai","Noto Sans JP",sans-serif;font-size:10px;font-weight:700;letter-spacing:.21em}.mb-home-button{display:inline-flex;min-height:58px;padding:0 27px;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:13px;font-weight:700}.mb-home-button--light{background:#fff;color:#073746}.mb-home-button--dark{background:#073746;color:#fff}.mb-home-text-link{color:#07546d;font-size:12px;font-weight:700;text-decoration:none}.mb-home-text-link--light{color:#e8f0f2}.mb-home-hero{background:#062f3b;color:#fff}.mb-home-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.95fr);gap:72px;align-items:center;min-height:680px;padding:88px 0 80px}.mb-home-hero .mb-home-kicker,.mb-home-cta .mb-home-kicker{color:#d6bc7d}.mb-home-hero h1{margin:0;color:#fff;font-size:clamp(48px,6vw,78px);font-weight:600;line-height:1.22}.mb-home-hero__lead{max-width:650px;margin:25px 0 0;color:#d2e0e3;font-size:16px;line-height:1.95}.mb-home-hero__actions{display:flex;gap:24px;align-items:center;margin-top:31px}.mb-home-hero__media,.mb-home-split__media{overflow:hidden;min-height:470px;background:#0b4351}.mb-home-hero__media img,.mb-home-split__media img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover}.mb-home-photo-placeholder{display:flex;min-height:470px;padding:38px;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 20% 20%,rgba(213,187,123,.22),transparent 30%),linear-gradient(135deg,#0a4350,#082d38)}.mb-home-photo-placeholder--light{background:linear-gradient(135deg,#e1eaec,#f1f5f5)}.mb-home-photo-placeholder span{color:#cdb883;font-size:10px;font-weight:700;letter-spacing:.18em}.mb-home-photo-placeholder strong{margin-top:12px;color:#fff;font-size:28px;line-height:1.5}.mb-home-photo-placeholder--light strong{color:#24434d}.mb-home-trust{background:#fff;border-bottom:1px solid #dde6e8}.mb-home-trust__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.mb-home-trust article{padding:31px 29px 33px;border-right:1px solid #dde6e8}.mb-home-trust article:last-child{border-right:0}.mb-home-trust span{color:#ad8e50;font-size:11px;font-weight:700}.mb-home-trust h2{margin:10px 0 0;color:#173945;font-size:19px;font-weight:600}.mb-home-trust p{margin:10px 0 0;color:#607076;font-size:15px;line-height:1.8}.mb-home-section-head{max-width:760px}.mb-home-section-head--center{margin-inline:auto;text-align:center}.mb-home-section-head h2,.mb-home-proof__copy h2,.mb-home-split__copy h2,.mb-home-cta h2{margin:0;color:#153743;font-size:34px;font-weight:600;line-height:1.5}.mb-home-section-head>p:last-child,.mb-home-proof__copy>p:not(.mb-home-kicker),.mb-home-split__copy>p:not(.mb-home-kicker){margin:16px 0 0;color:#617178;font-size:16px;line-height:1.9}.mb-home-first{padding:92px 0 100px;background:#f7f9f9}.mb-home-first__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:40px}.mb-home-first__card{display:grid;grid-template-columns:minmax(155px,.72fr) minmax(0,1.28fr);overflow:hidden;background:#fff;color:inherit;text-decoration:none}.mb-home-first__card figure{margin:0;min-height:230px;overflow:hidden;background:#dfe8ea}.mb-home-first__card figure img{display:block;width:100%;height:100%;min-height:230px;object-fit:cover}.mb-home-first__card>div{padding:27px 28px 29px}.mb-home-first__card span,.mb-home-services__grid span,.mb-home-voices__grid span{color:#ad8e50;font-size:10px;font-weight:700;letter-spacing:.08em}.mb-home-first__card h3{margin:10px 0 0;color:#173945;font-size:20px;line-height:1.55}.mb-home-first__card p{margin:12px 0 0;color:#607076;font-size:15px;line-height:1.8}.mb-home-first__card b,.mb-home-services__grid b,.mb-home-voices__grid b{display:block;margin-top:16px;color:#07546d;font-size:11px}.mb-home-center-action{text-align:center;margin-top:30px}.mb-home-proof{padding:92px 0 98px;background:#fff}.mb-home-proof__inner{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:64px;align-items:center}.mb-home-proof__copy .mb-home-text-link{display:inline-block;margin-top:18px}.mb-home-proof__copy small{display:block;margin-top:15px;color:#7c898e;font-size:11px;line-height:1.7}.mb-home-proof figure{margin:0;overflow:hidden;background:#eef2f3}.mb-home-proof figure img{display:block;width:100%;height:auto}.mb-home-time,.mb-home-area{padding:94px 0;background:#eef3f4}.mb-home-area{background:#fff}.mb-home-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:67px;align-items:center}.mb-home-split--reverse .mb-home-split__media{order:2}.mb-home-split--reverse .mb-home-split__copy{order:1}.mb-home-split__copy .mb-home-text-link{display:inline-block;margin-top:18px}.mb-home-area .mb-home-button{margin-top:25px}.mb-home-area__link{margin-left:17px!important}.mb-home-services{padding:91px 0 98px;background:#073746;color:#fff}.mb-home-services .mb-home-kicker{color:#d6bc7d}.mb-home-services .mb-home-section-head h2{color:#fff}.mb-home-services .mb-home-section-head>p:last-child{color:#d0dde0}.mb-home-services__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:39px;background:rgba(255,255,255,.16)}.mb-home-services__grid a{padding:35px 30px 37px;background:#0a4250;color:#fff;text-decoration:none}.mb-home-services__grid span{color:#d6bc7d}.mb-home-services__grid h3{margin:11px 0 0;color:#fff;font-size:22px;font-weight:600}.mb-home-services__grid p{margin:13px 0 0;color:#d4e0e2;font-size:15px;line-height:1.8}.mb-home-services__grid b{color:#fff}.mb-home-voices{padding:92px 0 98px;background:#f7f9f9}.mb-home-voices__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:38px}.mb-home-voices__grid a{overflow:hidden;background:#fff;color:inherit;text-decoration:none}.mb-home-voices__grid figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#dfe8ea}.mb-home-voices__grid figure img{display:block;width:100%;height:100%;object-fit:cover}.mb-home-voices__grid div{padding:24px 24px 27px}.mb-home-voices__grid h3{margin:9px 0 0;color:#173945;font-size:18px;line-height:1.65}.mb-home-list-link{margin-top:26px;text-align:right}.mb-home-list-link a,.mb-home-news__head>a{color:#07546d;font-size:12px;font-weight:700;text-decoration:none}.mb-home-news{padding:86px 0 94px;background:#fff}.mb-home-news__head{display:flex;justify-content:space-between;align-items:end}.mb-home-news__head h2{margin:0;color:#153743;font-size:32px;font-weight:600}.mb-home-news__list{margin-top:27px;border-top:1px solid #dbe4e6}.mb-home-news__list a{display:grid;grid-template-columns:125px minmax(0,1fr) 28px;gap:18px;align-items:center;padding:20px 4px;border-bottom:1px solid #dbe4e6;color:inherit;text-decoration:none}.mb-home-news__list time{color:#7b8a8f;font-size:11px}.mb-home-news__list h3{margin:0;color:#173945;font-size:15px;font-weight:600}.mb-home-news__list span{color:#ad8e50}.mb-home-cta{padding:78px 0;background:#062f3b;color:#fff}.mb-home-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:55px;align-items:center}.mb-home-cta h2{color:#fff}.mb-home-cta p:not(.mb-home-kicker){max-width:720px;margin:15px 0 0;color:#d2e0e3;font-size:16px;line-height:1.9}.mb-home-cta .mb-home-button{min-width:270px}
@media(max-width:920px){.mb-home-hero__inner,.mb-home-proof__inner,.mb-home-split,.mb-home-cta__inner{grid-template-columns:1fr}.mb-home-trust__grid{grid-template-columns:1fr}.mb-home-trust article{border-right:0;border-bottom:1px solid #dde6e8}.mb-home-first__grid{grid-template-columns:1fr}.mb-home-services__grid{grid-template-columns:1fr}.mb-home-voices__grid{grid-template-columns:1fr}.mb-home-split--reverse .mb-home-split__media,.mb-home-split--reverse .mb-home-split__copy{order:initial}.mb-home-cta .mb-home-button{max-width:360px}}
@media(max-width:750px){.mb-home-shell{width:calc(100% - 28px)}.mb-home-hero__inner{min-height:0;padding:62px 0 48px;gap:31px}.mb-home-hero h1{font-size:42px;line-height:1.28}.mb-home-hero__lead{font-size:15px}.mb-home-hero__actions{display:block;margin-top:25px}.mb-home-button{width:100%}.mb-home-hero__actions .mb-home-text-link{display:inline-block;margin-top:15px}.mb-home-hero__media,.mb-home-hero__media img,.mb-home-split__media,.mb-home-split__media img,.mb-home-photo-placeholder{min-height:300px}.mb-home-trust p,.mb-home-first__card p,.mb-home-services__grid p{font-size:15px}.mb-home-section-head h2,.mb-home-proof__copy h2,.mb-home-split__copy h2,.mb-home-cta h2{font-size:27px}.mb-home-section-head>p:last-child,.mb-home-proof__copy>p:not(.mb-home-kicker),.mb-home-split__copy>p:not(.mb-home-kicker),.mb-home-cta p:not(.mb-home-kicker){font-size:15px}.mb-home-first,.mb-home-proof,.mb-home-time,.mb-home-services,.mb-home-area,.mb-home-voices,.mb-home-news{padding-top:58px;padding-bottom:64px}.mb-home-first__grid{margin-top:28px}.mb-home-first__card{display:block}.mb-home-first__card figure,.mb-home-first__card figure img{min-height:0;aspect-ratio:16/9}.mb-home-proof__inner,.mb-home-split{gap:28px}.mb-home-area .mb-home-button{margin-top:22px}.mb-home-area__link{display:block;margin:14px 0 0!important}.mb-home-services__grid{margin-top:27px}.mb-home-voices__grid{margin-top:28px}.mb-home-news__head{display:block}.mb-home-news__head>a{display:inline-block;margin-top:12px}.mb-home-news__list a{grid-template-columns:1fr 22px;gap:5px 12px}.mb-home-news__list time{grid-column:1}.mb-home-news__list h3{grid-column:1}.mb-home-news__list span{grid-column:2;grid-row:1/3;align-self:center}.mb-home-cta{padding:56px 0 60px}.mb-home-cta .mb-home-button{min-width:0;max-width:none}}


/* ========================================================================== 
   HOME v1.15.1 — hierarchy / news / proof refinements
   ========================================================================== */

/* TCD's achievement counter is no longer part of the homepage story. */
body.home #index_achievements,
body.front-page #index_achievements {
  display: none !important;
}

/* Reuse TCD's own latest-news query, but turn the rounded floating ticker into
   a quiet full-width information bar directly below the header visual. */
body.home #news_ticker,
body.front-page #news_ticker {
  width: 100% !important;
  height: 64px !important;
  top: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid #e1e7e9;
  border-bottom: 1px solid #e1e7e9;
  box-shadow: none !important;
  background: #fff !important;
  overflow: hidden;
}

body.home #news_ticker::before,
body.front-page #news_ticker::before {
  content: "NEWS" !important;
  display: flex !important;
  width: 112px !important;
  height: 100% !important;
  align-items: center;
  justify-content: center;
  left: 0 !important;
  top: 0 !important;
  background: #073746 !important;
  color: #fff;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  z-index: 3;
}

body.home #news_ticker::after,
body.front-page #news_ticker::after {
  display: none !important;
}

body.home #news_ticker a,
body.front-page #news_ticker a {
  min-height: 64px;
  padding: 0 42px 0 148px !important;
  justify-content: flex-start !important;
  background: #fff;
}

body.home #news_ticker .date,
body.front-page #news_ticker .date {
  width: 105px !important;
  flex: 0 0 105px !important;
  padding-left: 0 !important;
  color: #829095 !important;
  font-size: 11px !important;
}

body.home #news_ticker .date::before,
body.front-page #news_ticker .date::before {
  display: none !important;
}

body.home #news_ticker .title,
body.front-page #news_ticker .title {
  color: #173945;
  font-size: 14px;
  font-weight: 600;
}

/* The first explanatory block is informational, not a conversion trap. */
.mb-home-hero__actions--quiet {
  margin-top: 24px;
}

.mb-home-hero__actions--quiet .mb-home-text-link {
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255,255,255,.32);
}

/* Before/After comes immediately after service comprehension. */
.mb-home-proof {
  padding: 82px 0 92px;
  background: #fff;
}

.mb-home-proof__gallery {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  margin-top: 35px;
}

.mb-home-proof__gallery figure {
  margin: 0;
  overflow: hidden;
  background: #eef2f3;
}

.mb-home-proof__gallery img {
  display: block;
  width: 100%;
  height: auto;
}

.mb-home-proof__footer {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: flex-start;
  margin-top: 18px;
}

.mb-home-proof__footer small {
  color: #7c898e;
  font-size: 11px;
  line-height: 1.7;
  text-align: right;
}

/* After proof, show reassurance points as the next logical step. */
.mb-home-trust {
  background: #f4f7f7;
  border-top: 1px solid #dde6e8;
  border-bottom: 1px solid #dde6e8;
}

@media (max-width: 750px) {
  body.home #news_ticker,
  body.front-page #news_ticker {
    width: 100% !important;
    height: 58px !important;
    top: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  body.home #news_ticker::before,
  body.front-page #news_ticker::before {
    width: 70px !important;
    font-size: 9px;
  }

  body.home #news_ticker a,
  body.front-page #news_ticker a {
    min-height: 58px;
    padding: 0 18px 0 88px !important;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 2px;
    align-content: center;
  }

  body.home #news_ticker .date,
  body.front-page #news_ticker .date {
    width: auto !important;
    flex: none !important;
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.2;
  }

  body.home #news_ticker .title,
  body.front-page #news_ticker .title {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.35;
  }

  .mb-home-proof__gallery {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 26px;
  }

  .mb-home-proof__footer {
    display: block;
    margin-top: 15px;
  }

  .mb-home-proof__footer small {
    display: block;
    margin-top: 10px;
    text-align: left;
  }
}


/* ==========================================================================
   HOME v1.15.2 — latest-news line + mobile Before/After rail
   ========================================================================== */

/* The old TCD floating ticker is replaced by the custom row inside front-page.php. */
body.home #news_ticker,
body.front-page #news_ticker {
  display: none !important;
}

/* Latest news: neutral information line so it does not merge into the navy section. */
.mb-home-newsline {
  border-top: 1px solid #e2e8ea;
  border-bottom: 1px solid #e2e8ea;
  background: #f7f9f9;
}

.mb-home-newsline__inner {
  display: grid;
  grid-template-columns: 72px 104px minmax(0, 1fr) auto;
  gap: 22px;
  min-height: 62px;
  align-items: center;
}

.mb-home-newsline__label {
  color: #9b7b3c;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
}

.mb-home-newsline time {
  color: #7e8d92;
  font-size: 11px;
  white-space: nowrap;
}

.mb-home-newsline__title {
  overflow: hidden;
  color: #173945;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mb-home-newsline__archive {
  padding-left: 22px;
  border-left: 1px solid #d8e1e3;
  color: #07546d;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.mb-home-proof__swipe {
  display: none;
}

@media (max-width: 750px) {
  .mb-home-newsline__inner {
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 11px;
    min-height: 64px;
  }

  .mb-home-newsline__label {
    font-size: 9px;
  }

  .mb-home-newsline time {
    display: none;
  }

  .mb-home-newsline__title {
    font-size: 12px;
    line-height: 1.45;
  }

  .mb-home-newsline__archive {
    width: 34px;
    padding-left: 11px;
    overflow: hidden;
    border-left: 1px solid #d8e1e3;
    color: transparent;
    font-size: 0;
  }

  .mb-home-newsline__archive span {
    color: #07546d;
    font-size: 15px;
  }

  /* Mobile: keep one case in view and reveal part of the next case.
     This avoids a long wall of images while making horizontal movement obvious. */
  .mb-home-proof__swipe {
    display: flex;
    margin: 24px 0 10px;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    color: #7a898e;
    font-size: 11px;
    font-weight: 600;
  }

  .mb-home-proof__gallery {
    display: grid;
    grid-auto-columns: min(86vw, 420px);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 10px;
    margin-top: 0;
    padding: 0 14vw 8px 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .mb-home-proof__gallery::-webkit-scrollbar {
    display: none;
  }

  .mb-home-proof__gallery figure {
    width: 100%;
    scroll-snap-align: start;
  }

  .mb-home-proof__gallery img {
    width: 100%;
    height: auto;
  }

  .mb-home-proof__footer {
    margin-top: 13px;
  }
}


/* ==========================================================================
   HOME v1.15.3 — Before/After carousel on desktop and mobile
   ========================================================================== */

.mb-home-proof__swipe {
  display: flex;
  margin: 27px 0 12px;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  color: #7a898e;
  font-size: 11px;
  font-weight: 600;
}

.mb-home-proof__carousel {
  position: relative;
}

.mb-home-proof__gallery {
  display: grid;
  grid-auto-columns: calc((100% - 14px) / 2);
  grid-auto-flow: column;
  grid-template-columns: none;
  gap: 14px;
  margin-top: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.mb-home-proof__gallery::-webkit-scrollbar {
  display: none;
}

.mb-home-proof__gallery figure {
  width: 100%;
  scroll-snap-align: start;
}

.mb-home-proof__nav {
  position: absolute;
  z-index: 3;
  top: 50%;
  display: flex;
  width: 46px;
  height: 46px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(7,55,70,.14);
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 24px rgba(7,55,70,.10);
  color: #073746;
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform .2s ease, background .2s ease;
}

.mb-home-proof__nav:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.04);
}

.mb-home-proof__nav--prev {
  left: -23px;
}

.mb-home-proof__nav--next {
  right: -23px;
}

@media (max-width: 1180px) {
  .mb-home-proof__nav--prev {
    left: 8px;
  }

  .mb-home-proof__nav--next {
    right: 8px;
  }
}

@media (max-width: 750px) {
  .mb-home-proof__swipe {
    margin-top: 24px;
  }

  .mb-home-proof__gallery {
    grid-auto-columns: min(86vw, 420px);
    gap: 10px;
    padding-right: 14vw;
  }

  .mb-home-proof__nav {
    display: none;
  }
}


/* ==========================================================================
   PRICE / SUBSCRIPTION headers — align with service-area header (v1.15.5)
   ========================================================================== */

.mb-price-guide-page,
.mb-subscription-page {
  background: #fff;
}

.mb-price-guide-content,
.mb-subscription-content {
  position: relative;
}

.mb-price-guide-hero,
.mb-subscription-hero {
  border-bottom: 0;
}


/* ==========================================================================
   OPTION / SERVICE DETAIL mobile reading order (v1.15.5)
   Heading -> image -> body copy
   ========================================================================== */

@media (max-width: 750px) {
  .mb-service-feature--media,
  .mb-service-feature--media.mb-service-feature--reverse {
    display: flex !important;
    flex-direction: column;
    padding: 0 !important;
  }

  .mb-service-feature--media .mb-service-feature__copy {
    display: contents !important;
  }

  .mb-service-feature--media .mb-service-feature__number {
    order: 1;
    margin: 0 !important;
    padding: 26px 22px 9px;
  }

  .mb-service-feature--media .mb-service-feature__copy > h4 {
    order: 2;
    margin: 0 22px !important;
    padding: 0 0 17px !important;
  }

  .mb-service-feature--media .mb-service-feature__media,
  .mb-service-feature--media.mb-service-feature--reverse .mb-service-feature__media {
    order: 3;
    width: 100%;
    margin: 22px 0 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .mb-service-feature--media .mb-service-feature__copy > *:not(.mb-service-feature__number):not(h4) {
    order: 4;
    margin-left: 22px !important;
    margin-right: 22px !important;
  }

  .mb-service-feature--media .mb-service-feature__copy > p:first-of-type,
  .mb-service-feature--media .mb-service-feature__copy > ul:first-of-type,
  .mb-service-feature--media .mb-service-feature__copy > ol:first-of-type,
  .mb-service-feature--media .mb-service-feature__copy > blockquote:first-of-type {
    margin-top: 24px !important;
  }

  .mb-service-feature--media .mb-service-feature__copy > :last-child {
    margin-bottom: 30px !important;
  }

  .mb-service-feature--media .mb-service-feature__media img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover;
  }
}


/* ==========================================================================
   STRUCTURED OPTION DETAILS — Option Manager 0.2.0 / Child 1.16.0
   ========================================================================== */

.mb-option-details {
  width: min(1000px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0 0 96px;
}

.mb-option-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  grid-template-areas:
    "head media"
    "body media";
  margin-top: 42px;
  border: 1px solid #d8e2e5;
  background: #fff;
  box-shadow: 0 14px 38px rgba(7,55,70,.04);
}

.mb-option-detail.is-reverse {
  grid-template-columns: minmax(360px, .95fr) minmax(0, 1.05fr);
  grid-template-areas:
    "media head"
    "media body";
}

.mb-option-detail.no-image {
  display: block;
}

.mb-option-detail__head {
  grid-area: head;
  padding: 42px 44px 20px;
}

.mb-option-detail__number {
  display: block;
  margin-bottom: 8px;
  color: #cbd8dc;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 1;
}

.mb-option-detail__kicker {
  display: block;
  margin-bottom: 9px;
  color: #ad8e50;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
}

.mb-option-detail__head h2 {
  margin: 0;
  padding-bottom: 18px;
  border-bottom: 1px solid #d9e2e4;
  color: #153743;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.55;
}

.mb-option-detail__media {
  grid-area: media;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #eef3f4;
}

.mb-option-detail__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.mb-option-detail__body {
  grid-area: body;
  padding: 4px 44px 44px;
  color: #53666d;
  font-size: 16px;
  line-height: 1.95;
}

.mb-option-detail__body > *:first-child {
  margin-top: 0 !important;
}

.mb-option-detail__body > *:last-child {
  margin-bottom: 0 !important;
}

.mb-option-detail__body p {
  margin: 0 0 1.35em;
}

.mb-option-detail__body ul,
.mb-option-detail__body ol {
  margin: 1.2em 0 1.5em;
  padding-left: 1.6em;
}

.mb-option-detail__body table {
  width: 100%;
  margin: 8px 0 28px;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.65;
}

.mb-option-detail__body th,
.mb-option-detail__body td {
  padding: 15px 16px;
  border: 1px solid #d8e2e5;
  vertical-align: top;
  text-align: left;
}

.mb-option-detail__body tr:nth-child(even) td,
.mb-option-detail__body tr:nth-child(even) th {
  background: #f5f8f8;
}

.mb-option-detail.no-image .mb-option-detail__head,
.mb-option-detail.no-image .mb-option-detail__body {
  max-width: 820px;
}

.mb-option-detail.is-untitled .mb-option-detail__head {
  padding-bottom: 8px;
}

@media (max-width: 820px) {
  .mb-option-details {
    width: calc(100% - 20px);
    padding-bottom: 64px;
  }

  .mb-option-detail,
  .mb-option-detail.is-reverse {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "head"
      "media"
      "body";
    margin-top: 24px;
  }

  .mb-option-detail.no-image,
  .mb-option-detail.no-image.is-reverse {
    display: block;
  }

  .mb-option-detail__head {
    padding: 26px 22px 17px;
  }

  .mb-option-detail__number {
    font-size: 22px;
  }

  .mb-option-detail__head h2 {
    padding-bottom: 16px;
    font-size: 20px;
  }

  .mb-option-detail__media {
    margin: 0;
  }

  .mb-option-detail__media img {
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    object-fit: contain;
  }

  .mb-option-detail__body {
    padding: 24px 22px 30px;
    font-size: 15px;
    line-height: 1.95;
  }

  .mb-option-detail__body table {
    display: table;
    width: 100%;
    font-size: 13px;
  }

  .mb-option-detail__body th,
  .mb-option-detail__body td {
    padding: 12px 10px;
  }
}


/* ==========================================================================
   TOP TCD VIDEO — mobile crop control (v1.16.2)
   ========================================================================== */

/*
 * SEEED's default mobile hero is almost full-screen height while a 16:9 video
 * is rendered with object-fit:cover. That can crop more than half of the
 * video's width. Use an approximately 4:3 mobile viewport instead.
 *
 * 16:9 source -> 4:3 viewport = about 25% horizontal crop.
 */
@media screen and (max-width: 800px) {
  body.home #header_slider_wrap {
    height: clamp(260px, 75vw, 340px) !important;
    max-height: none !important;
    aspect-ratio: auto !important;
  }

  body.home #header_slider,
  body.home #header_slider .swiper-wrapper,
  body.home #header_slider .item,
  body.home #header_slider .item .item-inner {
    height: 100% !important;
  }

  body.home #header_slider .bg_video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
  }
}


/* ==========================================================================
   ASSETVALUE Before/After carousel (v1.17.0)
   ========================================================================== */

.mb-assetvalue-proof .mb-assetvalue-section-head {
  max-width: 760px;
}

.mb-assetvalue-proof__carousel {
  position: relative;
  margin-top: 38px;
}

.mb-assetvalue-proof__track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 0 0 8px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.mb-assetvalue-proof__track::-webkit-scrollbar {
  display: none;
}

.mb-assetvalue-proof__track figure {
  flex: 0 0 calc((100% - 16px) / 2);
  margin: 0;
  overflow: hidden;
  background: #eef2f3;
  scroll-snap-align: start;
}

.mb-assetvalue-proof__track img {
  display: block;
  width: 100%;
  height: auto;
}

.mb-assetvalue-proof__nav {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
}

.mb-assetvalue-proof__nav-button {
  width: 44px;
  height: 44px;
  border: 1px solid #cbd7da;
  border-radius: 0;
  background: #fff;
  color: #123b48;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

.mb-assetvalue-proof__nav-button:hover,
.mb-assetvalue-proof__nav-button:focus-visible {
  background: #073746;
  color: #fff;
}

.mb-assetvalue-proof__note {
  margin: 12px 0 0;
  color: #7c8a8f;
  font-size: 10px;
  line-height: 1.7;
}

.mb-assetvalue-proof__swipe {
  display: none;
}

@media (max-width: 750px) {
  .mb-assetvalue-proof__carousel {
    margin-top: 27px;
  }

  .mb-assetvalue-proof__track {
    gap: 12px;
    margin-right: -14px;
    padding-right: 14px;
  }

  .mb-assetvalue-proof__track figure {
    flex-basis: min(86vw, 420px);
  }

  .mb-assetvalue-proof__nav {
    display: none;
  }

  .mb-assetvalue-proof__swipe {
    display: block;
    margin: 10px 0 0;
    color: #7c8a8f;
    font-size: 10px;
    line-height: 1.7;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mb-assetvalue-proof__track {
    scroll-behavior: auto;
  }
}


/* ==========================================================================
   FIRST — explicit internal navigation buttons (v1.17.1)
   ========================================================================== */

/*
 * Internal navigation should look clickable without competing with the
 * primary LINE CTA. Use an outlined secondary button for "learn more" links.
 */
.mb-first-nav-button {
  display: flex;
  width: 100%;
  min-height: 48px;
  margin-top: 20px;
  padding: 11px 15px 11px 17px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid #0b5c73;
  background: #fff;
  color: #07546d;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
  transition:
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease;
}

.mb-first-nav-button__arrow {
  display: inline-flex;
  flex: 0 0 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  transition: transform .18s ease;
}

.mb-first-nav-button:hover,
.mb-first-nav-button:focus-visible {
  border-color: #073746;
  background: #073746;
  color: #fff;
}

.mb-first-nav-button:hover .mb-first-nav-button__arrow,
.mb-first-nav-button:focus-visible .mb-first-nav-button__arrow {
  transform: translateX(3px);
}

.mb-first-nav-button--fit {
  width: min(100%, 340px);
  margin-top: 22px;
}

/* Supersede the old small text-link spacing on the proof block. */
.mb-first-proof__copy .mb-first-nav-button {
  display: flex;
  margin-top: 22px;
}

@media (max-width: 750px) {
  .mb-first-nav-button {
    min-height: 50px;
    margin-top: 18px;
    padding: 12px 14px 12px 16px;
    font-size: 13px;
  }

  .mb-first-nav-button--fit {
    width: 100%;
  }
}


/* ==========================================================================
   HOME USE SCENES (v1.18.1)
   ========================================================================== */

.mb-home-scenes {
  padding: 88px 0 92px;
  background: #fff;
  border-bottom: 1px solid #e2e9eb;
}

.mb-home-scenes__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 38px;
}

.mb-home-scene-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d8e2e4;
  background: #fff;
}

.mb-home-scene-card__copy {
  padding: 22px 20px 15px;
}

.mb-home-scene-card__copy span {
  color: #ad8e50;
  font-family: "Hind Madurai","Noto Sans JP",sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.mb-home-scene-card__copy h3 {
  margin: 7px 0 0;
  color: #153743;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
}

.mb-home-scene-card figure {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e8eef0;
}

.mb-home-scene-card figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mb-home-scene-card > p {
  margin: 0;
  padding: 17px 20px 21px;
  color: #607076;
  font-size: 14px;
  line-height: 1.8;
}

.mb-home-scenes__swipe {
  display: none;
}

@media (max-width: 920px) {
  .mb-home-scenes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 750px) {
  .mb-home-scenes {
    padding: 58px 0 64px;
  }

  .mb-home-scenes__swipe {
    display: block;
    margin: 16px 0 0;
    color: #74858b;
    font-size: 11px;
    font-weight: 700;
  }

  .mb-home-scenes__grid {
    display: flex;
    gap: 12px;
    margin: 24px -14px 0 0;
    padding-right: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .mb-home-scenes__grid::-webkit-scrollbar {
    display: none;
  }

  .mb-home-scene-card {
    flex: 0 0 min(82vw, 340px);
    scroll-snap-align: start;
  }

  .mb-home-scene-card__copy {
    padding: 20px 18px 14px;
  }

  .mb-home-scene-card__copy h3 {
    font-size: 19px;
  }

  .mb-home-scene-card > p {
    padding: 16px 18px 20px;
    font-size: 14px;
  }
}
