/*
  MASAKARI top page stylesheet
  Consolidated from inline <style> blocks in static/top.html.
  Keep this file loaded only by static/top.html.
*/

/* ===== base ===== */
   :root{
  --green:#b7ff00;
  --green2:#d7ff5a;
  --black:#080a07;
  --ink:#11130f;
  --muted:#666b61;
  --line:rgba(8,10,7,.14);
  --paper:#ffffff;
  --white:#fff;
  --radius:28px;
  --shadow:0 18px 55px rgba(8,10,7,.10);
}
    *{box-sizing:border-box}
    html{scroll-behavior:smooth; overflow-x:hidden;}
    body{
      margin:0;
      font-family:"Inter","Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:var(--ink);
      background:
        radial-gradient(circle at 12% 8%, rgba(183,255,0,.14), transparent 28vw),
        radial-gradient(circle at 92% 2%, rgba(183,255,0,.20), transparent 22vw),
        linear-gradient(180deg,#fff 0%,#fff 100%);
      overflow-x:hidden;
      letter-spacing:.02em;
    }
    body::before{
      content:"";
      position:fixed; inset:0; z-index:-2;
      background-image:
        linear-gradient(rgba(8,10,7,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8,10,7,.045) 1px, transparent 1px);
      background-size:42px 42px;
      mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,.14) 52%,rgba(0,0,0,.4));
      pointer-events:none;
    }
    body::after{
      content:"";
      position:fixed; inset:0; z-index:-1;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E");
      mix-blend-mode:multiply;
      opacity:.35;
      pointer-events:none;
    }
    a{color:inherit;text-decoration:none}
    img,svg{max-width:100%;display:block}
    .wrap{width:min(1120px,calc(100% - 32px));margin-inline:auto}

    .site-header{
      position:fixed; top:12px; left:0; right:0; z-index:40;
      pointer-events:none;
    }
    .nav{
      width:min(1120px,calc(100% - 24px)); margin:auto;
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      padding:10px 10px 10px 14px;
      border:1px solid rgba(8,10,7,.13);
      border-radius:999px;
      background:#fff;
      backdrop-filter:blur(18px);
      box-shadow:0 12px 35px rgba(8,10,7,.08);
      pointer-events:auto;
    }
    .brand{display:flex;align-items:center;gap:10px;min-width:0}
    .mark{
      width:34px;height:34px;border-radius:11px;background:var(--black);position:relative;flex:0 0 auto;overflow:hidden;
    }
    .mark::before{content:"";position:absolute;left:7px;bottom:7px;width:18px;height:18px;border-left:5px solid var(--green);border-bottom:5px solid var(--green);transform:skewX(-12deg)}
    .mark::after{content:"";position:absolute;right:7px;top:7px;width:5px;height:20px;background:#fff;border-radius:2px}
    .brand strong{font-size:14px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .brand span{font-size:10px;color:var(--muted);letter-spacing:.20em;display:block;text-transform:uppercase;white-space:nowrap}
    .nav-links{display:flex;align-items:center;gap:16px;font-size:12px;font-weight:800;letter-spacing:.08em}
    .nav-cta{background:var(--black);color:#fff;padding:10px 14px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}

    .hero{min-height:100svh;display:grid;align-items:center;padding:120px 0 74px;position:relative;overflow:hidden}
    .hero-bg{position:absolute;inset:0;z-index:-3;overflow:hidden;background:#fff}
    .hero-bg video,
    .hero-video{
      width:100%;
      height:100%;
      object-fit:cover;
      opacity:.38;
      filter:saturate(1.1) contrast(1.05);
      display:block;
    }
    .hero-bg video{width:100%;height:100%;object-fit:cover;opacity:.74;filter:saturate(1.2) contrast(1.04);transform:scale(1.04)}
    .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.7) 46%,rgba(255,255,255,.92) 100%),radial-gradient(circle at 10% 22%,rgba(183,255,0,.14),transparent 32%);pointer-events:none}
    .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:54px;align-items:end}
    .eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--black)}
    .eyebrow::before{content:"";width:42px;height:12px;border-radius:999px;background:var(--green);box-shadow:0 0 28px rgba(183,255,0,.8)}
    .hero h1{margin:0;font-size:clamp(46px,7.2vw,92px);line-height:1.06;letter-spacing:-.065em;font-weight:900;max-width:850px}
    .hero h1 .thin{font-weight:650;letter-spacing:-.07em}
    .hero h1 .green{position:relative;display:inline-block}
    .hero h1 .green::after{content:"";position:absolute;left:-.02em;right:-.02em;bottom:.03em;height:.22em;background:var(--green);z-index:-1;border-radius:999px;transform-origin:left;animation:underline 1.1s cubic-bezier(.2,.9,.2,1) .4s both}
    @keyframes underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
    .hero-copy{margin:24px 0 0;font-size:clamp(15px,1.7vw,20px);line-height:2;font-weight:700;max-width:620px;color:#30332c}
    .hero-actions{display:flex;gap:12px;align-items:center;margin-top:30px;flex-wrap:wrap}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;border-radius:999px;font-size:14px;font-weight:900;letter-spacing:.04em;border:1px solid var(--black);transition:.3s ease;white-space:nowrap}
    .btn.primary{background:var(--green);box-shadow:7px 7px 0 var(--black)}
    .btn.secondary{background:#fff}
    .btn:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--black)}
    .hero-card{align-self:stretch;min-height:420px;max-width:430px;justify-self:end;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);padding:22px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
    .hero-card::before{content:"";position:absolute;inset:16px;border:1px dashed rgba(8,10,7,.18);border-radius:20px;pointer-events:none}
    .big-brand{position:relative;z-index:1;font-size:clamp(42px,6.2vw,78px);line-height:1.02;letter-spacing:-.07em;font-weight:900}
    .big-brand small{display:block;font-size:14px;letter-spacing:.2em;line-height:1.4;margin-top:16px;color:var(--muted)}
    .chip-row{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1}
    .chip{font-size:12px;font-weight:900;border:1px solid var(--black);border-radius:999px;padding:8px 10px;background:var(--white)}
    .chip.green{background:var(--green)}
    .floating{position:absolute;right:-46px;top:40px;width:160px;height:160px;border-radius:50%;background:var(--green);display:grid;place-items:center;animation:spin 12s linear infinite;box-shadow:0 0 70px rgba(183,255,0,.65)}
    .floating span{font-weight:900;font-size:12px;letter-spacing:.18em;text-align:center;line-height:1.4}
    @keyframes spin{to{transform:rotate(360deg)}}

    .ticker{border-block:1px solid var(--black);background:var(--green);overflow:hidden;white-space:nowrap}
    .ticker-track{display:inline-flex;gap:34px;padding:14px 0;font-weight:900;font-size:clamp(18px,3vw,36px);letter-spacing:-.04em;animation:marquee 28s linear infinite}
    .ticker-track span{display:inline-flex;align-items:center;gap:34px}
    .ticker-track span::after{content:"●";font-size:.38em}
    @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

    .pickup-strip{
      position:relative;
      border-block:1px solid var(--black);
      background:#fff;
      overflow:hidden;
      padding:16px 0;
    }
    .pickup-strip::before,
    .pickup-strip::after{
      content:"";
      position:absolute;
      top:0;bottom:0;
      width:90px;
      z-index:2;
      pointer-events:none;
    }
    .pickup-strip::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
    .pickup-strip::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
    .pickup-track{
      display:flex;
      gap:14px;
      width:max-content;
      padding:0 14px;
      animation:pickupScroll 42s linear infinite;
    }
    .pickup-strip:hover .pickup-track{animation-play-state:paused}
    .pickup-card{
      width:280px;
      min-height:138px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:12px;
      padding:18px;
      border:1px solid var(--black);
      border-radius:22px;
      background:#fff;
      box-shadow:6px 6px 0 var(--green);
      transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    }
    .pickup-card:hover{
      transform:translate(-2px,-2px);
      box-shadow:8px 8px 0 var(--black);
      background:var(--green);
    }
    .pickup-tag{
      width:max-content;
      display:inline-flex;
      align-items:center;
      gap:7px;
      font-size:10px;
      font-weight:900;
      letter-spacing:.14em;
      color:var(--black);
      text-transform:uppercase;
    }
    .pickup-tag::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--green);
      border:1px solid var(--black);
    }
    .pickup-card:hover .pickup-tag::before{background:#fff}
    .pickup-card strong{
      display:block;
      font-size:clamp(20px,2.1vw,28px);
      line-height:1.08;
      letter-spacing:-.055em;
      font-weight:900;
    }
    .pickup-card small{
      display:block;
      color:#4b5145;
      font-size:12px;
      line-height:1.6;
      font-weight:800;
    }
    .pickup-card.featured{
      background:linear-gradient(135deg,var(--green),#f4ffd1 72%);
      box-shadow:8px 8px 0 var(--black);
      transform:translateY(-4px);
      position:relative;
      overflow:hidden;
      animation:pickupFeaturedFloat 2.6s ease-in-out infinite;
    }
    .pickup-card.featured::before{
      content:"★ 1番人気";
      position:absolute;
      left:14px;
      top:14px;
      min-height:26px;
      padding:0 12px;
      display:inline-flex;
      align-items:center;
      border-radius:999px;
      background:#fff7cf;
      color:var(--black);
      border:1px solid rgba(8,10,7,.14);
      box-shadow:0 8px 18px rgba(8,10,7,.08);
      font-size:11px;
      font-weight:900;
      letter-spacing:.04em;
      z-index:2;
    }
    .pickup-card.featured::after{
      content:"PICK UP";
      position:absolute;
      right:14px;
      top:14px;
      min-height:24px;
      padding:0 10px;
      display:inline-flex;
      align-items:center;
      border-radius:999px;
      background:var(--black);
      color:#fff;
      font-size:10px;
      font-weight:900;
      letter-spacing:.16em;
      z-index:2;
    }
    .pickup-card.featured .pickup-tag{
      margin-top:28px;
    }
    .pickup-card.featured strong{
      max-width:82%;
    }
    .pickup-card.featured:hover{
      background:linear-gradient(135deg,var(--green),#edffbb 72%);
      box-shadow:10px 10px 0 var(--black);
      transform:translate(-2px,-6px);
    }
    @keyframes pickupFeaturedFloat{
      0%,100%{transform:translateY(-4px)}
      50%{transform:translateY(-10px)}
    }

    @keyframes pickupScroll{
      from{transform:translateX(0)}
      to{transform:translateX(-50%)}
    }


    section{padding:92px 0}
    .section-head{display:grid;grid-template-columns:.36fr 1fr;gap:30px;align-items:start;margin-bottom:34px}
    .section-kicker{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-top:10px}
    .section-title{margin:0;font-size:clamp(34px,5.6vw,82px);line-height:.98;letter-spacing:-.075em;font-weight:900}
    .section-title .markline{background:linear-gradient(transparent 56%,var(--green) 0)}
    .lead{font-size:clamp(16px,2vw,22px);line-height:2;font-weight:800;color:#242820;margin:22px 0 0;max-width:850px}
    .section-actions{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px}
    .works-index-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:52px;
      padding:0 22px;
      border-radius:999px;
      background:var(--black);
      color:#fff;
      border:1px solid var(--black);
      font-size:14px;
      font-weight:900;
      letter-spacing:.03em;
      box-shadow:6px 6px 0 var(--green);
      transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
      width:max-content;
    }
    .works-index-btn:hover{
      transform:translate(-2px,-2px);
      box-shadow:8px 8px 0 var(--green);
      background:#fff;
      color:var(--black);
    }
    .works-bottom-action{
      display:flex;
      justify-content:center;
      margin-top:28px;
    }

    .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
    .about-link-box{
      margin-top:34px;
      border:1px solid var(--black);
      border-radius:28px;
      background:#fff;
      padding:clamp(22px,4vw,38px);
      box-shadow:8px 8px 0 var(--green);
      display:grid;
      grid-template-columns:.28fr 1fr auto;
      align-items:center;
      gap:22px;
    }
    .about-link-box span{
      font-size:12px;
      font-weight:900;
      letter-spacing:.18em;
      color:var(--muted);
    }
    .about-link-box p{
      margin:0;
      line-height:1.9;
      font-weight:800;
      color:#343931;
    }
    .about-link-box a{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:48px;
      padding:0 18px;
      border-radius:999px;
      background:var(--black);
      color:#fff;
      font-size:13px;
      font-weight:900;
      white-space:nowrap;
      box-shadow:5px 5px 0 var(--green);
    }
    .about-link-box.only-button{
      position:relative;
      grid-template-columns:1fr;
      justify-items:center;
      padding:18px;
      min-height:420px;
      overflow:hidden;
      isolation:isolate;
      border-radius:34px;
      box-shadow:10px 10px 0 var(--green);
    }
    .about-link-bg{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      z-index:-2;
      transform:scale(1.03);
      filter:saturate(.95) contrast(1.06);
      display:block;
    }
    .about-link-overlay{
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 86% 18%, rgba(183,255,0,.10), transparent 22%),
        linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.26) 34%, rgba(0,0,0,.42));
      z-index:-1;
    }
    .about-link-content{
      display:grid;
      justify-items:center;
      align-content:center;
      gap:22px;
      width:100%;
      min-height:350px;
      padding:22px 28px;
      text-align:center;
    }
    .about-link-catch{
      display:flex;
      align-items:flex-end;
      justify-content:center;
      flex-wrap:wrap;
      gap:.03em;
      max-width:100%;
      font-size:clamp(56px,9vw,118px);
      line-height:.9;
      letter-spacing:.08em;
      font-weight:900;
      color:#fff;
      text-transform:uppercase;
      text-shadow:0 10px 28px rgba(0,0,0,.35);
      perspective:1000px;
    }
    .about-space{
      width:.45em;
      height:1px;
      flex:0 0 .45em;
    }
    .about-char{
      display:inline-block;
      transform-origin:50% 88%;
      will-change:transform;
      animation:aboutWaveTilt 4.8s ease-in-out infinite;
      animation-delay:calc(var(--i) * .12s);
    }
    @keyframes aboutWaveTilt{
      0%,100%{transform:translateY(0) rotate(0deg) skewX(0deg)}
      20%{transform:translateY(-5px) rotate(-6deg) skewX(-4deg)}
      40%{transform:translateY(3px) rotate(7deg) skewX(5deg)}
      60%{transform:translateY(-3px) rotate(-4deg) skewX(-3deg)}
      80%{transform:translateY(2px) rotate(3deg) skewX(2deg)}
    }
    .about-link-box.only-button a{
      min-height:58px;
      padding:0 28px;
      font-size:15px;
      box-shadow:7px 7px 0 var(--green);
      position:relative;
      z-index:1;
    }

    .card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:22px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 35px rgba(8,10,7,.06);position:relative;overflow:hidden}
    .card::after{content:"";position:absolute;right:18px;top:18px;width:14px;height:14px;border-radius:50%;background:var(--green);box-shadow:0 0 28px rgba(183,255,0,.9)}
    .card-num{font-size:12px;font-weight:900;color:var(--muted);letter-spacing:.18em}
    .card h3{font-size:clamp(22px,2.5vw,34px);line-height:1.16;letter-spacing:-.05em;margin:24px 0 14px;font-weight:900}
    .card p{margin:0;color:#44483e;line-height:1.9;font-weight:700;font-size:14px}

    .split{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
    .panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:30px;box-shadow:var(--shadow);overflow:hidden}
    .panel.dark{background:var(--black);color:#fff;position:relative}
    .panel.dark::before{content:"";position:absolute;inset:auto -20% -30% auto;width:340px;height:340px;border-radius:50%;background:var(--green);filter:blur(12px);opacity:.28}
    .panel h3{margin:0 0 16px;font-size:clamp(28px,4vw,54px);line-height:1;letter-spacing:-.07em;font-weight:900}
    .panel p{margin:0;color:inherit;opacity:.78;line-height:2;font-weight:700}
    .service-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
    .service-list li{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid rgba(8,10,7,.12);padding-top:12px;font-weight:900}
    .service-list li span{font-size:12px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
    .panel.dark .service-list li{border-color:rgba(255,255,255,.14)}
    .panel.dark .service-list li span{color:var(--green)}

    .service-panel{
      display:flex;
      flex-direction:column;
      gap:22px;
    }
    .panel-head{
      position:relative;
      z-index:1;
    }
    .panel-label{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-bottom:14px;
      font-size:11px;
      font-weight:900;
      letter-spacing:.16em;
      color:var(--muted);
      text-transform:uppercase;
    }
    .panel-label::before{
      content:"";
      width:28px;
      height:8px;
      border-radius:999px;
      background:var(--green);
      border:1px solid rgba(8,10,7,.18);
    }
    .panel.dark .panel-label{color:rgba(255,255,255,.58)}
    .service-menu{
      position:relative;
      z-index:1;
      display:grid;
      gap:12px;
      margin-top:2px;
    }
    .service-link{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:6px 14px;
      align-items:start;
      padding:16px 16px 15px;
      border:1px solid rgba(8,10,7,.10);
      border-radius:20px;
      background:#fff;
      color:var(--black);
      transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    }
    .service-link:hover{
      transform:translate(-2px,-2px);
      box-shadow:6px 6px 0 var(--green);
      background:#fcfff2;
    }
    .service-link.featured-service{
      border-color:rgba(8,10,7,.22);
      background:linear-gradient(135deg,#ffffff 0%,#f7ffd9 100%);
      box-shadow:5px 5px 0 rgba(183,255,0,.72);
    }
    .service-link.featured-service:hover{
      box-shadow:7px 7px 0 var(--black);
    }
    .panel.dark .service-link{
      background:rgba(255,255,255,.06);
      border-color:rgba(255,255,255,.12);
      color:#fff;
    }
    .panel.dark .service-link:hover{
      background:rgba(183,255,0,.12);
      box-shadow:6px 6px 0 rgba(183,255,0,.72);
    }
    .service-name{
      font-size:clamp(15px,1.45vw,20px);
      line-height:1.35;
      letter-spacing:-.03em;
      font-weight:900;
    }
    .service-price{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:30px;
      padding:0 10px;
      border-radius:999px;
      background:var(--green);
      border:1px solid var(--black);
      color:var(--black);
      font-size:12px;
      line-height:1;
      font-weight:900;
      white-space:nowrap;
    }
    .panel.dark .service-price{
      border-color:rgba(8,10,7,.75);
      box-shadow:0 0 18px rgba(183,255,0,.16);
    }
    .service-desc{
      grid-column:1 / -1;
      font-size:12px;
      line-height:1.65;
      color:#555c51;
      font-weight:800;
    }
    .panel.dark .service-desc{color:rgba(255,255,255,.64)}
    .service-arrow{
      grid-column:1 / -1;
      width:max-content;
      font-size:12px;
      font-weight:900;
      border-bottom:2px solid currentColor;
    }
    .panel-more{
      position:relative;
      z-index:1;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:max-content;
      max-width:100%;
      min-height:50px;
      padding:0 20px;
      margin-top:auto;
      border-radius:999px;
      background:var(--black);
      color:#fff;
      border:1px solid var(--black);
      font-size:13px;
      font-weight:900;
      box-shadow:6px 6px 0 var(--green);
    }
    .panel-more.dark-more{
      background:#fff;
      color:var(--black);
      box-shadow:6px 6px 0 var(--green);
    }

    .works{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:36px}
    .work{grid-column:span 4;border-radius:26px;min-height:250px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
    .work:nth-child(2){grid-column:span 5;background:var(--green)}
    .work:nth-child(3){grid-column:span 3;background:var(--black);color:#fff}
    .work .visual{height:120px;border-radius:18px;background:repeating-linear-gradient(135deg,rgba(8,10,7,.9) 0 8px,rgba(8,10,7,.02) 8px 16px);opacity:.18}
    .work:nth-child(3) .visual{background:repeating-linear-gradient(135deg,#fff 0 8px,transparent 8px 16px);opacity:.16}
    .work h3{margin:18px 0 4px;font-size:24px;line-height:1.15;letter-spacing:-.05em}
    .work p{margin:0;font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--muted)}
    .work:nth-child(3) p{color:rgba(255,255,255,.62)}

    .message{padding:100px 0;text-align:center}
    .message h2{margin:0 auto;font-size:clamp(42px,8vw,118px);line-height:.92;letter-spacing:-.085em;font-weight:900;max-width:950px}
    .message p{margin:24px auto 0;max-width:720px;line-height:2;font-size:17px;font-weight:800;color:#30332c}

    .cta{padding:26px 0 90px}
    .cta-box{border-radius:34px;background:var(--black);color:#fff;padding:clamp(28px,6vw,68px);position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(8,10,7,.2)}
    .cta-box::before{content:"";position:absolute;inset:-120px -120px auto auto;width:360px;height:360px;background:var(--green);border-radius:50%;filter:blur(6px);opacity:.75}
    .cta-box h2{position:relative;margin:0;font-size:clamp(38px,7vw,92px);line-height:.96;letter-spacing:-.08em;font-weight:900;max-width:820px}
    .cta-box p{position:relative;margin:22px 0 0;max-width:640px;line-height:2;font-weight:800;color:rgba(255,255,255,.74)}
    .cta-box .btn{position:relative;margin-top:28px;background:#fff;color:var(--black);box-shadow:7px 7px 0 var(--green)}

    footer{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:12px;font-weight:800}
    .footer-inner{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}

    .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease, transform .8s cubic-bezier(.2,.9,.2,1)}
    .reveal.is-visible{opacity:1;transform:none}
    .char{display:inline-block;opacity:0;transform:translateY(1em) rotate(2deg);animation:rise .75s cubic-bezier(.2,.9,.2,1) forwards;animation-delay:calc(var(--i) * 38ms)}
    @keyframes rise{to{opacity:1;transform:none}}


    .standard{padding-top:88px;background:transparent}
    .standard-box{border:2px solid var(--black);border-radius:36px;background:#fff;box-shadow:12px 12px 0 var(--black);overflow:hidden;position:relative}
    .standard-box::before{content:"MAIN SERVICE";position:absolute;right:22px;top:22px;font-size:11px;font-weight:900;letter-spacing:.18em;background:var(--green);color:var(--black);border:1px solid var(--black);border-radius:999px;padding:9px 12px;z-index:2}
    .standard-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:0;position:relative;z-index:1}
    .standard-main{padding:clamp(28px,5vw,58px);border-right:2px solid var(--black);background:#fff}
    .standard-sub{padding:clamp(24px,4vw,46px);background:#fafafa;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
    .standard-label{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
    .standard-label::before{content:"";width:38px;height:11px;border-radius:999px;background:#fff;border:1px solid var(--black)}
    .standard h2{margin:0;font-size:clamp(44px,7vw,92px);line-height:.9;letter-spacing:-.085em;font-weight:900;max-width:760px}
    .standard h2 small{display:block;font-size:clamp(18px,2.2vw,28px);line-height:1.35;letter-spacing:-.04em;margin-top:20px;font-weight:900}
    .standard-text{margin:26px 0 0;font-size:clamp(15px,1.7vw,19px);line-height:2;font-weight:800;max-width:680px;color:#242820}
    .standard-price{border:1px solid var(--black);border-radius:24px;padding:22px;background:#fff;box-shadow:6px 6px 0 var(--black)}
    .standard-price span{display:block;font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}
    .standard-price strong{display:block;font-size:clamp(30px,4vw,52px);line-height:1;letter-spacing:-.07em}

    .standard-mockup{
      position:relative;
      min-height:210px;
      border-radius:28px;
      overflow:hidden;
      background:
        radial-gradient(circle at 78% 22%, rgba(183,255,0,.22), transparent 28%),
        linear-gradient(180deg, #f8f8f8 0%, #f0f0f0 100%);
      border:1px solid rgba(8,10,7,.08);
      display:flex;
      align-items:center;
      justify-content:center;
      padding:22px 18px 16px;
      isolation:isolate;
    }
    .mockup-glow{
      position:absolute;
      inset:auto auto 10px 18px;
      width:180px;
      height:90px;
      border-radius:999px;
      background:radial-gradient(circle, rgba(183,255,0,.24), rgba(183,255,0,0) 70%);
      filter:blur(14px);
      z-index:-1;
    }
    .pc-mockup{
      position:relative;
      width:min(100%, 360px);
      aspect-ratio: 1.35 / 1;
      filter:drop-shadow(0 20px 26px rgba(0,0,0,.12));
      z-index:1;
    }
    .pc-screen{
      position:absolute;
      inset:0 20px 34px 20px;
      border:10px solid #e8ebee;
      border-bottom-width:12px;
      border-radius:18px 18px 12px 12px;
      background:#fff;
      overflow:hidden;
      box-shadow:0 8px 18px rgba(0,0,0,.08) inset;
    }
    .pc-camera{
      position:absolute;
      top:10px;
      left:50%;
      transform:translateX(-50%);
      width:8px;
      height:8px;
      border-radius:50%;
      background:#d6dadf;
      z-index:2;
    }
    .pc-base{
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      margin:auto;
      width:88%;
      height:28px;
      background:linear-gradient(180deg,#d9dde2,#bcc3cc);
      clip-path:polygon(10% 0, 90% 0, 100% 100%, 0 100%);
      border-radius:0 0 16px 16px;
      box-shadow:0 12px 20px rgba(0,0,0,.08);
    }
    .pc-topbar{
      height:22px;
      background:#f3f4f6;
      display:flex;
      align-items:center;
      gap:6px;
      padding:0 10px;
    }
    .pc-topbar span{
      width:7px;height:7px;border-radius:50%;background:#d8dde1;
    }
    .pc-hero{
      height:62px;
      margin:12px;
      border-radius:14px;
      background:linear-gradient(135deg,#151715 0%, #3d4a31 50%, #b7ff00 100%);
    }
    .pc-grid{
      display:grid;
      grid-template-columns:1.15fr .85fr;
      gap:10px;
      padding:0 12px;
    }
    .pc-card{
      min-height:66px;
      border-radius:12px;
      background:#edf0f2;
      border:1px solid rgba(8,10,7,.04);
    }
    .pc-card.dark{
      background:linear-gradient(180deg,#161916,#2a3125);
      grid-row:span 2;
      position:relative;
      overflow:hidden;
    }
    .pc-card.dark::after{
      content:"";
      position:absolute;
      inset:14px;
      border-radius:10px;
      background:
        linear-gradient(180deg,rgba(255,255,255,.85) 0 10px, transparent 10px 100%),
        linear-gradient(180deg,#b7ff00 0 8px, transparent 8px 100%);
      background-size: 70% 18px, 42% 24px;
      background-repeat:no-repeat;
      background-position:left top, left 30px top 28px;
      opacity:.95;
    }
    .pc-lines{
      padding:12px;
      display:grid;
      gap:7px;
    }
    .pc-lines i{
      display:block;
      height:8px;
      border-radius:999px;
      background:#dfe4e8;
    }
    .pc-lines i:nth-child(1){width:72%}
    .pc-lines i:nth-child(2){width:58%}
    .pc-lines i:nth-child(3){width:80%}

    .phone-mockup{
      position:absolute;
      right:28px;
      bottom:18px;
      width:122px;
      aspect-ratio: 9 / 18.8;
      background:#f7f7f8;
      border:8px solid #f5f5f5;
      border-radius:26px;
      box-shadow:0 20px 30px rgba(0,0,0,.15);
      z-index:2;
      transform:rotate(7deg);
      overflow:hidden;
    }
    .phone-notch{
      position:absolute;
      top:7px;
      left:50%;
      transform:translateX(-50%);
      width:44px;
      height:8px;
      border-radius:0 0 10px 10px;
      background:#e8e8ea;
      z-index:3;
    }
    .phone-screen{
      position:absolute;
      inset:0;
      background:#fff;
      padding:14px 10px 12px;
    }
    .phone-head{
      font-size:10px;
      font-weight:900;
      color:#313530;
      padding-top:6px;
      margin-bottom:8px;
    }
    .phone-story-row{
      display:flex;
      gap:6px;
      margin-bottom:8px;
    }
    .phone-story-row span{
      width:18px;height:18px;border-radius:50%;
      background:linear-gradient(135deg,#b7ff00,#d8ef8c);
      border:1px solid rgba(8,10,7,.12);
    }
    .phone-post{
      height:96px;
      border-radius:14px;
      background:linear-gradient(180deg,#171917,#31372d);
      position:relative;
      overflow:hidden;
    }
    .phone-post::after{
      content:"";
      position:absolute;
      left:12px;right:12px;top:12px;bottom:12px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.92) 0 8px, transparent 8px 100%),
        linear-gradient(180deg, #b7ff00 0 10px, transparent 10px 100%);
      background-size: 72% 16px, 54% 24px;
      background-repeat:no-repeat;
      background-position:left top, left 30px top 28px;
      opacity:.96;
    }
    .phone-copy{
      display:grid;
      gap:6px;
      margin-top:10px;
    }
    .phone-copy i{
      display:block;
      height:6px;
      border-radius:999px;
      background:#e0e4e7;
    }
    .phone-copy i:nth-child(1){width:90%}
    .phone-copy i:nth-child(2){width:76%}
    .phone-copy i:nth-child(3){width:64%}
    .phone-cta{
      margin-top:10px;
      height:28px;
      border-radius:999px;
      background:linear-gradient(135deg,#b7ff00,#d3f16d);
      border:1px solid rgba(8,10,7,.12);
    }

    .standard-items{list-style:none;padding:0;margin:0;display:grid;gap:10px}
    .standard-items li{display:flex;gap:10px;align-items:flex-start;font-weight:900;line-height:1.55;border-top:1px solid rgba(8,10,7,.12);padding-top:12px}
    .standard-items li::before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--green);border:1px solid var(--black);font-size:13px;flex:0 0 auto}
    .standard-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
    .note-box{font-size:13px;font-weight:800;line-height:1.9;color:#4b5145;border-left:4px solid var(--green);padding-left:14px}

    .works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
    .case-card{display:flex;flex-direction:column;justify-content:space-between;min-height:300px;border-radius:26px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);padding:18px;position:relative;overflow:hidden;transition:.28s ease}
    .case-card:hover{transform:translateY(-5px);box-shadow:0 20px 60px rgba(8,10,7,.13)}
    .case-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(183,255,0,.55),transparent 34%);opacity:.75;pointer-events:none}
    .case-meta{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
    .case-visual{position:relative;z-index:1;height:168px;border-radius:20px;margin:18px 0;background-color:#eef3e8;background-size:cover;background-position:center;overflow:hidden;border:1px solid rgba(8,10,7,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
    .case-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(8,10,7,.05));pointer-events:none}
    .case-card h3{position:relative;z-index:1;margin:0 0 10px;font-size:24px;line-height:1.18;letter-spacing:-.055em;font-weight:900}
    .case-card p{position:relative;z-index:1;margin:0;color:#4b5145;line-height:1.75;font-size:13px;font-weight:800}
    .case-link{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;border-top:1px solid rgba(8,10,7,.14);padding-top:14px;font-size:13px;font-weight:900;letter-spacing:.04em}
    .case-link::after{content:"→";font-size:18px;transition:.25s ease}
    .case-card:hover .case-link::after{transform:translateX(4px)}
    .works-tabs{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin:34px 0 22px;
    }
    .works-tab{
      appearance:none;
      border:1px solid var(--black);
      background:#fff;
      color:var(--black);
      min-height:44px;
      padding:0 16px;
      border-radius:999px;
      font:inherit;
      font-size:13px;
      font-weight:900;
      letter-spacing:.03em;
      cursor:pointer;
      box-shadow:4px 4px 0 rgba(8,10,7,.08);
      transition:.25s ease;
    }
    .works-tab:hover,
    .works-tab.is-active{
      background:var(--green);
      box-shadow:5px 5px 0 var(--black);
      transform:translate(-1px,-1px);
    }
    .tab-panel{
      display:none;
    }
    .tab-panel.is-active{
      display:grid;
      animation:tabFade .35s ease both;
    }
    @keyframes tabFade{
      from{opacity:0;transform:translateY(14px)}
      to{opacity:1;transform:none}
    }
    .case-visual.set{background:linear-gradient(135deg,var(--black),#293026)}
    .case-visual.sns{background:linear-gradient(135deg,#111,#555)}
    .case-visual.web{background:linear-gradient(135deg,#fff,#eee);border:1px solid rgba(8,10,7,.15)}
    .case-visual.line{background:linear-gradient(135deg,var(--green),#f3ffd2)}
    .case-visual.movie{background:repeating-linear-gradient(135deg,#111 0 14px,#333 14px 28px)}




    .publish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
    .publish-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:26px;
      box-shadow:var(--shadow);
      min-height:100%;
      display:flex;
      flex-direction:column;
      position:relative;
      overflow:hidden;
      transition:transform .25s ease, box-shadow .25s ease;
    }
    .publish-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(8,10,7,.10)}
    .publish-thumb{
      position:relative;
      aspect-ratio: 16 / 10;
      overflow:hidden;
      background:#f2f2f2;
      border-bottom:1px solid rgba(8,10,7,.08);
    }
    .publish-thumb img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      transition:transform .45s ease;
    }
    .publish-card:hover .publish-thumb img{transform:scale(1.04)}
    .publish-thumb::after{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:44%;
      background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.18));
      pointer-events:none;
    }
    .publish-body{
      padding:18px 20px 20px;
      display:flex;
      flex-direction:column;
      flex:1;
    }
    .publish-meta{position:relative;z-index:1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;font-weight:900;letter-spacing:.08em;color:var(--muted)}
    .publish-tag{background:var(--green);color:var(--black);border:1px solid var(--black);border-radius:999px;padding:6px 9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
    .publish-card h3{position:relative;z-index:1;margin:16px 0 10px;font-size:clamp(22px,2.2vw,32px);line-height:1.18;letter-spacing:-.055em;font-weight:900}
    .publish-card p{position:relative;z-index:1;margin:0;color:#4b5145;line-height:1.8;font-weight:800;font-size:14px}
    .publish-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:18px;font-weight:900;font-size:13px;border-bottom:2px solid var(--black);width:max-content}
    .publish-link::after{content:"→";transition:.25s ease}.publish-card:hover .publish-link::after{transform:translateX(4px)}


    /* Futuristic hamburger menu */
    .nav{align-items:center}
    .nav-links{display:none}
    .menu-toggle{
      position:relative; z-index:90;
      display:inline-flex; align-items:center; gap:12px;
      min-height:44px; padding:0 8px 0 16px;
      border:1px solid rgba(8,10,7,.18); border-radius:999px;
      background:rgba(8,10,7,.94); color:#fff;
      font:inherit; font-weight:900; letter-spacing:.14em;
      cursor:pointer; overflow:hidden;
      box-shadow:0 14px 38px rgba(8,10,7,.18), inset 0 0 0 1px rgba(255,255,255,.1);
      transition:transform .28s ease, box-shadow .28s ease, background .28s ease;
    }
    .menu-toggle:hover{transform:translateY(-2px);box-shadow:0 18px 48px rgba(8,10,7,.24),0 0 34px rgba(183,255,0,.28)}
    .menu-toggle__glow{position:absolute;inset:auto auto -28px -18px;width:86px;height:86px;border-radius:50%;background:var(--green);filter:blur(18px);opacity:.65;transition:.35s ease}
    .menu-toggle__text{position:relative;font-size:11px;line-height:1}
    .menu-toggle__bars{position:relative;width:34px;height:34px;border-radius:50%;background:var(--green);display:grid;place-items:center;box-shadow:0 0 22px rgba(183,255,0,.62)}
    .menu-toggle__bars i{position:absolute;width:15px;height:2px;background:var(--black);border-radius:99px;transition:transform .35s cubic-bezier(.2,.9,.2,1), opacity .25s ease}
    .menu-toggle__bars i:first-child{transform:translateY(-4px)}
    .menu-toggle__bars i:last-child{transform:translateY(4px)}
    body.menu-open .menu-toggle{background:#fff;color:var(--black);border-color:rgba(255,255,255,.26)}
    body.menu-open .menu-toggle__bars i:first-child{transform:rotate(45deg)}
    body.menu-open .menu-toggle__bars i:last-child{transform:rotate(-45deg)}
    body.menu-open .menu-toggle__text{font-size:0}
    body.menu-open .menu-toggle__text::after{content:'CLOSE';font-size:11px}

    .menu-panel{
      position:fixed; inset:0; z-index:70;
      display:grid; place-items:center;
      padding:92px 18px 18px;
      background:rgba(255,255,255,.66);
      backdrop-filter:blur(24px);
      opacity:0; pointer-events:none; visibility:hidden;
      transition:opacity .42s ease, visibility .42s ease;
    }
    .menu-panel__bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
    .menu-panel__bg::before{content:'';position:absolute;right:-12vw;top:-16vw;width:42vw;height:42vw;min-width:260px;min-height:260px;border-radius:50%;background:var(--green);filter:blur(1px);opacity:.92;transform:scale(.72);transition:transform .65s cubic-bezier(.2,.9,.2,1)}
    .menu-panel__bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(8,10,7,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(8,10,7,.055) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(circle at 80% 8%,#000,transparent 58%);opacity:.6}
    .menu-panel__inner{
      position:relative; z-index:1;
      width:min(1040px,100%);
      min-height:min(670px,calc(100svh - 110px));
      border:1px solid rgba(8,10,7,.18); border-radius:34px;
      background:rgba(255,255,255,.82);
      box-shadow:0 30px 90px rgba(8,10,7,.18);
      padding:clamp(22px,4vw,46px);
      display:grid; grid-template-rows:auto 1fr auto;
      overflow:hidden; transform:translateY(18px) scale(.985);
      transition:transform .55s cubic-bezier(.2,.9,.2,1);
    }
    .menu-panel__inner::before{content:'';position:absolute;inset:16px;border:1px dashed rgba(8,10,7,.16);border-radius:24px;pointer-events:none}
    body.menu-open{overflow:hidden}
    body.menu-open .menu-panel{opacity:1;pointer-events:auto;visibility:visible}
    body.menu-open .menu-panel__inner{transform:none}
    body.menu-open .menu-panel__bg::before{transform:scale(1)}
    .menu-panel__head,.menu-panel__foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
    .menu-nav{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:34px;padding:30px 0 24px;align-items:start}
    .menu-nav__featured,.menu-nav__secondary{display:grid}
    .menu-nav__featured{gap:14px;align-content:start}
    .menu-nav__secondary{gap:10px;align-content:start;padding-top:8px}
    .menu-nav a{
      display:flex;align-items:baseline;gap:16px;max-width:100%;color:var(--black);
      transform:translateY(28px);opacity:0;transition:transform .48s cubic-bezier(.2,.9,.2,1),opacity .35s ease,color .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;
      transition-delay:calc(var(--d,0) * 58ms);
    }
    .menu-nav__featured a{
      width:100%;
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:16px;
      padding:18px 20px;
      border:1px solid rgba(8,10,7,.12);
      border-radius:22px;
      background:#fff;
      box-shadow:8px 8px 0 rgba(183,255,0,.68);
    }
    .menu-nav__featured a .menu-no{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:44px;
      height:44px;
      border-radius:999px;
      border:1px solid rgba(8,10,7,.14);
      background:#f8f8f8;
      font-size:12px;
      letter-spacing:.14em;
      color:#666d62;
      font-weight:900;
      text-transform:uppercase;
    }
    .menu-nav__featured .menu-main{
      display:grid;
      gap:4px;
      min-width:0;
    }
    .menu-nav__featured .menu-eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      width:max-content;
      min-height:24px;
      padding:0 10px;
      border-radius:999px;
      background:var(--green);
      border:1px solid var(--black);
      font-size:10px;
      letter-spacing:.14em;
      font-weight:900;
      text-transform:uppercase;
      color:var(--black);
    }
    .menu-nav__featured .menu-title{
      display:block;
      font-size:clamp(42px,5vw,72px);
      line-height:.9;
      letter-spacing:-.07em;
      font-weight:900;
      color:var(--black);
    }
    .menu-nav__featured .menu-sub{
      display:block;
      font-size:13px;
      line-height:1.65;
      color:#43493f;
      font-weight:800;
    }
    .menu-nav__featured .menu-arrow{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:54px;
      height:54px;
      border-radius:50%;
      background:var(--black);
      color:#fff;
      font-size:24px;
      box-shadow:0 0 0 6px rgba(183,255,0,.18);
      transition:transform .25s ease,box-shadow .25s ease;
    }
    .menu-nav__featured a:hover{
      transform:translate(-2px,-2px);
      background:linear-gradient(135deg,#fff 0%,#f7ffd9 100%);
      box-shadow:12px 12px 0 var(--black);
    }
    .menu-nav__featured a:hover .menu-arrow{
      transform:translateX(3px);
      box-shadow:0 0 0 10px rgba(183,255,0,.26);
    }
    .menu-nav__featured a.is-primary{
      background:linear-gradient(135deg,#fbfff1 0%,#f3ffd2 100%);
      box-shadow:12px 12px 0 var(--black);
    }
    .menu-nav__secondary a{
      width:100%;justify-content:space-between;
      font-size:clamp(22px,2.6vw,34px);line-height:1.08;letter-spacing:-.04em;font-weight:700;
      padding:14px 18px;border-radius:18px;border:1px solid rgba(8,10,7,.1);background:rgba(255,255,255,.62);
    }
    .menu-nav__secondary a:hover{background:rgba(183,255,0,.28);border-color:rgba(8,10,7,.2);color:var(--black)}
    .menu-nav a:nth-child(1){--d:1}.menu-nav a:nth-child(2){--d:2}.menu-nav a:nth-child(3){--d:3}.menu-nav a:nth-child(4){--d:4}.menu-nav a:nth-child(5){--d:5}.menu-nav a:nth-child(6){--d:6}
    body.menu-open .menu-nav a{transform:none;opacity:1}
    .menu-nav a span{font-size:11px;letter-spacing:.16em;color:var(--muted);min-width:26px;font-weight:900;text-transform:uppercase}
    .menu-nav__secondary a span{font-size:10px;min-width:24px}
    .menu-nav__secondary a::after{content:'↗';font-size:16px;opacity:.5}
    .menu-featured-note{
      margin:2px 0 0;
      padding:0 6px;
      font-size:14px;
      line-height:1.9;
      font-weight:800;
      color:#4b5145;
      max-width:540px;
    }
    .menu-panel__foot p{margin:0;color:var(--black);font-size:clamp(13px,1.6vw,16px);letter-spacing:.02em;text-transform:none}
    .menu-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;background:var(--green);color:var(--black);border:1px solid var(--black);box-shadow:6px 6px 0 var(--black);font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:none}

    @media (max-width: 860px){
      .nav{align-items:center;padding:8px 8px 8px 12px;border-radius:999px}
      .menu-toggle{min-height:40px;padding-left:12px;gap:8px}
      .menu-toggle__text{font-size:10px}
      body.menu-open .menu-toggle__text::after{font-size:10px}
      .menu-toggle__bars{width:30px;height:30px}
      .menu-panel{padding:76px 10px 10px}
      .menu-panel__inner{border-radius:26px;min-height:calc(100svh - 88px);padding:22px 18px}
      .menu-panel__inner::before{inset:10px;border-radius:18px}
      .menu-panel__head{font-size:9px}
      .menu-nav{grid-template-columns:1fr;gap:18px;padding:22px 0}
      .menu-nav__featured{gap:12px;padding-bottom:6px}
      .menu-nav__featured a{
        grid-template-columns:auto 1fr;
        gap:12px;
        padding:16px 14px;
        border-radius:20px;
        box-shadow:6px 6px 0 rgba(183,255,0,.74);
      }
      .menu-nav__featured a.is-primary{box-shadow:8px 8px 0 var(--black)}
      .menu-nav__featured .menu-no{min-width:38px;height:38px;font-size:11px}
      .menu-nav__featured .menu-title{font-size:clamp(34px,9.8vw,52px)}
      .menu-nav__featured .menu-sub{font-size:12px;line-height:1.6}
      .menu-nav__featured .menu-arrow{display:none}
      .menu-nav__secondary{gap:8px;padding-top:0}
      .menu-nav__secondary a{font-size:clamp(18px,5.3vw,26px);padding:12px 14px;border-radius:16px}
      .menu-nav a span{font-size:11px;min-width:24px}
      .menu-featured-note{margin-top:2px;padding:0 2px;font-size:13px;line-height:1.75;max-width:none}
      .menu-panel__foot{display:grid;gap:14px;align-items:start}
      .menu-cta{width:100%;box-shadow:5px 5px 0 var(--black)}
    }

    @media (max-width: 860px){
      .wrap{width:min(100% - 24px,720px)}
      .nav{width:calc(100% - 18px);border-radius:22px;align-items:flex-start}
      .brand strong{font-size:12px}.brand span{font-size:9px}
      .nav-links a:not(.nav-cta){display:none}.nav-cta{font-size:11px;padding:9px 11px}
      .hero{padding:108px 0 52px;min-height:auto}
      .hero-grid{grid-template-columns:1fr;gap:24px}
      .hero h1{font-size:clamp(40px,12.8vw,58px);line-height:1.1;letter-spacing:-.058em;word-break:keep-all}
      .hero-copy{font-size:15px;line-height:1.9}
      .hero-card{min-height:260px;padding:18px;border-radius:24px;max-width:none;justify-self:stretch}
      .big-brand{font-size:clamp(38px,13vw,56px);line-height:1.06}
      .floating{width:118px;height:118px;right:-32px;top:28px}.floating span{font-size:10px}
      section{padding:70px 0}
      .section-head{grid-template-columns:1fr;gap:10px;margin-bottom:22px}
      .section-kicker{padding-top:0}
      .section-title{font-size:clamp(36px,12vw,58px);line-height:1;letter-spacing:-.07em}
      .lead{font-size:15px;line-height:1.9}
      .cards{grid-template-columns:1fr;gap:12px}
      .card{min-height:210px;padding:20px;border-radius:22px}
      .split{grid-template-columns:1fr}
      .panel{padding:24px;border-radius:24px}
      .service-link{grid-template-columns:1fr;gap:8px;padding:15px}
      .service-price{width:max-content}
      .panel-more{width:100%}
      .service-list li{align-items:flex-start;flex-direction:column;gap:4px}
      .works{grid-template-columns:1fr}.work,.work:nth-child(2),.work:nth-child(3){grid-column:span 1;min-height:220px}
      .standard{padding-top:62px}
      .standard-box{border-radius:26px;box-shadow:7px 7px 0 var(--black)}
      .standard-box::before{right:14px;top:14px;font-size:9px;padding:7px 9px}
      .standard-inner{grid-template-columns:1fr}
      .standard-main{border-right:0;border-bottom:2px solid var(--black);padding:30px 18px 24px}
      .standard-sub{padding:22px 18px}
      .standard-mockup{min-height:170px;padding:16px 12px 10px;border-radius:22px}
      .pc-mockup{width:min(100%, 280px)}
      .pc-screen{inset:0 16px 26px 16px;border-width:8px;border-bottom-width:10px}
      .pc-base{height:22px}
      .phone-mockup{width:92px;right:18px;bottom:12px;border-width:6px;border-radius:20px}
      .phone-post{height:74px}
      .standard h2{font-size:clamp(43px,13.5vw,62px);letter-spacing:-.075em}
      .standard h2 small{font-size:17px}
      .standard-actions{flex-direction:column}.standard-actions .btn{width:100%}
      .works-grid{grid-template-columns:1fr;gap:12px}.case-card{min-height:255px;border-radius:22px}.case-visual{height:146px}
      .publish-grid{grid-template-columns:1fr;gap:12px}.publish-card{border-radius:22px}.publish-body{padding:16px 18px 18px}
      .message{padding:72px 0}.message h2{font-size:clamp(42px,13vw,64px)}.message p{font-size:15px;line-height:1.9}
      .cta{padding-bottom:64px}.cta-box{border-radius:26px}
      .cta-grid{grid-template-columns:1fr;gap:18px}
      .cta-box::after{inset:12px;border-radius:20px}
      .cta-copy h2{font-size:clamp(40px,13vw,64px)}
      .cta-actions{display:grid;grid-template-columns:1fr;gap:12px}
      .cta-actions .btn{width:100%;justify-content:center}
      .cta-points{gap:8px}
      .cta-points span{font-size:11px}
      .footer-shell{border-radius:24px}
      .footer-main{grid-template-columns:1fr}
      .footer-col{padding:22px 20px;border-right:none;border-bottom:1px solid rgba(8,10,7,.08)}
      .footer-col:last-child{border-bottom:none}
      .footer-bottom{padding:16px 20px;display:grid;gap:10px}
    }


    /* v4: simple header + hero plan card */
    .site-header{top:14px}
    .nav{
      padding:8px 10px 8px 14px;
      border:1px solid rgba(8,10,7,.10);
      background:#fff;
      box-shadow:none;
      backdrop-filter:blur(14px);
    }
    .mark{width:28px;height:28px;border-radius:8px}
    .brand strong{font-size:13px;letter-spacing:.01em}
    .brand span span{font-size:9px;letter-spacing:.14em}
    .menu-toggle{
      min-height:38px;
      padding:0 10px 0 14px;
      gap:10px;
      background:transparent;
      color:var(--black);
      border:1px solid rgba(8,10,7,.16);
      box-shadow:none;
      letter-spacing:.10em;
    }
    .menu-toggle:hover{transform:none;box-shadow:none;background:var(--green)}
    .menu-toggle__glow{display:none}
    .menu-toggle__text{font-size:10px}
    .menu-toggle__bars{width:24px;height:24px;background:transparent;box-shadow:none;border:1px solid rgba(8,10,7,.2)}
    .menu-toggle__bars i{width:11px;height:1.5px;background:var(--black)}
    .menu-toggle__bars i:first-child{transform:translateY(-3px)}
    .menu-toggle__bars i:last-child{transform:translateY(3px)}
    body.menu-open .menu-toggle{background:var(--green);color:var(--black);border-color:var(--black)}

    .hero-card.plan-card{
      min-height:480px;
      background:rgba(255,255,255,.92);
      padding:24px;
      justify-content:flex-start;
      gap:18px;
      border-radius:32px;
      box-shadow:0 28px 70px rgba(8,10,7,.10);
    }
    .hero-card.plan-card::before{border-style:solid;opacity:.42;inset:14px;border-radius:24px}
    .plan-badge{position:relative;z-index:1;display:inline-flex;width:max-content;align-items:center;gap:8px;border:1px solid var(--black);background:var(--green);border-radius:999px;padding:8px 12px;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
    .plan-card-head{position:relative;z-index:1;display:grid;gap:12px;min-height:210px;padding-right:180px}
    .plan-card-title{position:relative;z-index:2;margin:0;font-size:clamp(32px,3.45vw,48px);line-height:1.02;letter-spacing:-.068em;font-weight:900}

    .hero-plan-mockup{
      position:absolute;
      top:-6px;
      right:-8px;
      width:min(210px, 44%);
      z-index:1;
      pointer-events:none;
      transform-origin:80% 50%;
      animation:heroMockupFloat 4.2s ease-in-out infinite, heroMockupPop 2.8s ease-in-out infinite;
      filter:drop-shadow(0 20px 28px rgba(0,0,0,.16));
    }
    .hero-plan-mockup img{
      display:block;
      width:100%;
      height:auto;
    }
    .hero-plan-mockup__glow{
      position:absolute;
      inset:18% 8% 10% 10%;
      border-radius:999px;
      background:radial-gradient(circle, rgba(183,255,0,.34) 0%, rgba(183,255,0,.10) 45%, rgba(183,255,0,0) 72%);
      filter:blur(14px);
      animation:heroMockupGlow 2.8s ease-in-out infinite;
      z-index:-1;
    }
    @keyframes heroMockupFloat{
      0%,100%{transform:translateY(0) rotate(-3deg)}
      50%{transform:translateY(-12px) rotate(2deg)}
    }
    @keyframes heroMockupPop{
      0%,100%{scale:1}
      50%{scale:1.03}
    }
    @keyframes heroMockupGlow{
      0%,100%{opacity:.58;transform:scale(.96)}
      50%{opacity:1;transform:scale(1.08)}
    }
    .plan-card-title span{display:block;font-size:clamp(14px,1.2vw,18px);line-height:1.55;letter-spacing:-.02em;margin-top:14px;color:#242820}
    .plan-card-visual{position:relative;z-index:1;padding:4px 0 4px}
    .mockup-board{position:relative;height:286px;border-radius:26px;background:#fff;border:1px solid rgba(8,10,7,.08);overflow:hidden;padding:20px}
    .mockup-board::before{content:'';position:absolute;left:16px;right:16px;top:16px;height:1px;background:rgba(8,10,7,.06)}
    .mockup-board::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 10% 10%,rgba(183,255,0,.18),transparent 34%),radial-gradient(circle at 100% 0%,rgba(183,255,0,.12),transparent 38%);pointer-events:none}
    .mockup-label{position:absolute;display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 9px;border-radius:999px;border:1px solid rgba(8,10,7,.08);background:rgba(255,255,255,.88);font-size:10px;font-weight:900;letter-spacing:.08em;backdrop-filter:blur(10px);box-shadow:0 8px 18px rgba(8,10,7,.06);z-index:5}
    .mockup-label::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green);border:1px solid rgba(8,10,7,.12)}
    .mockup-label.home{left:18px;top:18px}
    .mockup-label.ig{right:120px;top:18px}
    .mockup-label.line{right:18px;top:18px}
    .device{position:absolute;border:1px solid rgba(8,10,7,.12);background:#fff;box-shadow:0 18px 40px rgba(8,10,7,.14);overflow:hidden}
    .device-home{left:18px;bottom:18px;width:258px;height:186px;border-radius:18px;transform:rotate(-2deg)}
    .device-ig{right:92px;top:46px;width:112px;height:206px;border-radius:28px;z-index:2;transform:rotate(2deg)}
    .device-line{right:14px;bottom:18px;width:112px;height:206px;border-radius:28px;z-index:3;transform:rotate(1deg)}
    .device::before{content:'';position:absolute;left:0;right:0;top:0;height:18px;background:#f4f4f4;border-bottom:1px solid rgba(8,10,7,.08)}
    .device-home::after{content:'';position:absolute;left:50%;bottom:9px;transform:translateX(-50%);width:80px;height:5px;border-radius:999px;background:rgba(8,10,7,.12)}
    .device-phone::after{content:'';position:absolute;left:50%;top:6px;transform:translateX(-50%);width:38px;height:4px;border-radius:999px;background:rgba(8,10,7,.18)}
    .screen{position:absolute;inset:18px 10px 10px;background:#fff;overflow:hidden}
    .device-home .screen{inset:18px 12px 18px;border-radius:14px;background:#fff}
    .device-phone .screen{inset:18px 8px 8px;border-radius:18px;background:#fff}
    .screen-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(8,10,7,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(8,10,7,.03) 1px,transparent 1px);background-size:18px 18px;opacity:.5}
    .mock-home-top{height:18px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid rgba(8,10,7,.06);background:#fbfbfb;position:relative;z-index:1}
    .mock-home-top .left{display:flex;align-items:center;gap:6px}.mock-home-top .right{display:flex;gap:6px}.mock-home-top .right span{display:block;width:18px;height:4px;border-radius:999px;background:rgba(8,10,7,.12)}
    .dot{width:6px;height:6px;border-radius:50%;background:#d3d7cf}
    .home-hero{margin:10px 10px 8px;height:68px;border-radius:14px;background:linear-gradient(135deg,#11130f,#4b5145);position:relative;overflow:hidden}
    .home-hero::before{content:'';position:absolute;left:14px;top:12px;width:108px;height:9px;border-radius:999px;background:rgba(255,255,255,.95);box-shadow:0 18px 0 rgba(255,255,255,.68),0 38px 0 rgba(183,255,0,.96)}
    .home-hero::after{content:'';position:absolute;right:-16px;top:-10px;width:92px;height:92px;border-radius:50%;background:rgba(183,255,0,.86)}
    .home-panels{display:grid;grid-template-columns:1.15fr .85fr;gap:8px;padding:0 10px}
    .mock-panel{height:70px;border-radius:12px;background:#f6f8f1;border:1px solid rgba(8,10,7,.06);position:relative;overflow:hidden}
    .mock-panel::before{content:'';position:absolute;left:10px;right:28px;top:14px;height:7px;border-radius:999px;background:rgba(8,10,7,.12);box-shadow:0 16px 0 rgba(8,10,7,.08),0 32px 0 rgba(8,10,7,.08)}
    .mock-panel.dark{background:linear-gradient(135deg,rgba(183,255,0,.85),rgba(183,255,0,.28))}
    .mock-panel.dark::before{right:22px;background:#11130f;box-shadow:0 16px 0 rgba(17,19,15,.35),0 32px 0 rgba(17,19,15,.18)}
    .home-footer{display:flex;gap:8px;padding:8px 10px 0}
    .home-footer span{display:block;height:10px;border-radius:999px;background:rgba(8,10,7,.10)}
    .home-footer span:nth-child(1){width:88px}.home-footer span:nth-child(2){width:46px}.home-footer span:nth-child(3){width:64px}
    .ig-top{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px;font-size:8px;font-weight:900;border-bottom:1px solid rgba(8,10,7,.06)}
    .ig-top .ig-dots{display:flex;gap:4px}.ig-top .ig-dots i{display:block;width:3px;height:3px;border-radius:50%;background:rgba(8,10,7,.45)}
    .ig-profile{display:flex;align-items:center;gap:8px;padding:8px 10px}
    .avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--green),#ffd900);border:1px solid rgba(8,10,7,.1)}
    .name-lines{display:grid;gap:4px;flex:1}.name-lines span{display:block;height:5px;border-radius:999px;background:rgba(8,10,7,.12)}
    .name-lines span:first-child{width:56px}.name-lines span:last-child{width:38px}
    .ig-story-row{display:flex;gap:6px;padding:0 10px 8px}.ig-story-row span{display:block;width:18px;height:18px;border-radius:50%;background:#f5f8ef;border:1px solid rgba(8,10,7,.08)}
    .ig-post{margin:0 10px;height:96px;border-radius:16px;background:linear-gradient(135deg,#121410,#4f564a);position:relative;overflow:hidden}
    .ig-post::before{content:'';position:absolute;left:12px;top:14px;width:54px;height:6px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 14px 0 rgba(255,255,255,.72)}
    .ig-post::after{content:'';position:absolute;left:10px;right:10px;bottom:12px;height:12px;border-radius:999px;background:rgba(183,255,0,.94)}
    .ig-actions{display:flex;gap:6px;padding:8px 10px 0}.ig-actions i{display:block;width:11px;height:11px;border-radius:50%;border:1.4px solid rgba(8,10,7,.5)}
    .ig-copy{display:grid;gap:5px;padding:8px 10px 0}.ig-copy span{display:block;height:5px;border-radius:999px;background:rgba(8,10,7,.12)}
    .ig-copy span:nth-child(1){width:70px}.ig-copy span:nth-child(2){width:52px}.ig-copy span:nth-child(3){width:64px}
    .line-head{height:34px;background:linear-gradient(180deg,#dfff7b,#b7ff00);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900;border-bottom:1px solid rgba(8,10,7,.08)}
    .line-chat{padding:8px;background:#f5f5f5;height:calc(100% - 34px);display:grid;grid-template-rows:auto auto 1fr auto;gap:8px}
    .bubble{max-width:78%;padding:8px 9px;border-radius:14px;font-size:7px;line-height:1.45;font-weight:800;box-shadow:0 2px 0 rgba(8,10,7,.05)}
    .bubble.user{margin-left:auto;background:#dfff7b;border-bottom-right-radius:5px}
    .bubble.bot{background:#fff;border-bottom-left-radius:5px;border:1px solid rgba(8,10,7,.06)}
    .line-richmenu{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-self:end}
    .line-richmenu span{display:grid;place-items:center;height:30px;border-radius:11px;background:#fff;border:1px solid rgba(8,10,7,.08);font-size:7px;font-weight:900;line-height:1.2;text-align:center;padding:0 2px}
    .line-richmenu span.main{background:var(--green)}
    .plan-card-list{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:grid;gap:8px}
    .plan-card-list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:900;line-height:1.55;border-top:1px solid rgba(8,10,7,.11);padding-top:9px}
    .plan-card-list li::before{content:'+';display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--green);border:1px solid var(--black);font-size:12px;line-height:1;flex:0 0 auto;margin-top:1px}
    .plan-card-bottom{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:auto}
    .plan-card-price{position:relative;z-index:1;border:1px solid var(--black);border-radius:18px;background:var(--paper);padding:14px 14px 12px;box-shadow:5px 5px 0 var(--black)}
    .plan-card-price small{display:block;font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:5px}
    .plan-card-price strong{font-size:clamp(28px,3vw,42px);line-height:1;display:block;letter-spacing:-.05em}
    .plan-card-price em{font-style:normal;font-size:11px;line-height:1.55;font-weight:800;color:#3c4137;display:block;margin-top:7px}
    .plan-card-link{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;background:var(--black);color:#fff;font-size:13px;font-weight:900;letter-spacing:.04em;margin-top:2px;box-shadow:6px 6px 0 var(--green)}
    .plan-card-link::after{content:'→';margin-left:10px;transition:.25s ease}.plan-card-link:hover::after{transform:translateX(4px)}
    .plan-card-head{gap:10px}
    .plan-card-title{line-height:.98}
    .plan-card-title span{font-size:clamp(13px,1.1vw,16px);line-height:1.7;color:#343931;margin-top:12px}
    .plan-card-summary{position:relative;z-index:1;display:grid;gap:12px}
    .plan-simple-price{
      border:1.5px solid var(--black);
      border-radius:24px;
      background:#fff;
      padding:16px 16px 14px;
      box-shadow:6px 6px 0 var(--green);
    }
    .plan-simple-price small{
      display:block;
      font-size:10px;
      font-weight:900;
      letter-spacing:.14em;
      text-transform:uppercase;
      color:var(--muted);
      margin-bottom:6px;
    }
    .plan-simple-price strong{
      display:block;
      font-size:clamp(40px,4.2vw,56px);
      line-height:.96;
      letter-spacing:-.06em;
      font-weight:900;
    }
    .plan-simple-price em{
      display:block;
      margin-top:8px;
      font-style:normal;
      font-size:12px;
      line-height:1.65;
      font-weight:800;
      color:#3b4137;
    }
    .plan-chip-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .plan-chip-row span{
      display:inline-flex;
      align-items:center;
      min-height:34px;
      padding:0 12px;
      border-radius:999px;
      border:1px solid rgba(8,10,7,.12);
      background:#f8f8f8;
      font-size:12px;
      font-weight:900;
      line-height:1;
    }
    .plan-value-list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:8px;
    }
    .plan-value-list li{
      display:flex;
      align-items:flex-start;
      gap:9px;
      font-size:13px;
      line-height:1.65;
      font-weight:900;
      color:#181b17;
    }
    .plan-value-list li::before{
      content:'';
      width:10px;
      height:10px;
      border-radius:50%;
      background:var(--green);
      border:1px solid var(--black);
      flex:0 0 auto;
      margin-top:.42em;
    }
    .plan-price-note{
      margin:0;
      padding-left:12px;
      border-left:3px solid var(--green);
      font-size:11px;
      line-height:1.8;
      font-weight:800;
      color:#474d44;
    }

        @media (max-width: 1080px){
      .publish-grid{grid-template-columns:repeat(2,1fr)}
    }

    @media (max-width: 1120px){
      .footer-main{grid-template-columns:1fr 1fr}
      .footer-col:nth-child(2){border-right:none}
      .footer-col:nth-child(1),.footer-col:nth-child(2){border-bottom:1px solid rgba(8,10,7,.08)}
    }

@media (max-width: 720px){
      .site-header{top:8px}
      .nav{width:calc(100% - 18px);padding:7px 8px 7px 10px}
      .brand strong{font-size:12px;max-width:58vw;display:block}
      .brand span span{display:none}
      .menu-toggle{min-height:34px;padding:0 8px 0 10px}
      .menu-toggle__text{font-size:9px}
      .menu-toggle__bars{width:22px;height:22px}
      .hero-card.plan-card{min-height:auto;padding:18px;border-radius:24px;gap:12px}
      .plan-card-head{
        min-height:0;
        padding-right:0;
        display:grid;
        grid-template-columns:minmax(0,1fr) 150px;
        grid-template-areas:
          "title mockup"
          "copy copy";
        align-items:start;
        column-gap:10px;
        row-gap:10px;
      }
      .plan-card-title{
        grid-area:title;
        font-size:clamp(32px,10.5vw,48px);
        line-height:1.02;
      }
      .plan-card-title span{
        display:block;
        margin-top:10px;
        font-size:clamp(16px,4.8vw,22px);
        line-height:1.45;
        letter-spacing:-.02em;
      }
      .hero-plan-mockup{
        grid-area:mockup;
        position:relative;
        top:auto;
        right:auto;
        width:150px;
        margin:0;
        justify-self:end;
        align-self:start;
      }
      .plan-card-title span{font-size:15px;line-height:1.55}
      .mockup-board{height:236px;padding:14px;border-radius:18px}
      .mockup-label{min-height:22px;padding:0 8px;font-size:9px}
      .mockup-label.home{left:12px;top:12px}
      .mockup-label.ig{right:82px;top:12px}
      .mockup-label.line{right:8px;top:12px}
      .device-home{left:10px;bottom:10px;width:194px;height:136px}
      .device-ig{right:58px;top:40px;width:78px;height:146px}
      .device-line{right:6px;bottom:10px;width:80px;height:146px}
      .device-home .screen{inset:18px 8px 16px}
      .device-phone .screen{inset:18px 6px 6px}
      .home-hero{height:42px;margin:8px 8px 6px}
      .home-panels{gap:6px;padding:0 8px}
      .mock-panel{height:48px}
      .mock-panel::before{top:10px;height:6px;box-shadow:0 12px 0 rgba(8,10,7,.08),0 24px 0 rgba(8,10,7,.08)}
      .home-footer{padding:6px 8px 0;gap:6px}
      .ig-story-row{padding:0 8px 6px;gap:5px}.ig-story-row span{width:14px;height:14px}
      .ig-post{height:58px;margin:0 8px}
      .ig-profile{padding:7px 8px}.avatar{width:18px;height:18px}
      .ig-actions{padding:6px 8px 0}
      .ig-copy{padding:6px 8px 0}
      .bubble{font-size:6.2px;padding:7px 7px}
      .line-richmenu{gap:5px}
      .line-richmenu span{height:22px;font-size:6px}
      .plan-simple-price{padding:14px 14px 12px;box-shadow:4px 4px 0 var(--green)}
      .plan-simple-price strong{font-size:42px}
      .plan-chip-row span{min-height:32px;padding:0 11px;font-size:11px}
      .plan-value-list li{font-size:12px}
      .plan-price-note{font-size:10.5px}
      .plan-card-bottom{grid-template-columns:1fr;align-items:stretch}
      .plan-card-link{width:100%;box-shadow:4px 4px 0 var(--green)}
    }


    /* v7: refined design-company header + omakase pricing */
    .site-header{top:18px}
    .nav{
      width:min(1180px,calc(100% - 28px));
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
      backdrop-filter:none;
      display:grid;
      grid-template-columns:1fr auto;
      align-items:start;
    }
    .brand{
      width:max-content;
      max-width:min(72vw,520px);
      padding:13px 16px 12px;
      border:1px solid rgba(8,10,7,.13);
      background:rgba(255,255,255,.74);
      backdrop-filter:blur(18px);
      border-radius:20px;
      box-shadow:0 18px 50px rgba(8,10,7,.06);
      position:relative;
    }
    .brand::before{
      content:"";
      position:absolute;
      left:14px;right:14px;bottom:-7px;height:7px;
      background:var(--green);
      border-radius:999px;
      transform:skewX(-18deg);
      z-index:-1;
    }
    .mark{
      width:42px;height:26px;border-radius:999px;background:var(--green);
      border:1px solid var(--black);overflow:visible;
    }
    .mark::before{content:"";position:absolute;left:10px;top:7px;width:17px;height:11px;border:0;border-left:3px solid var(--black);border-bottom:3px solid var(--black);transform:skewX(-18deg) rotate(-10deg);background:transparent}
    .mark::after{content:"";position:absolute;right:8px;top:6px;width:3px;height:14px;background:var(--black);border-radius:999px}
    .brand strong{font-size:13px;letter-spacing:.10em;text-transform:uppercase}
    .brand span span{font-size:9px;letter-spacing:.24em;color:rgba(8,10,7,.55)}
    .menu-toggle{
      min-height:54px;width:112px;padding:0 15px;
      border-radius:20px;border:1px solid var(--black);
      background:rgba(255,255,255,.7);
      backdrop-filter:blur(18px);
      color:var(--black);
      box-shadow:7px 7px 0 var(--green);
      transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    }
    .menu-toggle:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--green);background:#fff}
    .menu-toggle__text{font-size:11px;letter-spacing:.18em;font-weight:900}
    .menu-toggle__bars{width:30px;height:18px;border:0;background:transparent;box-shadow:none;border-radius:0}
    .menu-toggle__bars i{width:28px;height:2px;background:var(--black);border-radius:999px;right:0}
    .menu-toggle__bars i:first-child{transform:translateY(-5px)}
    .menu-toggle__bars i:last-child{transform:translateY(5px);width:18px;left:auto;right:0}
    body.menu-open .menu-toggle{background:var(--green);box-shadow:7px 7px 0 var(--black);border-color:var(--black)}
    body.menu-open .menu-toggle__bars i:first-child{transform:rotate(45deg);width:24px}
    body.menu-open .menu-toggle__bars i:last-child{transform:rotate(-45deg);width:24px}
    .menu-panel__inner{border-radius:30px;border:1px solid rgba(8,10,7,.13);box-shadow:0 30px 90px rgba(8,10,7,.14)}
    .price-duo em,
    .standard-price em,
    .standard-price b{
      display:block;
      margin-top:9px;
      font-style:normal;
      font-size:12px;
      line-height:1.6;
      letter-spacing:.02em;
      color:#3c4137;
      font-weight:800;
    }
    .standard-price b{
      width:max-content;
      max-width:100%;
      margin-top:14px;
      padding:8px 10px;
      border:1px solid var(--black);
      border-radius:999px;
      background:var(--green);
      color:var(--black);
      font-size:13px;
    }
    .standard-box::before{content:"MAIN SET PLAN"}

    @media (max-width:720px){
      .site-header{top:10px}
      .nav{width:calc(100% - 18px)}
      .brand{padding:10px 12px;border-radius:16px;max-width:calc(100vw - 100px);gap:8px}
      .brand::before{left:12px;right:12px;bottom:-5px;height:5px}
      .mark{width:34px;height:22px}
      .brand strong{font-size:11px;letter-spacing:.06em;max-width:48vw}
      .menu-toggle{width:78px;min-height:44px;border-radius:15px;padding:0 10px;box-shadow:5px 5px 0 var(--green)}
      .menu-toggle__text{font-size:9px;letter-spacing:.12em}
      .menu-toggle__bars{width:22px;height:16px}
      .menu-toggle__bars i{width:20px}
      .menu-toggle__bars i:last-child{width:13px}
      .hero{padding-top:98px}
      .plan-card-price strong{font-size:34px}
      .standard-price strong{font-size:42px}
      .standard-cta-large{
        min-height:62px;
        font-size:18px;
        box-shadow:7px 7px 0 var(--green);
      }
      .standard-price b{width:100%;text-align:center}
      .about-link-box.only-button{min-height:240px;padding:12px;border-radius:24px;box-shadow:7px 7px 0 var(--green)}
      .about-link-content{min-height:190px;padding:18px 16px;gap:16px}
      .about-link-catch{font-size:clamp(34px,11vw,58px);line-height:.94}
      .about-link-box.only-button a{min-height:52px;padding:0 22px;font-size:14px}
      .section-actions{margin-top:16px}
      .works-index-btn{width:100%;min-height:48px;box-shadow:5px 5px 0 var(--green)}
      .works-bottom-action{margin-top:18px}
    }

    @media (prefers-reduced-motion: reduce){
      *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
      .reveal{opacity:1;transform:none}.char{opacity:1;transform:none}
    }
  
    .motion-bg{
      background-image:url("../assets/images/inline/top-666d27e3ed.gif");
      background-size:cover;
      background-position:center;
      background-repeat:no-repeat;
    }
    .hero-bg.motion-bg{
      position:absolute;
      inset:0;
      z-index:-3;
      overflow:hidden;
      background-color:#fff;
      opacity:.92;
      filter:saturate(1.18) contrast(1.12) brightness(.9);
    }
    .hero-bg.motion-bg::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.18) 48%,rgba(255,255,255,.38) 100%),
        linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.10));
      pointer-events:none;
    }
    .about-link-bg.motion-bg{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      z-index:-2;
      transform:scale(1.03);
      filter:saturate(1.22) contrast(1.14) brightness(.88);
    }

  .standard-cta{display:flex;align-items:center;justify-content:center;min-height:58px;border-radius:999px;background:var(--black);color:#fff;font-size:16px;font-weight:900;letter-spacing:.03em;box-shadow:7px 7px 0 var(--green)}
    .standard-cta-large{
      min-height:74px;
      width:100%;
      font-size:22px;
      letter-spacing:.02em;
      box-shadow:10px 10px 0 var(--green);
      transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
    }
    .standard-cta-large:hover{
      transform:translate(-3px,-3px);
      box-shadow:13px 13px 0 var(--green);
      background:#fff;
      color:var(--black);
    }


/* v90: AI集客まるごと3点セットのみ蛍光ピンク案 */
.menu-card.featured .menu-title,
.plan-card-title,
.pickup-card.featured strong,
.works-grid[data-panel="set"] .case-card:first-child h3,
.standard-main h2,
.audience-grid .audience-card:first-child h3{
  color:#b7ff00;
  text-shadow:0 0 12px rgba(183,255,0,.18);
}

.menu-card.featured .menu-title,
.pickup-card.featured strong,
.works-grid[data-panel="set"] .case-card:first-child h3,
.audience-grid .audience-card:first-child h3{
  color:#b7ff00;
}

.plan-card-title,
.standard-main h2{
  color:#b7ff00;
}

/* ===== popular-badge-glow-effect ===== */
  /* 1番人気バッジをピカピカ光らせる */
  .pickup-card.featured::before{
    animation: badgeGlowPulse 1.8s ease-in-out infinite, badgeFloatSpark 3.2s ease-in-out infinite;
    box-shadow:
      0 0 0 1px rgba(8,10,7,.08),
      0 0 10px rgba(255, 241, 120, .55),
      0 0 22px rgba(255, 230, 70, .48),
      0 0 36px rgba(255, 215, 0, .28);
  }

  .pickup-card.featured{
    overflow: visible;
  }

  .pickup-card.featured .popular-badge-shine{
    position:absolute;
    left:14px;
    top:14px;
    width:110px;
    height:26px;
    border-radius:999px;
    pointer-events:none;
    overflow:hidden;
    z-index:3;
  }

  .pickup-card.featured .popular-badge-shine::after{
    content:"";
    position:absolute;
    top:-8px;
    left:-38px;
    width:24px;
    height:42px;
    transform:rotate(20deg);
    background:linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.18) 20%,
      rgba(255,255,255,.95) 50%,
      rgba(255,255,255,.18) 80%,
      rgba(255,255,255,0) 100%
    );
    filter:blur(.2px);
    animation: badgeShineSweep 2.3s linear infinite;
  }

  @keyframes badgeGlowPulse{
    0%, 100%{
      transform:scale(1);
      filter:brightness(1);
      box-shadow:
        0 0 0 1px rgba(8,10,7,.08),
        0 0 10px rgba(255, 241, 120, .55),
        0 0 22px rgba(255, 230, 70, .48),
        0 0 36px rgba(255, 215, 0, .28);
    }
    50%{
      transform:scale(1.06);
      filter:brightness(1.14);
      box-shadow:
        0 0 0 1px rgba(8,10,7,.08),
        0 0 14px rgba(255, 247, 150, .78),
        0 0 28px rgba(255, 232, 95, .62),
        0 0 48px rgba(255, 215, 0, .42);
    }
  }

  @keyframes badgeFloatSpark{
    0%, 100%{ translate: 0 0; }
    50%{ translate: 0 -1px; }
  }

  @keyframes badgeShineSweep{
    0%{ left:-40px; opacity:0; }
    8%{ opacity:1; }
    40%{ left:95px; opacity:1; }
    48%, 100%{ left:95px; opacity:0; }
  }

/* ===== hero-card-mobile-no-blank-space-v2 ===== */
  @media (max-width: 860px){
    .hero-card.plan-card{
      overflow: hidden !important;
      gap: 12px !important;
      padding: 18px !important;
    }

    .hero-card.plan-card .plan-card-head{
      display: grid !important;
      grid-template-columns: 1fr 128px !important;
      grid-template-areas:
        "title mockup"
        "copy copy" !important;
      align-items: start !important;
      column-gap: 8px !important;
      row-gap: 8px !important;
      min-height: 0 !important;
      padding-right: 0 !important;
      margin-bottom: 0 !important;
    }

    .hero-card.plan-card .plan-card-title{
      grid-area: title !important;
      font-size: clamp(36px, 12vw, 54px) !important;
      line-height: .92 !important;
      letter-spacing: -.08em !important;
      margin: 0 !important;
      max-width: none !important;
      z-index: 2 !important;
    }

    .hero-card.plan-card .plan-card-title span{
      grid-area: copy !important;
      display: block !important;
      margin-top: 14px !important;
      margin-right: -128px !important;
      font-size: clamp(15px, 4.6vw, 20px) !important;
      line-height: 1.45 !important;
      letter-spacing: -.02em !important;
      max-width: none !important;
    }

    .hero-card.plan-card .hero-plan-mockup{
      grid-area: mockup !important;
      position: relative !important;
      top: auto !important;
      right: auto !important;
      width: 142px !important;
      margin: 4px -8px 0 0 !important;
      justify-self: end !important;
      align-self: start !important;
      z-index: 1 !important;
      transform-origin: 80% 50% !important;
    }

    .hero-card.plan-card .plan-card-price{
      margin-top: 8px !important;
    }
  }

  @media (max-width: 430px){
    .hero-card.plan-card .plan-card-head{
      grid-template-columns: 1fr 112px !important;
      column-gap: 4px !important;
    }
    .hero-card.plan-card .hero-plan-mockup{
      width: 124px !important;
      margin: 2px -10px 0 0 !important;
    }
    .hero-card.plan-card .plan-card-title span{
      margin-right: -112px !important;
    }
  }

/* ===== hero-card-desktop-no-blank-space-v1 ===== */
  @media (min-width: 861px){
    .hero-card.plan-card{
      gap: 14px !important;
    }

    .hero-card.plan-card .plan-card-head{
      min-height: 168px !important;
      padding-right: 152px !important;
      gap: 8px !important;
      margin-bottom: 0 !important;
    }

    .hero-card.plan-card .plan-card-title{
      font-size: clamp(30px, 3.2vw, 46px) !important;
      line-height: .98 !important;
      max-width: none !important;
      margin: 0 !important;
    }

    .hero-card.plan-card .plan-card-title span{
      display: block !important;
      margin-top: 10px !important;
      font-size: clamp(13px, 1.1vw, 17px) !important;
      line-height: 1.5 !important;
      max-width: none !important;
    }

    .hero-card.plan-card .hero-plan-mockup{
      width: 168px !important;
      top: 6px !important;
      right: -2px !important;
      margin: 0 !important;
    }

    .hero-card.plan-card .plan-card-price{
      margin-top: 2px !important;
    }
  }

/* ===== v104-loading-animation-impact ===== */
.masakari-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 78% 10%, rgba(183,255,0,.34), transparent 28%),
    linear-gradient(180deg,#f8faf4 0%,#ffffff 100%);
  transition:opacity .65s ease, visibility .65s ease;
}
.masakari-loader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.loader-inner{
  width:min(380px,88vw);
  display:grid;
  justify-items:center;
  gap:14px;
  color:#080a07;
}
.loader-mark{
  position:relative;
  width:148px;
  height:148px;
  display:grid;
  place-items:center;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
  isolation:isolate;
}
.loader-mark::before,
.loader-mark::after{
  content:"";
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.loader-mark::before{
  width:122px;
  height:122px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(183,255,0,.55) 0%, rgba(183,255,0,.26) 34%, rgba(183,255,0,0) 72%);
  filter:blur(16px);
  animation:loaderAuraPulse 1.9s ease-in-out infinite;
  z-index:0;
}
.loader-mark::after{
  width:116px;
  height:116px;
  border-radius:50%;
  border:1.5px solid rgba(183,255,0,.42);
  animation:loaderRingPulse 1.9s cubic-bezier(.19,.9,.2,1) infinite;
  z-index:0;
}
.loader-logo-img{
  position:relative;
  z-index:2;
  width:104px;
  height:104px;
  object-fit:contain;
  display:block;
  filter:none;
  transform-origin:center center;
  animation:loaderLogoImpact 1.9s cubic-bezier(.22,1,.36,1) infinite;
}
.loader-mark span,
.loader-mark i{display:none !important;}
.loader-brand{
  margin:2px 0 0;
  font-size:22px;
  line-height:1;
  font-weight:900;
  letter-spacing:.24em;
  animation:loaderBrandFlick 1.9s ease-in-out infinite;
}
.loader-copy{
  margin:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  color:rgba(8,10,7,.56);
}
.loader-bar{
  width:220px;
  height:10px;
  margin-top:8px;
  border:1px solid rgba(8,10,7,.18);
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.9);
}
.loader-bar span{
  display:block;
  width:45%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#b7ff00 0%, #d7ff69 100%);
  animation:loaderBar 1.05s ease-in-out infinite;
}
@keyframes loaderLogoImpact{
  0%{transform:scale(.72) rotate(-12deg);opacity:0;}
  14%{transform:scale(1.18) rotate(4deg);opacity:1;}
  24%{transform:scale(.96) rotate(-3deg);}
  38%{transform:scale(1.08) rotate(1deg);}
  55%{transform:scale(1) rotate(0deg);}
  100%{transform:scale(1) rotate(0deg);}
}
@keyframes loaderAuraPulse{
  0%{opacity:.2; transform:translate(-50%,-50%) scale(.72);}
  20%{opacity:.9; transform:translate(-50%,-50%) scale(1.08);}
  55%{opacity:.55; transform:translate(-50%,-50%) scale(1);}
  100%{opacity:.25; transform:translate(-50%,-50%) scale(.78);}
}
@keyframes loaderRingPulse{
  0%{opacity:0; transform:translate(-50%,-50%) scale(.5);}
  20%{opacity:.95; transform:translate(-50%,-50%) scale(1);}
  70%{opacity:.18; transform:translate(-50%,-50%) scale(1.28);}
  100%{opacity:0; transform:translate(-50%,-50%) scale(1.42);}
}
@keyframes loaderBrandFlick{
  0%,100%{transform:translateY(0);}
  18%{transform:translateY(1px);}
  24%{transform:translateY(-2px);}
  32%{transform:translateY(0);}
}
@keyframes loaderBar{
  0%{transform:translateX(-105%)}
  100%{transform:translateX(230%)}
}
@media (max-width: 640px){
  .loader-mark{width:128px;height:128px;}
  .loader-mark::before{width:108px;height:108px;}
  .loader-mark::after{width:102px;height:102px;}
  .loader-logo-img{width:92px;height:92px;}
  .loader-brand{font-size:20px; letter-spacing:.18em;}
}
@media (prefers-reduced-motion: reduce){
  .loader-mark::before,
  .loader-mark::after,
  .loader-logo-img,
  .loader-brand,
  .loader-bar span{animation:none!important}
}

/* ===== v61-footer-refresh ===== */
.site-footer{
  padding: 18px 0 46px;
}
.footer-shell-minimal{
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(8,10,7,.10);
  border-radius: 34px;
  background:
    radial-gradient(circle at 100% 0%, rgba(183,255,0,.16), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,249,245,.96) 100%);
  box-shadow: 0 26px 60px rgba(8,10,7,.08);
}
.footer-shell-minimal::after{
  content:"";
  position:absolute;
  inset: 18px;
  border: 1px dashed rgba(8,10,7,.10);
  border-radius: 24px;
  pointer-events:none;
}
.footer-top-minimal{
  position: relative;
  display:grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 28px;
  padding: 34px 34px 24px;
}
.footer-branding{
  position:relative;
  z-index:1;
}
.footer-lead{
  margin: 18px 0 0;
  max-width: 640px;
  font-size: 20px;
  line-height: 1.7;
  font-weight: 900;
  color: #080a07;
}

.footer-nav-minimal{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0 34px 24px;
}
.footer-nav-minimal a:hover{
  transform: translateY(-2px);
  border-color: rgba(8,10,7,.18);
  box-shadow: 8px 8px 0 rgba(183,255,0,.14);
  background: #fff;
}
.footer-cta-card-minimal{
  position:relative;
  z-index:1;
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(8,10,7,.10);
  background: linear-gradient(180deg, rgba(252,253,250,.98) 0%, rgba(243,247,232,.98) 100%);
  box-shadow: 12px 12px 0 rgba(8,10,7,.96), 0 0 0 10px rgba(183,255,0,.10);
}
.footer-mini-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: #b7ff00;
  border: 1px solid #080a07;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
}
.footer-cta-card-minimal h3{
  margin: 14px 0 8px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -.04em;
}
.footer-cta-card-minimal p{
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  font-weight: 800;
  color: rgba(8,10,7,.66);
}
.footer-cta-actions{
  display:flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items:center;
  margin-top: 18px;
}
.footer-text-link{
  color:#080a07;
  text-decoration:none;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .06em;
  border-bottom: 1px solid rgba(8,10,7,.28);
  padding-bottom: 2px;
}
.footer-bottom-minimal{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 14px;
  padding: 18px 34px 34px;
  color: rgba(8,10,7,.56);
  font-size: 12px;
  font-weight: 900;
  border-top: 1px solid rgba(8,10,7,.08);
}
.footer-bottom-minimal strong{
  color:#080a07;
}
@media (max-width: 980px){
  .footer-top-minimal{
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 28px 22px 18px;
  }
  .footer-nav-minimal{
    padding: 0 22px 18px;
  }
  .footer-bottom-minimal{
    padding: 16px 22px 24px;
  }
}
@media (max-width: 680px){
  .site-footer{
    padding: 12px 0 32px;
  }
  .footer-shell-minimal{
    border-radius: 26px;
  }
  .footer-shell-minimal::after{
    inset: 14px;
    border-radius: 18px;
  }
  .footer-lead{
    font-size: 16px;
    line-height: 1.7;
    margin-top: 16px;
  }
  .footer-keywords{
    gap: 8px;
  }
  .footer-keywords span,
  .footer-nav-minimal a{
    min-height: 38px;
    padding: 0 13px;
    font-size: 11px;
    letter-spacing: .08em;
  }
  .footer-cta-card-minimal{
    padding: 20px 18px;
    border-radius: 22px;
    box-shadow: 9px 9px 0 rgba(8,10,7,.96), 0 0 0 8px rgba(183,255,0,.08);
  }
  .footer-cta-card-minimal h3{
    font-size: 26px;
  }
  .footer-cta-card-minimal p{
    font-size: 14px;
  }
  .footer-cta-actions{
    gap: 10px;
  }
  .footer-bottom-minimal{
    flex-direction: column;
    align-items:flex-start;
    gap: 6px;
    font-size: 11px;
  }
}

/* ===== v62-banner-replacement ===== */
.cta-banner-section{
  padding: 38px 0 28px;
}
.cta-banner-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.cta-banner{
  position: relative;
  overflow: hidden;
  min-height: 340px;
  border-radius: 34px;
  border: 1.5px solid rgba(8,10,7,.12);
  background: #0a0b09;
  text-decoration: none;
  color: #fff;
  box-shadow: 0 18px 46px rgba(8,10,7,.12);
  isolation: isolate;
  transform: translateZ(0);
}
.cta-banner::after{
  content: "";
  position: absolute;
  inset: auto 18px 18px auto;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(183,255,0,.42) 0%, rgba(183,255,0,0) 72%);
  filter: blur(10px);
  opacity: .8;
  z-index: 1;
  pointer-events: none;
}
.cta-banner-media,
.cta-banner-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.cta-banner-media img{
  object-fit: cover;
  transform: scale(1.03);
  transition: transform .8s ease;
}
.cta-banner-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(8,10,7,.18) 0%, rgba(8,10,7,.48) 38%, rgba(8,10,7,.82) 100%),
    radial-gradient(circle at top right, rgba(183,255,0,.22), transparent 32%);
  z-index:0;
}
.cta-banner-content{
  position: relative;
  z-index: 2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap: 10px;
  min-height: 340px;
  padding: 28px;
}
.cta-banner-kicker{
  display:inline-flex;
  align-items:center;
  width: fit-content;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}
.cta-banner h2{
  margin: 0;
  max-width: 7.4em;
  font-size: clamp(30px, 2.35vw, 40px);
  line-height: 1.04;
  letter-spacing: -.04em;
  font-weight: 900;
  text-wrap: balance;
}
.cta-banner p{
  margin: 0;
  max-width: 28em;
  color: rgba(255,255,255,.86);
  font-size: 15px;
  line-height: 1.8;
  font-weight: 700;
}
.cta-banner-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: fit-content;
  min-height: 50px;
  margin-top: 8px;
  padding: 0 18px;
  border-radius: 999px;
  background: #b7ff00;
  color: #080a07;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .04em;
  box-shadow: 8px 8px 0 rgba(8,10,7,.92);
  transition: transform .3s ease, box-shadow .3s ease;
}
.cta-banner:hover .cta-banner-media img{
  transform: scale(1.08);
}
.cta-banner:hover .cta-banner-link{
  transform: translateY(-2px);
  box-shadow: 11px 11px 0 rgba(8,10,7,.92);
}
.cta-banner-design h2,
.cta-banner-recruit h2{
  max-width: 7.4em;
}
@media (max-width: 980px){
  .cta-banner-grid{
    grid-template-columns: 1fr;
  }
  .cta-banner,
  .cta-banner-content{
    min-height: 310px;
  }
}
@media (max-width: 640px){
  .cta-banner-section{
    padding: 30px 0 20px;
  }
  .cta-banner-grid{
    gap: 16px;
  }
  .cta-banner{
    min-height: 270px;
    border-radius: 24px;
  }
  .cta-banner-content{
    min-height: 270px;
    padding: 22px 18px;
    gap: 8px;
  }
  .cta-banner-kicker{
    min-height: 30px;
    padding: 0 11px;
    font-size: 10px;
  }
  .cta-banner h2{
    max-width: 7.4em;
    font-size: 28px;
    line-height: 1.06;
  }
  .cta-banner p{
    font-size: 13px;
    line-height: 1.7;
  }
  .cta-banner-link{
    min-height: 46px;
    padding: 0 16px;
    font-size: 13px;
  }
}

/* ===== v68-standard-neon-bg ===== */
.standard{
  position: relative;
  isolation: isolate;
  overflow: visible;
}
.standard::before,
.standard::after{
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  border-radius: 999px;
  background:
    radial-gradient(circle at center,
      rgba(193,255,0,.40) 0%,
      rgba(193,255,0,.28) 34%,
      rgba(193,255,0,.14) 56%,
      rgba(193,255,0,0) 76%);
  filter: blur(10px);
}
.standard::before{
  width: min(54vw, 760px);
  height: min(54vw, 760px);
  left: -5%;
  top: 6%;
  transform: translateY(-8%);
}
.standard::after{
  width: min(48vw, 650px);
  height: min(48vw, 650px);
  right: -3%;
  bottom: -2%;
  background:
    radial-gradient(circle at center,
      rgba(193,255,0,.34) 0%,
      rgba(193,255,0,.20) 36%,
      rgba(193,255,0,.10) 58%,
      rgba(193,255,0,0) 78%);
  filter: blur(14px);
}
.standard .wrap{
  position: relative;
  z-index: 1;
}
.standard-box{
  position: relative;
  z-index: 1;
  background: rgba(255,255,255,.76);
  backdrop-filter: blur(2px);
}
@media (max-width: 980px){
  .standard::before{
    width: 84vw;
    height: 84vw;
    left: -18vw;
    top: 4%;
    filter: blur(8px);
  }
  .standard::after{
    width: 70vw;
    height: 70vw;
    right: -18vw;
    bottom: -4%;
    filter: blur(10px);
  }
}

/* ===== v69-footer-text-nav ===== */
.footer-mini a,
.footer-v65-mini a,
.footer-v64-mini a,
.footer-nav-minimal a,
.footer-v64-bottom-nav a,
.footer-v65-bottom-nav a,
.footer-bottom-nav a{
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: auto !important;
  padding: 0 !important;
  color: rgba(8,10,7,.62) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
.footer-mini,
.footer-v65-mini,
.footer-v64-mini,
.footer-v64-bottom-nav,
.footer-v65-bottom-nav,
.footer-bottom-nav{
  gap: 22px !important;
}
.footer-mini a:hover,
.footer-v65-mini a:hover,
.footer-v64-mini a:hover,
.footer-nav-minimal a:hover,
.footer-v64-bottom-nav a:hover,
.footer-v65-bottom-nav a:hover,
.footer-bottom-nav a:hover{
  color: var(--black, #080a07) !important;
  transform: none !important;
}

/* ===== v70-pop-message-animation ===== */
.message-pop-title{
  display:block;
  text-align:center;
  perspective:900px;
}
.message-pop-title span:not(.gap){
  display:inline-block;
  transform-origin:50% 80%;
  animation: popBounceText 2.8s cubic-bezier(.2,.9,.2,1) infinite;
  animation-delay: calc(var(--pop-i, 0) * .06s);
  will-change: transform;
}
.message-pop-title span:nth-child(1){--pop-i:0}
.message-pop-title span:nth-child(2){--pop-i:1}
.message-pop-title span:nth-child(3){--pop-i:2}
.message-pop-title span:nth-child(5){--pop-i:3}
.message-pop-title span:nth-child(6){--pop-i:4}
.message-pop-title span:nth-child(7){--pop-i:5}
.message-pop-title span:nth-child(9){--pop-i:6}
.message-pop-title span:nth-child(10){--pop-i:7}
.message-pop-title span:nth-child(11){--pop-i:8}
.message-pop-title span:nth-child(12){--pop-i:9}
.message-pop-title span:nth-child(13){--pop-i:10}
.message-pop-title span:nth-child(14){--pop-i:11}
.message-pop-title .gap{
  display:inline-block;
  width:.18em;
}
.message-pop-title::after{
  content:"";
  display:block;
  width:min(460px, 72vw);
  height:18px;
  margin:-10px auto 0;
  border-radius:999px;
  background:var(--green);
  opacity:.9;
  transform-origin:center;
  animation: popUnderline 2.8s ease-in-out infinite;
}
@keyframes popBounceText{
  0%, 100%{
    transform:translateY(0) rotate(0deg) scale(1);
  }
  8%{
    transform:translateY(-10px) rotate(-4deg) scale(1.08);
  }
  16%{
    transform:translateY(2px) rotate(3deg) scale(.98);
  }
  24%{
    transform:translateY(-4px) rotate(-1deg) scale(1.02);
  }
  34%, 100%{
    transform:translateY(0) rotate(0deg) scale(1);
  }
}
@keyframes popUnderline{
  0%,100%{transform:scaleX(.92) translateY(0); opacity:.72}
  18%{transform:scaleX(1.08) translateY(-2px); opacity:1}
  36%{transform:scaleX(.98) translateY(0); opacity:.86}
}
@media (prefers-reduced-motion: reduce){
  .message-pop-title span:not(.gap),
  .message-pop-title::after{
    animation:none !important;
  }
}

/* ===== v71-footer-monochrome-logo ===== */
.footer-logo-sample{
  display:block;
  width:164px;
  height:auto;
  object-fit:contain;
  flex:0 0 auto;
}
.site-footer .brand,
.site-footer-v64 .brand,
.site-footer-v65 .brand,
footer .brand{
  gap:12px;
}
.site-footer .brand:has(.footer-logo-sample),
.site-footer-v64 .brand:has(.footer-logo-sample),
.site-footer-v65 .brand:has(.footer-logo-sample),
footer .brand:has(.footer-logo-sample){
  padding:10px 16px;
  min-height:64px;
}
.site-footer .brand:has(.footer-logo-sample) > span:not(.mark),
.site-footer-v64 .brand:has(.footer-logo-sample) > span:not(.mark),
.site-footer-v65 .brand:has(.footer-logo-sample) > span:not(.mark),
footer .brand:has(.footer-logo-sample) > span:not(.mark){
  display:none;
}
@media(max-width:680px){
  .footer-logo-sample{
    width:142px;
  }
  footer .brand:has(.footer-logo-sample){
    min-height:58px;
    padding:8px 14px;
  }
}

/* ===== v72-column-index-button ===== */
.column-index-action{
  display:flex;
  justify-content:center;
  margin-top:34px;
}
.column-index-button{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "label arrow"
    "title arrow";
  align-items:center;
  column-gap:22px;
  min-width:min(100%, 460px);
  min-height:86px;
  padding:18px 22px 18px 24px;
  border:1.5px solid var(--black, #080a07);
  border-radius:999px;
  background:#fff;
  color:var(--black, #080a07);
  text-decoration:none;
  box-shadow:8px 8px 0 var(--green, #b7ff00);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.column-index-button::before{
  content:"";
  position:absolute;
  inset:-30% auto -30% -34%;
  width:38%;
  transform:skewX(-22deg) translateX(-130%);
  background:linear-gradient(90deg, transparent, rgba(183,255,0,.42), transparent);
  transition:transform .75s ease;
}
.column-index-button:hover{
  transform:translate(-3px,-3px);
  box-shadow:12px 12px 0 var(--green, #b7ff00);
  background:linear-gradient(180deg,#fff 0%,#f7ffd9 100%);
}
.column-index-button:hover::before{
  transform:skewX(-22deg) translateX(390%);
}
.column-index-button__label{
  grid-area:label;
  color:rgba(8,10,7,.58);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.column-index-button strong{
  grid-area:title;
  display:block;
  margin-top:8px;
  font-size:clamp(20px,2vw,28px);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:900;
}
.column-index-button__arrow{
  grid-area:arrow;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:var(--black, #080a07);
  color:#fff;
  font-size:22px;
  font-weight:900;
  box-shadow:0 0 0 7px rgba(183,255,0,.22);
  transition:transform .25s ease;
}
.column-index-button:hover .column-index-button__arrow{
  transform:translateX(3px);
}
@media(max-width:680px){
  .column-index-action{
    margin-top:24px;
  }
  .column-index-button{
    min-height:76px;
    padding:16px 16px 16px 18px;
    column-gap:14px;
    box-shadow:6px 6px 0 var(--green, #b7ff00);
  }
  .column-index-button__label{
    font-size:10px;
    letter-spacing:.12em;
  }
  .column-index-button strong{
    font-size:20px;
  }
  .column-index-button__arrow{
    width:46px;
    height:46px;
    font-size:19px;
  }
}

/* ===== v73-hero-card-balance-fix ===== */
.hero-card.plan-card{
  padding:24px 22px 20px;
}
.hero-card.plan-card .plan-card-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 150px;
  grid-template-areas:
    "title mockup"
    "copy  mockup";
  align-items:start;
  column-gap:18px;
  row-gap:12px;
  min-height:auto !important;
  padding-right:0 !important;
}
.hero-card.plan-card .plan-card-title{
  grid-area:title;
  margin:0;
  max-width:none;
}
.hero-card.plan-card .plan-card-copy{
  grid-area:copy;
  margin:0;
  font-size:clamp(13px,1.08vw,17px);
  line-height:1.6;
  letter-spacing:-.02em;
  font-weight:800;
  color:#2d322b;
}
.hero-card.plan-card .hero-plan-mockup{
  grid-area:mockup !important;
  align-self:start;
  justify-self:end;
  width:150px;
  margin-top:2px;
}
.hero-card.plan-card .hero-plan-mockup img{
  width:100%;
  height:auto;
}
.hero-card.plan-card .plan-card-summary{
  margin-top:14px;
  gap:10px;
}
.hero-card.plan-card .plan-simple-price,
.hero-card.plan-card .plan-card-price{
  padding:13px 14px 12px;
}
.hero-card.plan-card .plan-chip-row,
.hero-card.plan-card .plan-card-tags{
  margin-top:2px;
}
.hero-card.plan-card .plan-card-bottom{
  margin-top:14px;
}
@media (max-width: 900px){
  .hero-card.plan-card{
    padding:20px 18px 18px;
  }
  .hero-card.plan-card .plan-card-head{
    grid-template-columns:1fr 110px !important;
    grid-template-areas:
      "title mockup"
      "copy  copy" !important;
    column-gap:12px;
    row-gap:10px;
  }
  .hero-card.plan-card .hero-plan-mockup{
    width:110px;
    margin-top:4px;
  }
  .hero-card.plan-card .plan-card-copy{
    font-size:14px;
    line-height:1.55;
  }
}
@media (max-width: 640px){
  .hero-card.plan-card .plan-card-head{
    grid-template-columns:1fr 100px !important;
  }
  .hero-card.plan-card .hero-plan-mockup{
    width:100px;
  }
  .hero-card.plan-card .plan-card-copy{
    font-size:13px;
  }
}

/* ===== v74-banner-footer-update ===== */
.footer-nav-minimal{
  display:flex;
  flex-wrap:wrap;
  gap:14px 24px;
}
.footer-nav-minimal a{
  white-space:nowrap;
}
.cta-banner-content h2{
  line-height:1.05;
}

/* ===== v75-concept-copy-update ===== */
.concept-subline{
  display:inline-block;
  margin-top:.06em;
  font-size:.72em;
  line-height:1.04;
  letter-spacing:-.06em;
}
.sp-only{
  display:none;
}
@media(max-width:680px){
  .concept-subline{
    font-size:.76em;
    line-height:1.1;
  }
  .sp-only{
    display:block;
  }
}

/* ===== v83-plan-name-sitewide-fix ===== */
/* v83: 新プラン名「AI集客まるごと3点セット」に合わせた全体調整 */
.hero-card.plan-card .plan-card-title{
  letter-spacing:-.072em !important;
}
.hero-card.plan-card .plan-card-title,
.standard h2,
.case-card h3,
.pickup-card strong{
  word-break: keep-all;
}
@media (min-width:861px){
  .hero-card.plan-card .plan-card-title{
    font-size:clamp(34px,3.15vw,50px) !important;
    line-height:.96 !important;
  }
}
@media (max-width:860px){
  .hero-card.plan-card .plan-card-title{
    font-size:clamp(31px,9.4vw,50px) !important;
    line-height:1.0 !important;
  }
}

/* ===== v96-pickup-card-match-hero ===== */
/* v96: スクロール内の「AI集客まるごと3点セット」カードをメインビジュアル寄りの配色へ */
.pickup-card.featured{
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 59, 182, .18), transparent 34%),
    radial-gradient(circle at 82% 86%, rgba(255, 59, 182, .14), transparent 28%),
    linear-gradient(160deg, #0a0b12 0%, #07080d 56%, #0d0f18 100%) !important;
  border:1.5px solid #b7ff00 !important;
  box-shadow:
    0 0 0 1px rgba(183,255,0,.30) inset,
    0 0 18px rgba(183,255,0,.20),
    8px 8px 0 #0a0b12 !important;
  transform:translateY(-4px);
}
.pickup-card.featured:hover{
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 59, 182, .22), transparent 36%),
    radial-gradient(circle at 82% 86%, rgba(255, 59, 182, .18), transparent 30%),
    linear-gradient(160deg, #0b0c14 0%, #080910 56%, #10131d 100%) !important;
  box-shadow:
    0 0 0 1px rgba(183,255,0,.36) inset,
    0 0 22px rgba(183,255,0,.24),
    10px 10px 0 #0a0b12 !important;
  transform:translate(-2px,-6px);
}
.pickup-card.featured::before{
  background:#fff8c9 !important;
  color:#111 !important;
  border:1px solid rgba(183,255,0,.26) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.18), 0 0 12px rgba(183,255,0,.14) !important;
}
.pickup-card.featured::after{
  background:#090a10 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 0 0 1px rgba(183,255,0,.28) inset;
}
.pickup-card.featured .pickup-tag{
  color:#f2f2f2 !important;
}
.pickup-card.featured .pickup-tag::before{
  background:#b7ff00 !important;
  border-color:#0a0b12 !important;
  box-shadow:0 0 0 3px rgba(183,255,0,.12);
}
.pickup-card.featured strong{
  color:#b7ff00 !important;
  letter-spacing:-.05em;
  text-shadow:0 0 12px rgba(183,255,0,.12);
}
.pickup-card.featured small{
  color:rgba(255,255,255,.82) !important;
}
/* 文字量が多いカードでも潰れないよう少しだけ余白調整 */
.pickup-card.featured strong{max-width:100% !important;}
.pickup-card.featured small{line-height:1.55;}

/* ===== v97-menu-featured-pink ===== */
/* v97: ハンバーガーメニュー内の主力カードを、メインビジュアルの黒×蛍光ピンク系へ */
.menu-nav__featured a.is-primary{
  background:
    radial-gradient(circle at 18% 20%, rgba(183,255,0,.18), transparent 34%),
    radial-gradient(circle at 86% 88%, rgba(183,255,0,.15), transparent 28%),
    linear-gradient(160deg, #090a10 0%, #06070c 56%, #0b0d15 100%) !important;
  border:1.5px solid #b7ff00 !important;
  box-shadow:
    0 0 0 1px rgba(183,255,0,.28) inset,
    0 0 18px rgba(183,255,0,.18),
    12px 12px 0 #0a0b12 !important;
}
.menu-nav__featured a.is-primary .menu-no{
  background:rgba(255,255,255,.04) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:rgba(255,255,255,.34) !important;
}
.menu-nav__featured a.is-primary .menu-eyebrow{
  background:#0a0b12 !important;
  color:#fff !important;
  border:1px solid rgba(183,255,0,.82) !important;
  box-shadow:0 0 0 3px rgba(183,255,0,.12), 0 0 14px rgba(183,255,0,.18);
}
.menu-nav__featured a.is-primary .menu-eyebrow::before,
.menu-nav__featured a.is-primary .menu-popular-badge::before{
  color:#b7ff00 !important;
}
.menu-nav__featured a.is-primary .menu-title{
  color:#b7ff00 !important;
  text-shadow:0 0 16px rgba(183,255,0,.10);
}
.menu-nav__featured a.is-primary .menu-sub{
  color:rgba(255,255,255,.82) !important;
}
.menu-nav__featured a.is-primary .menu-arrow{
  background:#080910 !important;
  color:#fff !important;
  box-shadow:0 0 0 6px rgba(183,255,0,.22), 0 0 18px rgba(183,255,0,.18) !important;
}
.menu-nav__featured a.is-primary:hover{
  transform:translate(-2px,-3px);
  background:
    radial-gradient(circle at 18% 20%, rgba(183,255,0,.24), transparent 36%),
    radial-gradient(circle at 86% 88%, rgba(183,255,0,.18), transparent 30%),
    linear-gradient(160deg, #0b0c13 0%, #07080e 56%, #0f1119 100%) !important;
  box-shadow:
    0 0 0 1px rgba(183,255,0,.34) inset,
    0 0 22px rgba(183,255,0,.22),
    14px 14px 0 #0a0b12 !important;
}
.menu-nav__featured a.is-primary:hover .menu-arrow{
  transform:translateX(4px);
  box-shadow:0 0 0 8px rgba(183,255,0,.28), 0 0 20px rgba(183,255,0,.22) !important;
}
@media (max-width: 860px){
  .menu-nav__featured a.is-primary{
    box-shadow:
      0 0 0 1px rgba(183,255,0,.24) inset,
      0 0 16px rgba(183,255,0,.16),
      8px 8px 0 #0a0b12 !important;
  }
  .menu-nav__featured a.is-primary:hover{
    box-shadow:
      0 0 0 1px rgba(183,255,0,.30) inset,
      0 0 18px rgba(183,255,0,.18),
      9px 9px 0 #0a0b12 !important;
  }
}

/* ===== v99-header-logo-and-works-title-fix ===== */
/* v99: ヘッダーロゴ周りのborder/蛍光緑ライン削除 */
.site-header .brand,
.site-header .brand.brand-with-real-logo{
  border:none !important;
  box-shadow:none !important;
  background:rgba(255,255,255,.72) !important;
  backdrop-filter:blur(16px) !important;
}
.site-header .brand::before,
.site-header .brand::after,
.site-header .brand.brand-with-real-logo::before,
.site-header .brand.brand-with-real-logo::after{
  content:none !important;
  display:none !important;
}

/* v99: 実績一覧カード内の3点セット見出しは黒に戻す */
.works-grid[data-panel="set"] .case-card:first-child h3,
.works-grid[data-panel="set"] .case-card:first-child h3 *,
.case-card[href="/works/standard-plan/"] h3{
  color:var(--black, #080a07) !important;
  text-shadow:none !important;
}

/* ===== v100-game-changer-bigger ===== */
/* v100: GAME CHANGER を大きく表示 */
.about-link-catch{
  font-size:clamp(84px, 14vw, 180px) !important;
  line-height:.86 !important;
  letter-spacing:.1em !important;
}
@media (max-width: 860px){
  .about-link-catch{
    font-size:clamp(44px, 14vw, 78px) !important;
    line-height:.92 !important;
  }
}

/* ===== v101-footer-logo-cleanup ===== */
/* v101: フッターロゴ枠・アンダーバー削除 + テキスト更新 */
.site-footer .footer-branding .brand,
.site-footer-v64 .footer-branding .brand,
.site-footer-v65 .footer-branding .brand,
footer .footer-branding .brand{
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  backdrop-filter:none !important;
}
.site-footer .footer-branding .brand::before,
.site-footer-v64 .footer-branding .brand::before,
.site-footer-v65 .footer-branding .brand::before,
footer .footer-branding .brand::before,
.site-footer .footer-branding .brand::after,
.site-footer-v64 .footer-branding .brand::after,
.site-footer-v65 .footer-branding .brand::after,
footer .footer-branding .brand::after{
  display:none !important;
  content:none !important;
}
.site-footer .footer-branding .brand .footer-logo-sample,
footer .footer-branding .brand .footer-logo-sample{
  margin:0 !important;
}
.site-footer .footer-lead,
footer .footer-lead{
  margin:14px 0 0 !important;
  font-size:clamp(24px, 2vw, 32px) !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  color:#080a07 !important;
}
@media(max-width:680px){
  .site-footer .footer-lead,
  footer .footer-lead{
    margin-top:12px !important;
    font-size:22px !important;
    line-height:1.18 !important;
  }
}

/* ===== v102-menu-badge-white ===== */
/* v102: ハンバーガー展開時のバッジを白ベースに調整 */
.menu-popular-badge{
  background:linear-gradient(180deg,#ffffff 0%, #f6f6f4 100%) !important;
  color:#0a0b10 !important;
  border:1px solid rgba(10,11,16,.16) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.95) inset,
    0 8px 18px rgba(10,11,16,.10),
    0 2px 6px rgba(10,11,16,.06) !important;
  animation:popularBadgePulseWhite 1.8s ease-in-out infinite !important;
}
.menu-popular-badge::before{
  color:#0a0b10 !important;
}
.menu-popular-badge::after{
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0) 18%,rgba(255,255,255,.98) 50%,rgba(255,255,255,0) 82%,transparent 100%) !important;
  mix-blend-mode:screen !important;
}
.menu-nav__featured a.is-primary .menu-popular-badge::before{
  color:#0a0b10 !important;
}
@keyframes popularBadgePulseWhite{
  0%,100%{
    transform:translateY(0) scale(1);
    filter:brightness(1);
    box-shadow:0 0 0 1px rgba(255,255,255,.95) inset,0 8px 18px rgba(10,11,16,.10),0 2px 6px rgba(10,11,16,.06);
  }
  50%{
    transform:translateY(-1px) scale(1.05);
    filter:brightness(1.03);
    box-shadow:0 0 0 1px rgba(255,255,255,.98) inset,0 12px 22px rgba(10,11,16,.14),0 4px 10px rgba(10,11,16,.08);
  }
}

/* ===== v103-footer-layout-update ===== */
.footer-brand-row{
  display:flex;
  align-items:center;
  gap:24px;
}
.footer-brand-logo-only{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:132px;
  min-width:132px;
  height:132px;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none !important;
}
.footer-brand-logo-only::before,
.footer-brand-logo-only::after,
.footer-brand-logo-only span{display:none !important; content:none !important;}
.footer-brand-logo-only img{
  display:block;
  width:132px;
  height:132px;
  object-fit:contain;
  border:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
.footer-brand-copy-block{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  min-width:0;
}
.footer-branding .footer-lead{
  margin:0;
  max-width:none;
  font-size:clamp(28px,3vw,44px);
  line-height:1.03;
  letter-spacing:-.03em;
}
.footer-brand-subcopy{
  margin:0;
  font-size:15px;
  line-height:1.45;
  font-weight:900;
  color:rgba(8,10,7,.82);
}
@media (max-width: 980px){
  .footer-brand-row{gap:18px;}
  .footer-brand-logo-only{width:110px;min-width:110px;height:110px;}
  .footer-brand-logo-only img{width:110px;height:110px;}
  .footer-branding .footer-lead{font-size:clamp(28px,4.2vw,44px);}
  .footer-brand-subcopy{font-size:15px;}
}
@media (max-width: 680px){
  .footer-brand-row{align-items:center;gap:14px;}
  .footer-brand-logo-only{width:78px;min-width:78px;height:78px;}
  .footer-brand-logo-only img{width:78px;height:78px;}
  .footer-branding .footer-lead{font-size:26px;line-height:1.04;}
  .footer-brand-subcopy{font-size:12px;line-height:1.5;}
}

/* ===== masakari-v8-mobile-polish ===== */
/* v8: スマホ調整・横スクロール・行間・実績件数・About背景比率 */

/* 全体的に詰まりすぎている箇所の行間を少し広げる */
p,
.lead,
.hero-lead,
.section-lead,
.copy,
.card p,
.service-card p,
.case-card p,
.publish-card p,
.footer-lead,
.menu-featured-note{
  line-height:1.82 !important;
}

h1, h2, h3,
.hero-title,
.section-title,
.case-card h3,
.pickup-card strong{
  line-height:1.04 !important;
}

/* 横スクロール帯を指で操作できるようにする */
.pickup-track,
.pickup-list,
.pickup-marquee,
.pickup-strip-track,
.scroll-track,
.marquee-track,
[class*="pickup-track"],
[class*="marquee-track"]{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-x !important;
  overscroll-behavior-x:contain !important;
  scroll-snap-type:x mandatory;
  cursor:grab;
}
.pickup-track:active,
.pickup-list:active,
.pickup-marquee:active,
.pickup-strip-track:active,
.scroll-track:active,
.marquee-track:active,
[class*="pickup-track"]:active,
[class*="marquee-track"]:active{
  cursor:grabbing;
}

/* 自動スクロール中でも手で触った時に邪魔になりにくく */
.pickup-track:hover,
.pickup-list:hover,
.pickup-marquee:hover,
.pickup-strip-track:hover,
.scroll-track:hover,
.marquee-track:hover,
[class*="pickup-track"]:hover,
[class*="marquee-track"]:hover{
  animation-play-state:paused !important;
}
.pickup-card,
[class*="pickup-card"]{
  scroll-snap-align:start;
}

/* スクロールバーは薄く */
.pickup-track::-webkit-scrollbar,
.pickup-list::-webkit-scrollbar,
.pickup-marquee::-webkit-scrollbar,
.pickup-strip-track::-webkit-scrollbar,
.scroll-track::-webkit-scrollbar,
.marquee-track::-webkit-scrollbar{
  height:6px;
}
.pickup-track::-webkit-scrollbar-thumb,
.pickup-list::-webkit-scrollbar-thumb,
.pickup-marquee::-webkit-scrollbar-thumb,
.pickup-strip-track::-webkit-scrollbar-thumb,
.scroll-track::-webkit-scrollbar-thumb,
.marquee-track::-webkit-scrollbar-thumb{
  background:rgba(8,10,7,.18);
  border-radius:999px;
}

/* 実績紹介：各カテゴリ最大3件表示 */
.works-grid[data-panel] .case-card:nth-of-type(n+4),
.works-grid[data-panel] > *:nth-of-type(n+4){
  display:none !important;
}

/* スマホで見出しが詰まりすぎるのを緩和 */
@media (max-width: 760px){
  body{
    line-height:1.72;
  }
  .hero-title,
  .hero h1,
  .section-title,
  .title h2,
  .works-title,
  .about-title,
  h1,
  h2{
    line-height:1.08 !important;
    letter-spacing:-.055em !important;
  }
  p,
  .lead,
  .hero-lead,
  .section-lead,
  .copy,
  .card p,
  .case-card p{
    line-height:1.9 !important;
  }

  /* About Usを見る系の大きな背景カードを4:5に */
  .about-link-card,
  .about-movie-card,
  .about-visual-card,
  .gamechanger-card,
  .about-us-card,
  [class*="about-link"],
  [class*="gamechanger"]{
    aspect-ratio:4 / 5 !important;
    min-height:auto !important;
  }

  /* その中の中央寄せボタン・テキストが窮屈にならないように */
  .about-link-card,
  .about-movie-card,
  .about-visual-card,
  .gamechanger-card{
    display:grid !important;
    place-items:center !important;
  }

  /* 横スクロール帯はスマホでちゃんと横に流れるサイズ感 */
  .pickup-card,
  [class*="pickup-card"]{
    min-width:280px !important;
  }
}

/* ===== masakari-v9-pickup-card-fix ===== */
/* v9: 横スクロールカードの文字はみ出し修正 */
.pickup-card,
[class*="pickup-card"]{
  width:320px !important;
  min-width:320px !important;
  max-width:320px !important;
  overflow:hidden !important;
  padding:18px 18px 20px !important;
}

.pickup-card strong,
[class*="pickup-card"] strong{
  max-width:100% !important;
  display:block !important;
  font-size:clamp(20px, 1.75vw, 25px) !important;
  line-height:1.12 !important;
  letter-spacing:-.055em !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
  text-wrap:balance;
}

.pickup-card small,
[class*="pickup-card"] small{
  max-width:100% !important;
  display:block !important;
  font-size:12px !important;
  line-height:1.65 !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
}

/* 3点セットカードはタイトル幅を狭めすぎない */
.pickup-card.featured strong{
  max-width:86% !important;
}

/* Instagramなど長いサービス名はカード内で自然に収める */
.pickup-card:not(.featured) strong{
  padding-right:4px !important;
}

/* スマホではカード幅を画面に合わせて少しだけ小さく */
@media (max-width:760px){
  .pickup-card,
  [class*="pickup-card"]{
    width:286px !important;
    min-width:286px !important;
    max-width:286px !important;
    padding:16px 16px 18px !important;
  }

  .pickup-card strong,
  [class*="pickup-card"] strong{
    font-size:22px !important;
    line-height:1.12 !important;
    letter-spacing:-.06em !important;
  }

  .pickup-card small,
  [class*="pickup-card"] small{
    font-size:11.5px !important;
    line-height:1.65 !important;
  }
}

/* ===== masakari-v10-remove-pickup-scroll ===== */
/* v10: メインビジュアル下の横スクロールカード帯を削除 */
.pickup-strip,
.ticker.pickup-strip,
section.pickup-strip,
div.pickup-strip{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

/* 削除後、次のWORKSセクションとの余白を自然に調整 */
.pickup-strip + section,
.pickup-strip + .works,
.pickup-strip + .section{
  margin-top:0 !important;
}

/* ヒーロー下の境界線が残る場合の調整 */
.hero + .pickup-strip{
  border:0 !important;
}

/* ===== masakari-v12-force-green-card ===== */
/* v12: 右3点セットカードの蛍光色を強制的に蛍光グリーンへ */
.hero-card.plan-card,
.plan-card.hero-card,
.hero-card.plan-card *,
.plan-card.hero-card *{
  --pink:#b7ff00 !important;
}

.hero-card.plan-card,
.plan-card.hero-card{
  border-color:#b7ff00 !important;
  box-shadow:
    0 0 0 1px rgba(183,255,0,.32) inset,
    0 0 28px rgba(183,255,0,.32),
    8px 8px 0 rgba(183,255,0,.9) !important;
}

.hero-card.plan-card .plan-card-title,
.plan-card.hero-card .plan-card-title{
  color:#b7ff00 !important;
  text-shadow:0 0 16px rgba(183,255,0,.24) !important;
}

.hero-card.plan-card .plan-simple-price,
.hero-card.plan-card .plan-card-link,
.plan-card.hero-card .plan-simple-price,
.plan-card.hero-card .plan-card-link{
  border-color:#b7ff00 !important;
  box-shadow:
    6px 6px 0 #b7ff00,
    0 0 20px rgba(183,255,0,.18) !important;
}

.hero-card.plan-card .hero-real-mockup,
.plan-card.hero-card .hero-real-mockup{
  border-color:rgba(183,255,0,.42) !important;
}

.hero-card.plan-card .mock-phone-circles i,
.hero-card.plan-card .mock-phone-cta,
.hero-card.plan-card .mock-web-hero em,
.plan-card.hero-card .mock-phone-circles i,
.plan-card.hero-card .mock-phone-cta,
.plan-card.hero-card .mock-web-hero em{
  background:#b7ff00 !important;
  color:#080a07 !important;
}

.hero-card.plan-card::before,
.hero-card.plan-card::after,
.hero-card.plan-card .plan-card-head::before,
.plan-card.hero-card::before,
.plan-card.hero-card::after,
.plan-card.hero-card .plan-card-head::before{
  border-color:rgba(183,255,0,.45) !important;
}

/* 残ったピンクSVGやグローを緑に変換 */
.hero-card.plan-card,
.plan-card.hero-card{
  filter:none !important;
}
.hero-card.plan-card [style],
.plan-card.hero-card [style]{
  filter:hue-rotate(84deg) saturate(1.35) !important;
}

/* ===== masakari-v13-column-mobile-onecol ===== */
/* v13: スマホ表示のコラムセクションを1カラム化して読みやすく調整 */
@media (max-width: 760px){

  /* コラム一覧を1カラムに */
  .publish-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
    margin-top:26px !important;
  }

  .publish-card{
    width:100% !important;
    border-radius:24px !important;
    overflow:hidden !important;
    box-shadow:0 14px 34px rgba(8,10,7,.08) !important;
  }

  /* 画像は横長で大きく。カードが縦に美しく見える比率 */
  .publish-thumb{
    aspect-ratio: 16 / 9 !important;
    min-height:auto !important;
    border-bottom:1px solid rgba(8,10,7,.08) !important;
  }

  .publish-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .publish-body{
    padding:20px 20px 22px !important;
  }

  .publish-meta{
    gap:10px !important;
    font-size:12px !important;
    line-height:1.4 !important;
    margin-bottom:14px !important;
  }

  .publish-tag{
    min-height:34px !important;
    padding:0 12px !important;
    font-size:10px !important;
    letter-spacing:.12em !important;
  }

  .publish-card h3{
    margin:0 0 14px !important;
    font-size:clamp(25px, 7.4vw, 34px) !important;
    line-height:1.12 !important;
    letter-spacing:-.055em !important;
    word-break:keep-all !important;
    overflow-wrap:break-word !important;
  }

  .publish-card p{
    font-size:15px !important;
    line-height:1.9 !important;
    letter-spacing:.01em !important;
    color:#424842 !important;
    font-weight:800 !important;
    word-break:keep-all !important;
    overflow-wrap:break-word !important;
  }

  .publish-link{
    margin-top:18px !important;
    padding-top:16px !important;
    font-size:14px !important;
  }

  /* コラムセクション前後の余白もスマホ向けに整える */
  #column,
  section[id*="column"],
  .column-section{
    padding-top:64px !important;
    padding-bottom:70px !important;
  }
}

/* さらに狭い画面では余白を少しコンパクトに */
@media (max-width: 420px){
  .publish-body{
    padding:18px 18px 20px !important;
  }

  .publish-card h3{
    font-size:26px !important;
    line-height:1.14 !important;
  }

  .publish-card p{
    font-size:14.5px !important;
    line-height:1.85 !important;
  }
}

/* ===== masakari-v14-remove-pale-green-bg ===== */
/* v14: 背景に敷いている淡い蛍光グリーンを削除。
   ボタン・アクセントの蛍光グリーンは残し、背景だけ白ベースに戻す */

/* ページ全体の淡い緑グラデーションを削除 */
body{
  background:
    linear-gradient(rgba(8,10,7,.038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,10,7,.038) 1px, transparent 1px),
    #ffffff !important;
  background-size:42px 42px !important;
}

/* 疑似要素で出している淡いグリーン円・にじみを削除 */
body::before,
body::after,
.hero::before,
.hero::after,
.standard::before,
.standard::after,
section::before,
section::after{
  background-color:transparent !important;
}

/* メインビジュアルやサービス詳細周辺の大きな淡い緑円を消す */
.bg-orb,
.bg-circle,
.green-orb,
.green-bg,
.floating-bg,
.hero-bg-shape,
.standard-bg,
.standard-bg-shape,
[class*="bg-orb"],
[class*="green-orb"],
[class*="bg-circle"],
[class*="background-orb"]{
  display:none !important;
}

/* セクション背景は白に統一 */
.hero,
.standard,
section,
main{
  background-color:#ffffff !important;
}

/* グリッド背景だけは薄く残す */
.hero,
.standard,
section{
  background-image:
    linear-gradient(rgba(8,10,7,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,10,7,.035) 1px, transparent 1px) !important;
  background-size:42px 42px !important;
}

/* カードやパネルの内側背景は白・薄グレーに */
.standard-box,
.standard-main,
.standard-sub,
.panel,
.card,
.hero-card,
.plan-card,
.about-link-box,
.cta-box,
.footer-shell{
  background-color:#ffffff !important;
}

/* 標準プラン周りの左右に出ていた淡い緑背景を完全に白へ */
.standard{
  background:#ffffff !important;
}

/* SVGや動画上にかぶっている淡い緑オーバーレイを抑える */
.hero-bg::after,
.masakari-hero-video-overlay,
.about-link-overlay{
  background:
    linear-gradient(90deg, rgba(255,255,255,.48) 0%, rgba(255,255,255,.28) 48%, rgba(255,255,255,.50) 100%) !important;
}

/* case/cardなどの淡い緑のにじみだけ削除。ボタン類は触らない */
.case-card::before,
.publish-card::before,
.service-link::before,
.panel.dark::before,
.cta-box::before{
  opacity:0 !important;
  background:transparent !important;
}

/* スマホも白背景で統一 */
@media (max-width:760px){
  body,
  .hero,
  .standard,
  section,
  main{
    background-color:#ffffff !important;
  }
}

/* ===== masakari-v15-loader-bg-clean ===== */
/* v15: ローディング画面の淡い緑背景を削除 */
.masakari-loader{
  background:#ffffff !important;
}

.masakari-loader::before,
.masakari-loader::after,
.loader-inner::before,
.loader-inner::after{
  background:transparent !important;
  display:none !important;
  content:none !important;
}

/* ロゴ背面の淡いグリーンのオーラも削除 */
.loader-mark::before,
.loader-mark::after{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:0 !important;
}

/* ローディングバーだけは視認性のため黒グレーに */
.loader-bar{
  background:#ffffff !important;
  border:1px solid rgba(8,10,7,.18) !important;
}

.loader-bar span{
  background:linear-gradient(90deg,#111111 0%, #666666 100%) !important;
}

/* ブランド周りの色も白黒ベースに */
.loader-brand{
  color:#080a07 !important;
}

.loader-copy{
  color:rgba(8,10,7,.58) !important;
}

/* ===== masakari-v16-loader-impact ===== */
/* v16: ローディングアニメーションを激しく、インパクト重視に変更 */
.masakari-loader{
  background:#ffffff !important;
  overflow:hidden !important;
}

.masakari-loader::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:-30% !important;
  background:
    conic-gradient(from 0deg,
      transparent 0deg,
      transparent 35deg,
      rgba(8,10,7,.08) 55deg,
      transparent 80deg,
      transparent 130deg,
      rgba(8,10,7,.06) 160deg,
      transparent 190deg,
      transparent 250deg,
      rgba(8,10,7,.05) 285deg,
      transparent 320deg,
      transparent 360deg) !important;
  animation:loaderImpactSpin 1.05s linear infinite !important;
  z-index:0 !important;
  opacity:.78 !important;
  pointer-events:none !important;
}

.masakari-loader::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:-15% !important;
  top:50% !important;
  width:130% !important;
  height:2px !important;
  background:#080a07 !important;
  transform:translateY(-50%) rotate(-8deg) scaleX(0) !important;
  animation:loaderSlash 1.25s cubic-bezier(.2,.9,.2,1) infinite !important;
  z-index:1 !important;
  opacity:.85 !important;
  pointer-events:none !important;
}

.loader-inner{
  position:relative !important;
  z-index:2 !important;
  animation:loaderInnerShock 1.7s cubic-bezier(.2,.9,.2,1) infinite !important;
}

.loader-mark{
  position:relative !important;
  width:150px !important;
  height:150px !important;
  display:grid !important;
  place-items:center !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  isolation:isolate !important;
}

.loader-mark::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:18px !important;
  border:3px solid #080a07 !important;
  border-radius:50% !important;
  background:transparent !important;
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
  animation:loaderRingCrash 1.15s cubic-bezier(.17,.9,.25,1) infinite !important;
}

.loader-mark::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:4px !important;
  border:2px dashed rgba(8,10,7,.58) !important;
  border-radius:50% !important;
  background:transparent !important;
  opacity:1 !important;
  filter:none !important;
  box-shadow:none !important;
  animation:loaderRingRotate .72s linear infinite reverse !important;
}

.loader-logo-img{
  width:108px !important;
  height:108px !important;
  object-fit:contain !important;
  filter:none !important;
  transform-origin:center center !important;
  animation:loaderLogoPunch 1.15s cubic-bezier(.18,.95,.2,1) infinite !important;
  z-index:3 !important;
}

.loader-brand{
  margin-top:8px !important;
  color:#080a07 !important;
  animation:loaderTextGlitch 1.15s steps(2,end) infinite !important;
  text-shadow:
    3px 0 0 rgba(8,10,7,.16),
    -3px 0 0 rgba(8,10,7,.10) !important;
}

.loader-copy{
  color:rgba(8,10,7,.62) !important;
  animation:loaderCopyFlicker 1.4s linear infinite !important;
}

.loader-bar{
  height:12px !important;
  border:1px solid rgba(8,10,7,.38) !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:4px 4px 0 #080a07 !important;
}

.loader-bar span{
  background:#080a07 !important;
  width:38% !important;
  animation:loaderBarImpact .58s cubic-bezier(.2,.9,.2,1) infinite !important;
}

@keyframes loaderImpactSpin{
  0%{transform:rotate(0deg) scale(1)}
  100%{transform:rotate(360deg) scale(1)}
}

@keyframes loaderSlash{
  0%{transform:translateY(-50%) rotate(-8deg) scaleX(0); opacity:0}
  18%{transform:translateY(-50%) rotate(-8deg) scaleX(1); opacity:.9}
  48%{transform:translateY(-50%) rotate(-8deg) scaleX(1); opacity:.18}
  70%,100%{transform:translateY(-50%) rotate(-8deg) scaleX(0); opacity:0}
}

@keyframes loaderInnerShock{
  0%,100%{transform:translate(0,0)}
  9%{transform:translate(-4px,2px)}
  12%{transform:translate(5px,-3px)}
  16%{transform:translate(-2px,4px)}
  22%{transform:translate(0,0)}
}

@keyframes loaderRingCrash{
  0%{transform:scale(.62) rotate(0deg); opacity:0}
  14%{transform:scale(1.05) rotate(18deg); opacity:1}
  32%{transform:scale(.88) rotate(-10deg); opacity:.9}
  58%{transform:scale(1.18) rotate(32deg); opacity:.35}
  100%{transform:scale(1.45) rotate(70deg); opacity:0}
}

@keyframes loaderRingRotate{
  0%{transform:rotate(0deg) scale(1)}
  100%{transform:rotate(360deg) scale(1)}
}

@keyframes loaderLogoPunch{
  0%{transform:scale(.42) rotate(-24deg); opacity:0}
  12%{transform:scale(1.38) rotate(9deg); opacity:1}
  22%{transform:scale(.88) rotate(-7deg)}
  34%{transform:scale(1.12) rotate(4deg)}
  52%{transform:scale(1) rotate(0deg)}
  70%{transform:scale(1.04) rotate(-2deg)}
  100%{transform:scale(.96) rotate(0deg)}
}

@keyframes loaderTextGlitch{
  0%,100%{transform:translateX(0); letter-spacing:.24em}
  18%{transform:translateX(-3px); letter-spacing:.30em}
  22%{transform:translateX(4px); letter-spacing:.18em}
  28%{transform:translateX(0); letter-spacing:.24em}
  62%{transform:skewX(-6deg)}
  66%{transform:skewX(4deg)}
  72%{transform:skewX(0)}
}

@keyframes loaderCopyFlicker{
  0%,100%{opacity:.68}
  15%{opacity:.25}
  18%{opacity:.86}
  34%{opacity:.42}
  38%{opacity:.7}
  76%{opacity:.34}
  80%{opacity:.76}
}

@keyframes loaderBarImpact{
  0%{transform:translateX(-120%) skewX(-18deg)}
  55%{transform:translateX(120%) skewX(-18deg)}
  100%{transform:translateX(260%) skewX(-18deg)}
}

@media (max-width:640px){
  .loader-mark{
    width:132px !important;
    height:132px !important;
  }

  .loader-logo-img{
    width:96px !important;
    height:96px !important;
  }

  .loader-brand{
    font-size:20px !important;
    letter-spacing:.18em !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .masakari-loader::before,
  .masakari-loader::after,
  .loader-inner,
  .loader-mark::before,
  .loader-mark::after,
  .loader-logo-img,
  .loader-brand,
  .loader-copy,
  .loader-bar span{
    animation:none !important;
  }
}

/* ===== masakari-v18-works-link-button ===== */
/* v18: 実績紹介セクション下に一覧ページへの導線ボタンを追加 */
.works-list-button-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:34px auto 0;
  width:100%;
}

.works-list-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:0 28px;
  border-radius:999px;
  background:var(--black, #080a07);
  color:#fff;
  border:1px solid var(--black, #080a07);
  box-shadow:7px 7px 0 var(--green, #b7ff00);
  font-size:15px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}

.works-list-button::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.18) 48%, transparent 72%);
  transform:translateX(-120%);
  transition:transform .55s ease;
}

.works-list-button span,
.works-list-button i{
  position:relative;
  z-index:1;
}

.works-list-button i{
  font-style:normal;
  font-size:18px;
  transition:transform .25s ease;
}

.works-list-button:hover{
  transform:translate(-2px,-2px);
  box-shadow:9px 9px 0 var(--green, #b7ff00);
  background:#fff;
  color:var(--black, #080a07);
}

.works-list-button:hover::before{
  transform:translateX(120%);
}

.works-list-button:hover i{
  transform:translateX(4px);
}

@media (max-width:760px){
  .works-list-button-wrap{
    margin-top:26px;
  }
  .works-list-button{
    width:100%;
    min-height:56px;
    padding:0 20px;
    box-shadow:5px 5px 0 var(--green, #b7ff00);
  }
}

/* ===== masakari-service-dark-panel-fix ===== */
/* =========================================
   SERVICEセクション 左側ダークパネル崩れ修正
========================================= */
#service .panel.dark.service-panel{
  background:#050505 !important;
  color:#ffffff !important;
  position:relative;
  overflow:hidden;
}

#service .panel.dark.service-panel::before{
  content:"";
  position:absolute;
  inset:auto -20% -30% auto;
  width:340px;
  height:340px;
  border-radius:50%;
  background:#b7ff00;
  filter:blur(18px);
  opacity:.16;
  pointer-events:none;
}

#service .panel.dark.service-panel .panel-head,
#service .panel.dark.service-panel .service-menu,
#service .panel.dark.service-panel .panel-more{
  position:relative;
  z-index:1;
}

#service .panel.dark.service-panel .panel-label{
  color:rgba(255,255,255,.72) !important;
}

#service .panel.dark.service-panel .panel-label::before{
  background:#b7ff00 !important;
  border:1px solid rgba(255,255,255,.18) !important;
}

#service .panel.dark.service-panel h3{
  color:#ffffff !important;
}

#service .panel.dark.service-panel p{
  color:rgba(255,255,255,.82) !important;
  opacity:1 !important;
}

/* 各メニューカード */
#service .panel.dark.service-panel .service-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px 14px;
  align-items:start;
  padding:16px 16px 15px;
  border-radius:20px;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#ffffff !important;
  text-decoration:none;
  box-shadow:none !important;
}

#service .panel.dark.service-panel .service-link:hover{
  background:rgba(183,255,0,.10) !important;
  box-shadow:6px 6px 0 rgba(183,255,0,.55) !important;
  transform:translate(-2px,-2px);
}

#service .panel.dark.service-panel .service-name{
  color:#ffffff !important;
  font-size:clamp(15px,1.45vw,20px);
  line-height:1.35;
  letter-spacing:-.03em;
  font-weight:900;
}

#service .panel.dark.service-panel .service-price{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#b7ff00 !important;
  border:1px solid #111111 !important;
  color:#111111 !important;
  font-size:12px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 0 18px rgba(183,255,0,.16);
}

#service .panel.dark.service-panel .service-desc{
  grid-column:1 / -1;
  color:rgba(255,255,255,.72) !important;
  font-size:12px;
  line-height:1.65;
  font-weight:800;
}

#service .panel.dark.service-panel .service-arrow{
  grid-column:1 / -1;
  width:max-content;
  font-size:12px;
  font-weight:900;
  color:#ffffff !important;
  border-bottom:2px solid currentColor;
}

#service .panel.dark.service-panel .panel-more.dark-more{
  color:#ffffff !important;
  border-bottom:2px solid currentColor;
  width:max-content;
  text-decoration:none;
}

/* 万一の白化・透明化対策 */
#service .panel.dark.service-panel *{
  mix-blend-mode:normal !important;
}

#service .panel.dark.service-panel .service-name,
#service .panel.dark.service-panel .service-desc,
#service .panel.dark.service-panel .service-arrow,
#service .panel.dark.service-panel .panel-more,
#service .panel.dark.service-panel h3,
#service .panel.dark.service-panel p{
  opacity:1 !important;
  visibility:visible !important;
}

/* ===== masakari-v24-true-hero-background-video ===== */
/* v24: メインビジュアル全体の一番後ろで動画をループ再生 */
.hero.hero-video-mode{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#ffffff !important;
}

.hero.hero-video-mode .hero-bg.motion-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:-3 !important;
  overflow:hidden !important;
  background:#111 !important;
  background-image:none !important;
}

.hero.hero-video-mode .hero-bg.motion-bg .hero-bg-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  opacity:1 !important;
  transform:scale(1.05) !important;
  filter:brightness(.48) saturate(.92) contrast(1.06) !important;
  z-index:0 !important;
}

.hero.hero-video-mode .hero-bg.motion-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background-image:
    linear-gradient(rgba(8,10,7,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,10,7,.045) 1px, transparent 1px) !important;
  background-size:42px 42px !important;
  opacity:.64 !important;
}

.hero.hero-video-mode .hero-bg.motion-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.82) 0%,
      rgba(255,255,255,.66) 32%,
      rgba(255,255,255,.42) 54%,
      rgba(255,255,255,.18) 74%,
      rgba(255,255,255,.08) 100%),
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.18)) !important;
}

.hero.hero-video-mode .hero-grid,
.hero.hero-video-mode .wrap,
.hero.hero-video-mode .hero-card,
.hero.hero-video-mode .hero-actions,
.hero.hero-video-mode .eyebrow,
.hero.hero-video-mode h1,
.hero.hero-video-mode .hero-copy{
  position:relative !important;
  z-index:3 !important;
}

.hero.hero-video-mode .hero-copy{
  color:#11130f !important;
  text-shadow:0 1px 14px rgba(255,255,255,.28) !important;
}

@media(max-width:860px){
  .hero.hero-video-mode .hero-bg.motion-bg .hero-bg-video{
    filter:brightness(.40) saturate(.88) contrast(1.05) !important;
    object-position:center center !important;
  }

  .hero.hero-video-mode .hero-bg.motion-bg::after{
    background:
      linear-gradient(180deg,
        rgba(255,255,255,.86) 0%,
        rgba(255,255,255,.70) 34%,
        rgba(255,255,255,.42) 62%,
        rgba(255,255,255,.16) 100%),
      linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.16)) !important;
  }
}

/* ===== masakari-v28-customizer-video-style ===== */
.hero.hero-video-mode{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

.hero.hero-video-mode .hero-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:-3 !important;
  overflow:hidden !important;
  background:#111 !important;
}

.hero.hero-video-mode .hero-bg video,
.hero.hero-video-mode .hero-bg .hero-bg-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  opacity:var(--masakari-hero-video-opacity, .55) !important;
  filter:brightness(.72) saturate(.9) contrast(1.04) !important;
  transform:scale(1.05) !important;
  z-index:0 !important;
}

.hero.hero-video-mode .hero-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background-image:
    linear-gradient(rgba(8,10,7,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,10,7,.045) 1px, transparent 1px) !important;
  background-size:42px 42px !important;
  opacity:.55 !important;
}

.hero.hero-video-mode .hero-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.78) 0%,
      rgba(255,255,255,.60) 34%,
      rgba(255,255,255,.36) 58%,
      rgba(255,255,255,.16) 78%,
      rgba(255,255,255,.08) 100%),
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.16)) !important;
}

.hero.hero-video-mode .hero-grid,
.hero.hero-video-mode .wrap,
.hero.hero-video-mode .hero-card,
.hero.hero-video-mode .hero-actions,
.hero.hero-video-mode .eyebrow,
.hero.hero-video-mode h1,
.hero.hero-video-mode .hero-copy{
  position:relative !important;
  z-index:3 !important;
}

@media(max-width:860px){
  .hero.hero-video-mode .hero-bg video,
  .hero.hero-video-mode .hero-bg .hero-bg-video{
    opacity:calc(var(--masakari-hero-video-opacity, .55) * .85) !important;
  }
}

/* ===== masakari-v30-crisp-hero-video ===== */
/* v30: メインビジュアル背景動画をくっきり表示。白膜・二重背景・ブレ感を抑制 */
.hero.hero-video-mode{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#101010 !important;
}

.hero.hero-video-mode .hero-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:-3 !important;
  overflow:hidden !important;
  background:#101010 !important;
  background-image:none !important;
}

.hero.hero-video-mode .hero-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background-image:
    linear-gradient(rgba(0,0,0,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.035) 1px, transparent 1px) !important;
  background-size:42px 42px !important;
  opacity:.22 !important;
  mix-blend-mode:multiply !important;
}

.hero.hero-video-mode .hero-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.30) 0%,
      rgba(255,255,255,.18) 32%,
      rgba(0,0,0,.05) 58%,
      rgba(0,0,0,.20) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.22)) !important;
  opacity:.82 !important;
  mix-blend-mode:normal !important;
}

