    /* =========================================================
       Base tokens — トップページ (assets/css/style.css) と統一
    ========================================================= */
    :root {
      --blue:       #7eb8e8;
      --blue-light: #b8d9f5;
      --blue-pale:  #daeeff;
      --lavender:   #a89fd8;
      --lav-light:  #cfc9ee;
      --pink:       #f48cb6;
      --pink-light: #f9bdd5;
      --mint:       #7dd9b0;
      --sky:        #76cef0;
      --white:      #f4f8ff;
      --dark:       #0d1628;
      --dark-mid:   #111e36;
      --card-bg:    rgba(255,255,255,0.06);
    }
    * { margin: 0; padding: 0; box-sizing: border-box; }
    html { overflow-x: hidden; }
    body {
      background: var(--dark);
      color: var(--white);
      font-family: 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
      overflow-x: hidden;
      min-height: 100vh;
    }
    img { max-width: 100%; }

    /* =========================================================
       Background layers（トップページと同仕様）
    ========================================================= */
    .bg-mesh {
      position: fixed; inset: 0; z-index: 0;
      background:
        radial-gradient(ellipse 70% 55% at 15% 10%,  rgba(126,184,232,0.18) 0%, transparent 60%),
        radial-gradient(ellipse 55% 65% at 85% 85%,  rgba(168,159,216,0.18) 0%, transparent 60%),
        radial-gradient(ellipse 45% 40% at 50% 40%,  rgba(118,206,240,0.10) 0%, transparent 65%),
        radial-gradient(ellipse 80% 30% at 50% 100%, rgba(126,184,232,0.12) 0%, transparent 60%),
        var(--dark);
      animation: meshDrift 16s ease-in-out infinite alternate;
    }
    @keyframes meshDrift {
      0%   { filter: hue-rotate(0deg) brightness(1); }
      100% { filter: hue-rotate(15deg) brightness(1.06); }
    }
    .starfield { position: fixed; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
    .star {
      position: absolute; border-radius: 50%; background: #fff;
      animation: twinkle var(--d) ease-in-out infinite alternate;
    }
    @keyframes twinkle {
      0%   { opacity: 0.08; transform: scale(0.7); }
      100% { opacity: 0.85; transform: scale(1.3); }
    }
    .bubble {
      position: fixed; pointer-events: none; z-index: 0; border-radius: 50%;
      animation: floatBubble var(--fd) ease-in-out infinite; opacity: 0;
    }
    @keyframes floatBubble {
      0%   { transform: translateY(110vh) scale(0.6); opacity: 0; }
      15%  { opacity: 0.35; }
      85%  { opacity: 0.2; }
      100% { transform: translateY(-15vh) scale(1.1); opacity: 0; }
    }

    /* =========================================================
       Header（トップページと共通）
    ========================================================= */
    header {
      position: relative; z-index: 10; text-align: center;
      padding: 56px 20px 40px;
      display: flex; flex-direction: column; align-items: center;
      overflow: hidden;
    }
    .logo-jp { max-width: 220px; margin: auto; display: block; }
    .logo-main a { display: inline-block; }
    .header-glow {
      position: absolute; top: 0; left: 50%; transform: translateX(-50%);
      width: min(700px, 100vw); height: 300px;
      background: radial-gradient(ellipse, rgba(126,184,232,0.22) 0%, transparent 70%);
      pointer-events: none;
    }
    .deco-line {
      display: flex; align-items: center; justify-content: center;
      gap: 10px; margin: 22px auto 0;
    }
    .deco-line::before, .deco-line::after {
      content: ''; display: block; width: 90px; height: 1px;
      background: linear-gradient(90deg, transparent, var(--blue), transparent);
    }
    .deco-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--sky); box-shadow: 0 0 8px var(--sky); }
    .deco-dot.pink { background: var(--pink); box-shadow: 0 0 8px var(--pink); }
    .deco-dot.mint { background: var(--mint); box-shadow: 0 0 8px var(--mint); }

    .header-x-btn {
      display: inline-flex; align-items: center; gap: 8px;
      margin-top: 20px; padding: 10px 22px; border-radius: 999px;
      background: rgba(126,184,232,0.1); border: 1.5px solid rgba(126,184,232,0.35);
      color: var(--blue-light); text-decoration: none;
      font-family: 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
      font-size: 0.85rem; font-weight: 700; letter-spacing: 0.08em;
      backdrop-filter: blur(8px);
      transition: background 0.25s, border-color 0.25s, transform 0.25s, box-shadow 0.25s;
    }
    .header-x-btn:hover {
      background: rgba(126,184,232,0.22); border-color: rgba(126,184,232,0.7);
      transform: translateY(-3px); box-shadow: 0 8px 24px rgba(126,184,232,0.2);
    }
    .header-x-btn svg { width: 15px; height: 15px; fill: currentColor; flex-shrink: 0; }

    /* =========================================================
       Section title (dark bg版 / トップページと同仕様)
    ========================================================= */
    .section-title { text-align: center; margin-bottom: 28px; position: relative; z-index: 2; }
    .section-title h2 {
      font-family: 'Cinzel Decorative', 'Zen Maru Gothic', sans-serif;
      font-size: clamp(0.9rem, 2vw, 1.2rem);
      letter-spacing: 0.35em; color: var(--blue-light); text-transform: uppercase; opacity: 0.8;
    }
    .section-title p {
      font-weight: 900; font-size: clamp(1.5rem, 3.5vw, 2.2rem); letter-spacing: 0.08em;
      background: linear-gradient(90deg, var(--blue-light), var(--white), var(--lav-light));
      -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
      margin-top: 4px;
    }

    /* =========================================================
       Recruit hero
    ========================================================= */
    .recruit-hero {
      position: relative; z-index: 2;
      max-width: 760px; margin: 0 auto;
      padding: 8px 24px 56px; text-align: center;
    }
    .hero-catch h1 {
      font-family: 'Zen Maru Gothic', sans-serif;
      font-weight: 700;
      font-size: clamp(1.5rem, 4vw, 2.1rem);
      line-height: 1.7;
      color: var(--white);
      margin-bottom: 20px;
    }
    .hero-lead {
      font-size: 0.92rem;
      line-height: 2;
      color: rgba(220,236,255,0.95);
    }
	.hero-img{
		text-align: center;
		margin: 0 auto 20px;
	}
    /* =========================================================
       Content surface — 白背景パート
    ========================================================= */
    .content-surface {
      position: relative; z-index: 2;
      background: var(--white);
      border-radius: 32px;
      max-width: 880px;
      margin: 8px auto 0;
      box-shadow: 0 24px 70px rgba(0,0,0,0.35);
      overflow: hidden;
    }
    .content-section {
      max-width: 760px; margin: 0 auto;
      padding: 64px 24px 0;
    }
    .content-section.alt-bg {
      background: #eef4fb;
      border-radius: 0;
    }

    .section-title-light { text-align: center; margin-bottom: 14px; }
    .section-title-light h2 {
      font-family: 'Cinzel Decorative', 'Zen Maru Gothic', sans-serif;
      font-size: clamp(0.8rem, 1.8vw, 1rem);
      letter-spacing: 0.3em; color: var(--blue); text-transform: uppercase; opacity: 0.85;
    }
    .section-title-light p {
      font-weight: 900; font-size: clamp(1.3rem, 3vw, 1.8rem); letter-spacing: 0.06em;
      color: #1c2b45;
      margin-top: 4px;
    }
    .lead-light {
      text-align: center; font-size: 0.88rem; line-height: 2;
      color: #5a6b85;
      max-width: 560px; margin: 0 auto 44px;
    }
    .text-left {
      text-align: left;
    }
    .txt-block{
	    width: fit-content;
	    margin:0 auto 44px;
	    b{
		    font-size: 120%;
	    }
    }
    .cta-center{
	text-align: center;
	margin: 0 0 40px;
}
    /* =========================================================
       Appeal cards (white surface)
    ========================================================= */
    .appeal-grid {
      display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
    }
    .appeal-card {
      background: #fff; border: 1.5px solid #e3ebf5; border-radius: 18px;
      padding: 28px 18px; text-align: center;
      transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    }
    .appeal-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 16px 32px rgba(126,184,232,0.18);
      border-color: rgba(126,184,232,0.5);
    }
    .appeal-icon-wrap {
      width: 204px; height: 204px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 18px; overflow: hidden;
      border: 3px solid transparent;
      box-shadow: 0 4px 14px rgba(20,40,80,0.1);
    }
    .appeal-icon-wrap img {
      width: 100%; height: 100%; object-fit: cover; display: block;
    }
    .icon-a { border-color: rgba(118,206,240,0.55); }
    .icon-b { border-color: rgba(244,140,182,0.55); }
    .icon-c { border-color: rgba(168,159,216,0.55); }
    .icon-d { border-color: rgba(125,217,176,0.55); }
    .appeal-card h3 {
      font-size: 0.95rem; font-weight: 700; color: #1c2b45;
      line-height: 1.6; margin-bottom: 0;
    }
    .appeal-card p {
      font-size: 0.78rem; color: #6b7a92; line-height: 1.9;
    }

    /* =========================================================
       Job cards (white surface)
    ========================================================= */
    .jobs-wrap { max-width: 760px; margin: 0 auto; }
    .job-card {
      background: #fff; border: 1.5px solid #e3ebf5; border-radius: 18px;
      margin-bottom: 16px; overflow: hidden;
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }
    .job-card:hover { border-color: rgba(126,184,232,0.5); box-shadow: 0 10px 28px rgba(126,184,232,0.12); }
    .job-card-header {
      padding: 22px 26px; display: flex; align-items: flex-start; gap: 16px;
      cursor: pointer; user-select: none;
    }
    .job-badge {
      font-size: 0.68rem; letter-spacing: 0.08em; font-weight: 700;
      padding: 4px 12px; border-radius: 999px; white-space: nowrap; flex-shrink: 0; margin-top: 3px;
    }
    .badge-part { background: rgba(118,206,240,0.15); color: #1a7aa8; }
    .badge-full { background: rgba(244,140,182,0.18); color: #b13d6c; }
    .job-title-block { flex: 1; min-width: 0; }
    .job-title { font-size: 1rem; font-weight: 700; color: #1c2b45; margin-bottom: 5px; }
    .job-subtitle { font-size: 0.76rem; color: #8493ac; }
    .job-toggle-icon {
      color: var(--blue); font-size: 1.3rem; line-height: 1; flex-shrink: 0; margin-top: 2px;
      transition: transform 0.25s ease;
    }
    .job-card.open .job-toggle-icon { transform: rotate(90deg); }
    .job-body { display: none; padding: 0 26px 26px; }
    .job-card.open .job-body { display: block; }
    .job-divider { height: 1px; background: #e3ebf5; margin-bottom: 22px; }
    .job-section-label {
      font-size: 0.68rem; letter-spacing: 0.15em; font-weight: 700;
      color: var(--blue); text-transform: uppercase; margin-bottom: 12px;
    }
    .job-table { width: 100%; border-collapse: collapse; margin-bottom: 22px; }
    .job-table tr td {
      padding: 7px 0; vertical-align: top; font-size: 0.84rem; line-height: 1.85;
      border-bottom: 1px solid #f0f4fa;
    }
    .job-table tr:last-child td { border-bottom: none; }
    .job-table .td-key {
      color: var(--blue); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.04em;
      width: 88px; flex-shrink: 0; padding-right: 14px; padding-top: 8px;
    }
    .job-table .td-val { color: #2a3b56; }
    .job-table .td-val strong { color: #1c2b45; font-weight: 900; font-size: 1.02rem; }
    .note { font-size: 0.74rem; color: #8493ac; }

    .tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
    .tag {
      background: #eef4fb; border: 1px solid #dde8f5; color: #4a5d7a;
      font-size: 0.72rem; padding: 4px 12px; border-radius: 999px;
    }

    .benefits-grid {
      display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px;
    }
    .benefit-item {
      background: #f6faff; border: 1px solid #e3ebf5; border-radius: 10px;
      padding: 12px 16px; display: flex; align-items: center; gap: 10px;
      font-size: 0.78rem; color: #2a3b56;
    }
    .benefit-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--pink); flex-shrink: 0; }

    /* =========================================================
       CTA (back to dark bg, on starfield)
    ========================================================= */
    .cta-section {
      position: relative; z-index: 2;
      padding: 72px 24px; text-align: center; max-width: 700px; margin: 0 auto;
    }
    .cta-heading {
      font-family: 'Zen Maru Gothic', sans-serif; font-weight: 700;
      font-size: clamp(1.2rem, 2.8vw, 1.6rem); color: var(--white);
      margin-bottom: 14px; line-height: 1.7;
    }
    .cta-section p {
      font-size: 0.85rem; color: rgba(220,236,255,0.6); line-height: 2; margin-bottom: 32px;
    }
    .cta-btn {
      display: inline-flex; align-items: center; gap: 10px;
      background: linear-gradient(90deg, var(--blue), var(--lavender));
      color: #0d1628; font-size: 0.88rem; font-weight: 900; letter-spacing: 0.06em;
      padding: 15px 44px; border-radius: 999px; text-decoration: none;
      transition: transform 0.25s ease, box-shadow 0.25s ease;
      margin: 0 0 16px;
    }
    .cta-btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 32px rgba(126,184,232,0.35);
    }
    .cta-btn svg { width: 18px; height: 18px; flex-shrink: 0; }
    .cta-btn-line {
      background: linear-gradient(90deg, #06C755, #3DDC84);
      color: #ffffff;
    }
    .cta-btn-line:hover {
      box-shadow: 0 12px 32px rgba(6,199,85,0.4);
    }
    .cta-btn-secondary {
      display: inline-flex;
      background: transparent;
      color: var(--blue-light);
      border: 1.5px solid rgba(126,184,232,0.4);
      box-shadow: none;
    }
    .cta-btn-secondary:hover {
      background: rgba(126,184,232,0.1);
      border-color: rgba(126,184,232,0.7);
      box-shadow: 0 8px 24px rgba(126,184,232,0.2);
    }
    .cta-btn-stores { margin-top: 40px; }
    .cta-note { font-size: 0.72rem; color: rgba(184,217,245,0.4); margin-top: 18px; margin-bottom: 0; }

    /* =========================================================
       Footer（トップページと共通）
    ========================================================= */
    footer {
      position: relative; z-index: 2; text-align: center;
      padding: 28px 20px 32px; border-top: 1px solid rgba(126,184,232,0.1);
    }
    .footer-logo { font-family: 'Zen Maru Gothic', sans-serif; font-weight: 700; color: rgba(184,217,245,0.5); letter-spacing: 0.1em; margin-bottom: 8px; }
    .footer-copy { font-size: 0.7rem; color: rgba(184,217,245,0.3); letter-spacing: 0.1em; }

    /* =========================================================
       Scroll reveal
    ========================================================= */
    @media (prefers-reduced-motion: no-preference) {
      .reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.55s ease, transform 0.55s ease; }
      .reveal.visible { opacity: 1; transform: translateY(0); }
    }

    /* =========================================================
       Responsive
    ========================================================= */
    .pc-only { display: inline; }
    @media (max-width: 900px) {
      .appeal-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 600px) {
      .pc-only { display: none; }

      header { padding: 44px 16px 32px; }
      .content-section { padding: 48px 18px; }
      .appeal-grid { grid-template-columns: 1fr; gap: 14px; }
      .job-card-header { padding: 18px; }
      .job-body { padding: 0 18px 20px; }
      .job-table .td-key { width: 72px; }
      .content-surface { border-radius: 20px; max-width: calc(100% - 24px); margin: 8px auto 0; }
      .cta-btn { padding: 14px 32px; }
      .lead-light{margin: 0 auto 0;}
    }

    @media (prefers-reduced-motion: reduce) {
      * { transition: none !important; animation: none !important; }
    }

