
  :root{
    --ink:#2b2b2b; --muted:#6b7280; --line:#e8e8ec; --bg:#ffffff;
    --pink:#d24c92; --pink-d:#b23a79; --pink-bg:#fdeef6; --pink-ll:#fff7fb;
    --maxw:880px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic","Meiryo",sans-serif;color:var(--ink);background:var(--bg);line-height:1.95;font-size:18px;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .pink{color:var(--pink)}
  b{font-weight:800}

  /* ヘッダー */
  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1080px;margin:0 auto;padding:0 24px}
  .mark{display:inline-flex;align-items:center;gap:10px;font-weight:800}
  .mark .dot{width:38px;height:38px;flex:none;object-fit:contain;display:block}
  .mark .nm{font-size:17px;color:var(--pink)}
  .back{font-size:15.5px;font-weight:700;color:var(--muted);transition:.2s}
  .back:hover{color:var(--pink)}

  /* ヒーロー */
  .hero{padding:88px 0 64px;background:linear-gradient(180deg,var(--pink-ll) 0%,#ffffff 80%);position:relative;overflow:hidden;text-align:center}
  .hero::after{content:"";position:absolute;right:50%;top:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(210,76,146,.10),transparent 70%);transform:translateX(50%);pointer-events:none}
  .hero .wrap{position:relative;z-index:1}
  .hero .kicker{color:var(--pink);font-weight:800;letter-spacing:.14em;font-size:14.5px;margin-bottom:14px}
  .hero h1{font-size:clamp(28px,4.6vw,46px);font-weight:900;line-height:1.32;margin-bottom:20px}
  .hero h1 .en{display:block;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;color:var(--pink);font-size:.7em;margin-top:14px;letter-spacing:.04em}
  .hero p.lead{font-size:17px;color:#4b5563;max-width:640px;margin:0 auto}

  section.block{padding:72px 0}
  .tint{background:var(--pink-bg)}
  .sec-head{margin-bottom:36px}
  .sec-head .kicker{color:var(--pink);font-weight:800;letter-spacing:.14em;font-size:12px;margin-bottom:10px}
  .sec-head h2{font-size:clamp(22px,3vw,30px);font-weight:900;line-height:1.4}

  /* 由来ストーリー */
  .story p{font-size:17px;line-height:2;margin-bottom:20px}
  .story p b{color:var(--pink-d)}
  .story .quote{background:#fff;border-left:4px solid var(--pink);padding:22px 26px;margin:30px 0;font-size:18px;font-weight:700;line-height:1.7;color:var(--pink-d);border-radius:6px;box-shadow:0 8px 20px rgba(210,76,146,.06)}

  /* MVV */
  .mvv{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
  .mvv .item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 26px;text-align:left}
  .mvv .item.wide{grid-column:1/-1}
  .mvv .item .k{font-size:11px;font-weight:800;color:var(--pink);letter-spacing:.14em;margin-bottom:10px}
  .mvv .item .v{font-size:18px;font-weight:800;line-height:1.65;margin-bottom:10px}
  .mvv .item .desc{font-size:15.5px;color:var(--muted);line-height:1.85}

  /* 専門チーム */
  .team{background:#fff;border:1px solid var(--pink-bg);border-radius:18px;padding:34px 32px;box-shadow:0 10px 26px rgba(210,76,146,.06)}
  .team h3{font-size:20px;font-weight:900;margin-bottom:10px;color:var(--pink-d)}
  .team p{font-size:16.5px;color:#4b5563;line-height:1.95}

  /* 会社情報 */
  .company table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.04)}
  .company th,.company td{text-align:left;padding:18px 20px;border-bottom:1px solid var(--line);vertical-align:top;font-size:15.5px}
  .company th{width:180px;font-weight:800;background:var(--pink-bg);color:var(--pink-d)}
  .company td{color:var(--muted)}
  .company tr:last-child th,.company tr:last-child td{border-bottom:0}

  /* CTAバック */
  .cta-back{background:var(--ink);color:#fff;padding:60px 0;text-align:center}
  .cta-back h2{font-size:22px;font-weight:900;margin-bottom:24px}
  .btn{display:inline-block;background:var(--pink);color:#fff;padding:13px 28px;border-radius:999px;font-weight:800;font-size:16.5px;transition:.2s;margin:0 6px}
  .btn:hover{background:var(--pink-d)}
  .btn-ghost{display:inline-block;padding:13px 28px;border:1.5px solid #fff;border-radius:999px;font-weight:700;font-size:16.5px;color:#fff;margin:0 6px}

  footer{padding:30px 0;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:14.5px}

  @media(max-width:680px){
    .mvv{grid-template-columns:1fr}
    section.block{padding:54px 0}.hero{padding:60px 0 46px}
    .company th{width:120px;padding:14px 12px;font-size:14.5px}
    .company td{padding:14px 12px;font-size:15.5px}
  }