/* 動画をはっきり表示 */
.hero.hero-video-mode .hero-bg video,
.hero.hero-video-mode .hero-bg .hero-bg-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  opacity:var(--masakari-hero-video-opacity, .88) !important;
  filter:brightness(.82) saturate(1.02) contrast(1.10) !important;
  transform:scale(1.01) !important;
  image-rendering:auto !important;
  backface-visibility:hidden !important;
  z-index:0 !important;
}

/* 文字・カードは必ず前面 */
.hero.hero-video-mode .hero-grid,
.hero.hero-video-mode .wrap,
.hero.hero-video-mode .hero-card,
.hero.hero-video-mode .hero-actions,
.hero.hero-video-mode .eyebrow,
.hero.hero-video-mode h1,
.hero.hero-video-mode .hero-copy{
  position:relative !important;
  z-index:3 !important;
}

/* 左側コピーだけは見えやすく、でも白膜ではなく軽いテキスト補正 */
.hero.hero-video-mode h1,
.hero.hero-video-mode .hero-copy,
.hero.hero-video-mode .eyebrow{
  text-shadow:0 1px 18px rgba(255,255,255,.22) !important;
}

/* 動画が濃い時でも本文は読めるように */
.hero.hero-video-mode .hero-copy{
  color:#080a07 !important;
}

