    :root {
      --font-sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Meiryo", sans-serif;
      --color-text: #0f172a;
      --color-sub: #475569;
      --color-primary: #155c89;
      --color-primary-hover: #2ba8dc;
      --color-primary-hover-deep: #0c5f8f;
      --interactive-hover-shadow: 0 6px 22px rgba(21, 92, 137, 0.42);
      --max-width: clamp(75rem, 60rem + 35vw, 120rem);
      --text-standard-size: clamp(1rem, 0.96rem + 0.25vw, 1.125rem);
      --text-standard-lh: 1.75;
      --body-size: var(--text-standard-size);
      --inner-px: clamp(1rem, 2.5vw, 2rem);
      --section-py: clamp(3.5rem, 5vw + 1rem, 6.25rem);
      --section-gap: clamp(2rem, 1rem + 2.5vw, 4rem);
      --header-height: clamp(3.5rem, 3rem + 1.25vw, 4.5rem);
      --scroll-offset: calc(var(--header-height) + 0.75rem);
      --header-logo-h: clamp(1.75rem, 1.35rem + 1vw, 2.5rem);
      --header-badge-size: clamp(0.5625rem, 0.5rem + 0.15vw, 0.625rem);
      --nav-font-size: clamp(0.875rem, 0.82rem + 0.22vw, 0.9375rem);
      --nav-link-px: clamp(0.375rem, 0.15rem + 0.4vw, 0.625rem);
      --nav-link-py: clamp(0.375rem, 0.25rem + 0.2vw, 0.5rem);
      --nav-gap: clamp(0.125rem, 0.02rem + 0.2vw, 0.375rem);
      --header-cta-px: clamp(0.875rem, 0.6rem + 0.7vw, 1.125rem);
      --header-cta-py: clamp(0.4375rem, 0.3rem + 0.35vw, 0.5625rem);
      --header-icon-size: clamp(0.875rem, 0.75rem + 0.25vw, 1rem);
      --section-header-mb: clamp(2.5rem, 1.75rem + 2vw, 3.5rem);
      --card-gap: clamp(1.25rem, 0.85rem + 1.2vw, 1.5rem);
      --card-padding: clamp(1.25rem, 1rem + 0.9vw, 1.5rem);
      --card-padding-lg: clamp(1.5rem, 1.15rem + 1.2vw, 2rem);
      --footer-py: clamp(2.5rem, 2rem + 1.5vw, 3.5rem);
      --footer-gap: clamp(2rem, 1.25rem + 2vw, 2.5rem);
      --footer-bottom-mb: clamp(2rem, 1.5rem + 1.5vw, 3rem);
      --footer-bottom-pt: clamp(1.5rem, 1.25rem + 0.8vw, 2rem);
      --footer-nav-gap: clamp(1rem, 0.75rem + 1vw, 1.5rem);
      --stack-gap-md: clamp(1rem, 0.75rem + 0.8vw, 1.5rem);
    }
    html { font-size: 100%; scroll-behavior: smooth; scroll-padding-top: var(--scroll-offset); }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
    section[id], main[id], article[id], span[id] { scroll-margin-top: var(--scroll-offset); }
    body { font-family: var(--font-sans); font-size: var(--body-size); line-height: 1.75; color: var(--color-text); }
    .l-inner { width: 100%; max-width: var(--max-width); margin-inline: auto; padding-inline: var(--inner-px); }
    .l-inner--narrow { max-width: 48rem; }
    .l-inner--message { max-width: min(100%, calc(60rem + 100px)); }
    .shift-card { border-radius: 25px; padding: clamp(1.5rem, 1.15rem + 1.2vw, 2rem); }
    .shift-card--day { background-color: #fff; border: 2px solid rgba(21, 92, 137, 0.42); box-shadow: 0 2px 14px rgba(21, 92, 137, 0.1); }
    .shift-card--night { background-color: #0f172a; color: #fff; border: 2px solid rgba(255, 255, 255, 0.22); }
    .anzen-gallery-block {
      margin-top: clamp(1.5rem, 1.2rem + 1vw, 2rem);
      padding-top: clamp(1.5rem, 1.2rem + 1vw, 2rem);
      border-top: 1px solid rgba(21, 92, 137, 0.12);
    }
    .anzen-gallery {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(0.75rem, 0.6rem + 0.5vw, 1rem);
    }
    @media (min-width: 640px) { .anzen-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
    .anzen-gallery__item { border: 1px solid #e2e8f0; border-radius: 0.5rem; overflow: hidden; background: #fff; }
    .anzen-gallery__media { aspect-ratio: 4 / 3; overflow: hidden; background: #f1f5f9; }
    .anzen-gallery__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .anzen-gallery__caption { padding: 0.625rem 0.75rem; font-size: clamp(0.75rem, 0.72rem + 0.12vw, 0.8125rem); font-weight: 700; line-height: 1.5; color: #475569; border-top: 1px solid #f1f5f9; }
    .shift-night-real__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(0.75rem, 0.6rem + 0.5vw, 1rem); }
    .interview-story-card { border-radius: clamp(1rem, 0.85rem + 0.6vw, 1.25rem); overflow: hidden; }
    .site-header .header-bar { height: var(--header-height); }
    .site-header .header-logo { height: var(--header-logo-h); width: auto; }
    .site-header .header-badge { font-size: var(--header-badge-size); padding: clamp(0.125rem, 0.08rem + 0.1vw, 0.1875rem) clamp(0.375rem, 0.25rem + 0.25vw, 0.5rem); }
    .site-header .header-nav { font-size: var(--nav-font-size); gap: var(--nav-gap); }
    .site-header .header-nav-link { padding: var(--nav-link-py) var(--nav-link-px); }
    .site-header .header-cta { font-size: var(--nav-font-size); padding: var(--header-cta-py) var(--header-cta-px); margin-left: clamp(0.125rem, 0.05rem + 0.15vw, 0.375rem); }
    .site-header .header-cta-icon { width: var(--header-icon-size); height: var(--header-icon-size); }
    .site-header .header-menu-btn { padding: clamp(0.375rem, 0.25rem + 0.25vw, 0.5rem); }
    .site-header .header-menu-icon { width: clamp(1.375rem, 1.15rem + 0.5vw, 1.5rem); height: clamp(1.375rem, 1.15rem + 0.5vw, 1.5rem); }
    #mobile-menu { max-height: calc(100vh - var(--header-height)); }
    .section-padding { padding-block: var(--section-py); }
    .section-with-bg { position: relative; overflow: hidden; }
    .section-with-bg__backdrop { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
    .section-with-bg__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; }
    .section-with-bg__scrim { position: absolute; inset: 0; z-index: 1; background: rgba(248, 250, 252, 0.88); pointer-events: none; }
    #message .section-with-bg__scrim { background: rgba(248, 250, 252, 0.68); }
    #interviews .section-with-bg__image { object-fit: contain; object-position: top center; }
    #work .section-with-bg__image {
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
    }
    #work .section-with-bg__scrim {
      background: rgba(248, 250, 252, 0.88);
    }
    .text-lead { font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem); line-height: 1.75; }
    .text-heading-2 { font-size: clamp(1.5rem, 1.15rem + 1.4vw, 2.625rem); line-height: 1.35; }
    .text-caption { font-size: clamp(0.75rem, 0.7rem + 0.15vw, 0.8125rem); }
    .text-label-en { font-size: clamp(0.625rem, 0.58rem + 0.12vw, 0.75rem); letter-spacing: 0.15em; }
    .section-lead { max-width: 100%; }
    @media (min-width: 1024px) { .section-lead { max-width: min(calc(100% - 7em), 42em); } }
    @media (min-width: 1024px) {
      .section-header.text-center .section-lead {
        margin-inline: auto;
        max-width: min(100%, 42em);
        text-align: center;
      }
    }
    #interviews .section-lead { max-width: 100%; }
    @media (min-width: 1024px) { #interviews .section-lead { max-width: min(100%, 52em); } }
    .service-card-title { font-size: clamp(1.25rem, 1.1rem + 0.55vw, 1.4375rem); line-height: 1.3; }
    .service-card-detail { font-size: clamp(0.8125rem, 0.78rem + 0.15vw, 0.9375rem); line-height: 1.6; }
    .work-section-subheading { font-size: clamp(1.125rem, 1.02rem + 0.5vw, 1.4375rem); font-weight: 900; line-height: 1.45; }
    .work-card-subcopy { font-size: clamp(1rem, 0.92rem + 0.4vw, 1.125rem); font-weight: 700; line-height: 1.5; }
    .section-header { position: relative; margin-bottom: var(--section-header-mb); }
    .section-watermark { display: none; position: absolute; right: 0; bottom: 0; z-index: 0; font-family: "Noto Sans", var(--font-sans); font-weight: 900; font-size: clamp(3rem, 5.5vw, 6.5rem); line-height: 1; letter-spacing: -0.03em; user-select: none; pointer-events: none; color: rgba(21, 92, 137, 0.11); }
    @media (min-width: 1024px) { .section-watermark { display: block; font-size: clamp(4rem, 6vw, 7rem); } }
    .efforts-block-heading { position: relative; font-family: "Noto Sans JP", var(--font-sans); font-size: clamp(1.1875rem, 1.08rem + 0.4vw, 1.4375rem); font-weight: 900; line-height: 1.4; color: #0f172a; padding: 0.15rem 0 0.85rem clamp(0.875rem, 0.75rem + 0.35vw, 1.125rem); margin-bottom: 1rem; border-left: 4px solid #155c89; border-bottom: 1px solid rgba(21, 92, 137, 0.14); }
    .efforts-block-heading::after { content: ""; position: absolute; left: 0; bottom: -1px; width: clamp(3.5rem, 3rem + 1.5vw, 4.5rem); height: 2px; background-color: #155c89; }
    .site-footer { padding-block: var(--footer-py); }
    .site-footer__grid { gap: var(--footer-gap); margin-bottom: var(--footer-bottom-mb); }
    .site-footer__brand { display: flex; flex-direction: column; height: 100%; overflow: visible; }
    .site-footer__blog-btn { position: relative; display: inline-flex; align-items: center; gap: 0.375rem; align-self: flex-start; margin-top: clamp(2rem, 1.75rem + 1vw, 2.75rem); padding: 0.5rem 1rem 0.5rem clamp(2.1rem, 1.85rem + 0.7vw, 2.55rem); background-color: #155c89; color: #fff; font-size: 0.875rem; font-weight: 700; border-radius: 0.125rem; transition: background-color 0.2s ease; white-space: nowrap; overflow: visible; }
    .site-footer__blog-btn-icon-wrap { position: absolute; left: clamp(-1.15rem, -0.95rem - 0.35vw, -0.7rem); top: 50%; width: clamp(2.65rem, 2.4rem + 0.75vw, 3.1rem); height: clamp(2.65rem, 2.4rem + 0.75vw, 3.1rem); transform: translateY(-50%) rotate(-12deg) scale(0.92); transform-origin: 50% 70%; pointer-events: none; z-index: 1; filter: drop-shadow(0 5px 10px rgba(15, 23, 42, 0.35)) drop-shadow(0 2px 4px rgba(15, 23, 42, 0.2)); animation: site-footer-marlin-jump 3.2s cubic-bezier(0.42, 0, 0.2, 1) infinite; will-change: transform; }
    .site-footer__blog-btn-icon { display: block; width: 100%; height: 100%; object-fit: contain; transform-origin: 50% 85%; animation: site-footer-marlin-shake 3.2s ease-in-out infinite; will-change: transform; }
    @keyframes site-footer-marlin-shake {
      0%, 56%, 100% { transform: translate(0, 0) rotate(0deg); }
      6% { transform: translate(-1px, 0) rotate(-0.6deg); }
      8% { transform: translate(2px, -1px) rotate(1.2deg); }
      10% { transform: translate(-3px, 1px) rotate(-2deg); }
      12% { transform: translate(3px, 0) rotate(2deg); }
      16% { transform: translate(-2px, 0) rotate(-1.5deg); }
      20% { transform: translate(2px, 0) rotate(1.2deg); }
      26% { transform: translate(-1px, 0) rotate(-0.8deg); }
      34% { transform: translate(1px, 0) rotate(0.6deg); }
    }
    @keyframes site-footer-marlin-jump {
      0%, 56%, 100% { transform: translateY(-50%) rotate(-12deg) scale(0.92); }
      10% { transform: translateY(-50%) rotate(-14deg) translateY(-5%) scale(0.93); }
      24% { transform: translateY(-50%) rotate(-6deg) translateY(-31%) scale(0.98); }
      36% { transform: translateY(-50%) rotate(-9deg) translateY(-21%) scale(0.96); }
      48% { transform: translateY(-50%) rotate(-12deg) translateY(-15%) scale(0.94); }
      52% { transform: translateY(-50%) rotate(-13deg) translateY(7%) scale(0.93); }
    }
    @media (prefers-reduced-motion: reduce) {
      .site-footer__blog-btn-icon-wrap { animation: none; transform: translateY(-50%) rotate(-12deg) scale(0.95); }
      .site-footer__blog-btn-icon { animation: none; transform: none; }
    }
    .site-footer__blog-btn:hover { background-color: var(--color-primary-hover); box-shadow: var(--interactive-hover-shadow); transform: translateY(-1px); }
    .site-footer__blog-btn:focus-visible { outline: 2px solid #155c89; outline-offset: 2px; }
    .site-footer__bottom { padding-top: var(--footer-bottom-pt); gap: var(--stack-gap-md); }
    .site-footer__nav { gap: var(--footer-nav-gap); }
    .site-footer__logo { height: clamp(1.75rem, 1.5rem + 0.6vw, 2rem); width: auto; }
    .back-to-top { position: fixed; right: clamp(1rem, 1.5vw, 1.5rem); bottom: clamp(1rem, 1.5vw, 1.5rem); z-index: 40; display: inline-flex; align-items: center; justify-content: center; width: clamp(3rem, 2.75rem + 0.8vw, 3.5rem); height: clamp(3rem, 2.75rem + 0.8vw, 3.5rem); background-color: #155c89; color: #fff; border: none; border-radius: 50%; box-shadow: 0 4px 16px rgba(21, 92, 137, 0.35); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(0.5rem); transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color 0.2s ease, box-shadow 0.2s ease; }
    .back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
    .back-to-top:hover { background-color: var(--color-primary-hover); box-shadow: var(--interactive-hover-shadow); }
    .back-to-top.is-visible:hover { transform: translateY(-2px); }
    .back-to-top:focus-visible { outline: 2px solid #155c89; outline-offset: 2px; }
    .back-to-top__icon { width: 1.25rem; height: 1.25rem; }
    .nav-accordion-icon { transition: transform 0.3s ease; }
    .nav-accordion-trigger[aria-expanded="true"] .nav-accordion-icon, .nav-dropdown-trigger[aria-expanded="true"] .nav-accordion-icon { transform: rotate(180deg); }
    .recruit-hero { position: relative; overflow: hidden; }
    .recruit-fv-carousel { position: relative; width: 100%; aspect-ratio: 1920 / 640; }
    .recruit-fv-slide { position: absolute; inset: 0; }
    .recruit-fv-slide picture { display: block; width: 100%; height: 100%; }
    .recruit-fv-slide img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
    @media (max-width: 1023px) {
      .recruit-fv-carousel { aspect-ratio: 1536 / 2280; }
      .recruit-fv-slide img { object-fit: contain; object-position: center top; }
    }
    .recruit-hero__overlay { position: absolute; inset: 0; z-index: 10; display: flex; align-items: center; }
    .recruit-fv-dot { transition: width 0.3s ease, background-color 0.3s ease; }
    @media (prefers-reduced-motion: reduce) { .recruit-fv-slide { transition: none !important; } }
    .recruit-hero__copy { position: relative; isolation: isolate; }
    .recruit-hero__copy::before {
      content: "";
      position: absolute;
      z-index: -1;
      inset: clamp(-1rem, -2vw, -1.5rem) clamp(-1.25rem, -3vw, -2rem);
      border-radius: 0.125rem;
      background: linear-gradient(105deg, rgba(15, 23, 42, 0.88) 0%, rgba(15, 23, 42, 0.65) 52%, rgba(15, 23, 42, 0.08) 100%);
      pointer-events: none;
    }
    .recruit-hero__heading {
      font-size: clamp(1.5rem, 1.1rem + 2vw, 2.75rem);
      line-height: 1.625;
    }
    .recruit-hero__heading-line {
      display: block;
    }
    @media (min-width: 1024px) {
      .recruit-hero__heading-line {
        white-space: nowrap;
      }
    }
    @media (max-width: 1023px) {
      .recruit-hero__overlay .l-inner {
        padding-inline: 20px;
      }
      .recruit-hero__copy {
        padding: 1.25rem 1.25rem;
        box-sizing: border-box;
      }
      .recruit-hero__copy::before {
        inset: 0;
      }
      .recruit-hero__heading {
        font-size: clamp(1rem, calc((100vw - 4.75rem) / 12), 1.75rem);
        line-height: 1.45;
        letter-spacing: -0.025em;
      }
      .recruit-hero__lead {
        font-weight: 500;
      }
    }
    .recruit-hero__label,
    .recruit-hero__heading,
    .recruit-hero__lead {
      text-shadow:
        0 1px 2px rgba(15, 23, 42, 0.9),
        0 2px 10px rgba(15, 23, 42, 0.65),
        0 0 20px rgba(15, 23, 42, 0.35);
    }
    .recruit-tablist { gap: clamp(0.75rem, 0.5rem + 0.8vw, 1rem); padding-bottom: 0.625rem; margin-bottom: clamp(0.5rem, 0.35rem + 0.5vw, 0.75rem); }
    .recruit-tab-btn { position: relative; display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 1.5rem; font-size: clamp(1rem, 0.9rem + 0.45vw, 1.1875rem); font-weight: 900; line-height: 1.45; padding: clamp(0.875rem, 0.75rem + 0.5vw, 1.125rem) clamp(1rem, 0.85rem + 0.6vw, 1.375rem); border-radius: clamp(1.125rem, 1rem + 0.5vw, 1.5rem); border: 2px solid #e2e8f0; text-align: center; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; }
    .recruit-tab-btn__icon { font-size: 0.75em; line-height: 1; flex-shrink: 0; }
    .recruit-tab-btn__label { text-align: center; }
    .recruit-tab-btn[aria-selected="true"] { background-color: #155c89; color: #fff; border-color: #155c89; box-shadow: 0 4px 14px rgba(21, 92, 137, 0.28); z-index: 1; }
    .recruit-tab-btn[aria-selected="true"]::after { content: ""; position: absolute; left: 50%; bottom: -0.625rem; transform: translateX(-50%); width: 0; height: 0; border-left: 0.625rem solid transparent; border-right: 0.625rem solid transparent; border-top: 0.625rem solid #155c89; pointer-events: none; }
    .recruit-tab-btn[aria-selected="false"] { background-color: #fff; color: #0f172a; border-color: #cbd5e1; box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08); animation: recruit-tab-bounce 2s ease-in-out infinite; }
    .recruit-tab-btn[aria-selected="false"]:hover { background-color: #f8fafc; border-color: #cbd5e1; animation-play-state: paused; }
    .recruit-tab-btn:focus-visible { outline: 2px solid #155c89; outline-offset: 2px; }
    @keyframes recruit-tab-bounce {
      0%, 72%, 100% { transform: translateY(0); }
      80% { transform: translateY(-10px); }
      86% { transform: translateY(0); }
      90% { transform: translateY(-5px); }
      94% { transform: translateY(0); }
    }
    @media (prefers-reduced-motion: reduce) {
      .recruit-tab-btn[aria-selected="false"] { animation: none; }
    }
    .work-card-img { aspect-ratio: 16 / 9; }
    .work-row-card__icon-wrap {
      background-color: #155c89;
      border: 1px solid #155c89;
    }
    .work-row-card__icon-wrap svg {
      color: #fff;
      stroke: #fff;
    }
    .work-row-card__media { min-height: clamp(11rem, 32vw, 13.5rem); }
    #work .work-row-card__media img { object-fit: contain; }
    @media (min-width: 1024px) {
      .work-row-card { min-height: clamp(12rem, 18vw, 15rem); }
      .work-row-card__media { min-height: 100%; }
    }
    .step-card { border-top: 4px solid #155c89; }
    .day-timeline { list-style: none; margin: 0; padding: 0; }
    .day-timeline__item { display: flex; align-items: flex-start; gap: 0.875rem; padding-bottom: var(--tl-gap, 1.375rem); }
    .day-timeline__item:last-child { padding-bottom: 0; }
    .day-timeline__item--gap-sm { --tl-gap: 1rem; }
    .day-timeline__item--gap-md { --tl-gap: 1.75rem; }
    .day-timeline__item--gap-lg { --tl-gap: 2.5rem; }
    .day-timeline__track { width: 1rem; flex-shrink: 0; display: flex; justify-content: center; position: relative; align-self: stretch; }
    .day-timeline__track::after { content: ""; position: absolute; top: 0.625rem; bottom: calc(-1 * var(--tl-gap, 1.375rem)); left: 50%; width: 2px; transform: translateX(-50%); background-color: #155c89; }
    .day-timeline__item:last-child .day-timeline__track::after { display: none; }
    .day-timeline__dot { width: 0.625rem; height: 0.625rem; border-radius: 50%; background-color: #155c89; position: relative; z-index: 1; margin-top: 0.4rem; flex-shrink: 0; }
    .day-timeline__body { flex: 1; min-width: 0; padding-top: 0.125rem; }
    .day-timeline__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.75rem 1rem; margin: 0; line-height: 1.6; }
    .day-timeline__time { font-weight: 700; color: #155c89; white-space: nowrap; flex-shrink: 0; }
    .day-timeline__title { color: #0f172a; font-weight: 700; }
    .day-timeline__note { margin: 0.25rem 0 0; padding-left: 0; color: #475569; font-size: inherit; line-height: 1.6; }
    .day-timeline--night .day-timeline__track::after { background-color: rgba(255, 255, 255, 0.45); }
    .day-timeline--night .day-timeline__dot { background-color: #fff; }
    .day-timeline--night .day-timeline__time { color: #7ec8e8; }
    .day-timeline--night .day-timeline__title { color: #fff; }
    .day-timeline--night .day-timeline__note { color: rgba(255, 255, 255, 0.65); }
    .shift-night { background-color: #0f172a; color: #fff; }
    .interview-catch { font-family: "Noto Sans JP", var(--font-sans); font-weight: 900; }
    .form-input:focus { outline: none; border-color: #155c89; box-shadow: 0 0 0 2px rgba(21, 92, 137, 0.2); }
    .form-input:focus-visible { outline: 2px solid #155c89; outline-offset: 0; }
    .submit-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 30%;
      min-width: min(100%, 11rem);
      margin-inline: auto;
      padding: clamp(0.75rem, 0.65rem + 0.35vw, 0.9375rem) clamp(1.25rem, 1rem + 0.8vw, 1.75rem);
      background-color: #155c89;
      color: #fff;
      font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
      font-weight: 700;
      border: 3px solid #155c89;
      border-radius: 9999px;
      transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }
    .submit-btn:hover { background-color: var(--color-primary-hover); border-color: var(--color-primary-hover); box-shadow: var(--interactive-hover-shadow); transform: translateY(-2px); }
    .submit-btn:active { background-color: var(--color-primary-hover-deep); border-color: var(--color-primary-hover-deep); transform: translateY(0); }
    .interactive-btn { transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; }
    .interactive-btn:hover { background-color: var(--color-primary-hover) !important; border-color: var(--color-primary-hover) !important; box-shadow: var(--interactive-hover-shadow); transform: translateY(-2px); }
    .interactive-btn:active { background-color: var(--color-primary-hover-deep) !important; border-color: var(--color-primary-hover-deep) !important; transform: translateY(0); box-shadow: 0 2px 10px rgba(21, 92, 137, 0.28); }
    .site-footer a[href^="tel:"]:hover, .site-footer__nav a:hover { color: var(--color-primary-hover) !important; }
    .submit-btn:focus-visible { outline: 2px solid #155c89; outline-offset: 3px; }
    .recruitment-table th, .recruitment-table td { border: 1px solid #94a3b8; font-size: inherit; }
    .recruitment-table th { background-color: #f8fafc; font-weight: 700; }
    .form-input { font-size: inherit; }
    .recruit-thanks__actions.section-cta-row {
      margin-top: clamp(2rem, 1.5rem + 1.5vw, 2.75rem);
    }
    .recruit-thanks__actions .section-cta-btn {
      text-decoration: none;
      min-width: min(100%, 14rem);
      justify-content: center;
    }
    #entry-form { border-color: #94a3b8; }
    #entry-form .form-input,
    .recruit-entry-form .wpcf7-form-control:not(.wpcf7-submit) { border-color: #94a3b8; }
    #entry-form .entry-form-notice { border-color: #94a3b8; }
    .recruit-entry-form .wpcf7-form { display: flex; flex-direction: column; gap: 1.5rem; margin: 0; }
    .recruit-entry-form .wpcf7-response-output { margin: 0; border-radius: 0.125rem; font-size: inherit; }
    .recruit-cf7-fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
    .recruit-cf7-legend,
    .recruit-cf7-label { display: block; font-weight: 700; margin-bottom: 0.5rem; color: #0f172a; }
    .recruit-cf7-legend { margin-bottom: 0.75rem; }
    .recruit-cf7-required { color: #dc2626; font-size: clamp(0.75rem, 0.7rem + 0.15vw, 0.875rem); font-weight: 400; }
    .recruit-entry-form .wpcf7-list-item { margin: 0 0 0.5rem; }
    .recruit-entry-form .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 0.5rem; cursor: pointer; color: #475569; line-height: 1.5; }
    .recruit-entry-form .wpcf7-radio { display: flex; flex-direction: column; gap: 0.5rem; }
    .recruit-entry-form fieldset.recruit-cf7-fieldset:nth-of-type(2) .wpcf7-radio { flex-direction: row; flex-wrap: wrap; column-gap: 1.5rem; row-gap: 0.5rem; }
    .recruit-entry-form .wpcf7-list-item-label { flex: 1; }
    .recruit-entry-form input[type="radio"],
    .recruit-entry-form input[type="checkbox"] { accent-color: #155c89; margin-top: 0.2rem; flex-shrink: 0; }
    .recruit-entry-form .wpcf7-form-control-wrap { display: block; }
    .recruit-entry-form .wpcf7-form-control:not(.wpcf7-submit) {
      width: 100%;
      padding: 0.75rem;
      border: 1px solid #e2e8f0;
      border-radius: 0.125rem;
      background: #fff;
      font-size: inherit;
    }
    .recruit-entry-form textarea.wpcf7-form-control { min-height: 6rem; resize: vertical; }
    .recruit-cf7-submit-wrap { margin: 0; text-align: center; }
    .recruit-entry-form .wpcf7-submit.submit-btn { cursor: pointer; }
    /* Documentary column */
    .doc-prose { line-height: 1.75; color: #475569; max-width: 42em; }
    .doc-prose > * + * { margin-top: 0; }
    .doc-prose p + p { margin-top: 1.25em; }
    .doc-prose .doc-subhead + p { margin-top: 0.75rem; }
    .doc-prose strong { color: #0f172a; font-weight: 700; }
    .doc-kicker { font-size: clamp(0.625rem, 0.58rem + 0.12vw, 0.75rem); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #155c89; margin-bottom: 0.75rem; }
    .doc-headline { font-family: "Noto Sans JP", var(--font-sans); font-size: clamp(1.25rem, 1.1rem + 0.55vw, 1.4375rem); font-weight: 900; line-height: 1.4; color: #0f172a; margin-bottom: 1.75rem; }
    .doc-subhead { font-family: "Noto Sans JP", var(--font-sans); font-size: clamp(1.1875rem, 1.08rem + 0.4vw, 1.4375rem); font-weight: 900; line-height: 1.4; color: #0f172a; margin-top: 2rem; margin-bottom: 0.75rem; padding-left: 0.875rem; border-left: 3px solid #155c89; }
    .doc-pullquote { margin: 2rem 0; padding: 1.25rem 1.5rem; background: #f8fafc; border-left: 4px solid #155c89; font-family: "Noto Sans JP", var(--font-sans); font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem); font-weight: 900; line-height: 1.55; color: #0f172a; }
    .doc-pullquote-media { margin: 2rem 0; }
    .doc-pullquote-media__content { display: flex; flex-direction: column; gap: 1.25rem; }
    .doc-pullquote-media__text { margin: 0; }
    .doc-pullquote-media__follow { margin: 0; color: #475569; line-height: 1.75; }
    @media (min-width: 1024px) {
      .doc-pullquote-media {
        display: grid;
        grid-template-columns: minmax(0, 1fr) min(100%, 400px);
        gap: clamp(1.25rem, 1rem + 1vw, 2rem);
        align-items: start;
      }
      .doc-pullquote-media__figure { margin: 0; width: 100%; max-width: 400px; justify-self: end; align-self: start; }
    }
    .doc-story { border-top: 1px solid #e2e8f0; padding-top: clamp(2.5rem, 2rem + 2vw, 3.5rem); }
    .doc-story:first-of-type { border-top: none; padding-top: 0; }
    .interview-profile { margin-bottom: clamp(1rem, 0.85rem + 0.5vw, 1.25rem); }
    .interview-profile__label { font-size: clamp(0.75rem, 0.7rem + 0.15vw, 0.875rem); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #155c89; margin-bottom: 0.5rem; }
    .interview-profile__name { font-size: clamp(1.5rem, 1.25rem + 0.85vw, 2rem); font-weight: 900; color: #0f172a; line-height: 1.25; }
    .interview-profile__meta { font-size: clamp(1.0625rem, 0.98rem + 0.35vw, 1.3125rem); font-weight: 700; color: #475569; line-height: 1.5; margin-top: 0.375rem; }
    .interview-hero { display: grid; grid-template-columns: 1fr; gap: clamp(1.25rem, 1rem + 1vw, 2rem); align-items: start; margin-bottom: clamp(1.5rem, 1.2rem + 1vw, 2.25rem); }
    .interview-hero__text { min-width: 0; }
    .interview-hero__text .doc-headline { margin-bottom: 0; }
    .interview-lead { margin-top: clamp(1rem, 0.85rem + 0.5vw, 1.25rem); color: #475569; max-width: 42em; }
    @media (min-width: 768px) {
      .interview-hero { grid-template-columns: minmax(0, 1fr) auto; gap: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem); }
      .interview-hero__photo { justify-self: end; }
      #message .interview-hero__aside { justify-self: end; }
    }
    .interview-figure { margin: clamp(1.75rem, 1.4rem + 1vw, 2.5rem) 0; border: 1px solid #e2e8f0; border-radius: 0.125rem; overflow: hidden; background: #fff; }
    .interview-figure.interview-figure--sharp { overflow: visible; }
    .interview-figure--side { --interview-photo-w: 17rem; width: min(100%, var(--interview-photo-w)); margin-left: auto; margin-right: 0; }
    .interview-figure--side:not(.interview-figure--sharp) .interview-figure__media { aspect-ratio: 3 / 4; }
    #interviews .interview-figure--side { --interview-photo-w: 400px; }
    #interviews .interview-figure--w400,
    #message .interview-figure--w400 {
      box-sizing: content-box;
      width: min(400px, 100%);
    }
    #interviews .interview-figure--w400 > .img-sharp,
    #message .interview-figure--w400 > .img-sharp {
      width: 400px;
      max-width: 100%;
      height: auto;
    }
    #message .interview-figure--w400.interview-figure--sharp .interview-figure__media > .img-sharp {
      width: 400px;
      max-width: 100%;
      height: auto;
    }
    #message .interview-figure--side { --interview-photo-w: 400px; }
    .interview-figure__media { position: relative; overflow: hidden; background: #f1f5f9; }
    .interview-figure__media img:not(.img-sharp) { width: 100%; height: 100%; object-fit: cover; display: block; }
    .interview-figure__caption { padding: 0.625rem 0.875rem; font-size: clamp(0.8125rem, 0.78rem + 0.12vw, 0.9375rem); font-weight: 700; color: #475569; line-height: 1.5; border-top: 1px solid #f1f5f9; }
    .interview-figure__tag { display: block; font-size: clamp(0.6875rem, 0.65rem + 0.1vw, 0.75rem); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #155c89; margin-bottom: 0.2rem; }
    .doc-subhead + .interview-figure { margin-top: 1rem; }
    @media (min-width: 768px) {
      .interview-figure--float-right.interview-figure--side { float: right; width: var(--interview-photo-w, 17rem); margin: 0.25rem 0 1.25rem 1.5rem; }
      .interview-figure--float-left.interview-figure--side { float: left; width: var(--interview-photo-w, 17rem); margin: 0.25rem 1.5rem 1.25rem 0; }
      #interviews .interview-figure--float-right.interview-figure--side,
      #interviews .interview-figure--float-left.interview-figure--side { width: min(100%, 400px); }
      #interviews .interview-figure--float-right.interview-figure--side.interview-figure--w400,
      #interviews .interview-figure--float-left.interview-figure--side.interview-figure--w400,
      #message .interview-figure--float-right.interview-figure--side.interview-figure--w400,
      #message .interview-figure--float-left.interview-figure--side.interview-figure--w400 {
        box-sizing: content-box;
        width: 400px;
      }
      #message .interview-figure--float-right.interview-figure--side,
      #message .interview-figure--float-left.interview-figure--side { width: min(100%, 400px); }
    }
    .interview-prose::after { content: ""; display: table; clear: both; }
    .message-tabpanel {
      padding: clamp(1.5rem, 1.15rem + 1.2vw, 2.5rem);
      background: linear-gradient(180deg, rgba(248, 251, 253, 0.88) 0%, rgba(238, 245, 250, 0.88) 100%);
      border: 1px solid rgba(21, 92, 137, 0.18);
      border-radius: clamp(1rem, 0.85rem + 0.6vw, 1.25rem);
      box-shadow: 0 4px 24px rgba(21, 92, 137, 0.07);
    }
    .message-tabpanel__lead { font-family: "Noto Sans JP", var(--font-sans); font-size: clamp(1.125rem, 1rem + 0.45vw, 1.375rem); font-weight: 900; line-height: 1.5; color: #0f172a; }
    .message-tabpanel__role { font-size: clamp(1rem, 0.92rem + 0.35vw, 1.1875rem); font-weight: 700; color: #475569; line-height: 1.5; }
    .message-tabpanel__name { font-size: clamp(1.375rem, 1.2rem + 0.65vw, 1.75rem); font-weight: 900; color: #0f172a; line-height: 1.35; margin-top: 0.375rem; }
    .message-tabpanel__name-sub { font-size: clamp(1rem, 0.92rem + 0.35vw, 1.125rem); font-weight: 700; color: #475569; }
    #message .interview-hero__aside { display: flex; flex-direction: column; align-items: flex-end; gap: clamp(0.75rem, 0.6rem + 0.5vw, 1rem); shrink: 0; }
    #message .interview-hero__aside .interview-profile { width: 100%; max-width: 400px; margin: 0; text-align: right; }
    .message-tabpanel__switch {
      margin-top: clamp(2rem, 1.5rem + 1.5vw, 2.75rem);
      padding-top: clamp(1.25rem, 1rem + 0.8vw, 1.75rem);
      border-top: 1px solid rgba(21, 92, 137, 0.12);
      text-align: center;
    }
    .message-tabpanel__switch-btn {
      display: inline-flex;
      flex-direction: row;
      align-items: center;
      gap: 1.5rem;
      background: rgba(255, 255, 255, 0.65);
      border: 2px solid #155c89;
      border-radius: 9999px;
      padding: clamp(0.625rem, 0.55rem + 0.3vw, 0.875rem) clamp(1rem, 0.85rem + 0.6vw, 1.375rem);
      cursor: pointer;
      color: #155c89;
      font-family: inherit;
      font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
      font-weight: 900;
      line-height: 1.45;
      white-space: nowrap;
      transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    }
    .message-tabpanel__switch-btn:hover { background: rgba(255, 255, 255, 0.9); color: #124e74; border-color: #124e74; }
    .message-tabpanel__switch-btn:focus-visible { outline: 2px solid #155c89; outline-offset: 3px; }
    .message-tabpanel__switch-icon { font-size: 0.75em; line-height: 1; flex-shrink: 0; }
    .blog-card { transition: box-shadow 0.2s ease, transform 0.2s ease; }
    .blog-card:hover { box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12); transform: translateY(-2px); }
    .blog-card:focus-within { outline: 2px solid #fff; outline-offset: 2px; }
    @media (prefers-reduced-motion: reduce) { .back-to-top, .back-to-top.is-visible, .blog-card { transform: none; transition: none; } }