/* スマホでは少し暗めにして可読性確保 */
@media(max-width:860px){
  .hero.hero-video-mode .hero-bg video,
  .hero.hero-video-mode .hero-bg .hero-bg-video{
    opacity:var(--masakari-hero-video-opacity, .82) !important;
    filter:brightness(.72) saturate(1.0) contrast(1.08) !important;
    transform:scale(1.02) !important;
  }

  .hero.hero-video-mode .hero-bg::after{
    background:
      linear-gradient(180deg,
        rgba(255,255,255,.34) 0%,
        rgba(255,255,255,.22) 34%,
        rgba(0,0,0,.08) 70%,
        rgba(0,0,0,.20) 100%) !important;
    opacity:.88 !important;
  }
}

/* ===== masakari-v32-green-header-logo ===== */
/* v32: ヘッダーロゴ背景を蛍光グリーンに変更。
   背景動画上でも見えるよう、黒枠・白抜きロゴ・影で整理 */

/* ヘッダー全体の白い帯は使わず、左ブランド部分だけ蛍光グリーン化 */
.site-header .nav,
header.site-header .nav{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* ロゴ背景：蛍光グリーンのピル型プレート */
.site-header .brand,
header.site-header .brand{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  min-height:58px !important;
  padding:8px 18px 8px 11px !important;
  border-radius:24px !important;
  background:
    linear-gradient(135deg, #c8ff1e 0%, #b7ff00 56%, #9fea00 100%) !important;
  border:1.5px solid rgba(8,10,7,.92) !important;
  box-shadow:
    7px 7px 0 rgba(8,10,7,.92),
    0 0 22px rgba(183,255,0,.38),
    inset 0 1px 0 rgba(255,255,255,.48) !important;
  overflow:visible !important;
  isolation:isolate !important;
}

/* うっすら斜めのハイライト */
.site-header .brand::before,
header.site-header .brand::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  background:
    linear-gradient(110deg,
      rgba(255,255,255,.55) 0%,
      rgba(255,255,255,.18) 24%,
      transparent 46%,
      rgba(8,10,7,.06) 100%) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

/* 下の黒影を少しずらして立体感 */
.site-header .brand::after,
header.site-header .brand::after{
  content:"" !important;
  position:absolute !important;
  left:20px !important;
  right:20px !important;
  bottom:-8px !important;
  height:8px !important;
  border-radius:999px !important;
  background:#080a07 !important;
  opacity:.95 !important;
  pointer-events:none !important;
  z-index:-1 !important;
}

/* ロゴ画像/マークは黒白で締める */
.site-header .brand img,
.site-header .brand .mark,
.site-header .brand .brand-logo,
.site-header .real-masakari-logo,
header.site-header .brand img,
header.site-header .brand .mark,
header.site-header .brand .brand-logo{
  position:relative !important;
  z-index:1 !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(8,10,7,.20) !important;
  border-radius:14px !important;
  box-shadow:
    0 4px 10px rgba(8,10,7,.16),
    inset 0 1px 0 rgba(255,255,255,.8) !important;
  filter:none !important;
}

/* 文字は黒固定。蛍光緑背景なのでシャドウは控えめ */
.site-header .brand strong,
.site-header .brand span,
header.site-header .brand strong,
header.site-header .brand span{
  position:relative !important;
  z-index:1 !important;
  color:#080a07 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.50) !important;
}

/* v31の短い下ラインは不要なので消す */
.site-header .brand > span::after,
header.site-header .brand > span::after{
  content:none !important;
  display:none !important;
}

/* ブランド名の可読性 */
.site-header .brand strong,
header.site-header .brand strong{
  font-weight:900 !important;
  letter-spacing:.03em !important;
}

.site-header .brand span,
header.site-header .brand span{
  color:rgba(8,10,7,.66) !important;
  font-weight:800 !important;
}

/* 右MENUボタンはロゴとトーンを合わせる */
.site-header .menu-toggle,
header.site-header .menu-toggle{
  background:rgba(245,246,241,.88) !important;
  border:1.5px solid rgba(8,10,7,.92) !important;
  box-shadow:7px 7px 0 #b7ff00 !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

/* ホバー時は少しだけ浮かせる */
.site-header .brand:hover,
header.site-header .brand:hover{
  transform:translate(-1px,-1px) !important;
  box-shadow:
    9px 9px 0 rgba(8,10,7,.92),
    0 0 28px rgba(183,255,0,.46),
    inset 0 1px 0 rgba(255,255,255,.55) !important;
}

/* スマホ調整 */
@media(max-width:680px){
  .site-header .brand,
  header.site-header .brand{
    min-height:52px !important;
    padding:7px 13px 7px 9px !important;
    gap:8px !important;
    border-radius:20px !important;
    box-shadow:
      5px 5px 0 rgba(8,10,7,.92),
      0 0 18px rgba(183,255,0,.34),
      inset 0 1px 0 rgba(255,255,255,.48) !important;
  }

  .site-header .brand img,
  .site-header .brand .mark,
  header.site-header .brand img,
  header.site-header .brand .mark{
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
  }

  .site-header .brand strong,
  header.site-header .brand strong{
    font-size:11px !important;
    letter-spacing:.02em !important;
  }

  .site-header .brand span,
  header.site-header .brand span{
    font-size:8px !important;
    letter-spacing:.10em !important;
  }

  .site-header .brand::after,
  header.site-header .brand::after{
    bottom:-6px !important;
    height:6px !important;
  }
}

/* ===== masakari-v33-header-logo-refine ===== */
/* v33: ヘッダーロゴ背景を蛍光グリーンに確実反映。ロゴマーク自体の枠・背景は完全に削除 */
.site-header .nav,
header.site-header .nav{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.site-header .brand,
.site-header .brand.brand-with-real-logo,
header.site-header .brand,
header.site-header .brand.brand-with-real-logo{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  width:max-content !important;
  max-width:min(78vw, 540px) !important;
  min-height:62px !important;
  padding:10px 18px 10px 12px !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#d4ff35 0%, #b8ff00 58%, #a4ee00 100%) !important;
  border:1.5px solid rgba(8,10,7,.92) !important;
  box-shadow:8px 8px 0 rgba(8,10,7,.94), 0 0 24px rgba(183,255,0,.34) !important;
  overflow:visible !important;
  isolation:isolate !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.site-header .brand::before,
.site-header .brand.brand-with-real-logo::before,
header.site-header .brand::before,
header.site-header .brand.brand-with-real-logo::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  background:linear-gradient(110deg, rgba(255,255,255,.48) 0%, rgba(255,255,255,.18) 28%, rgba(255,255,255,0) 52%) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

/* ロゴマーク画像に枠・白背景・角丸を一切入れない */
.site-header .brand img,
.site-header .brand .real-masakari-logo,
.site-header .brand .brand-logo,
.site-header .real-masakari-logo,
header.site-header .brand img,
header.site-header .brand .real-masakari-logo{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:58px !important;
  height:44px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  outline:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 2px 4px rgba(255,255,255,.18)) drop-shadow(0 6px 10px rgba(8,10,7,.14)) !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
}

.site-header .brand .mark,
header.site-header .brand .mark{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

.site-header .brand .brand-copy,
header.site-header .brand .brand-copy,
.site-header .brand strong,
.site-header .brand span,
header.site-header .brand strong,
header.site-header .brand span{
  position:relative !important;
  z-index:1 !important;
  color:#080a07 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.34) !important;
}

.site-header .brand .brand-copy strong,
header.site-header .brand .brand-copy strong{
  display:block !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}

.site-header .brand .brand-copy span,
header.site-header .brand .brand-copy span{
  display:block !important;
  margin-top:3px !important;
  color:rgba(8,10,7,.68) !important;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  white-space:nowrap !important;
}

.site-header .brand > span::after,
header.site-header .brand > span::after{
  content:none !important;
  display:none !important;
}

@media(max-width:680px){
  .site-header .brand,
  .site-header .brand.brand-with-real-logo,
  header.site-header .brand,
  header.site-header .brand.brand-with-real-logo{
    min-height:54px !important;
    max-width:calc(100vw - 104px) !important;
    gap:8px !important;
    padding:8px 12px 8px 10px !important;
    border-radius:20px !important;
    box-shadow:6px 6px 0 rgba(8,10,7,.94), 0 0 18px rgba(183,255,0,.28) !important;
  }

  .site-header .brand img,
  .site-header .brand .real-masakari-logo,
  header.site-header .brand img,
  header.site-header .brand .real-masakari-logo{
    width:48px !important;
    height:36px !important;
  }

  .site-header .brand .brand-copy strong,
  header.site-header .brand .brand-copy strong{
    font-size:11px !important;
    letter-spacing:.02em !important;
  }

  .site-header .brand .brand-copy span,
  header.site-header .brand .brand-copy span{
    font-size:8px !important;
    letter-spacing:.05em !important;
  }
}

/* ===== masakari-v35-main-plan-animated ===== */
/* v35: サブコピーを同色化 + メイン見出しにインパクトあるアニメーション */
.standard-main h2{
  position:relative !important;
  display:inline-block !important;
  color:#98ec00 !important;
  letter-spacing:-0.055em !important;
  line-height:.90 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.40),
    0 2px 0 rgba(8,10,7,.10),
    0 0 14px rgba(152,236,0,.16),
    0 0 32px rgba(152,236,0,.10) !important;
  will-change:transform, text-shadow, filter;
  animation: mainPlanImpactFloat 5.2s cubic-bezier(.22,.61,.36,1) infinite, mainPlanImpactGlow 3.6s ease-in-out infinite;
}
.standard-main h2::after{
  content:"";
  position:absolute;
  inset:-4% -6%;
  pointer-events:none;
  background:linear-gradient(110deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 36%,
    rgba(255,255,255,.28) 48%,
    rgba(255,255,255,0) 60%,
    rgba(255,255,255,0) 100%);
  transform:translateX(-120%) skewX(-18deg);
  filter:blur(2px);
  mix-blend-mode:screen;
  opacity:0;
  animation:titleSheenSweep 5.2s ease-in-out infinite;
}
.standard-main h2 small{
  display:block !important;
  margin-top:24px !important;
  color:inherit !important;
  font-size:clamp(20px,1.95vw,32px) !important;
  line-height:1.34 !important;
  font-weight:900 !important;
  letter-spacing:-0.03em !important;
  text-shadow:inherit !important;
  max-width:9.5em !important;
  opacity:.97 !important;
}
.standard-text{
  margin-top:30px !important;
}
@keyframes mainPlanImpactFloat{
  0%,100%{ transform:translate3d(0,0,0) rotate(0deg) scale(1); }
  12%{ transform:translate3d(4px,-3px,0) rotate(-0.7deg) scale(1.012); }
  24%{ transform:translate3d(-3px,4px,0) rotate(0.6deg) scale(1.004); }
  38%{ transform:translate3d(6px,0,0) rotate(-1deg) scale(1.018); }
  52%{ transform:translate3d(-4px,-2px,0) rotate(0.7deg) scale(1.01); }
  66%{ transform:translate3d(3px,3px,0) rotate(-0.45deg) scale(1.016); }
  82%{ transform:translate3d(-2px,1px,0) rotate(0.3deg) scale(1.006); }
}
@keyframes mainPlanImpactGlow{
  0%,100%{
    text-shadow:0 1px 0 rgba(255,255,255,.40),0 2px 0 rgba(8,10,7,.10),0 0 14px rgba(152,236,0,.16),0 0 32px rgba(152,236,0,.10);
    filter:drop-shadow(0 0 0 rgba(152,236,0,0));
  }
  50%{
    text-shadow:0 1px 0 rgba(255,255,255,.46),0 2px 0 rgba(8,10,7,.12),0 0 22px rgba(152,236,0,.26),0 0 50px rgba(152,236,0,.16);
    filter:drop-shadow(0 0 10px rgba(152,236,0,.12));
  }
}
@keyframes titleSheenSweep{
  0%,14%,100%{ opacity:0; transform:translateX(-120%) skewX(-18deg); }
  18%{ opacity:.72; }
  34%{ opacity:.58; transform:translateX(116%) skewX(-18deg); }
  40%{ opacity:0; }
}
@media (prefers-reduced-motion: reduce){
  .standard-main h2,
  .standard-main h2::after{
    animation:none !important;
  }
}
@media (max-width: 900px){
  .standard-main h2{
    font-size:clamp(56px,12vw,92px) !important;
    line-height:.92 !important;
  }
  .standard-main h2 small{
    margin-top:18px !important;
    font-size:clamp(17px,5.1vw,24px) !important;
    line-height:1.38 !important;
    max-width:none !important;
  }
}

/* ===== v38-menu-featured-stars ===== */
/* v38: ハンバーガー展開時の主力カード黒背景に星のきらめきを追加 */
.menu-nav__featured a.is-primary{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
}
.menu-nav__featured a.is-primary::before,
.menu-nav__featured a.is-primary::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}
.menu-nav__featured a.is-primary::before{
  background:
    radial-gradient(circle at 8% 18%, rgba(255,255,255,.95) 0 1.1px, transparent 1.7px),
    radial-gradient(circle at 14% 70%, rgba(255,255,255,.8) 0 1.3px, transparent 1.9px),
    radial-gradient(circle at 21% 38%, rgba(255,255,255,.9) 0 1px, transparent 1.6px),
    radial-gradient(circle at 28% 14%, rgba(255,255,255,.78) 0 1.4px, transparent 2px),
    radial-gradient(circle at 32% 54%, rgba(255,255,255,.88) 0 1px, transparent 1.6px),
    radial-gradient(circle at 40% 26%, rgba(255,255,255,.7) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 46% 72%, rgba(255,255,255,.94) 0 1.1px, transparent 1.8px),
    radial-gradient(circle at 55% 16%, rgba(255,255,255,.86) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 60% 46%, rgba(255,255,255,.78) 0 1px, transparent 1.6px),
    radial-gradient(circle at 67% 32%, rgba(255,255,255,.96) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 73% 66%, rgba(255,255,255,.82) 0 1px, transparent 1.7px),
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.9) 0 1.3px, transparent 2px),
    radial-gradient(circle at 84% 48%, rgba(255,255,255,.75) 0 1px, transparent 1.7px),
    radial-gradient(circle at 90% 76%, rgba(255,255,255,.95) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 94% 30%, rgba(255,255,255,.8) 0 1px, transparent 1.6px);
  opacity:.88;
  animation:menuStarsTwinkle 5.6s ease-in-out infinite alternate;
}
.menu-nav__featured a.is-primary::after{
  background:
    radial-gradient(circle at 18% 28%, rgba(183,255,0,.18), transparent 20%),
    radial-gradient(circle at 78% 74%, rgba(183,255,0,.14), transparent 18%),
    radial-gradient(circle at 56% 14%, rgba(255,255,255,.08), transparent 16%),
    radial-gradient(circle at 88% 24%, rgba(183,255,0,.12), transparent 16%);
  mix-blend-mode:screen;
  opacity:.85;
  animation:menuStarsDrift 10s linear infinite;
}
.menu-nav__featured a.is-primary > *{
  position:relative;
  z-index:1;
}
.menu-nav__featured a.is-primary .menu-arrow{z-index:2;}
@keyframes menuStarsTwinkle{
  0%{opacity:.55; transform:scale(1); filter:drop-shadow(0 0 0 rgba(255,255,255,0));}
  25%{opacity:.9; filter:drop-shadow(0 0 4px rgba(255,255,255,.22));}
  50%{opacity:.65;}
  75%{opacity:1; filter:drop-shadow(0 0 8px rgba(183,255,0,.28));}
  100%{opacity:.75; transform:scale(1.02); filter:drop-shadow(0 0 6px rgba(255,255,255,.18));}
}
@keyframes menuStarsDrift{
  0%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(-1.2%,1.4%,0) scale(1.03);}
  100%{transform:translate3d(1.2%,-1%,0) scale(1);}
}

/* ===== masakari-v43-about-video-bg ===== */
/* v43: About Usを見るセクションの背景動画化 */
.about-link-box.only-button{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

.about-link-box.only-button .about-link-bg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  z-index:-3 !important;
  overflow:hidden !important;
  background:#111 !important;
}

.about-link-box.only-button .about-video-bg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  opacity:var(--masakari-about-video-opacity, .62) !important;
  filter:brightness(.70) saturate(.94) contrast(1.06) !important;
  transform:scale(1.03) !important;
  z-index:0 !important;
}

/* 動画未設定時は従来の背景を維持 */
.about-link-box.only-button .about-video-bg:not([src]),
.about-link-box.only-button .about-video-bg[src=""]{
  display:none !important;
}

/* 白膜ではなく、薄い黒の乗算＋グリッド */
.about-link-box.only-button .about-link-bg::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background-image:
    linear-gradient(rgba(0,0,0,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.045) 1px, transparent 1px) !important;
  background-size:42px 42px !important;
  opacity:.34 !important;
  mix-blend-mode:multiply !important;
}

.about-link-box.only-button .about-link-overlay{
  z-index:-1 !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.28)),
    radial-gradient(circle at 20% 24%, rgba(183,255,0,.14), transparent 32%),
    radial-gradient(circle at 86% 18%, rgba(183,255,0,.09), transparent 22%) !important;
  mix-blend-mode:multiply !important;
  opacity:.86 !important;
}

.about-link-box.only-button .about-link-content{
  position:relative !important;
  z-index:2 !important;
}

.about-link-box.only-button .about-link-catch{
  text-shadow:
    0 2px 14px rgba(0,0,0,.34),
    0 0 24px rgba(183,255,0,.18) !important;
}

@media(max-width:760px){
  .about-link-box.only-button .about-video-bg{
    opacity:var(--masakari-about-video-opacity, .52) !important;
    filter:brightness(.62) saturate(.9) contrast(1.06) !important;
  }
}

/* ===== masakari-v48-top-polish ===== */
/* v48: トップページ追加調整 */

/* 1) メインビジュアル「デザインはそこそこに」に優しいアニメーション */
.soft-copy-anim{
  position:relative;
  display:inline-block;
  font-weight:900;
  isolation:isolate;
  animation:softCopyFloat 4.8s ease-in-out infinite;
}
.soft-copy-anim::after{
  content:"";
  position:absolute;
  left:-.18em;
  right:-.18em;
  bottom:.08em;
  height:.42em;
  border-radius:999px;
  background:rgba(183,255,0,.42);
  z-index:-1;
  transform-origin:left center;
  animation:softCopyUnderline 4.8s cubic-bezier(.22,.61,.36,1) infinite;
}
@keyframes softCopyFloat{
  0%,100%{transform:translateY(0)}
  45%{transform:translateY(-2px)}
  65%{transform:translateY(0)}
}
@keyframes softCopyUnderline{
  0%,100%{transform:scaleX(.68);opacity:.28}
  38%{transform:scaleX(1);opacity:.60}
  72%{transform:scaleX(.86);opacity:.38}
}

/* 2) Worksセクションのサブコピー削除後の余白調整 */
#works .lead:empty{
  display:none !important;
}
#works .section-head{
  margin-bottom:24px !important;
}

/* 3) Concept「感覚から設計へ」に設計っぽいスキャンアニメーション */
.concept-motion{
  position:relative;
  display:inline-block;
  isolation:isolate;
}
.concept-motion::before{
  content:"";
  position:absolute;
  inset:-.04em -.08em;
  z-index:-1;
  border-radius:.08em;
  background:
    linear-gradient(90deg, transparent 0%, rgba(183,255,0,.20) 18%, rgba(183,255,0,.78) 48%, rgba(183,255,0,.20) 78%, transparent 100%);
  transform:translateX(-105%) skewX(-12deg);
  animation:conceptScan 3.8s cubic-bezier(.22,.61,.36,1) infinite;
}
.concept-motion::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:.02em;
  height:.18em;
  border-radius:999px;
  background:#b7ff00;
  z-index:-2;
  animation:conceptLinePulse 3.8s ease-in-out infinite;
}
@keyframes conceptScan{
  0%,22%{transform:translateX(-105%) skewX(-12deg);opacity:0}
  34%{opacity:.95}
  58%{transform:translateX(105%) skewX(-12deg);opacity:.35}
  70%,100%{transform:translateX(105%) skewX(-12deg);opacity:0}
}
@keyframes conceptLinePulse{
  0%,100%{opacity:.58;transform:scaleX(.92)}
  45%{opacity:1;transform:scaleX(1)}
}

/* 4) AI集客まるごと3点セットのテキストをドクドク波打たせる */
.standard-main h2{
  transform-origin:48% 52%;
  animation:mainSetHeartbeat 2.65s cubic-bezier(.22,.61,.36,1) infinite !important;
}
.standard-main h2 small{
  color:inherit !important;
}
@keyframes mainSetHeartbeat{
  0%,100%{
    transform:scale(1) rotate(0deg);
    filter:drop-shadow(0 0 0 rgba(183,255,0,0));
    text-shadow:
      0 1px 0 rgba(255,255,255,.45),
      0 2px 0 rgba(8,10,7,.10),
      0 0 12px rgba(152,236,0,.08);
  }
  16%{
    transform:scale(1.018) rotate(-.45deg);
    filter:drop-shadow(0 0 10px rgba(183,255,0,.18));
  }
  26%{
    transform:scale(.992) rotate(.25deg);
  }
  38%{
    transform:scale(1.026) rotate(.45deg);
    filter:drop-shadow(0 0 18px rgba(183,255,0,.24));
    text-shadow:
      0 1px 0 rgba(255,255,255,.48),
      0 2px 0 rgba(8,10,7,.12),
      0 0 28px rgba(183,255,0,.22),
      0 0 54px rgba(183,255,0,.12);
  }
  54%{
    transform:scale(1) rotate(0deg);
  }
}

/* 5) フッターのロゴを大きく、キレよく */
.site-footer .footer-branding .brand,
.site-footer-v64 .footer-branding .brand,
.site-footer-v65 .footer-branding .brand,
footer .footer-branding .brand{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}
.site-footer .footer-branding .brand img,
.site-footer .footer-branding .footer-logo-sample,
.site-footer-v64 .footer-branding .brand img,
.site-footer-v65 .footer-branding .brand img,
footer .footer-branding .brand img,
footer .footer-branding .footer-logo-sample{
  width:clamp(132px, 15vw, 210px) !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  filter:
    drop-shadow(0 12px 22px rgba(8,10,7,.16))
    drop-shadow(0 0 18px rgba(183,255,0,.16)) !important;
  animation:footerLogoCut 5.2s cubic-bezier(.22,.61,.36,1) infinite;
}
.site-footer .footer-branding .brand strong,
footer .footer-branding .brand strong{
  font-size:clamp(24px, 3vw, 42px) !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
}
.footer-address{
  display:block;
  margin-top:14px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.06em;
  color:#666b61;
}
@keyframes footerLogoCut{
  0%,100%{transform:translateX(0) skewX(0deg)}
  9%{transform:translateX(4px) skewX(-6deg)}
  13%{transform:translateX(-2px) skewX(3deg)}
  17%{transform:translateX(0) skewX(0deg)}
}
@media(max-width:760px){
  .site-footer .footer-branding .brand,
  footer .footer-branding .brand{
    display:grid !important;
    justify-items:start !important;
    gap:10px !important;
  }
  .site-footer .footer-branding .brand img,
  footer .footer-branding .brand img,
  footer .footer-branding .footer-logo-sample{
    width:150px !important;
  }
}

/* ===== masakari-v49-footer-address-position ===== */
/* v49: フッター住所をカード内右下に移動 */
.footer-address{
  display:block !important;
  margin:0 !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  color:#666b61 !important;
  text-align:right !important;
}

.site-footer .footer-bottom,
.site-footer-v64 .footer-bottom,
.site-footer-v65 .footer-bottom,
footer .footer-bottom{
  align-items:center !important;
}

.site-footer .footer-bottom > div:last-child,
.site-footer-v64 .footer-bottom > div:last-child,
.site-footer-v65 .footer-bottom > div:last-child,
footer .footer-bottom > div:last-child{
  text-align:right !important;
  color:#666b61 !important;
  font-weight:900 !important;
}

@media(max-width:760px){
  .footer-address,
  .site-footer .footer-bottom > div:last-child,
  footer .footer-bottom > div:last-child{
    text-align:left !important;
    font-size:12px !important;
  }
}

/* ===== masakari-v50-footer-fix ===== */
/* v50: フッター修正 */
/* ① フッターロゴ周りの薄い緑の背景・光を削除 */
.site-footer .footer-branding .brand,
.site-footer-v64 .footer-branding .brand,
.site-footer-v65 .footer-branding .brand,
footer .footer-branding .brand,
.site-footer .brand:has(.footer-logo-sample),
footer .brand:has(.footer-logo-sample){
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
}

.site-footer .footer-branding .brand::before,
.site-footer .footer-branding .brand::after,
.site-footer-v64 .footer-branding .brand::before,
.site-footer-v64 .footer-branding .brand::after,
.site-footer-v65 .footer-branding .brand::before,
.site-footer-v65 .footer-branding .brand::after,
footer .footer-branding .brand::before,
footer .footer-branding .brand::after,
.site-footer .brand:has(.footer-logo-sample)::before,
.site-footer .brand:has(.footer-logo-sample)::after,
footer .brand:has(.footer-logo-sample)::before,
footer .brand:has(.footer-logo-sample)::after{
  content:none !important;
  display:none !important;
}

.site-footer .footer-branding img,
.site-footer .footer-logo-sample,
footer .footer-branding img,
footer .footer-logo-sample{
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
  filter:none !important;
}

/* フッター内の削除対象ナビが残った場合の保険 */
.site-footer a[href*="recruit"],
footer a[href*="recruit"]{
  display:none !important;
}

/* 住所を右下に配置 */
.footer-address{
  display:block !important;
  margin:0 !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  color:#666b61 !important;
  text-align:right !important;
}

.site-footer .footer-bottom,
.site-footer-v64 .footer-bottom,
.site-footer-v65 .footer-bottom,
footer .footer-bottom{
  align-items:center !important;
}

.site-footer .footer-bottom > div:last-child,
.site-footer-v64 .footer-bottom > div:last-child,
.site-footer-v65 .footer-bottom > div:last-child,
footer .footer-bottom > div:last-child{
  text-align:right !important;
  color:#666b61 !important;
  font-weight:900 !important;
}

@media(max-width:760px){
  .footer-address,
  .site-footer .footer-bottom > div:last-child,
  footer .footer-bottom > div:last-child{
    text-align:left !important;
    font-size:12px !important;
  }
}

/* ===== masakari-v51-social-buttons ===== */
/* v51: Instagram / YouTubeリンクボタン */
.masakari-social-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.masakari-social-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid #080a07;
  background:#ffffff;
  color:#080a07;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-decoration:none !important;
  box-shadow:5px 5px 0 #b7ff00;
  transition:transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease;
  overflow:hidden;
}

.masakari-social-link::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.34) 48%, transparent 72%);
  transform:translateX(-120%);
  transition:transform .55s ease;
}

.masakari-social-link:hover{
  transform:translate(-2px,-2px);
  box-shadow:7px 7px 0 #080a07;
}

.masakari-social-link:hover::before{
  transform:translateX(120%);
}

.masakari-social-link.instagram{
  background:linear-gradient(135deg,#ffffff 0%,#fff7ff 54%,#f2ffd6 100%);
}

.masakari-social-link.youtube{
  background:#080a07;
  color:#ffffff;
  box-shadow:5px 5px 0 #b7ff00;
}

.masakari-social-link.youtube:hover{
  background:#ffffff;
  color:#080a07;
}

.social-dot{
  position:relative;
  z-index:1;
  width:9px;
  height:9px;
  border-radius:999px;
  background:#b7ff00;
  border:1px solid #080a07;
  box-shadow:0 0 14px rgba(183,255,0,.58);
}

.masakari-social-link span:not(.social-dot),
.masakari-social-link{
  z-index:1;
}

.hero-social{
  margin-top:16px;
}

.menu-social{
  justify-content:flex-start;
}

.menu-panel__foot .menu-social{
  margin-left:auto;
}

.footer-social{
  margin:22px 0 0;
}

.site-footer .footer-social,
footer .footer-social{
  justify-content:flex-start;
}

@media(max-width:760px){
  .hero-social,
  .menu-social,
  .footer-social{
    width:100%;
  }
  .masakari-social-link{
    flex:1 1 140px;
  }
  .menu-panel__foot .menu-social{
    margin-left:0;
  }
}

/* ===== masakari-v52-operable-assets ===== */
/* =========================================================
   v52: 運用しやすさ優先
   - base64画像をassets/imagesへ分離
   - 右カード画像は assets/images/hero-card-mockup.png を差し替えるだけ
========================================================= */

/* 右カード内の差し替え画像 */
.hero-real-mockup.hero-real-mockup--image{
  position:relative !important;
  z-index:2 !important;
  height:210px !important;
  margin:2px 0 14px !important;
  border-radius:22px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(183,255,0,.24), transparent 38%),
    linear-gradient(135deg,#101115 0%,#17181c 52%,#08090c 100%) !important;
  border:1px solid rgba(183,255,0,.35) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 20px 42px rgba(0,0,0,.32),
    0 0 28px rgba(183,255,0,.13) !important;
  display:grid !important;
  place-items:center !important;
  padding:12px !important;
}

.hero-real-mockup.hero-real-mockup--image::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(120deg,rgba(255,255,255,.12),transparent 24%),
    radial-gradient(circle at 16% 80%,rgba(183,255,0,.10),transparent 34%) !important;
  pointer-events:none !important;
}

.hero-card-mockup-img{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.28)) !important;
}

/* 画像が変わっても崩れにくくする */
@media(max-width:860px){
  .hero-real-mockup.hero-real-mockup--image{
    height:190px !important;
    padding:10px !important;
  }
}

/* ===== masakari-v53-mobile-fix ===== */
/* =========================================================
   v53: スマホ表示崩れ修正
   - 横スクロール防止
   - メインプランをスマホでは1カラム化
   - 長いテキスト/ボタン/画像のはみ出し防止
========================================================= */
html,
body{
  max-width:100%;
  overflow-x:hidden !important;
}

img,
video,
svg{
  max-width:100%;
}

*{
  min-width:0;
}

@media(max-width:860px){
  .wrap{
    width:min(100% - 24px, 100%) !important;
    max-width:100% !important;
  }

  .site-header .nav,
  header.site-header .nav{
    width:calc(100% - 18px) !important;
    max-width:100% !important;
  }

  .brand.brand-with-real-logo{
    max-width:calc(100vw - 112px) !important;
  }

  /* メインプラン全体 */
  .standard{
    padding-top:54px !important;
    overflow:hidden !important;
  }

  .standard-box{
    width:100% !important;
    max-width:100% !important;
    border-radius:28px !important;
    overflow:hidden !important;
    box-shadow:7px 7px 0 var(--black) !important;
  }

  .standard-box::before{
    right:14px !important;
    top:14px !important;
    font-size:9px !important;
    padding:7px 10px !important;
    max-width:42vw !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .standard-inner{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
  }

  .standard-main{
    border-right:0 !important;
    border-bottom:2px solid var(--black) !important;
    padding:72px 22px 28px !important;
    width:100% !important;
    max-width:100% !important;
  }

  .standard-sub{
    padding:24px 20px 30px !important;
    width:100% !important;
    max-width:100% !important;
    gap:22px !important;
  }

  .standard-label{
    font-size:11px !important;
    letter-spacing:.16em !important;
    margin-bottom:18px !important;
  }

  .standard h2,
  .standard-main h2{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(50px, 18vw, 78px) !important;
    line-height:.92 !important;
    letter-spacing:-.08em !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }

  .standard h2 small,
  .standard-main h2 small{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:18px !important;
    font-size:clamp(17px, 5.2vw, 22px) !important;
    line-height:1.45 !important;
    letter-spacing:-.04em !important;
    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:anywhere !important;
  }

  .standard-text{
    width:100% !important;
    max-width:100% !important;
    margin-top:24px !important;
    font-size:15px !important;
    line-height:1.9 !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  .standard-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
  }

  .standard-actions .btn,
  .standard-actions a{
    width:100% !important;
    max-width:100% !important;
    min-height:56px !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    overflow:hidden !important;
  }

  .standard-price{
    width:100% !important;
    max-width:100% !important;
    padding:20px 18px !important;
    border-radius:22px !important;
    box-shadow:5px 5px 0 var(--black) !important;
    overflow:hidden !important;
  }

  .standard-price strong{
    font-size:clamp(42px, 14vw, 64px) !important;
    letter-spacing:-.08em !important;
    max-width:100% !important;
    white-space:nowrap !important;
  }

  .standard-price em{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    font-size:12px !important;
    line-height:1.75 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  .standard-price b{
    display:inline-flex !important;
    width:100% !important;
    max-width:100% !important;
    min-height:42px !important;
    align-items:center !important;
    justify-content:center !important;
    padding:8px 10px !important;
    margin-top:14px !important;
    line-height:1.35 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    border-radius:999px !important;
  }

  .standard-mockup{
    width:100% !important;
    max-width:100% !important;
    min-height:260px !important;
    padding:20px 14px 18px !important;
    overflow:hidden !important;
    border-radius:24px !important;
  }

  .standard-mockup .pc-mockup{
    width:88% !important;
    max-width:340px !important;
    transform:translateX(-8px) !important;
  }

  .standard-mockup .phone-mockup{
    right:6% !important;
    transform:rotate(7deg) scale(.92) !important;
    transform-origin:center bottom !important;
  }

  .standard-items{
    width:100% !important;
    max-width:100% !important;
  }

  .standard-items li{
    font-size:14px !important;
    line-height:1.55 !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  .note-box{
    font-size:12px !important;
    line-height:1.8 !important;
    overflow-wrap:anywhere !important;
  }
}

@media(max-width:430px){
  .hero{
    overflow:hidden !important;
  }

  .standard{
    padding-top:42px !important;
  }

  .standard .wrap{
    width:calc(100% - 18px) !important;
  }

  .standard-main{
    padding:70px 18px 26px !important;
  }

  .standard-sub{
    padding:22px 16px 28px !important;
  }

  .standard h2,
  .standard-main h2{
    font-size:clamp(48px, 17vw, 68px) !important;
  }

  .standard h2 small,
  .standard-main h2 small{
    font-size:clamp(16px, 5vw, 20px) !important;
  }

  .standard-price strong{
    font-size:clamp(40px, 13vw, 58px) !important;
  }

  .standard-mockup{
    min-height:250px !important;
  }
}

/* ===== masakari-v54-about-video-radius-fix ===== */
/* v54: About Us動画背景の角丸はみ出し修正 */
.about-link-box,
.about-link-box.only-button{
  position:relative !important;
  overflow:hidden !important;
  border-radius:28px !important;
  clip-path:inset(0 round 28px) !important;
  -webkit-mask-image:-webkit-radial-gradient(white, black) !important;
}

.about-link-box .about-link-bg,
.about-link-box.only-button .about-link-bg,
.about-link-box .about-link-overlay,
.about-link-box.only-button .about-link-overlay{
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  overflow:hidden !important;
  clip-path:inset(0 round 28px) !important;
}

.about-link-box video,
.about-link-box .about-video-bg,
.about-link-box.only-button video,
.about-link-box.only-button .about-video-bg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:inherit !important;
  overflow:hidden !important;
  clip-path:inset(0 round 28px) !important;
  transform:scale(1.03) !important;
}

.about-link-box .about-link-content,
.about-link-box.only-button .about-link-content{
  position:relative !important;
  z-index:3 !important;
}

@media(max-width:760px){
  .about-link-box,
  .about-link-box.only-button{
    border-radius:24px !important;
    clip-path:inset(0 round 24px) !important;
  }

  .about-link-box .about-link-bg,
  .about-link-box.only-button .about-link-bg,
  .about-link-box .about-link-overlay,
  .about-link-box.only-button .about-link-overlay,
  .about-link-box video,
  .about-link-box .about-video-bg,
  .about-link-box.only-button video,
  .about-link-box.only-button .about-video-bg{
    border-radius:24px !important;
    clip-path:inset(0 round 24px) !important;
  }
}

/* ===== masakari-v55-mobile-card-text-fix ===== */
/* v55: スマホ時、メインビジュアル右カード内のテキストはみ出し修正 */
@media(max-width:860px){
  .hero-card.plan-card,
  .plan-card.hero-card{
    width:calc(100vw - 28px) !important;
    max-width:calc(100vw - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:hidden !important;
    border-radius:28px !important;
    padding:22px 16px 20px !important;
  }

  .hero-card.plan-card *,
  .plan-card.hero-card *{
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .plan-card-title{
    font-size:clamp(38px, 12.8vw, 58px) !important;
    line-height:.96 !important;
    letter-spacing:-.07em !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    white-space:normal !important;
  }

  .hero-real-mockup.hero-real-mockup--image{
    height:clamp(178px, 47vw, 220px) !important;
    padding:10px !important;
    margin:14px 0 16px !important;
    border-radius:22px !important;
  }

  .hero-card-mockup-img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }

  .plan-card-copy{
    font-size:clamp(15px, 4vw, 17px) !important;
    line-height:1.65 !important;
    word-break:keep-all !important;
    overflow-wrap:anywhere !important;
    white-space:normal !important;
    margin-top:10px !important;
  }

  .plan-card-tags,
  .plan-card-pills,
  .plan-tags{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    width:100% !important;
  }

  .plan-card-tags span,
  .plan-card-pills span,
  .plan-tags span,
  .plan-card .pill,
  .plan-card .tag{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
    font-size:clamp(11px, 3.1vw, 13px) !important;
    line-height:1.2 !important;
    padding:8px 9px !important;
  }

  .plan-card-price,
  .plan-simple-price{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    padding:16px 14px !important;
    border-radius:22px !important;
  }

  .plan-card-price strong,
  .plan-simple-price strong{
    display:block !important;
    font-size:clamp(44px, 13vw, 64px) !important;
    line-height:1 !important;
    letter-spacing:-.08em !important;
    white-space:nowrap !important;
  }

  .plan-card-price em,
  .plan-simple-price em,
  .plan-card-price p,
  .plan-simple-price p{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(12px, 3.3vw, 14px) !important;
    line-height:1.6 !important;
    word-break:keep-all !important;
    overflow-wrap:anywhere !important;
    white-space:normal !important;
  }

  .plan-card-link,
  .hero-card.plan-card .plan-card-link{
    width:100% !important;
    max-width:100% !important;
    min-height:54px !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
  }
}

@media(max-width:430px){
  .hero-card.plan-card,
  .plan-card.hero-card{
    width:calc(100vw - 22px) !important;
    max-width:calc(100vw - 22px) !important;
    padding:20px 14px 18px !important;
  }

  .plan-card-title{
    font-size:clamp(36px, 12.2vw, 52px) !important;
  }

  .plan-card-copy{
    font-size:14px !important;
    line-height:1.7 !important;
  }

  .plan-card-tags span,
  .plan-card-pills span,
  .plan-tags span{
    flex:1 1 100% !important;
  }
}

/* ===== masakari-v56-plan-contents-update ===== */
/* v56: AI集客まるごと3点セット 内容変更 */
.plan-chip-row.in-price{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}
.plan-chip-row.in-price span{
  white-space:normal !important;
  min-width:0 !important;
  line-height:1.25 !important;
}
@media(max-width:860px){
  .plan-chip-row.in-price span{
    flex:1 1 calc(50% - 8px) !important;
    font-size:12px !important;
    padding:8px 9px !important;
  }
}
@media(max-width:430px){
  .plan-chip-row.in-price span{
    flex:1 1 100% !important;
  }
}

/* ===== masakari-v57-logo-path-fix ===== */
/* v57: static/top.html内のロゴ画像を確実に表示 */
.real-masakari-logo,
.loader-logo-img,
.real-footer-logo,
.footer-logo-sample{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  object-fit:contain !important;
}

.real-masakari-logo,
.loader-logo-img{
  width:58px !important;
  height:44px !important;
}

.real-footer-logo,
.footer-logo-sample{
  width:clamp(132px, 15vw, 210px) !important;
  height:auto !important;
}

@media(max-width:680px){
  .real-masakari-logo,
  .loader-logo-img{
    width:48px !important;
    height:36px !important;
  }
}

/* ===== masakari-v58-plan-price-layout-fix ===== */
/* v58: 3点セット価格・セット内容・画像表示・レイアウト崩れ修正 */

/* 画像が消えないようにstatic内画像を優先 */
.real-masakari-logo,
.loader-logo-img{
  display:block !important;
  width:58px !important;
  height:44px !important;
  object-fit:contain !important;
  opacity:1 !important;
  visibility:visible !important;
}

.hero-card-mockup-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  opacity:1 !important;
  visibility:visible !important;
}

.plan-simple-price{
  overflow:hidden !important;
}

.plan-contents-label{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  min-height:24px;
  align-items:center;
  justify-content:center;
  margin:0 0 10px;
  padding:0 10px;
  border-radius:999px;
  background:#b7ff00;
  color:#080a07;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 0 14px rgba(183,255,0,.22);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
}

.plan-chip-row.in-price{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:8px !important;
  width:100% !important;
  margin-bottom:14px !important;
}

.plan-chip-row.in-price span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  width:100% !important;
  min-height:34px !important;
  padding:7px 9px !important;
  border-radius:999px !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:keep-all !important;
  text-align:center !important;
  font-size:clamp(10px, .88vw, 12px) !important;
  line-height:1.2 !important;
  letter-spacing:-.02em !important;
}

.plan-simple-price strong,
.plan-card-price strong{
  display:block !important;
  white-space:nowrap !important;
}

.plan-simple-price em,
.plan-card-price em{
  display:block !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.65 !important;
}

@media(max-width:860px){
  .real-masakari-logo,
  .loader-logo-img{
    width:48px !important;
    height:36px !important;
  }

  .plan-chip-row.in-price{
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }

  .plan-chip-row.in-price span{
    min-height:32px !important;
    font-size:11px !important;
    padding:7px 8px !important;
  }

  .plan-contents-label{
    font-size:10px !important;
    margin-bottom:8px !important;
  }

  .plan-simple-price strong,
  .plan-card-price strong{
    font-size:clamp(44px, 13vw, 64px) !important;
  }
}

@media(max-width:430px){
  .plan-chip-row.in-price{
    grid-template-columns:1fr 1fr !important;
  }

  .plan-chip-row.in-price span{
    font-size:10px !important;
    min-height:31px !important;
    padding:6px 6px !important;
  }
}

/* ===== masakari-v59-plan-text-fix ===== */
/* v59: プラン説明文修正 */
.standard-price em{
  display:block !important;
  max-width:100% !important;
  line-height:1.65 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.standard-text{
  margin-top:30px !important;
}

@media(max-width:860px){
  .standard-price em{
    font-size:12px !important;
    line-height:1.7 !important;
  }
}

/* ===== masakari-v60-mobile-video-mockup-fix ===== */
/* =========================================================
   v60
   1. スマホ時、メインビジュアル背景動画の残像・二重表示を抑制
   2. まるごとプランのモックアップ画像を img タグで簡単差し替え
========================================================= */

/* まるごとプランのモックアップ画像：ここはimgタグだけで運用 */
.hero-real-mockup.hero-real-mockup--image{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  height:210px !important;
  margin:12px 0 16px !important;
  padding:12px !important;
  border-radius:22px !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(183,255,0,.22), transparent 38%),
    linear-gradient(135deg,#101115 0%,#17181c 52%,#08090c 100%) !important;
  border:1px solid rgba(183,255,0,.35) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 20px 42px rgba(0,0,0,.32),
    0 0 28px rgba(183,255,0,.13) !important;
}

.hero-real-mockup.hero-real-mockup--image::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(120deg,rgba(255,255,255,.10),transparent 24%),
    radial-gradient(circle at 16% 80%,rgba(183,255,0,.10),transparent 34%) !important;
}

.hero-card-mockup-img{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.30)) !important;
}

/* デスクトップでは動画はそのまま見せる */
.hero.hero-video-mode .hero-bg,
.hero.hero-video-mode .hero-bg.motion-bg{
  overflow:hidden !important;
  isolation:isolate !important;
}

/* スマホでは、背景動画の残像・ブレを抑えるため、動画と疑似背景をかなり薄くする */
@media(max-width:860px){
  .hero.hero-video-mode{
    background:
      radial-gradient(circle at 72% 16%, rgba(183,255,0,.20), transparent 36%),
      linear-gradient(135deg, #d5ea8a 0%, #b9d96f 50%, #93b86d 100%) !important;
    overflow:hidden !important;
    isolation:isolate !important;
  }

  .hero.hero-video-mode .hero-bg,
  .hero.hero-video-mode .hero-bg.motion-bg{
    position:absolute !important;
    inset:0 !important;
    overflow:hidden !important;
    background:transparent !important;
    background-image:none !important;
    transform:none !important;
    filter:none !important;
  }

  .hero.hero-video-mode .hero-bg::before,
  .hero.hero-video-mode .hero-bg.motion-bg::before{
    opacity:0 !important;
    display:none !important;
    content:none !important;
    background:none !important;
    animation:none !important;
  }

  .hero.hero-video-mode .hero-bg::after,
  .hero.hero-video-mode .hero-bg.motion-bg::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    pointer-events:none !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.30), rgba(0,0,0,.08)),
      linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.18)) !important;
    opacity:.55 !important;
    mix-blend-mode:normal !important;
    animation:none !important;
  }

  .hero.hero-video-mode .hero-bg video,
  .hero.hero-video-mode .hero-bg .hero-bg-video,
  .hero.hero-video-mode .hero-bg.motion-bg video,
  .hero.hero-video-mode .hero-bg.motion-bg .hero-bg-video{
    opacity:.26 !important;
    filter:brightness(.72) contrast(1.02) saturate(.82) !important;
    transform:scale(1.005) !important;
    object-fit:cover !important;
    object-position:center center !important;
    will-change:auto !important;
    backface-visibility:hidden !important;
    animation:none !important;
  }

  .hero-real-mockup.hero-real-mockup--image{
    height:clamp(178px, 47vw, 220px) !important;
    padding:10px !important;
    margin:14px 0 16px !important;
    border-radius:22px !important;
  }

  .hero-card-mockup-img{
    object-fit:contain !important;
  }
}

/* iPhone/Safariでさらに残像が出る場合の保険 */
@media(max-width:430px){
  .hero.hero-video-mode .hero-bg video,
  .hero.hero-video-mode .hero-bg .hero-bg-video,
  .hero.hero-video-mode .hero-bg.motion-bg video,
  .hero.hero-video-mode .hero-bg.motion-bg .hero-bg-video{
    opacity:.18 !important;
    filter:brightness(.66) contrast(1.02) saturate(.75) !important;
    transform:none !important;
  }

  .hero-real-mockup.hero-real-mockup--image{
    height:190px !important;
    padding:9px !important;
  }
}

/* ===== masakari-v61-plan-chip-layout-fix ===== */
/* v61: まるごとプランのセット内容チップ崩れ修正 */
.hero-card.plan-card .plan-simple-price{
  overflow:hidden !important;
}

.hero-card.plan-card .plan-simple-price .plan-contents-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 12px !important;
}

.hero-card.plan-card .plan-simple-price .plan-chip-row.in-price{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:8px !important;
  width:100% !important;
  margin:0 0 16px !important;
  align-items:stretch !important;
}

.hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:38px !important;
  padding:8px 10px !important;
  border-radius:999px !important;
  box-sizing:border-box !important;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:keep-all !important;
  line-height:1.2 !important;
  letter-spacing:-.02em !important;
  font-size:12px !important;
  font-weight:900 !important;
}

.hero-card.plan-card .plan-simple-price strong{
  margin-top:2px !important;
}

@media (max-width: 1180px){
  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
    font-size:11px !important;
    min-height:36px !important;
    padding:8px 8px !important;
  }
}

@media (max-width: 860px){
  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:7px !important;
    margin:0 0 14px !important;
  }

  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
    min-height:34px !important;
    font-size:10px !important;
    padding:7px 6px !important;
    line-height:1.15 !important;
  }
}

@media (max-width: 430px){
  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price{
    gap:6px !important;
  }

  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
    min-height:32px !important;
    font-size:9.5px !important;
    padding:6px 5px !important;
    border-radius:16px !important;
  }
}

/* ===== masakari-v62-official-images ===== */
/* v62: ユーザー指定の公式ロゴ・モックアップ画像を使用 */

/* ロゴは正方形寄りの画像なので、潰さず contain 表示 */
.real-masakari-logo,
.loader-logo-img{
  display:block !important;
  width:58px !important;
  height:44px !important;
  object-fit:contain !important;
  object-position:center center !important;
  opacity:1 !important;
  visibility:visible !important;
}

.footer-logo-sample,
.real-footer-logo{
  display:block !important;
  width:clamp(132px, 15vw, 210px) !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* 右カードのモックアップ画像 */
.hero-real-mockup.hero-real-mockup--image{
  position:relative !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
  padding:12px !important;
}

.hero-card-mockup-img{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.28)) !important;
}

@media(max-width:680px){
  .real-masakari-logo,
  .loader-logo-img{
    width:48px !important;
    height:36px !important;
  }
}

/* ===== masakari-v63-standard-mockup-img ===== */
/* v63: メインプラン右側のモックアップをHTML/CSS生成から1枚画像のimgタグへ変更 */
.standard-mockup.standard-mockup--image{
  position:relative !important;
  min-height:300px !important;
  height:auto !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 78% 22%, rgba(183,255,0,.18), transparent 28%),
    linear-gradient(180deg, #f8f8f8 0%, #f0f0f0 100%) !important;
  border:1px solid rgba(8,10,7,.08) !important;
  display:grid !important;
  place-items:center !important;
  padding:24px !important;
  isolation:isolate !important;
}

.standard-mockup.standard-mockup--image::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(120deg, rgba(255,255,255,.42), transparent 28%),
    radial-gradient(circle at 80% 16%, rgba(183,255,0,.16), transparent 34%) !important;
  z-index:0 !important;
}

.standard-mockup-img{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  max-width:460px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  filter:drop-shadow(0 18px 24px rgba(8,10,7,.12)) !important;
}

/* 古いHTML/CSSモックアップ用要素が残っても非表示 */
.standard-mockup.standard-mockup--image .mockup-glow,
.standard-mockup.standard-mockup--image .pc-mockup,
.standard-mockup.standard-mockup--image .phone-mockup{
  display:none !important;
}

@media(max-width:860px){
  .standard-mockup.standard-mockup--image{
    min-height:260px !important;
    padding:18px !important;
    border-radius:24px !important;
  }
  .standard-mockup-img{
    max-width:100% !important;
  }
}

@media(max-width:430px){
  .standard-mockup.standard-mockup--image{
    min-height:230px !important;
    padding:14px !important;
  }
}

/* ===== v56-menu-polish-final ===== */
.menu-nav__featured .menu-eyebrow{display:none!important}
.menu-nav__featured a .menu-no{
  min-width:auto!important;height:auto!important;border:none!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;padding:0!important;
  font-size:10px!important;letter-spacing:.22em!important;font-weight:700!important;
  color:rgba(8,10,7,.34)!important;margin-top:8px!important;align-self:start!important;
}
.menu-popular-badge{
  position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:6px;width:max-content;
  min-height:30px;padding:0 14px;border-radius:999px;border:1px solid var(--black);
  background:linear-gradient(180deg,#e8ff8a 0%,#b7ff00 46%,#d4ff58 100%)!important;
  color:var(--black);font-size:11px;letter-spacing:.10em;font-weight:900;line-height:1;overflow:hidden;
  box-shadow:0 0 0 1px rgba(8,10,7,.9),0 0 0 6px rgba(183,255,0,.14),0 0 28px rgba(183,255,0,.58),0 0 68px rgba(183,255,0,.42)!important;
  animation:popularBadgePulseFinal 1.35s ease-in-out infinite!important;
}
.menu-popular-badge::before{content:'✦';position:relative;z-index:2;font-size:12px;line-height:1}
.menu-popular-badge::after{
  content:'';position:absolute;inset:-45% auto -45% -35%;width:46%;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0) 18%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 82%,transparent 100%);
  transform:rotate(18deg) translateX(-140%);mix-blend-mode:screen;animation:popularBadgeShineFinal 1.55s linear infinite;z-index:1;
}
@keyframes popularBadgePulseFinal{
  0%,100%{transform:translateY(0) scale(1);filter:brightness(1);box-shadow:0 0 0 1px rgba(8,10,7,.9),0 0 0 5px rgba(183,255,0,.12),0 0 22px rgba(183,255,0,.45),0 0 52px rgba(183,255,0,.28)}
  50%{transform:translateY(-1px) scale(1.09);filter:brightness(1.16);box-shadow:0 0 0 1px rgba(8,10,7,.9),0 0 0 9px rgba(183,255,0,.20),0 0 38px rgba(183,255,0,.78),0 0 82px rgba(183,255,0,.52)}
}
@keyframes popularBadgeShineFinal{
  0%{transform:rotate(18deg) translateX(-150%)}
  100%{transform:rotate(18deg) translateX(390%)}
}
.menu-nav__secondary{gap:12px!important}
.menu-nav__secondary a{
  position:relative;overflow:hidden;padding:16px 20px!important;border-radius:20px!important;
  border:1px solid rgba(8,10,7,.10)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(247,248,244,.96) 100%)!important;
  box-shadow:6px 6px 0 rgba(183,255,0,.22);
  color:var(--black)!important;font-size:clamp(18px,2.3vw,28px)!important;font-weight:800!important;letter-spacing:-.03em;
  transition:transform .28s cubic-bezier(.2,.9,.2,1),box-shadow .28s ease,border-color .28s ease,background .28s ease!important;
}
.menu-nav__secondary a::before{
  content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(183,255,0,0) 0%,rgba(183,255,0,.10) 52%,rgba(183,255,0,0) 100%);
  transform:translateX(-108%);transition:transform .65s cubic-bezier(.2,.9,.2,1);pointer-events:none;
}
.menu-nav__secondary a span{font-size:10px!important;letter-spacing:.20em!important;font-weight:800!important;color:rgba(8,10,7,.38)!important}
.menu-nav__secondary a::after{content:'↗'!important;font-size:18px!important;opacity:.55!important;transition:transform .28s ease,opacity .28s ease}
.menu-nav__secondary a:hover{transform:translate(-3px,-3px);background:linear-gradient(180deg,rgba(248,255,227,.98) 0%,rgba(238,250,205,.98) 100%)!important;border-color:rgba(8,10,7,.18)!important;box-shadow:10px 10px 0 rgba(183,255,0,.42)!important}
.menu-nav__secondary a:hover::before{transform:translateX(108%)}
.menu-nav__secondary a:hover::after{transform:translate(2px,-2px);opacity:.95!important}
@media(max-width:860px){
  .menu-nav__featured a .menu-no{font-size:9px!important;color:rgba(8,10,7,.30)!important;margin-top:10px!important}
  .menu-popular-badge{min-height:28px;padding:0 12px;font-size:10px}
  .menu-nav__secondary{gap:10px!important}
  .menu-nav__secondary a{padding:14px 16px!important;border-radius:18px!important;font-size:clamp(18px,5.1vw,25px)!important;box-shadow:5px 5px 0 rgba(183,255,0,.22)}
}

/* ===== v66-section-kicker-minimal-hierarchy ===== */
/* section head */
.section-head{
  grid-template-columns: 132px minmax(0,1fr) !important;
  gap: 34px !important;
  align-items: start !important;
  margin-bottom: 38px !important;
}
.section-kicker{
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 14px;
  width: max-content;
  min-height: auto;
  margin: 6px 0 0;
  padding: 0 0 12px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(8,10,7,.52) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .26em !important;
  line-height: 1;
  text-transform: uppercase;
  overflow: visible;
  isolation: isolate;
  padding-top: 0 !important;
}
.section-kicker::before{
  content: "";
  width: 42px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #b7ff00 0%, rgba(183,255,0,.25) 100%);
  box-shadow: 0 0 16px rgba(183,255,0,.42);
  flex: 0 0 auto;
  transform-origin: left center;
  transform: scaleX(0);
  opacity: .95;
}
.section-kicker::after{
  content: "";
  position: absolute;
  left: 56px;
  right: -6px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(8,10,7,.18) 0%, rgba(8,10,7,.08) 54%, rgba(8,10,7,0) 100%);
  transform-origin: left center;
  transform: scaleX(0);
  opacity: .75;
}
.section-kicker.reveal.is-visible::before{
  animation: sectionKickerBarIn .72s cubic-bezier(.2,.9,.2,1) forwards,
             sectionKickerGlow 3.2s ease-in-out .9s infinite;
}
.section-kicker.reveal.is-visible::after{
  animation: sectionKickerUnderlineIn .85s cubic-bezier(.2,.9,.2,1) .08s forwards;
}
@keyframes sectionKickerBarIn{
  0%{transform:scaleX(0);opacity:0}
  100%{transform:scaleX(1);opacity:.95}
}
@keyframes sectionKickerUnderlineIn{
  0%{transform:scaleX(0);opacity:0}
  100%{transform:scaleX(1);opacity:.75}
}
@keyframes sectionKickerGlow{
  0%,100%{box-shadow:0 0 10px rgba(183,255,0,.26)}
  50%{box-shadow:0 0 24px rgba(183,255,0,.54)}
}

/* セクションタイトルとの距離感を微調整 */
.section-head > div:last-child{
  min-width: 0;
}
.section-title{
  margin-top: 0 !important;
}
.section-copy{
  max-width: 980px;
}

@media (max-width: 860px){
  .section-head{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 24px !important;
  }
  .section-kicker{
    gap: 12px;
    margin-top: 0;
    padding-bottom: 10px;
    font-size: 11px !important;
    letter-spacing: .22em !important;
  }
  .section-kicker::before{
    width: 34px;
  }
  .section-kicker::after{
    left: 46px;
  }
}

/* ===== v59-menu-sub-remove ===== */
.menu-nav__featured .menu-main{
  gap:4px !important;
}
.menu-nav__featured .menu-title{
  margin-top:2px !important;
}
@media(max-width:860px){
  .menu-nav__featured .menu-main{
    gap:2px !important;
  }
}

/* ===== v66-hero-price-card-fix ===== */
/* Hero card price area polish */
.hero-card .plan-simple-price,
.hero-card .plan-card-price{
  position:relative;
  overflow:hidden;
}
.hero-card .plan-simple-price small,
.hero-card .plan-card-price small{
  display:inline-flex !important;
  width:max-content;
  min-height:26px;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:rgba(8,10,7,.04);
  color:rgba(8,10,7,.56) !important;
  font-size:10px !important;
  letter-spacing:.10em !important;
  margin-bottom:8px !important;
}
.hero-card .plan-simple-price strong,
.hero-card .plan-card-price strong{
  letter-spacing:-.07em !important;
  line-height:.95 !important;
}
.hero-card .plan-chip-row,
.hero-card .plan-card-tags{
  display:flex !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  margin-top:4px !important;
}
.hero-card .plan-chip-row span,
.hero-card .plan-card-tags span{
  flex:1 1 0 !important;
  justify-content:center !important;
  min-width:0 !important;
  white-space:nowrap !important;
  padding:0 10px !important;
  font-size:12px !important;
  letter-spacing:-.02em !important;
}
@media(max-width:680px){
  .hero-card .plan-simple-price,
  .hero-card .plan-card-price{
    padding:16px 14px 15px !important;
    border-radius:22px !important;
  }
  .hero-card .plan-simple-price strong,
  .hero-card .plan-card-price strong{
    font-size:clamp(42px,15vw,64px) !important;
  }
  .hero-card .plan-simple-price em,
  .hero-card .plan-card-price em{
    font-size:12px !important;
    line-height:1.6 !important;
  }
  .hero-card .plan-chip-row,
  .hero-card .plan-card-tags{
    gap:6px !important;
  }
  .hero-card .plan-chip-row span,
  .hero-card .plan-card-tags span{
    min-height:32px !important;
    padding:0 8px !important;
    font-size:11px !important;
  }
}

/* ===== v67-company-name-fix ===== */
.brand strong{
  font-size: clamp(11px, 1.05vw, 14px) !important;
  letter-spacing: .08em !important;
  white-space: nowrap;
}
@media(max-width:680px){
  .brand{
    max-width: 245px;
  }
  .brand strong{
    font-size: 10.5px !important;
    letter-spacing: .04em !important;
  }
  .brand span span{
    font-size: 8.5px !important;
  }
}
.footer-wordmark{
  font-size: clamp(34px, 4vw, 64px) !important;
  letter-spacing: -.055em !important;
}

/* ===== v77-hero-card-balance-correction ===== */
/* v77: PCメインビジュアルカードの崩れを修正 */
@media (min-width: 861px){
  .hero-card.plan-card{
    min-height:auto !important;
    padding:24px 22px 20px !important;
    gap:12px !important;
  }

  .hero-card.plan-card .plan-card-head{
    position:relative !important;
    display:block !important;
    min-height:0 !important;
    padding-right:158px !important;
    margin-bottom:0 !important;
  }

  .hero-card.plan-card .plan-card-title{
    margin:0 !important;
    max-width:none !important;
    font-size:clamp(34px,3.25vw,48px) !important;
    line-height:.98 !important;
    letter-spacing:-.07em !important;
  }

  .hero-card.plan-card .plan-card-copy{
    display:block !important;
    margin:14px 0 0 !important;
    max-width:none !important;
    font-size:clamp(13px,1.08vw,16px) !important;
    line-height:1.62 !important;
    letter-spacing:-.018em !important;
    font-weight:800 !important;
    color:#2d322b !important;
  }

  .hero-card.plan-card .hero-plan-mockup{
    position:absolute !important;
    top:38px !important;
    right:0 !important;
    width:150px !important;
    margin:0 !important;
    z-index:2 !important;
    filter:drop-shadow(0 18px 26px rgba(0,0,0,.14)) !important;
  }

  .hero-card.plan-card .hero-plan-mockup img{
    width:100% !important;
    height:auto !important;
  }

  .hero-card.plan-card .plan-card-mini{
    position:absolute;
    right:0;
    top:154px;
    width:150px;
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    z-index:3;
  }

  .hero-card.plan-card .plan-card-mini span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    border-radius:999px;
    border:1px solid rgba(8,10,7,.12);
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(10px);
    color:#252a22;
    font-size:11px;
    font-weight:900;
    letter-spacing:.04em;
    box-shadow:0 8px 18px rgba(8,10,7,.05);
  }

  .hero-card.plan-card .plan-card-mini span:first-child{
    background:var(--green);
    border-color:var(--black);
  }

  .hero-card.plan-card .plan-card-summary{
    margin-top:14px !important;
    gap:10px !important;
  }

  .hero-card.plan-card .plan-simple-price,
  .hero-card.plan-card .plan-card-price{
    margin-top:0 !important;
  }

  .hero-card.plan-card .plan-card-bottom{
    margin-top:12px !important;
  }
}

@media (min-width: 861px) and (max-width: 1100px){
  .hero-card.plan-card .plan-card-head{
    padding-right:138px !important;
  }
  .hero-card.plan-card .hero-plan-mockup{
    width:132px !important;
  }
  .hero-card.plan-card .plan-card-mini{
    width:132px;
    top:144px;
  }
  .hero-card.plan-card .plan-card-title{
    font-size:clamp(32px,3vw,44px) !important;
  }
}

@media (max-width: 860px){
  .hero-card.plan-card .plan-card-mini{
    display:none !important;
  }
}

/* ===== v78-hero-card-no-mockup ===== */
/* v78: remove hero mockup and rebalance plan card */
.hero-card.plan-card .hero-plan-mockup{
  display:none !important;
}

@media (min-width: 861px){
  .hero-card.plan-card{
    padding:22px 22px 20px !important;
    gap:14px !important;
  }

  .hero-card.plan-card .plan-card-head{
    display:block !important;
    min-height:auto !important;
    padding-right:0 !important;
    margin-bottom:0 !important;
  }

  .hero-card.plan-card .plan-card-title{
    margin:4px 0 0 !important;
    max-width:none !important;
    font-size:clamp(38px,3.4vw,56px) !important;
    line-height:.93 !important;
    letter-spacing:-.075em !important;
  }

  .hero-card.plan-card .plan-card-copy{
    margin:14px 0 0 !important;
    max-width:100% !important;
    font-size:clamp(15px,1.05vw,17px) !important;
    line-height:1.58 !important;
    letter-spacing:-.025em !important;
    font-weight:800 !important;
    color:#2b3028 !important;
  }

  .hero-card.plan-card .plan-card-mini{
    position:static !important;
    width:auto !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-top:14px !important;
  }

  .hero-card.plan-card .plan-card-mini span{
    min-height:unset !important;
    padding:8px 12px !important;
    border-radius:999px !important;
    border:1px solid rgba(0,0,0,.1) !important;
    background:#fff !important;
    color:#1d221a !important;
    font-size:12px !important;
    font-weight:900 !important;
    letter-spacing:.03em !important;
    box-shadow:none !important;
  }

  .hero-card.plan-card .plan-card-mini span:first-child{
    background:var(--green) !important;
    border-color:var(--black) !important;
  }

  .hero-card.plan-card .plan-card-summary{
    margin-top:14px !important;
    gap:12px !important;
  }

  .hero-card.plan-card .plan-simple-price{
    padding:18px 18px 14px !important;
  }

  .hero-card.plan-card .plan-simple-price strong{
    font-size:clamp(34px,3vw,56px) !important;
    line-height:.98 !important;
  }

  .hero-card.plan-card .plan-chip-row{
    margin-top:0 !important;
  }

  .hero-card.plan-card .plan-card-bottom{
    margin-top:10px !important;
  }
}

@media (max-width: 860px){
  .hero-card.plan-card .hero-plan-mockup{display:none !important;}
  .hero-card.plan-card .plan-card-title{
    font-size:clamp(34px,10.2vw,56px) !important;
    line-height:.95 !important;
    letter-spacing:-.07em !important;
  }
  .hero-card.plan-card .plan-card-copy{
    margin-top:12px !important;
  }
  .hero-card.plan-card .plan-card-mini{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-top:12px !important;
  }
  .hero-card.plan-card .plan-card-mini span{
    padding:7px 11px !important;
    border-radius:999px !important;
    border:1px solid rgba(0,0,0,.1) !important;
    background:#fff !important;
    color:#1d221a !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.03em !important;
  }
  .hero-card.plan-card .plan-card-mini span:first-child{
    background:var(--green) !important;
    border-color:var(--black) !important;
  }
}

/* ===== v79-hero-cleanup ===== */
/* v79: remove unnecessary mini labels and move feature chips into the price box */
.hero-card.plan-card .plan-card-mini{
  display:none !important;
}

.hero-card.plan-card .plan-simple-price small{
  display:none !important;
}

.hero-card.plan-card .plan-simple-price .plan-chip-row.in-price{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:0 0 14px !important;
}

.hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:32px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(8,10,7,.12) !important;
  background:#f7f7f7 !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.hero-card.plan-card .plan-card-summary{
  gap:0 !important;
}

.hero-card.plan-card .plan-simple-price{
  padding-top:16px !important;
}

.hero-card.plan-card .plan-simple-price strong{
  margin-top:0 !important;
}

@media (max-width: 860px){
  .hero-card.plan-card .plan-simple-price{
    padding:14px 14px 12px !important;
  }
  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price{
    margin:0 0 12px !important;
    gap:7px !important;
  }
  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
    min-height:30px !important;
    padding:0 11px !important;
    font-size:11px !important;
  }
}

/* ===== v92-badge-black-shadow-pink ===== */
/* v92: badge black + lower neon shadow pink */
.hero-card.plan-card .plan-badge{
  background:var(--black) !important;
  color:#fff !important;
  border-color:var(--black) !important;
  box-shadow:none !important;
}
.hero-card.plan-card .plan-simple-price{
  box-shadow:6px 6px 0 #b7ff00 !important;
}
.hero-card.plan-card .plan-card-link{
  box-shadow:6px 6px 0 #b7ff00 !important;
}
.hero-card.plan-card .plan-card-link:hover{
  box-shadow:8px 8px 0 #b7ff00 !important;
}
@media (max-width: 860px){
  .hero-card.plan-card .plan-simple-price{
    box-shadow:4px 4px 0 #b7ff00 !important;
  }
  .hero-card.plan-card .plan-card-link{
    box-shadow:4px 4px 0 #b7ff00 !important;
  }
}

/* ===== v93-black-card-pink-neon ===== */
/* v93: hero plan card black base + pink neon border */
.hero-card.plan-card{
  background:linear-gradient(180deg,#0b0b0e 0%, #121217 100%) !important;
  border:1.5px solid #b7ff00 !important;
  box-shadow:0 0 0 1px rgba(183,255,0,.18), 0 0 26px rgba(183,255,0,.22), 8px 8px 0 rgba(183,255,0,.75) !important;
}
.hero-card.plan-card::before{
  inset:10px !important;
  border:1px solid rgba(183,255,0,.35) !important;
  opacity:1 !important;
  box-shadow:inset 0 0 24px rgba(183,255,0,.08), 0 0 14px rgba(183,255,0,.12);
}
.hero-card.plan-card .plan-badge{
  background:var(--black) !important;
  color:#fff !important;
  border-color:#b7ff00 !important;
  box-shadow:0 0 10px rgba(183,255,0,.28) !important;
}
.hero-card.plan-card .plan-card-title{
  color:#b7ff00 !important;
}
.hero-card.plan-card .plan-card-copy,
.hero-card.plan-card .plan-card-title span{
  color:rgba(255,255,255,.92) !important;
}
.hero-card.plan-card .plan-simple-price{
  background:linear-gradient(180deg,#101114 0%, #17181c 100%) !important;
  border:1.5px solid #b7ff00 !important;
  box-shadow:6px 6px 0 #b7ff00, 0 0 20px rgba(183,255,0,.14) !important;
}
.hero-card.plan-card .plan-simple-price small,
.hero-card.plan-card .plan-simple-price em{
  color:rgba(255,255,255,.72) !important;
}
.hero-card.plan-card .plan-simple-price strong{
  color:#fff !important;
}
.hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
  background:#202127 !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.12) !important;
}
.hero-card.plan-card .plan-card-link{
  background:#0e0e11 !important;
  color:#fff !important;
  border:1.5px solid #b7ff00 !important;
  box-shadow:6px 6px 0 #b7ff00, 0 0 18px rgba(183,255,0,.16) !important;
}
.hero-card.plan-card .plan-card-link:hover{
  box-shadow:8px 8px 0 #b7ff00, 0 0 24px rgba(183,255,0,.24) !important;
}
@media (max-width:860px){
  .hero-card.plan-card{
    box-shadow:0 0 0 1px rgba(183,255,0,.18), 0 0 22px rgba(183,255,0,.2), 5px 5px 0 rgba(183,255,0,.75) !important;
  }
  .hero-card.plan-card .plan-simple-price{
    box-shadow:4px 4px 0 #b7ff00, 0 0 16px rgba(183,255,0,.14) !important;
  }
  .hero-card.plan-card .plan-card-link{
    box-shadow:4px 4px 0 #b7ff00, 0 0 14px rgba(183,255,0,.16) !important;
  }
}

/* ===== v94-real-mockup-coding ===== */
/* v94: 右カード内に実写風モックアップをHTML/CSSで追加 */
.hero-card.plan-card .plan-card-head{
  display:block !important;
  padding-right:0 !important;
  min-height:auto !important;
}

.hero-card.plan-card .plan-card-title{
  margin-bottom:14px !important;
}

.hero-real-mockup{
  position:relative;
  z-index:2;
  height:210px;
  margin:2px 0 14px;
  border-radius:22px;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 8%, rgba(183,255,0,.36), transparent 36%),
    linear-gradient(135deg, #141418 0%, #202124 48%, #0a0a0d 100%);
  border:1px solid rgba(183,255,0,.25);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 20px 42px rgba(0,0,0,.32),
    0 0 28px rgba(183,255,0,.12);
}

.hero-real-mockup::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg, rgba(255,255,255,.16), transparent 22%),
    radial-gradient(circle at 18% 80%, rgba(183,255,0,.14), transparent 32%);
  pointer-events:none;
}

.mock-desk-glow{
  position:absolute;
  left:30px;
  right:30px;
  bottom:20px;
  height:40px;
  border-radius:50%;
  background:radial-gradient(ellipse, rgba(183,255,0,.20), transparent 70%);
  filter:blur(8px);
}

.mock-monitor{
  position:absolute;
  left:48px;
  top:34px;
  width:235px;
  height:142px;
  filter:drop-shadow(0 20px 24px rgba(0,0,0,.42));
}

.mock-monitor-screen{
  position:relative;
  height:132px;
  border-radius:12px;
  background:#f4f4f2;
  border:7px solid #d8dadc;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
}

.mock-browser-bar{
  height:18px;
  display:flex;
  align-items:center;
  gap:4px;
  padding:0 8px;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.mock-browser-bar i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#d3d6d8;
}

.mock-browser-bar span{
  margin-left:auto;
  font-size:5px;
  font-weight:900;
  letter-spacing:.08em;
  color:#777;
}

.mock-web-hero{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:8px;
  padding:12px;
  min-height:76px;
}

.mock-web-hero b{
  display:block;
  font-size:16px;
  line-height:1.02;
  letter-spacing:-.06em;
  color:#151515;
}

.mock-web-hero em{
  display:inline-flex;
  margin-top:8px;
  min-height:14px;
  align-items:center;
  padding:0 8px;
  border-radius:999px;
  background:#b7ff00;
  color:#fff;
  font-size:5px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.12em;
}

.mock-web-photo{
  border-radius:10px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.6), rgba(255,255,255,.08)),
    linear-gradient(135deg, #d9d8d4 0%, #f5f0e8 46%, #bfc2b8 100%);
  position:relative;
  overflow:hidden;
}

.mock-web-photo::before{
  content:"";
  position:absolute;
  right:14px;
  bottom:10px;
  width:30px;
  height:36px;
  border-radius:8px 8px 0 0;
  background:#b8a58d;
  box-shadow:-42px 18px 0 -8px #6c5e50;
  opacity:.75;
}

.mock-web-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  padding:0 12px 10px;
}

.mock-web-grid span{
  height:20px;
  border-radius:8px;
  background:#e8e8e8;
}

.mock-monitor-neck{
  width:38px;
  height:18px;
  margin:-2px auto 0;
  background:linear-gradient(90deg,#a9abad,#e5e5e5,#9fa1a3);
}

.mock-monitor-stand{
  width:94px;
  height:10px;
  margin:0 auto;
  border-radius:50% 50% 8px 8px;
  background:linear-gradient(90deg,#8d8f91,#e4e4e4,#8c8e90);
}

.mock-phone{
  position:absolute;
  right:42px;
  top:54px;
  width:76px;
  height:142px;
  border-radius:22px;
  border:7px solid #ececec;
  background:#fff;
  box-shadow:0 18px 28px rgba(0,0,0,.36);
  transform:rotate(6deg);
  overflow:hidden;
}

.mock-phone-screen{
  height:100%;
  padding:12px 8px 8px;
  background:#fefefe;
}

.mock-phone-head{
  font-size:7px;
  font-weight:900;
  color:#101010;
  margin-bottom:7px;
}

.mock-phone-circles{
  display:flex;
  gap:4px;
  margin-bottom:8px;
}

.mock-phone-circles i{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#b7ff00;
  opacity:.9;
}

.mock-phone-post{
  height:45px;
  border-radius:9px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.9) 0 6px, transparent 6px),
    linear-gradient(180deg, #b7ff00 0 7px, transparent 7px),
    linear-gradient(135deg,#121214,#35353a);
  background-size:70% 14px, 46% 20px, 100% 100%;
  background-repeat:no-repeat;
  background-position:9px 10px, 9px 26px, center;
}

.mock-phone-lines{
  display:grid;
  gap:4px;
  margin-top:8px;
}

.mock-phone-lines span{
  height:5px;
  border-radius:999px;
  background:#e2e4e6;
}

.mock-phone-lines span:nth-child(1){width:88%}
.mock-phone-lines span:nth-child(2){width:70%}
.mock-phone-lines span:nth-child(3){width:56%}

.mock-phone-cta{
  height:18px;
  margin-top:8px;
  border-radius:999px;
  background:#b7ff00;
}

@media(max-width:860px){
  .hero-real-mockup{
    height:190px;
    margin:4px 0 14px;
  }
  .mock-monitor{
    left:30px;
    width:210px;
    height:128px;
  }
  .mock-phone{
    right:28px;
    width:70px;
    height:132px;
  }
}

@media(max-width:520px){
  .hero-real-mockup{
    height:168px;
    border-radius:18px;
  }
  .mock-monitor{
    left:20px;
    top:34px;
    width:178px;
  }
  .mock-monitor-screen{
    height:104px;
    border-width:6px;
  }
  .mock-web-hero b{
    font-size:12px;
  }
  .mock-web-grid span{
    height:14px;
  }
  .mock-phone{
    right:18px;
    top:52px;
    width:62px;
    height:116px;
    border-width:6px;
  }
}

/* ===== v95-logo-and-copy-fix ===== */
/* v95: ロゴ画像適用 + 右カード説明文の改行調整 */
.brand.brand-with-real-logo{
  gap:12px !important;
  padding:8px 18px 8px 14px !important;
  min-height:62px !important;
}
.real-masakari-logo{
  display:block;
  width:58px;
  height:44px;
  object-fit:contain;
  flex:0 0 auto;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.10));
}
.brand-copy strong{
  display:block;
  font-size:13px !important;
  letter-spacing:.05em !important;
  white-space:nowrap;
}
.brand-copy span{
  display:block;
  margin-top:3px;
  font-size:9px !important;
  color:var(--muted);
  letter-spacing:.08em;
  white-space:nowrap;
}

.hero-card.plan-card .plan-card-copy{
  max-width:100% !important;
  margin-top:12px !important;
  line-height:1.58 !important;
  word-break:keep-all;
  overflow-wrap:normal;
}
.hero-card.plan-card .plan-card-copy br{
  display:none !important;
}

.mock-browser-bar{
  gap:5px !important;
}
.mock-small-logo{
  display:block;
  width:46px;
  height:14px;
  margin-left:auto;
  object-fit:contain;
  opacity:.72;
  filter:none;
}

.real-footer-logo{
  width:138px !important;
  height:auto !important;
  object-fit:contain !important;
  filter:none !important;
}

.footer-branding .brand.brand-with-real-logo,
footer .brand.brand-with-real-logo{
  width:max-content;
}

@media(max-width:680px){
  .brand.brand-with-real-logo{
    max-width:260px;
    min-height:54px !important;
    padding:7px 12px 7px 11px !important;
  }
  .real-masakari-logo{
    width:48px;
    height:36px;
  }
  .brand-copy strong{
    font-size:11px !important;
    letter-spacing:.03em !important;
  }
  .brand-copy span{
    font-size:8px !important;
  }
  .hero-card.plan-card .plan-card-copy{
    font-size:14px !important;
    line-height:1.58 !important;
  }
}

/* ===== v105-menu-badge-and-title-fix ===== */
/* v105: ハンバーガーメニューの一番人気バッジを白ベースに戻す */
.menu-panel .menu-popular-badge{
  background:linear-gradient(180deg,#ffffff 0%, #f8f8f6 100%) !important;
  color:#0a0b10 !important;
  border:1px solid rgba(10,11,16,.22) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.95) inset,
    0 8px 18px rgba(10,11,16,.10),
    0 2px 6px rgba(10,11,16,.06) !important;
  animation:popularBadgePulseWhiteFinal 1.8s ease-in-out infinite !important;
}
.menu-panel .menu-popular-badge::before{
  color:#0a0b10 !important;
}
.menu-panel .menu-popular-badge::after{
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0) 18%,rgba(255,255,255,.98) 50%,rgba(255,255,255,0) 82%,transparent 100%) !important;
  mix-blend-mode:screen !important;
}
.menu-panel .menu-nav__featured a.is-primary .menu-popular-badge::before{
  color:#0a0b10 !important;
}
@keyframes popularBadgePulseWhiteFinal{
  0%,100%{
    transform:translateY(0) scale(1);
    filter:brightness(1);
    box-shadow:0 0 0 1px rgba(255,255,255,.95) inset,0 8px 18px rgba(10,11,16,.10),0 2px 6px rgba(10,11,16,.06);
  }
  50%{
    transform:translateY(-1px) scale(1.05);
    filter:brightness(1.03);
    box-shadow:0 0 0 1px rgba(255,255,255,.98) inset,0 12px 22px rgba(10,11,16,.14),0 4px 10px rgba(10,11,16,.08);
  }
}

/* ===== v106-hero-card-stars ===== */
/* v106: メインビジュアル右の3点セットカードに、黒背景の中で瞬く星を追加 */
.hero-card.plan-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 14%, rgba(255,70,195,.18), transparent 24%),
    radial-gradient(circle at 18% 76%, rgba(183,255,0,.10), transparent 26%),
    linear-gradient(180deg,#03030a 0%, #070711 44%, #0a0913 100%) !important;
}
.hero-card.plan-card > *{position:relative;z-index:2;}
.hero-card.plan-card::after,
.hero-card.plan-card .plan-card-head::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero-card.plan-card::after{
  z-index:0;
  opacity:.9;
  background-image:
    radial-gradient(circle at 6% 12%, rgba(255,255,255,.95) 0 1px, transparent 1.8px),
    radial-gradient(circle at 12% 26%, rgba(255,255,255,.88) 0 1.2px, transparent 2px),
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.86) 0 1px, transparent 1.7px),
    radial-gradient(circle at 22% 22%, rgba(255,255,255,.94) 0 1.1px, transparent 1.9px),
    radial-gradient(circle at 28% 8%, rgba(255,255,255,.88) 0 1px, transparent 1.6px),
    radial-gradient(circle at 34% 18%, rgba(255,255,255,.92) 0 1.1px, transparent 1.8px),
    radial-gradient(circle at 40% 12%, rgba(255,255,255,.8) 0 1px, transparent 1.7px),
    radial-gradient(circle at 46% 28%, rgba(255,255,255,.95) 0 1.3px, transparent 2px),
    radial-gradient(circle at 54% 9%, rgba(255,255,255,.86) 0 1px, transparent 1.7px),
    radial-gradient(circle at 61% 20%, rgba(255,255,255,.92) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 68% 11%, rgba(255,255,255,.88) 0 1px, transparent 1.8px),
    radial-gradient(circle at 74% 26%, rgba(255,255,255,.96) 0 1.2px, transparent 2px),
    radial-gradient(circle at 81% 15%, rgba(255,255,255,.88) 0 1.1px, transparent 1.8px),
    radial-gradient(circle at 88% 8%, rgba(255,255,255,.84) 0 1px, transparent 1.7px),
    radial-gradient(circle at 93% 22%, rgba(255,255,255,.95) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 9% 42%, rgba(255,255,255,.84) 0 1px, transparent 1.8px),
    radial-gradient(circle at 16% 54%, rgba(255,255,255,.96) 0 1.3px, transparent 2px),
    radial-gradient(circle at 25% 38%, rgba(255,255,255,.88) 0 1px, transparent 1.6px),
    radial-gradient(circle at 31% 58%, rgba(255,255,255,.92) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 39% 43%, rgba(255,255,255,.84) 0 1px, transparent 1.6px),
    radial-gradient(circle at 47% 54%, rgba(255,255,255,.96) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 56% 39%, rgba(255,255,255,.86) 0 1px, transparent 1.7px),
    radial-gradient(circle at 64% 51%, rgba(255,255,255,.9) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 73% 41%, rgba(255,255,255,.84) 0 1px, transparent 1.7px),
    radial-gradient(circle at 82% 56%, rgba(255,255,255,.96) 0 1.3px, transparent 2px),
    radial-gradient(circle at 89% 44%, rgba(255,255,255,.9) 0 1.1px, transparent 1.8px),
    radial-gradient(circle at 95% 60%, rgba(255,255,255,.86) 0 1px, transparent 1.7px),
    radial-gradient(circle at 12% 74%, rgba(255,255,255,.92) 0 1.2px, transparent 2px),
    radial-gradient(circle at 22% 88%, rgba(255,255,255,.86) 0 1px, transparent 1.7px),
    radial-gradient(circle at 35% 78%, rgba(255,255,255,.95) 0 1.3px, transparent 2px),
    radial-gradient(circle at 43% 91%, rgba(255,255,255,.88) 0 1px, transparent 1.8px),
    radial-gradient(circle at 52% 74%, rgba(255,255,255,.82) 0 1px, transparent 1.7px),
    radial-gradient(circle at 61% 87%, rgba(255,255,255,.95) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 71% 77%, rgba(255,255,255,.86) 0 1px, transparent 1.7px),
    radial-gradient(circle at 79% 92%, rgba(255,255,255,.94) 0 1.2px, transparent 2px),
    radial-gradient(circle at 89% 81%, rgba(255,255,255,.84) 0 1px, transparent 1.7px),
    radial-gradient(circle at 95% 94%, rgba(255,255,255,.92) 0 1.1px, transparent 1.9px);
  animation:heroStarsTwinkleA 5.2s ease-in-out infinite;
  filter:drop-shadow(0 0 2px rgba(255,255,255,.35));
}
.hero-card.plan-card .plan-card-head::before{
  z-index:1;
  inset:-8px -10px -12px -10px;
  opacity:.46;
  background-image:
    radial-gradient(circle at 4% 20%, rgba(255,255,255,.95) 0 1.5px, transparent 2.2px),
    radial-gradient(circle at 15% 6%, rgba(255,255,255,.82) 0 1.1px, transparent 1.8px),
    radial-gradient(circle at 27% 31%, rgba(255,255,255,.98) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 37% 7%, rgba(255,255,255,.88) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 49% 22%, rgba(255,255,255,.96) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 59% 4%, rgba(255,255,255,.86) 0 1.1px, transparent 1.8px),
    radial-gradient(circle at 71% 29%, rgba(255,255,255,.96) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 84% 6%, rgba(255,255,255,.82) 0 1.1px, transparent 1.8px),
    radial-gradient(circle at 94% 18%, rgba(255,255,255,.94) 0 1.4px, transparent 2.2px),
    radial-gradient(circle at 8% 66%, rgba(255,255,255,.85) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 24% 58%, rgba(255,255,255,.98) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 42% 71%, rgba(255,255,255,.84) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 58% 63%, rgba(255,255,255,.94) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 76% 68%, rgba(255,255,255,.88) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 92% 72%, rgba(255,255,255,.98) 0 1.7px, transparent 2.4px);
  animation:heroStarsTwinkleB 3.8s ease-in-out infinite alternate;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.18));
}
@keyframes heroStarsTwinkleA{
  0%,100%{opacity:.52;transform:translate3d(0,0,0) scale(1)}
  30%{opacity:.88;transform:translate3d(.5px,-1px,0) scale(1.01)}
  58%{opacity:.38;transform:translate3d(-.5px,1px,0) scale(.995)}
  78%{opacity:.95;transform:translate3d(1px,-.5px,0) scale(1.015)}
}
@keyframes heroStarsTwinkleB{
  0%{opacity:.24;transform:scale(1)}
  25%{opacity:.56;transform:scale(1.02)}
  50%{opacity:.3;transform:scale(.99)}
  75%{opacity:.72;transform:scale(1.03)}
  100%{opacity:.4;transform:scale(1)}
}

/* ===== masakari-v25-service-button-animation-fix ===== */
/* v25: SERVICE左下ボタンの文字消え修正 + revealアニメーション確実化 */

/* プレビューや一部環境でIntersectionObserverが走らない場合でも表示させる */
.reveal{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

/* ただし初回表示の上品なフェードはCSSだけでも軽く効かせる */
.reveal:not(.is-visible){
  animation:masakariSoftReveal .65s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes masakariSoftReveal{
  from{opacity:0; transform:translateY(18px);}
  to{opacity:1; transform:none;}
}

/* 左の黒パネル内の下部ボタンを黒背景×白文字に固定 */
#service .panel.dark.service-panel .panel-more.dark-more,
#service .panel.dark.service-panel a.panel-more.dark-more{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  min-height:54px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  background:#080a07 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:7px 7px 0 #b7ff00 !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.03em !important;
  opacity:1 !important;
  visibility:visible !important;
  position:relative !important;
  z-index:4 !important;
  overflow:hidden !important;
}

#service .panel.dark.service-panel .panel-more.dark-more::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.18) 48%, transparent 72%) !important;
  transform:translateX(-120%) !important;
  transition:transform .55s ease !important;
  pointer-events:none !important;
}

#service .panel.dark.service-panel .panel-more.dark-more:hover{
  transform:translate(-2px,-2px) !important;
  background:#ffffff !important;
  color:#080a07 !important;
  border-color:#080a07 !important;
  box-shadow:9px 9px 0 #b7ff00 !important;
}

#service .panel.dark.service-panel .panel-more.dark-more:hover::before{
  transform:translateX(120%) !important;
}

/* ボタン内のテキストを必ず前面に */
#service .panel.dark.service-panel .panel-more.dark-more *{
  position:relative !important;
  z-index:1 !important;
  color:inherit !important;
}

/* もしテキストが空になっている場合の保険 */
#service .panel.dark.service-panel .panel-more.dark-more:empty::after{
  content:"単発制作メニュー一覧を見る →";
}

/* 右側の管理ボタンとのバランス */
#service .panel:not(.dark).service-panel .panel-more{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:54px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  background:#080a07 !important;
  color:#ffffff !important;
  border:1px solid #080a07 !important;
  box-shadow:7px 7px 0 #b7ff00 !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:900 !important;
}

/* スマホでは横幅いっぱいに */
@media(max-width:760px){
  #service .panel.dark.service-panel .panel-more.dark-more,
  #service .panel:not(.dark).service-panel .panel-more{
    width:100% !important;
  }
}


/* ===== masakari-v65-hero-plan-chip-2line-fix ===== */
/* メインビジュアル右側「セット内容」チップの崩れ対策：2列×2行で固定 */
.hero-card.plan-card .plan-simple-price .plan-chip-row.in-price{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:8px !important;
  width:100% !important;
  margin:0 0 16px !important;
  align-items:stretch !important;
}

.hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:34px !important;
  padding:7px 9px !important;
  box-sizing:border-box !important;
  border-radius:999px !important;
  text-align:center !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:keep-all !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
  font-size:11.5px !important;
  font-weight:900 !important;
}

@media (min-width: 1181px){
  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
    white-space:nowrap !important;
    font-size:11px !important;
    padding-left:7px !important;
    padding-right:7px !important;
  }
}

@media (max-width: 860px){
  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price{
    gap:7px !important;
    margin-bottom:14px !important;
  }
  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
    min-height:32px !important;
    font-size:10.5px !important;
    padding:6px 6px !important;
    letter-spacing:-.04em !important;
  }
}

@media (max-width: 430px){
  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price{
    gap:6px !important;
  }
  .hero-card.plan-card .plan-simple-price .plan-chip-row.in-price span{
    min-height:30px !important;
    font-size:9.8px !important;
    padding:6px 5px !important;
  }
}

/* ===== v67-hero-video-original-color ===== */
/* メインビジュアル背景動画の白い膜・色補正・薄め表示を解除。アップロード動画をそのまま表示。 */
.hero.hero-video-mode{
  background:#000 !important;
}
.hero.hero-video-mode .hero-bg,
.hero.hero-video-mode .hero-bg.motion-bg{
  background:#000 !important;
  background-image:none !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}
.hero.hero-video-mode .hero-bg::before,
.hero.hero-video-mode .hero-bg.motion-bg::before,
.hero.hero-video-mode .hero-bg::after,
.hero.hero-video-mode .hero-bg.motion-bg::after,
.masakari-hero-video-overlay{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  background:none !important;
  background-image:none !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  animation:none !important;
}
.hero.hero-video-mode .hero-bg video,
.hero.hero-video-mode .hero-bg .hero-bg-video,
.hero.hero-video-mode .hero-bg.motion-bg video,
.hero.hero-video-mode .hero-bg.motion-bg .hero-bg-video{
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  mix-blend-mode:normal !important;
  object-fit:cover !important;
  object-position:center center !important;
}
@media(max-width:860px){
  .hero.hero-video-mode{
    background:#000 !important;
  }
  .hero.hero-video-mode .hero-bg,
  .hero.hero-video-mode .hero-bg.motion-bg{
    opacity:1 !important;
    filter:none !important;
    background:#000 !important;
    background-image:none !important;
  }
  .hero.hero-video-mode .hero-bg video,
  .hero.hero-video-mode .hero-bg .hero-bg-video,
  .hero.hero-video-mode .hero-bg.motion-bg video,
  .hero.hero-video-mode .hero-bg.motion-bg .hero-bg-video{
    opacity:1 !important;
    filter:none !important;
    transform:none !important;
  }
}


/* ===== v68-about-link-wave-title ===== */
/* About Us video card: remove GAME CHANGER/button and show balanced wave title */
.about-link-box.only-button{
  display:grid !important;
  place-items:center !important;
}
.about-link-box.only-button .about-link-content.about-link-direct{
  position:relative !important;
  z-index:3 !important;
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  min-height:350px !important;
  padding:28px !important;
  text-align:center !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
  text-decoration:none !important;
}
.about-link-box.only-button .about-link-title{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.04em;
  max-width:100%;
  font-size:clamp(96px, 14vw, 190px);
  line-height:.88;
  letter-spacing:.02em;
  font-weight:900;
  color:#fff;
  text-shadow:0 12px 38px rgba(0,0,0,.34);
}
.about-link-box.only-button .about-space{
  width:.34em;
  flex:0 0 .34em;
}
.about-link-box.only-button .about-char{
  display:inline-block;
  transform-origin:50% 85%;
  will-change:transform;
  animation:aboutUsWave 4.6s ease-in-out infinite;
  animation-delay:calc(var(--i) * .14s);
}
@keyframes aboutUsWave{
  0%,100%{transform:translateY(0) rotate(0deg)}
  20%{transform:translateY(-9px) rotate(-5deg)}
  40%{transform:translateY(4px) rotate(4deg)}
  60%{transform:translateY(-5px) rotate(-3deg)}
  80%{transform:translateY(2px) rotate(2deg)}
}
@media (max-width:860px){
  .about-link-box.only-button .about-link-content.about-link-direct{
    min-height:260px !important;
    padding:20px !important;
  }
  .about-link-box.only-button .about-link-title{
    font-size:clamp(58px, 15vw, 108px);
    line-height:.92;
  }
}


/* ===== v69-about-wave-title-bigger ===== */
.about-link-box.only-button .about-link-content.about-link-direct{padding:18px !important;}
@media (max-width:860px){
  .about-link-box.only-button .about-link-content.about-link-direct{padding:14px !important;}
}


/* ===== v70-standard-section-sales-refresh ===== */
/* 3点セットセクション：売れる情報設計にブラッシュアップ */
.standard{
  padding-top: clamp(84px, 9vw, 130px) !important;
}
.standard-box{
  border-width: 2px !important;
  box-shadow: 14px 14px 0 var(--black) !important;
}
.standard-box::before{
  content:"FIRST STEP" !important;
  background:var(--black) !important;
  color:#fff !important;
  border-color:var(--black) !important;
  box-shadow:5px 5px 0 var(--green) !important;
}
.standard-main{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 6% 10%, rgba(183,255,0,.28), transparent 28%),
    linear-gradient(180deg,#fff 0%,#fbfcf7 100%) !important;
}
.standard-label{
  color:rgba(8,10,7,.68) !important;
}
.standard-label::before{
  background:var(--green) !important;
  border-color:var(--green) !important;
  box-shadow:0 0 24px rgba(183,255,0,.52) !important;
}
.standard h2 small{
  max-width:620px !important;
  color:#171a14 !important;
}
.standard-text{
  max-width:660px !important;
  color:#20241c !important;
}
.standard-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.standard-points span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(8,10,7,.18);
  background:#fff;
  color:var(--black);
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:4px 4px 0 rgba(183,255,0,.52);
}
.standard-actions .btn.primary{
  min-width:170px;
}
.standard-sub{
  background:
    radial-gradient(circle at 76% 12%, rgba(183,255,0,.22), transparent 25%),
    linear-gradient(180deg,#fbfcf8 0%,#f4f6ef 100%) !important;
}
.standard-price{
  position:relative !important;
  overflow:hidden !important;
  padding:24px 24px 22px !important;
  background:#fff !important;
  box-shadow:7px 7px 0 var(--black) !important;
}
.standard-price::after{
  content:"導線設計込み";
  position:absolute;
  right:16px;
  top:16px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  border-radius:999px;
  background:var(--green);
  border:1px solid var(--black);
  color:var(--black);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.standard-price strong{
  margin-top:2px !important;
}
.standard-price em{
  display:block !important;
  margin-top:13px !important;
  max-width:560px !important;
  font-style:normal !important;
  font-size:13px !important;
  line-height:1.8 !important;
  font-weight:900 !important;
  color:#343a2f !important;
}
.standard-price b{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  min-height:38px !important;
  margin-top:14px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  background:var(--black) !important;
  color:#fff !important;
  border:1px solid var(--black) !important;
  box-shadow:4px 4px 0 var(--green) !important;
  line-height:1.35 !important;
}
.standard-route{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:-4px 0 2px;
}
.standard-route span{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 8px;
  border-radius:14px;
  border:1px solid rgba(8,10,7,.13);
  background:#fff;
  color:var(--black);
  font-size:12px;
  font-weight:900;
  text-align:center;
  box-shadow:3px 3px 0 rgba(183,255,0,.38);
}
.standard-route span:not(:last-child)::after{
  content:"→";
  position:absolute;
  right:-12px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:18px;
  height:18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--black);
  color:#fff;
  font-size:11px;
  line-height:1;
}
.standard-items{
  gap:8px !important;
}
.standard-items li{
  padding-top:11px !important;
}
.standard-items li::before{
  background:var(--black) !important;
  color:var(--green) !important;
  border-color:var(--black) !important;
}
.note-box{
  background:rgba(255,255,255,.72);
  border-left:5px solid var(--green) !important;
  border-radius:0 16px 16px 0;
  padding:12px 14px 12px 16px !important;
}
@media(max-width:980px){
  .standard-route{
    grid-template-columns:1fr;
  }
  .standard-route span:not(:last-child)::after{
    right:auto;
    left:50%;
    top:auto;
    bottom:-13px;
    transform:translateX(-50%) rotate(90deg);
  }
}
@media(max-width:760px){
  .standard-box::before{
    right:14px !important;
    top:14px !important;
    font-size:10px !important;
  }
  .standard-points span{
    min-height:34px;
    font-size:11px;
  }
  .standard-price::after{
    position:static;
    width:max-content;
    margin-bottom:10px;
  }
  .standard-price b{
    border-radius:18px !important;
    padding:10px 13px !important;
  }
}


/* ===== v72-hero-copy-tax-label ===== */
/* Hero copy refresh + tax label for main package price */
.hero-copy{
  max-width:760px !important;
}
.tax-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:.42em;
  padding:.22em .55em .2em;
  transform:translateY(-.12em);
  border:1px solid currentColor;
  border-radius:999px;
  font-size:.23em;
  line-height:1;
  letter-spacing:.08em;
  font-weight:900;
  vertical-align:middle;
  white-space:nowrap;
}
.hero-card.plan-card .plan-simple-price strong .tax-label{
  color:#fff;
  border-color:rgba(255,255,255,.72);
  background:rgba(255,255,255,.12);
}
.standard-price strong .tax-label{
  color:var(--black);
  border-color:rgba(8,10,7,.36);
  background:rgba(183,255,0,.32);
}
@media(max-width:860px){
  .tax-label{
    font-size:.25em;
    margin-left:.34em;
    padding:.2em .48em .18em;
  }
}


/* ===== v73-compact-campaign-notice ===== */
.campaign-notice{
  position:relative;
  z-index:4;
  padding:22px 0 8px;
  margin-top:-4px;
  background:#fff;
}
.campaign-notice-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:18px 22px;
  border:1px solid rgba(8,10,7,.16);
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 50%, rgba(183,255,0,.32), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,255,224,.96));
  color:var(--black,#080a07);
  box-shadow:8px 8px 0 rgba(183,255,0,.72);
  overflow:hidden;
  text-decoration:none;
  transition:transform .28s cubic-bezier(.2,.9,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.campaign-notice-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.56) 48%, transparent 100%);
  transform:translateX(-110%);
  opacity:.7;
  pointer-events:none;
}
.campaign-notice-card:hover{
  transform:translate(-3px,-3px);
  border-color:rgba(8,10,7,.28);
  box-shadow:11px 11px 0 rgba(183,255,0,.9);
}
.campaign-notice-card:hover::after{
  animation:campaignNoticeShine .9s cubic-bezier(.2,.9,.2,1) forwards;
}
@keyframes campaignNoticeShine{
  to{transform:translateX(110%)}
}
.campaign-notice-main{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto minmax(0,auto);
  align-items:center;
  justify-content:start;
  gap:8px 14px;
}
.campaign-notice-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border:1px solid rgba(8,10,7,.16);
  border-radius:999px;
  background:var(--green,#b7ff00);
  color:var(--black,#080a07);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
}
.campaign-notice-main strong{
  font-size:clamp(18px,2.1vw,28px);
  line-height:1.2;
  letter-spacing:-.045em;
  font-weight:900;
}
.campaign-notice-main p{
  grid-column:1 / -1;
  margin:0;
  color:rgba(8,10,7,.68);
  font-size:13px;
  line-height:1.7;
  font-weight:800;
}
.campaign-notice-action{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  background:var(--black,#080a07);
  color:#fff;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:5px 5px 0 var(--green,#b7ff00);
}
.campaign-notice-action i{
  font-style:normal;
  transition:transform .25s ease;
}
.campaign-notice-card:hover .campaign-notice-action i{
  transform:translateX(3px);
}
@media (max-width:860px){
  .campaign-notice{
    padding:16px 0 4px;
  }
  .campaign-notice-card{
    grid-template-columns:1fr;
    gap:14px;
    padding:16px;
    border-radius:20px;
    box-shadow:6px 6px 0 rgba(183,255,0,.72);
  }
  .campaign-notice-main{
    grid-template-columns:1fr;
    gap:10px;
  }
  .campaign-notice-main strong{
    font-size:clamp(21px,6vw,30px);
  }
  .campaign-notice-main p{
    font-size:12px;
  }
  .campaign-notice-action{
    width:max-content;
    min-height:44px;
  }
}


/* ===== v80-compact-blog-news-list ===== */
.campaign-blog{
  position:relative;
  z-index:2;
  padding:18px 0 4px;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,0) 100%);
}
.campaign-blog .wrap{
  max-width:1120px;
}
.campaign-blog-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:10px;
}
.campaign-blog-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(8,10,7,.56);
}
.campaign-blog-kicker::before{
  content:"";
  width:34px;
  height:3px;
  border-radius:999px;
  background:var(--green);
  box-shadow:0 0 16px rgba(183,255,0,.5);
}
.campaign-blog-head h2{
  margin:0;
  font-size:clamp(16px,1.5vw,22px);
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.04em;
  color:var(--black);
}
.campaign-blog-list{
  display:grid;
  gap:8px;
}
.campaign-blog-item{
  display:grid;
  grid-template-columns:160px minmax(0,1fr) auto;
  gap:14px 18px;
  align-items:center;
  padding:13px 18px;
  border:1px solid rgba(8,10,7,.12);
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:5px 5px 0 rgba(183,255,0,.30);
  backdrop-filter:blur(10px);
  transition:transform .24s cubic-bezier(.2,.9,.2,1), box-shadow .24s ease, border-color .24s ease;
}
.campaign-blog-item:hover{
  transform:translate(-2px,-2px);
  box-shadow:8px 8px 0 rgba(183,255,0,.45);
  border-color:rgba(8,10,7,.22);
}
.campaign-blog-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  color:rgba(8,10,7,.50);
}
.campaign-blog-meta span{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 9px;
  border-radius:999px;
  background:var(--green);
  color:var(--black);
  letter-spacing:.03em;
  white-space:nowrap;
}
.campaign-blog-item h3{
  margin:0;
  min-width:0;
  font-size:clamp(15px,1.45vw,20px);
  line-height:1.35;
  letter-spacing:-.04em;
  font-weight:900;
}
.campaign-blog-item h3 a{
  color:inherit;
  text-decoration:none;
}
.campaign-blog-item p{
  grid-column:2 / 3;
  margin:-6px 0 0;
  max-width:720px;
  color:#3a4038;
  font-size:12px;
  line-height:1.65;
  font-weight:800;
}
.campaign-blog-link{
  grid-column:3 / 4;
  grid-row:1 / span 2;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(8,10,7,.22);
  border-radius:999px;
  background:#fff;
  color:var(--black);
  font-size:12px;
  line-height:1;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.campaign-blog-link:hover{
  background:var(--black);
  color:#fff;
}
@media (max-width:860px){
  .campaign-blog{
    padding:16px 0 4px;
  }
  .campaign-blog-head{
    gap:10px;
    margin-bottom:9px;
  }
  .campaign-blog-list{
    gap:8px;
  }
  .campaign-blog-item{
    grid-template-columns:1fr;
    gap:8px;
    padding:14px 15px;
    border-radius:16px;
    box-shadow:4px 4px 0 rgba(183,255,0,.28);
  }
  .campaign-blog-item p,
  .campaign-blog-link{
    grid-column:auto;
    grid-row:auto;
  }
  .campaign-blog-item p{
    margin:0;
    font-size:12px;
  }
  .campaign-blog-link{
    justify-self:start;
    min-height:34px;
  }
}

/* ===== v76-hero-copy-linebreak-balance ===== */
.hero h1.hero-copy-balance{
  max-width: 700px;
}
.hero h1.hero-copy-balance .hero-line{
  display:inline-block;
}
.hero h1.hero-copy-balance .green.hero-line::after{
  bottom:.08em;
  height:.2em;
}
@media (max-width: 860px){
  .hero h1.hero-copy-balance{
    max-width: 100%;
  }
}


/* ===== v77-hero-tax-label-and-instagram-price ===== */
/* Hero price tax label: make 税込 clearly visible next to 110,000円 */
.hero-card.plan-card .plan-simple-price strong{
  display:flex !important;
  align-items:flex-end !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.hero-card.plan-card .plan-simple-price strong .tax-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:auto !important;
  min-height:24px !important;
  margin:0 0 5px 0 !important;
  padding:0 10px !important;
  transform:none !important;
  border:1px solid #b7ff00 !important;
  border-radius:999px !important;
  background:#b7ff00 !important;
  color:#080a07 !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  font-weight:900 !important;
  box-shadow:0 0 16px rgba(183,255,0,.35) !important;
  vertical-align:middle !important;
}
@media(max-width:860px){
  .hero-card.plan-card .plan-simple-price strong{
    gap:8px !important;
  }
  .hero-card.plan-card .plan-simple-price strong .tax-label{
    min-height:22px !important;
    margin-bottom:4px !important;
    padding:0 9px !important;
    font-size:11px !important;
  }
}


/* ===== v78-about-us-text-much-bigger ===== */
.about-link-box.only-button .about-link-content.about-link-direct{
  min-height: 420px !important;
  padding: 12px !important;
}
.about-link-box.only-button .about-link-title{
  width: 100% !important;
  justify-content: center !important;
  font-size: clamp(132px, 18vw, 280px) !important;
  line-height: .84 !important;
  letter-spacing: .015em !important;
  text-shadow: 0 14px 42px rgba(0,0,0,.36) !important;
}
.about-link-box.only-button .about-space{
  width: .24em !important;
  flex: 0 0 .24em !important;
}
@media (max-width: 860px){
  .about-link-box.only-button .about-link-content.about-link-direct{
    min-height: 280px !important;
    padding: 10px !important;
  }
  .about-link-box.only-button .about-link-title{
    font-size: clamp(88px, 22vw, 160px) !important;
    line-height: .88 !important;
    letter-spacing: .01em !important;
  }
}


/* ===== v79-works-thumbnail-4x3-copy-balance ===== */
.works-grid .case-visual{
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  margin: 16px 0 14px !important;
  background-size: cover !important;
  background-position: center center !important;
}
.works-grid .case-card{
  min-height: auto !important;
}
.works-grid .case-card p{
  min-height: 3.5em;
}
@media (max-width:760px){
  .works-grid .case-visual{
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
  .works-grid .case-card p{
    min-height: auto;
  }
}


/* ===== v81-wp-post-news-list ===== */
.campaign-blog-item.is-loading,
.campaign-blog-item.is-empty{
  opacity:.78;
}
.campaign-blog-item.is-loading .campaign-blog-link,
.campaign-blog-item.is-empty .campaign-blog-link{
  pointer-events:none;
}
.campaign-blog-item.is-empty{
  grid-template-columns:160px minmax(0,1fr);
}
.campaign-blog-item.is-empty p{
  grid-column:2 / 3;
}
@media (max-width:860px){
  .campaign-blog-item.is-empty{
    grid-template-columns:1fr;
  }
  .campaign-blog-item.is-empty p{
    grid-column:auto;
  }
}


/* ===== v82-hero-white-keywords ===== */
.hero h1 .hero-em-white{
  color:#fff !important;
  text-shadow:0 8px 24px rgba(0,0,0,.24), 0 0 20px rgba(255,255,255,.18) !important;
}
.hero h1 .green.hero-em-white::after{
  z-index:-1 !important;
}


/* ===== v85-footer-social-inside-card ===== */
.footer-top-minimal{align-items:stretch;}
.footer-branding{display:flex;flex-direction:column;justify-content:space-between;min-height:220px;}
.footer-branding .footer-social{margin:22px 0 0;justify-content:flex-start;}
.site-footer > .footer-social,
footer > .footer-social{display:none !important;}
@media(max-width:980px){
  .footer-branding{min-height:0;}
}
@media(max-width:760px){
  .footer-branding .footer-social{width:100%;}
}


/* ===== v86-news-title-only-list ===== */
/* トップのお知らせカードは本文抜粋を出さず、日付・カテゴリ・タイトル・ボタンだけで表示 */
.campaign-blog-item{
  grid-template-columns:160px minmax(0,1fr) auto;
  gap:12px 18px;
  padding:15px 18px;
}
.campaign-blog-item > p{
  display:none !important;
}
.campaign-blog-link{
  grid-column:3 / 4;
  grid-row:auto;
}
.campaign-blog-item h3{
  align-self:center;
}
.campaign-blog-item.is-empty{
  grid-template-columns:160px minmax(0,1fr);
}
@media (max-width:860px){
  .campaign-blog-item{
    grid-template-columns:1fr;
    gap:10px;
    padding:15px;
  }
  .campaign-blog-link{
    grid-column:auto;
    grid-row:auto;
  }
}


/* ===== v87-hero-copy-white-and-plan-copy-update ===== */
.hero.hero-video-mode .hero-copy{
  color:#ffffff !important;
  text-shadow:0 2px 18px rgba(0,0,0,.42) !important;
}
@media (max-width:860px){
  .hero.hero-video-mode .hero-copy{
    color:#ffffff !important;
    text-shadow:0 2px 16px rgba(0,0,0,.48) !important;
  }
}


/* ===== v88-loading-logo-size-up ===== */
/* ローディング画面のロゴマークだけを大きく表示。
   既存のヘッダー・フッター用ロゴ指定より後勝ちさせるため、末尾に配置。 */
.masakari-loader .loader-inner{
  gap:16px !important;
}
.masakari-loader .loader-mark{
  width:220px !important;
  height:220px !important;
}
.masakari-loader .loader-mark::before{
  inset:24px !important;
}
.masakari-loader .loader-mark::after{
  inset:8px !important;
}
.masakari-loader .loader-logo-img{
  width:158px !important;
  height:158px !important;
  max-width:none !important;
  object-fit:contain !important;
}
@media (max-width:640px){
  .masakari-loader .loader-mark{
    width:176px !important;
    height:176px !important;
  }
  .masakari-loader .loader-mark::before{
    inset:22px !important;
  }
  .masakari-loader .loader-mark::after{
    inset:8px !important;
  }
  .masakari-loader .loader-logo-img{
    width:128px !important;
    height:128px !important;
  }
}


/* ===== v89-header-brand-sparkles ===== */
@keyframes masakariHeaderSparkleTwinkle{
  0%, 100%{opacity:.92; transform:scale(1);}
  35%{opacity:.72; transform:scale(1.01);}
  55%{opacity:1; transform:scale(1.015);}
  75%{opacity:.82; transform:scale(1.005);}
}
.site-header .brand::before,
.site-header .brand.brand-with-real-logo::before,
header.site-header .brand::before,
header.site-header .brand.brand-with-real-logo::before{
  background:
    radial-gradient(circle at 12% 28%, rgba(255,255,255,.96) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 20% 68%, rgba(255,255,255,.80) 0 1px, transparent 1.7px),
    radial-gradient(circle at 36% 22%, rgba(255,255,255,.88) 0 1.4px, transparent 2.1px),
    radial-gradient(circle at 48% 62%, rgba(255,255,255,.74) 0 1.1px, transparent 1.8px),
    radial-gradient(circle at 62% 30%, rgba(255,255,255,.92) 0 1.3px, transparent 2px),
    radial-gradient(circle at 74% 54%, rgba(255,255,255,.82) 0 1px, transparent 1.8px),
    radial-gradient(circle at 86% 24%, rgba(255,255,255,.90) 0 1.3px, transparent 2px),
    radial-gradient(circle at 90% 70%, rgba(255,255,255,.76) 0 1.1px, transparent 1.9px),
    linear-gradient(110deg, rgba(255,255,255,.54) 0%, rgba(255,255,255,.22) 26%, rgba(255,255,255,0) 52%) !important;
  background-repeat:no-repeat !important;
  animation:masakariHeaderSparkleTwinkle 3.4s ease-in-out infinite !important;
}


/* ===== v90-header-brand-sparkles-strong ===== */
@keyframes masakariHeaderSparkleTwinkleStrong{
  0%,100%{opacity:.96;transform:scale(1);filter:brightness(1) drop-shadow(0 0 6px rgba(255,255,255,.72)) drop-shadow(0 0 12px rgba(255,255,255,.26));}
  20%{opacity:.86;transform:scale(1.012);filter:brightness(1.08) drop-shadow(0 0 8px rgba(255,255,255,.82)) drop-shadow(0 0 16px rgba(255,255,255,.34));}
  42%{opacity:1;transform:scale(1.022);filter:brightness(1.2) drop-shadow(0 0 12px rgba(255,255,255,.95)) drop-shadow(0 0 22px rgba(255,255,255,.44));}
  65%{opacity:.9;transform:scale(1.01);filter:brightness(1.06) drop-shadow(0 0 10px rgba(255,255,255,.88)) drop-shadow(0 0 18px rgba(255,255,255,.38));}
  82%{opacity:1;transform:scale(1.018);filter:brightness(1.16) drop-shadow(0 0 11px rgba(255,255,255,.92)) drop-shadow(0 0 20px rgba(255,255,255,.42));}
}
.site-header .brand::before,
.site-header .brand.brand-with-real-logo::before,
header.site-header .brand::before,
header.site-header .brand.brand-with-real-logo::before{
  background:
    radial-gradient(circle at 6% 26%, rgba(255,255,255,.98) 0 1.4px, transparent 2.4px),
    radial-gradient(circle at 11% 68%, rgba(255,255,255,.94) 0 1.3px, transparent 2.2px),
    radial-gradient(circle at 16% 41%, rgba(255,255,255,.90) 0 1.1px, transparent 1.9px),
    radial-gradient(circle at 24% 18%, rgba(255,255,255,1) 0 1.6px, transparent 2.7px),
    radial-gradient(circle at 27% 74%, rgba(255,255,255,.88) 0 1.2px, transparent 2px),
    radial-gradient(circle at 34% 49%, rgba(255,255,255,.92) 0 1.2px, transparent 2px),
    radial-gradient(circle at 39% 22%, rgba(255,255,255,.96) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 46% 76%, rgba(255,255,255,.86) 0 1.2px, transparent 2px),
    radial-gradient(circle at 52% 38%, rgba(255,255,255,.96) 0 1.4px, transparent 2.3px),
    radial-gradient(circle at 58% 14%, rgba(255,255,255,1) 0 1.6px, transparent 2.8px),
    radial-gradient(circle at 61% 68%, rgba(255,255,255,.90) 0 1.2px, transparent 2px),
    radial-gradient(circle at 68% 46%, rgba(255,255,255,.95) 0 1.4px, transparent 2.3px),
    radial-gradient(circle at 74% 22%, rgba(255,255,255,.98) 0 1.5px, transparent 2.6px),
    radial-gradient(circle at 79% 64%, rgba(255,255,255,.90) 0 1.2px, transparent 2px),
    radial-gradient(circle at 86% 32%, rgba(255,255,255,.96) 0 1.4px, transparent 2.4px),
    radial-gradient(circle at 92% 72%, rgba(255,255,255,.90) 0 1.2px, transparent 2.1px),
    linear-gradient(110deg, rgba(255,255,255,.70) 0%, rgba(255,255,255,.30) 24%, rgba(255,255,255,0) 54%) !important;
  background-repeat:no-repeat !important;
  filter:brightness(1.08) drop-shadow(0 0 8px rgba(255,255,255,.80)) drop-shadow(0 0 14px rgba(255,255,255,.30)) !important;
  animation:masakariHeaderSparkleTwinkleStrong 2.3s ease-in-out infinite !important;
}


/* ===== v91-header-brand-galaxy-stars ===== */
@keyframes masakariHeaderGalaxyTwinkle{
  0%,100%{
    opacity:.98;
    transform:scale(1);
    filter:brightness(1.02) saturate(1.04) drop-shadow(0 0 8px rgba(255,255,255,.62)) drop-shadow(0 0 18px rgba(255,255,255,.24));
  }
  22%{
    opacity:.92;
    transform:scale(1.012);
    filter:brightness(1.12) saturate(1.08) drop-shadow(0 0 10px rgba(255,255,255,.78)) drop-shadow(0 0 22px rgba(255,255,255,.30));
  }
  48%{
    opacity:1;
    transform:scale(1.02);
    filter:brightness(1.24) saturate(1.10) drop-shadow(0 0 12px rgba(255,255,255,.96)) drop-shadow(0 0 28px rgba(255,255,255,.38));
  }
  74%{
    opacity:.94;
    transform:scale(1.01);
    filter:brightness(1.10) saturate(1.06) drop-shadow(0 0 10px rgba(255,255,255,.84)) drop-shadow(0 0 24px rgba(255,255,255,.34));
  }
}
.site-header .brand::before,
.site-header .brand.brand-with-real-logo::before,
header.site-header .brand::before,
header.site-header .brand.brand-with-real-logo::before{
  background:
    radial-gradient(circle at 7% 18%, rgba(255,255,255,1) 0 1.7px, transparent 2.8px),
    radial-gradient(circle at 13% 72%, rgba(255,255,255,.92) 0 1.3px, transparent 2.2px),
    radial-gradient(circle at 21% 42%, rgba(255,255,255,.84) 0 1.1px, transparent 2px),
    radial-gradient(circle at 29% 20%, rgba(255,255,255,.98) 0 1.8px, transparent 3px),
    radial-gradient(circle at 34% 68%, rgba(255,255,255,.90) 0 1.3px, transparent 2.2px),
    radial-gradient(circle at 42% 34%, rgba(255,255,255,.88) 0 1.2px, transparent 2.1px),
    radial-gradient(circle at 50% 15%, rgba(255,255,255,1) 0 1.9px, transparent 3.1px),
    radial-gradient(circle at 57% 78%, rgba(255,255,255,.86) 0 1.2px, transparent 2.1px),
    radial-gradient(circle at 66% 48%, rgba(255,255,255,.90) 0 1.4px, transparent 2.3px),
    radial-gradient(circle at 74% 22%, rgba(255,255,255,1) 0 1.8px, transparent 3px),
    radial-gradient(circle at 82% 62%, rgba(255,255,255,.90) 0 1.3px, transparent 2.2px),
    radial-gradient(circle at 90% 36%, rgba(255,255,255,.96) 0 1.5px, transparent 2.5px),
    radial-gradient(circle, rgba(255,255,255,.34) 0 .72px, transparent .98px) 0 0 / 12px 12px repeat,
    radial-gradient(circle, rgba(255,255,255,.28) 0 .6px, transparent .9px) 5px 7px / 17px 17px repeat,
    radial-gradient(circle, rgba(255,255,255,.22) 0 .55px, transparent .85px) 9px 3px / 10px 10px repeat,
    radial-gradient(circle, rgba(255,255,255,.18) 0 .5px, transparent .8px) 3px 10px / 22px 22px repeat,
    linear-gradient(110deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.34) 24%, rgba(255,255,255,.08) 52%, rgba(255,255,255,0) 68%) !important;
  background-repeat:no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, repeat, repeat, repeat, repeat, no-repeat !important;
  filter:brightness(1.08) saturate(1.06) drop-shadow(0 0 10px rgba(255,255,255,.78)) drop-shadow(0 0 24px rgba(255,255,255,.30)) !important;
  animation:masakariHeaderGalaxyTwinkle 1.9s ease-in-out infinite !important;
}


/* ===== v92-social-toy-capsule-buttons ===== */
.masakari-social-links,
body.masakari-shared-page .masakari-social-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
.masakari-social-link,
body.masakari-shared-page .masakari-social-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:52px;
  padding:6px 18px 6px 10px;
  border-radius:999px;
  border:1.5px solid #080a07;
  background:#ffffff;
  color:#080a07;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-decoration:none !important;
  box-shadow:6px 6px 0 #b7ff00;
  transition:transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease;
  overflow:hidden;
}
.masakari-social-link::before,
body.masakari-shared-page .masakari-social-link::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.36) 46%, transparent 72%);
  transform:translateX(-120%);
  transition:transform .55s ease;
}
.masakari-social-link:hover,
body.masakari-shared-page .masakari-social-link:hover{
  transform:translate(-2px,-2px);
  box-shadow:8px 8px 0 #080a07;
}
.masakari-social-link:hover::before,
body.masakari-shared-page .masakari-social-link:hover::before{
  transform:translateX(120%);
}
.masakari-social-link.instagram,
body.masakari-shared-page .masakari-social-link.instagram{
  background:linear-gradient(135deg,#fff 0%,#fbfff2 60%,#f0ffd0 100%);
  color:#080a07;
}
.masakari-social-link.youtube,
body.masakari-shared-page .masakari-social-link.youtube{
  background:#080a07;
  color:#ffffff;
  box-shadow:6px 6px 0 #b7ff00;
}
.masakari-social-link.youtube:hover,
body.masakari-shared-page .masakari-social-link.youtube:hover{
  background:#10130d;
  color:#ffffff;
}
.masakari-social-link .social-label,
body.masakari-shared-page .masakari-social-link .social-label{
  position:relative;
  z-index:1;
  display:inline-block;
}
.social-capsule,
body.masakari-shared-page .social-capsule{
  position:relative;
  z-index:1;
  width:54px;
  height:30px;
  flex:0 0 auto;
  border-radius:999px;
  border:1.4px solid rgba(8,10,7,.88);
  overflow:hidden;
  background:#f6f6f2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(8,10,7,.06), 0 4px 8px rgba(8,10,7,.12);
}
.social-capsule::before,
body.masakari-shared-page .social-capsule::before{
  content:"";
  position:absolute;
  left:6px;
  top:3px;
  width:24px;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.7);
  filter:blur(.2px);
  z-index:2;
}
.capsule-half,
body.masakari-shared-page .capsule-half{
  position:absolute;
  top:0;
  bottom:0;
}
.capsule-half--left,
body.masakari-shared-page .capsule-half--left{
  left:0;
  width:50%;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(243,243,239,.88) 100%);
  border-right:1px solid rgba(8,10,7,.12);
}
.capsule-half--left::after,
body.masakari-shared-page .capsule-half--left::after{
  content:"";
  position:absolute;
  right:-8px;
  top:5px;
  width:14px;
  height:18px;
  border-radius:50%;
  background:rgba(255,255,255,.32);
  filter:blur(1px);
}
.capsule-half--right,
body.masakari-shared-page .capsule-half--right{
  right:0;
  width:50%;
  display:grid;
  place-items:center;
}
.masakari-social-link.instagram .capsule-half--right,
body.masakari-shared-page .masakari-social-link.instagram .capsule-half--right{
  background:linear-gradient(135deg,#ff7a00 0%,#ff2f92 48%,#8b3dff 100%);
}
.masakari-social-link.youtube .capsule-half--right,
body.masakari-shared-page .masakari-social-link.youtube .capsule-half--right{
  background:linear-gradient(135deg,#ff2b2b 0%,#d80000 100%);
}
.capsule-icon,
body.masakari-shared-page .capsule-icon{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  color:#ffffff;
}
.capsule-icon svg,
body.masakari-shared-page .capsule-icon svg{
  width:18px;
  height:18px;
  display:block;
}
.menu-social,
.footer-social,
body.masakari-shared-page .menu-social,
body.masakari-shared-page .footer-social{
  justify-content:flex-start;
}
.menu-panel__foot .menu-social,
body.masakari-shared-page .menu-panel__foot .menu-social{
  margin-left:auto;
}
@media(max-width:760px){
  .masakari-social-link,
  body.masakari-shared-page .masakari-social-link{
    flex:1 1 150px;
    min-height:50px;
    padding:6px 16px 6px 10px;
  }
  .social-capsule,
  body.masakari-shared-page .social-capsule{
    width:50px;
    height:28px;
  }
  .menu-panel__foot .menu-social,
  body.masakari-shared-page .menu-panel__foot .menu-social{
    margin-left:0;
    width:100%;
  }
}


/* ===== v93-footer-contact-label-text-only ===== */
.footer-mini-label,
body.masakari-shared-page .footer-mini-label{
  display:inline-block !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:rgba(8,10,7,.58) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.24em !important;
}


/* ===== v94-about-us-card-title-size-up ===== */
.about-link-box.only-button .about-link-content.about-link-direct{
  min-height:420px !important;
  padding:24px !important;
}
.about-link-box.only-button .about-link-title,
main#top .about-link-box.only-button .about-link-title{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  width:100% !important;
  max-width:100% !important;
  font-size:clamp(54px,8vw,112px) !important;
  line-height:.9 !important;
  letter-spacing:.06em !important;
  font-weight:900 !important;
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 10px 34px rgba(255,255,255,.18),0 14px 42px rgba(0,0,0,.50) !important;
}
.about-link-box.only-button .about-char{
  display:inline-block !important;
  color:inherit !important;
  opacity:1 !important;
}
.about-link-box.only-button .about-space{
  width:.38em !important;
  flex:0 0 .38em !important;
}
@media(max-width:860px){
  .about-link-box.only-button .about-link-content.about-link-direct{
    min-height:280px !important;
    padding:18px !important;
  }
  .about-link-box.only-button .about-link-title,
  main#top .about-link-box.only-button .about-link-title{
    font-size:clamp(42px,13vw,86px) !important;
    line-height:.94 !important;
  }
}


/* ===== v95-about-us-title-force-big ===== */
#concept .about-link-box.only-button .about-link-content.about-link-direct,
main#top #concept .about-link-box.only-button .about-link-content.about-link-direct{
  min-height:430px !important;
  padding:22px !important;
  display:grid !important;
  place-items:center !important;
}
#concept .about-link-box.only-button .about-link-title,
main#top #concept .about-link-box.only-button .about-link-title{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  max-width:100% !important;
  font-size:clamp(150px,18vw,260px) !important;
  line-height:.84 !important;
  letter-spacing:.02em !important;
  font-weight:900 !important;
  color:#ffffff !important;
  opacity:1 !important;
  transform:none !important;
  text-shadow:0 14px 44px rgba(255,255,255,.20),0 18px 54px rgba(0,0,0,.58) !important;
}
#concept .about-link-box.only-button .about-link-title .about-char,
main#top #concept .about-link-box.only-button .about-link-title .about-char{
  font-size:inherit !important;
  line-height:inherit !important;
  color:inherit !important;
  opacity:1 !important;
  display:inline-block !important;
}
#concept .about-link-box.only-button .about-link-title .about-space,
main#top #concept .about-link-box.only-button .about-link-title .about-space{
  width:.22em !important;
  flex:0 0 .22em !important;
}
@media(max-width:860px){
  #concept .about-link-box.only-button .about-link-content.about-link-direct,
  main#top #concept .about-link-box.only-button .about-link-content.about-link-direct{
    min-height:300px !important;
    padding:14px !important;
  }
  #concept .about-link-box.only-button .about-link-title,
  main#top #concept .about-link-box.only-button .about-link-title{
    font-size:clamp(72px,18vw,140px) !important;
    line-height:.88 !important;
    letter-spacing:.01em !important;
  }
}


/* ===== v96-header-text-logo-main ===== */
.site-header .brand.brand-with-real-logo,
header.site-header .brand.brand-with-real-logo{
  min-height:66px !important;
  min-width:300px !important;
  max-width:min(82vw,430px) !important;
  padding:11px 26px 10px 24px !important;
  gap:0 !important;
}
.site-header .brand.brand-with-real-logo .real-masakari-logo,
header.site-header .brand.brand-with-real-logo .real-masakari-logo{
  display:none !important;
}
.site-header .brand .brand-copy,
header.site-header .brand .brand-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:4px !important;
}
.site-header .brand .brand-copy strong,
header.site-header .brand .brand-copy strong{
  font-size:clamp(22px,2.1vw,30px) !important;
  line-height:.95 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
  color:#080a07 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.34), 0 5px 14px rgba(8,10,7,.14) !important;
  white-space:nowrap !important;
}
.site-header .brand .brand-copy span,
header.site-header .brand .brand-copy span{
  margin-top:0 !important;
  font-size:9px !important;
  line-height:1.1 !important;
  letter-spacing:.08em !important;
  font-weight:900 !important;
  color:rgba(8,10,7,.66) !important;
  white-space:nowrap !important;
}
@media(max-width:680px){
  .site-header .brand.brand-with-real-logo,
  header.site-header .brand.brand-with-real-logo{
    min-height:58px !important;
    min-width:250px !important;
    max-width:calc(100vw - 104px) !important;
    padding:10px 17px 9px 16px !important;
    border-radius:20px !important;
  }
  .site-header .brand .brand-copy strong,
  header.site-header .brand .brand-copy strong{
    font-size:20px !important;
    letter-spacing:-.055em !important;
  }
  .site-header .brand .brand-copy span,
  header.site-header .brand .brand-copy span{
    font-size:7.5px !important;
    letter-spacing:.04em !important;
  }
}


/* ===== v97-header-logo-back ===== */
.site-header .brand.brand-with-real-logo,
header.site-header .brand.brand-with-real-logo{
  min-height:68px !important;
  min-width:330px !important;
  max-width:min(84vw, 470px) !important;
  padding:10px 20px 10px 14px !important;
  gap:12px !important;
}
.site-header .brand.brand-with-real-logo .real-masakari-logo,
header.site-header .brand.brand-with-real-logo .real-masakari-logo{
  display:block !important;
  width:56px !important;
  height:56px !important;
  object-fit:contain !important;
  flex:0 0 56px !important;
  filter:drop-shadow(0 2px 2px rgba(255,255,255,.18)) drop-shadow(0 4px 10px rgba(8,10,7,.10)) !important;
}
.site-header .brand .brand-copy,
header.site-header .brand .brand-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:4px !important;
  min-width:0 !important;
}
.site-header .brand .brand-copy strong,
header.site-header .brand .brand-copy strong{
  font-size:clamp(24px, 2.25vw, 33px) !important;
  line-height:.94 !important;
  letter-spacing:-.06em !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}
.site-header .brand .brand-copy span,
header.site-header .brand .brand-copy span{
  margin-top:0 !important;
  font-size:8.5px !important;
  line-height:1.1 !important;
  letter-spacing:.06em !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
@media(max-width:680px){
  .site-header .brand.brand-with-real-logo,
  header.site-header .brand.brand-with-real-logo{
    min-height:58px !important;
    min-width:252px !important;
    max-width:calc(100vw - 104px) !important;
    padding:8px 14px 8px 10px !important;
    gap:9px !important;
  }
  .site-header .brand.brand-with-real-logo .real-masakari-logo,
  header.site-header .brand.brand-with-real-logo .real-masakari-logo{
    display:block !important;
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
  }
  .site-header .brand .brand-copy strong,
  header.site-header .brand .brand-copy strong{
    font-size:19px !important;
  }
  .site-header .brand .brand-copy span,
  header.site-header .brand .brand-copy span{
    font-size:7px !important;
    letter-spacing:.03em !important;
  }
}


/* ===== v99-header-black-star-sparkles ===== */
@keyframes masakariHeaderBlackStars {
  0%,100%{
    opacity:.88;
    filter:drop-shadow(0 0 0 rgba(8,10,7,0));
  }
  35%{
    opacity:.58;
    filter:drop-shadow(0 0 3px rgba(8,10,7,.18));
  }
  55%{
    opacity:1;
    filter:drop-shadow(0 0 6px rgba(8,10,7,.28));
  }
  78%{
    opacity:.72;
    filter:drop-shadow(0 0 2px rgba(8,10,7,.14));
  }
}
.site-header .brand.brand-with-real-logo::before,
header.site-header .brand.brand-with-real-logo::before{
  background:
    radial-gradient(circle at 8% 24%, rgba(8,10,7,.88) 0 1.2px, transparent 2.15px),
    radial-gradient(circle at 14% 68%, rgba(8,10,7,.82) 0 1px, transparent 1.95px),
    radial-gradient(circle at 19% 44%, rgba(8,10,7,.64) 0 .8px, transparent 1.6px),
    radial-gradient(circle at 27% 18%, rgba(8,10,7,.92) 0 1.35px, transparent 2.35px),
    radial-gradient(circle at 33% 72%, rgba(8,10,7,.78) 0 1px, transparent 1.9px),
    radial-gradient(circle at 40% 36%, rgba(8,10,7,.68) 0 .85px, transparent 1.7px),
    radial-gradient(circle at 49% 17%, rgba(8,10,7,.94) 0 1.45px, transparent 2.45px),
    radial-gradient(circle at 56% 79%, rgba(8,10,7,.72) 0 .95px, transparent 1.85px),
    radial-gradient(circle at 63% 46%, rgba(8,10,7,.82) 0 1.05px, transparent 1.95px),
    radial-gradient(circle at 71% 20%, rgba(8,10,7,.92) 0 1.3px, transparent 2.25px),
    radial-gradient(circle at 79% 65%, rgba(8,10,7,.74) 0 .95px, transparent 1.85px),
    radial-gradient(circle at 86% 31%, rgba(8,10,7,.84) 0 1.1px, transparent 2px),
    radial-gradient(circle at 92% 56%, rgba(8,10,7,.64) 0 .8px, transparent 1.55px),
    linear-gradient(110deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.06) 22%, rgba(255,255,255,0) 44%),
    linear-gradient(135deg,#d4ff35 0%,#b8ff00 58%,#a4ee00 100%) !important;
  background-repeat:no-repeat !important;
  animation:masakariHeaderBlackStars 2.4s ease-in-out infinite !important;
}


/* ===== v100-header-black-stars-visible-fix ===== */
@keyframes masakariHeaderBlackStarsVisible {
  0%,100%{opacity:.96;filter:drop-shadow(0 0 0 rgba(8,10,7,0));transform:translate3d(0,0,0);}
  22%{opacity:.52;filter:drop-shadow(0 0 2px rgba(8,10,7,.16));transform:translate3d(0,0,0);}
  46%{opacity:1;filter:drop-shadow(0 0 5px rgba(8,10,7,.24));transform:translate3d(0,0,0);}
  73%{opacity:.62;filter:drop-shadow(0 0 2px rgba(8,10,7,.14));transform:translate3d(0,0,0);}
}
.site-header .brand.brand-with-real-logo,
header.site-header .brand.brand-with-real-logo{
  background:
    radial-gradient(circle, rgba(8,10,7,.18) 0 1.1px, transparent 1.35px) 0 0/18px 18px,
    radial-gradient(circle, rgba(8,10,7,.12) 0 .9px, transparent 1.15px) 8px 5px/12px 12px,
    radial-gradient(circle, rgba(8,10,7,.10) 0 .85px, transparent 1.05px) 3px 11px/22px 22px,
    linear-gradient(135deg,#d4ff35 0%,#b8ff00 58%,#a4ee00 100%) !important;
}
.site-header .brand.brand-with-real-logo::before,
header.site-header .brand.brand-with-real-logo::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  border-radius:inherit !important;
  background:
    radial-gradient(circle at 7% 22%, rgba(8,10,7,.98) 0 1.8px, transparent 2.7px),
    radial-gradient(circle at 12% 68%, rgba(8,10,7,.92) 0 1.35px, transparent 2.1px),
    radial-gradient(circle at 17% 41%, rgba(8,10,7,.74) 0 1px, transparent 1.7px),
    radial-gradient(circle at 24% 17%, rgba(8,10,7,1) 0 1.95px, transparent 2.95px),
    radial-gradient(circle at 29% 73%, rgba(8,10,7,.88) 0 1.3px, transparent 2.05px),
    radial-gradient(circle at 35% 50%, rgba(8,10,7,.78) 0 1.05px, transparent 1.75px),
    radial-gradient(circle at 42% 24%, rgba(8,10,7,.96) 0 1.65px, transparent 2.55px),
    radial-gradient(circle at 47% 78%, rgba(8,10,7,.82) 0 1.15px, transparent 1.9px),
    radial-gradient(circle at 53% 38%, rgba(8,10,7,.96) 0 1.45px, transparent 2.2px),
    radial-gradient(circle at 58% 13%, rgba(8,10,7,1) 0 2px, transparent 3.05px),
    radial-gradient(circle at 63% 69%, rgba(8,10,7,.88) 0 1.2px, transparent 1.95px),
    radial-gradient(circle at 69% 46%, rgba(8,10,7,.94) 0 1.55px, transparent 2.35px),
    radial-gradient(circle at 75% 20%, rgba(8,10,7,1) 0 1.8px, transparent 2.75px),
    radial-gradient(circle at 81% 64%, rgba(8,10,7,.86) 0 1.2px, transparent 1.95px),
    radial-gradient(circle at 87% 31%, rgba(8,10,7,.96) 0 1.45px, transparent 2.25px),
    radial-gradient(circle at 92% 72%, rgba(8,10,7,.82) 0 1.15px, transparent 1.9px),
    linear-gradient(110deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 22%, rgba(255,255,255,0) 46%) !important;
  background-repeat:no-repeat !important;
  animation:masakariHeaderBlackStarsVisible 1.85s steps(2, end) infinite !important;
  opacity:.95 !important;
  pointer-events:none !important;
}


/* ===== v101-header-black-stars-clean-fix ===== */
@keyframes masakariHeaderBlackStarsClean {
  0%,100%{
    opacity:.96;
    filter:drop-shadow(0 0 0 rgba(8,10,7,0));
  }
  20%{
    opacity:.44;
    filter:drop-shadow(0 0 2px rgba(8,10,7,.12));
  }
  42%{
    opacity:1;
    filter:drop-shadow(0 0 5px rgba(8,10,7,.22));
  }
  62%{
    opacity:.58;
    filter:drop-shadow(0 0 2px rgba(8,10,7,.10));
  }
  82%{
    opacity:1;
    filter:drop-shadow(0 0 4px rgba(8,10,7,.18));
  }
}
.site-header .brand.brand-with-real-logo,
header.site-header .brand.brand-with-real-logo{
  background:linear-gradient(135deg,#d4ff35 0%,#b8ff00 58%,#a4ee00 100%) !important;
}
.site-header .brand.brand-with-real-logo::before,
header.site-header .brand.brand-with-real-logo::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  border-radius:inherit !important;
  background:
    radial-gradient(circle at 10% 22%, rgba(8,10,7,.96) 0 1.65px, transparent 2.5px),
    radial-gradient(circle at 16% 70%, rgba(8,10,7,.70) 0 1.05px, transparent 1.75px),
    radial-gradient(circle at 27% 18%, rgba(8,10,7,.92) 0 1.45px, transparent 2.15px),
    radial-gradient(circle at 37% 63%, rgba(8,10,7,.68) 0 .95px, transparent 1.55px),
    radial-gradient(circle at 49% 26%, rgba(8,10,7,.90) 0 1.4px, transparent 2.1px),
    radial-gradient(circle at 58% 75%, rgba(8,10,7,.72) 0 1px, transparent 1.65px),
    radial-gradient(circle at 66% 17%, rgba(8,10,7,.96) 0 1.55px, transparent 2.3px),
    radial-gradient(circle at 74% 54%, rgba(8,10,7,.74) 0 1px, transparent 1.7px),
    radial-gradient(circle at 84% 28%, rgba(8,10,7,.92) 0 1.35px, transparent 2px),
    radial-gradient(circle at 90% 66%, rgba(8,10,7,.70) 0 .95px, transparent 1.55px),
    linear-gradient(110deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.05) 24%, rgba(255,255,255,0) 46%) !important;
  background-repeat:no-repeat !important;
  animation:masakariHeaderBlackStarsClean 1.8s steps(3,end) infinite !important;
  pointer-events:none !important;
}


/* ===== v102-header-more-compact ===== */
.site-header .brand.brand-with-real-logo,
header.site-header .brand.brand-with-real-logo{
  min-height:60px !important;
  min-width:0 !important;
  max-width:min(72vw, 360px) !important;
  padding:8px 14px 8px 10px !important;
  gap:9px !important;
  border-radius:22px !important;
  box-shadow:7px 7px 0 rgba(8,10,7,.94),0 0 20px rgba(183,255,0,.28) !important;
}
.site-header .brand.brand-with-real-logo .real-masakari-logo,
header.site-header .brand.brand-with-real-logo .real-masakari-logo{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
}
.site-header .brand .brand-copy,
header.site-header .brand .brand-copy{
  gap:3px !important;
}
.site-header .brand .brand-copy strong,
header.site-header .brand .brand-copy strong{
  font-size:clamp(18px,1.85vw,25px) !important;
  line-height:.96 !important;
  letter-spacing:-.05em !important;
}
.site-header .brand .brand-copy span,
header.site-header .brand .brand-copy span{
  font-size:7px !important;
  line-height:1.05 !important;
  letter-spacing:.03em !important;
}
@media(max-width:680px){
  .site-header .brand.brand-with-real-logo,
  header.site-header .brand.brand-with-real-logo{
    min-height:54px !important;
    max-width:calc(100vw - 104px) !important;
    padding:7px 12px 7px 9px !important;
    gap:8px !important;
    border-radius:20px !important;
  }
  .site-header .brand.brand-with-real-logo .real-masakari-logo,
  header.site-header .brand.brand-with-real-logo .real-masakari-logo{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
  .site-header .brand .brand-copy strong,
  header.site-header .brand .brand-copy strong{
    font-size:16px !important;
  }
  .site-header .brand .brand-copy span,
  header.site-header .brand .brand-copy span{
    font-size:6px !important;
    letter-spacing:.02em !important;
  }
}


/* ===== v103-news-2rows-more-compact ===== */
/* トップのお知らせ：最新2件だけ表示。セクション全体をかなりコンパクト化 */
.campaign-blog{
  padding:10px 0 0 !important;
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,0) 100%) !important;
}
.campaign-blog .wrap{
  max-width:1120px !important;
}
.campaign-blog-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-bottom:7px !important;
}
.campaign-blog-title{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
}
.campaign-blog-kicker{
  font-size:10px !important;
  letter-spacing:.22em !important;
}
.campaign-blog-kicker::before{
  width:32px !important;
  height:2px !important;
  box-shadow:0 0 12px rgba(183,255,0,.45) !important;
}
.campaign-blog-head h2{
  font-size:clamp(15px,1.25vw,20px) !important;
  line-height:1 !important;
}
.campaign-blog-more{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:30px !important;
  padding:0 12px !important;
  border:1px solid rgba(8,10,7,.18) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--black) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:3px 3px 0 rgba(183,255,0,.35) !important;
}
.campaign-blog-more:hover{
  background:var(--black) !important;
  color:#fff !important;
}
.campaign-blog-list{
  gap:6px !important;
}
.campaign-blog-item{
  grid-template-columns:150px minmax(0,1fr) auto !important;
  gap:8px 14px !important;
  min-height:54px !important;
  padding:9px 14px !important;
  border-radius:14px !important;
  box-shadow:4px 4px 0 rgba(183,255,0,.26) !important;
  backdrop-filter:blur(8px) !important;
}
.campaign-blog-item:hover{
  transform:translate(-1px,-1px) !important;
  box-shadow:6px 6px 0 rgba(183,255,0,.38) !important;
}
.campaign-blog-meta{
  gap:6px !important;
  font-size:10px !important;
  letter-spacing:.08em !important;
}
.campaign-blog-meta span{
  min-height:20px !important;
  padding:0 8px !important;
  font-size:10px !important;
}
.campaign-blog-item h3{
  font-size:clamp(14px,1.25vw,18px) !important;
  line-height:1.25 !important;
}
.campaign-blog-link{
  min-height:30px !important;
  padding:0 11px !important;
  font-size:11px !important;
}
.campaign-blog-item.is-empty{
  grid-template-columns:150px minmax(0,1fr) !important;
}
@media (max-width:860px){
  .campaign-blog{
    padding:8px 0 0 !important;
  }
  .campaign-blog-head{
    margin-bottom:8px !important;
  }
  .campaign-blog-title{
    gap:10px !important;
  }
  .campaign-blog-more{
    min-height:28px !important;
    padding:0 10px !important;
    font-size:10px !important;
  }
  .campaign-blog-list{
    gap:7px !important;
  }
  .campaign-blog-item{
    grid-template-columns:1fr !important;
    min-height:0 !important;
    gap:6px !important;
    padding:11px 12px !important;
    border-radius:13px !important;
    box-shadow:3px 3px 0 rgba(183,255,0,.24) !important;
  }
  .campaign-blog-item.is-empty{
    grid-template-columns:1fr !important;
  }
  .campaign-blog-link{
    justify-self:start !important;
    min-height:28px !important;
  }
}
@media (max-width:520px){
  .campaign-blog-head{
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:7px !important;
  }
  .campaign-blog-title{
    width:100% !important;
  }
}


/* ===== v105-logo-caption-masakari-only ===== */
.site-header .brand .brand-copy span,
header.site-header .brand .brand-copy span{
  font-size:10px !important;
  line-height:1.05 !important;
  letter-spacing:.14em !important;
  font-weight:900 !important;
}
@media(max-width:680px){
  .site-header .brand .brand-copy span,
  header.site-header .brand .brand-copy span{
    font-size:8px !important;
    letter-spacing:.12em !important;
  }
}

/* ===== v106-dynamic-works-section ===== */
.works-tabs[data-wp-works="true"]{
  margin-top:30px !important;
  margin-bottom:12px !important;
  gap:8px !important;
}
.works-tabs[data-wp-works="true"] .works-tab{
  min-height:42px !important;
  padding:0 15px !important;
  font-size:13px !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}
.works-admin-note{
  display:inline-flex;
  align-items:center;
  gap:10px;
  max-width:920px;
  margin:0 0 8px;
  color:#62685c;
  font-size:12px;
  font-weight:900;
  line-height:1.7;
  letter-spacing:.02em;
}
.works-admin-note::before{
  content:"";
  width:34px;
  height:6px;
  border-radius:999px;
  background:var(--green);
  flex:0 0 auto;
}
.works-grid[data-works-list]{
  margin-top:22px !important;
}
.works-grid[data-works-list].is-loading{
  opacity:.82;
}
.works-grid[data-works-list] .case-card.is-empty{
  pointer-events:none;
}
.works-grid[data-works-list] .case-card h3{
  font-size:clamp(21px,2.1vw,27px) !important;
}
.works-grid[data-works-list] .case-meta span:last-child{
  text-align:right;
}
.works-list-button[href="/works/"] span::before{
  content:"";
}
@media (max-width:760px){
  .works-tabs[data-wp-works="true"]{
    flex-wrap:nowrap !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:10px;
    margin-left:-2px !important;
    margin-right:-2px !important;
  }
  .works-tabs[data-wp-works="true"] .works-tab{
    flex:0 0 auto;
    min-height:40px !important;
    padding:0 14px !important;
    font-size:12px !important;
  }
  .works-admin-note{
    display:flex;
    font-size:11px;
    line-height:1.65;
  }
}


/* ===== v108-header-star-clean-final ===== */
/* トップページ側もヘッダーロゴ背景の黒い星・点滅アニメーションを無効化し、下層ページと完全一致させる。 */
.site-header .brand.brand-with-real-logo,
header.site-header .brand.brand-with-real-logo{
  background:linear-gradient(135deg,#d4ff35 0%,#b8ff00 58%,#a4ee00 100%) !important;
  background-image:linear-gradient(135deg,#d4ff35 0%,#b8ff00 58%,#a4ee00 100%) !important;
}
.site-header .brand.brand-with-real-logo::before,
header.site-header .brand.brand-with-real-logo::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  border-radius:inherit !important;
  background:linear-gradient(110deg,rgba(255,255,255,.46) 0%,rgba(255,255,255,.16) 28%,rgba(255,255,255,0) 54%) !important;
  background-image:linear-gradient(110deg,rgba(255,255,255,.46) 0%,rgba(255,255,255,.16) 28%,rgba(255,255,255,0) 54%) !important;
  background-repeat:no-repeat !important;
  animation:none !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:none !important;
}
.site-header .brand.brand-with-real-logo::after,
header.site-header .brand.brand-with-real-logo::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:20px !important;
  right:20px !important;
  bottom:-8px !important;
  height:8px !important;
  border-radius:999px !important;
  background:#080a07 !important;
  background-image:none !important;
  animation:none !important;
  filter:none !important;
  opacity:.95 !important;
  z-index:-1 !important;
  pointer-events:none !important;
}
.site-header .brand-copy,
.site-header .brand-copy strong,
.site-header .brand-copy span,
.site-header .real-masakari-logo{
  position:relative !important;
  z-index:1 !important;
}
