/*
Theme Name: MASAKARI AI Growth Design v205 Lower Page Balance
Theme URI: https://example.com/
Author: AI集客設計室 MASAKARI
Description: AI集客設計室 MASAKARI用の集客導線特化WordPressテーマ。トップ、About、サービス、実績、コラム、採用、印刷物、写真動画ページを搭載。
Version: 2.0.5
Text Domain: masakari
*/

:root{
  --ink:#080a07;
  --paper:#fbfcf8;
  --white:#fff;
  --muted:#626861;
  --line:rgba(8,10,7,.13);
  --green:#12fd00;
  --pink:#ff42c7;
  --soft:#f5f7f0;
  --shadow:10px 10px 0 var(--ink);
  --radius-xl:34px;
  --radius-lg:26px;
  --radius-md:18px;
  --container:min(1180px,calc(100vw - 44px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  background:
    linear-gradient(rgba(8,10,7,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,10,7,.04) 1px,transparent 1px),
    #fafbf8;
  background-size:36px 36px;
  font-weight:800;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:var(--container);margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.site-header__inner{
  width:var(--container);
  margin-inline:auto;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand__logo{width:56px;height:56px;object-fit:contain}
.brand__name{font-size:clamp(20px,2.1vw,30px);font-weight:900;line-height:1;letter-spacing:.06em;white-space:nowrap}
.brand__sub{font-size:11px;color:var(--muted);letter-spacing:.08em;margin-top:6px;white-space:nowrap}
.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.nav a,.btn{
  min-height:50px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 20px;
  border:1.5px solid var(--ink);
  border-radius:999px;
  background:#fff;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:6px 6px 0 var(--ink);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.nav a:hover,.btn:hover{transform:translateY(-2px)}
.btn--green,.nav .is-primary{background:var(--green)}
.btn--dark{background:var(--ink);color:#fff;box-shadow:6px 6px 0 var(--pink)}
.section{padding:92px 0}
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  min-height:48px;padding:0 18px;
  border:1.5px solid var(--ink);
  border-radius:999px;
  background:#fff;
  box-shadow:8px 8px 0 var(--green);
  font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;
}
.eyebrow::before{content:"";width:40px;height:12px;border-radius:999px;background:var(--green);display:block}
.hero{padding:72px 0 96px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-8vw;top:-14vw;width:48vw;height:48vw;border-radius:50%;background:var(--green);opacity:.16;z-index:-1}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:30px;align-items:stretch}
.hero h1{font-size:clamp(54px,7vw,108px);line-height:.9;letter-spacing:-.06em;margin:20px 0 18px;font-weight:900}
.hero .accent{display:inline-block;position:relative;z-index:1}
.hero .accent::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.18em;background:var(--green);border-radius:999px;z-index:-1}
.lead{font-size:clamp(17px,1.9vw,24px);line-height:1.8;font-weight:800;color:#252b25}
.body-copy{font-size:16px;line-height:1.9;color:#3d433d;font-weight:750}
.hero-actions,.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.card{
  background:#fff;
  border:1.5px solid var(--ink);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative;
}
.card--dark{
  background:linear-gradient(180deg,#08070d,#111019);
  color:#fff;
  border-color:var(--pink);
  box-shadow:10px 10px 0 var(--pink);
}
.card--dark .body-copy,.card--dark .lead{color:rgba(255,255,255,.84)}
.card-pad{padding:28px}
.hero-card__title{font-size:clamp(40px,5vw,72px);line-height:.94;letter-spacing:-.06em;margin:18px 0 14px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}
.section-head h2{font-size:clamp(36px,5vw,66px);line-height:.98;letter-spacing:-.05em;margin:18px 0 0}
.section-head p{max-width:620px;margin:0;font-size:16px;line-height:1.85;color:#434943}
.feature-card{padding:26px;min-height:100%}
.feature-card__num{
  display:inline-flex;align-items:center;gap:10px;height:34px;padding:0 14px;border-radius:999px;
  background:var(--ink);color:#fff;font-size:12px;font-weight:900;letter-spacing:.14em;
}
.feature-card__num::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(18,253,0,.18)}
.feature-card h3{font-size:clamp(26px,2.8vw,42px);line-height:1.05;letter-spacing:-.05em;margin:18px 0 12px}
.media-card{display:grid;grid-template-rows:auto 1fr;min-height:100%}
.media-thumb{aspect-ratio:16/10;background:#ddd;overflow:hidden;border-bottom:1px solid var(--line)}
.media-thumb img{width:100%;height:100%;object-fit:cover}
.media-body{padding:22px}
.media-body h3{font-size:clamp(24px,2.4vw,34px);line-height:1.08;letter-spacing:-.05em;margin:0 0 10px}
.tag{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:var(--green);border:1px solid var(--ink);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.price{font-size:clamp(44px,5vw,72px);line-height:.9;letter-spacing:-.06em;font-weight:900;margin:16px 0}
.pill-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.pill{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:900}
.cta-box{padding:34px;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;background:linear-gradient(135deg,#fff,#f7f7f7)}
.cta-box h2{font-size:clamp(34px,4.8vw,66px);line-height:.95;letter-spacing:-.05em;margin:18px 0 12px}
.site-footer{padding:34px 0 54px;border-top:1px solid var(--line)}
.site-footer__inner{width:var(--container);margin-inline:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#4c524c;font-weight:900}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.wp-content{font-size:17px;line-height:1.9;max-width:860px}
.wp-content h2{font-size:clamp(30px,4vw,52px);line-height:1.1;margin:2em 0 .6em}
.wp-content p{margin:0 0 1.3em}
@media(max-width:1050px){
  .hero-grid,.grid-4,.grid-3,.grid-2,.cta-box,.archive-grid{grid-template-columns:1fr}
  .section-head{flex-direction:column;align-items:flex-start}
}
@media(max-width:760px){
  :root{--container:min(100vw - 24px,100vw - 24px);--shadow:6px 6px 0 var(--ink)}
  .site-header__inner{align-items:flex-start;min-height:auto;padding:12px 0}
  .brand__logo{width:48px;height:48px}
  .brand__name{font-size:20px}
  .brand__sub{font-size:10px}
  .nav{display:none}
  .hero{padding:46px 0 66px}
  .hero h1{font-size:52px}
  .section{padding:64px 0}
  .card-pad,.feature-card,.media-body,.cta-box{padding:22px}
  .btn{width:100%}
}


/* 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 #12fd00;
  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 #12fd00;
}

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

.social-dot{
  position:relative;
  z-index:1;
  width:9px;
  height:9px;
  border-radius:999px;
  background:#12fd00;
  border:1px solid #080a07;
  box-shadow:0 0 14px rgba(18,253,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;
  }
}




/* v53 lower global mobile safety */
@media(max-width:860px){
  html, body{max-width:100%;overflow-x:hidden}
  img, video, svg{max-width:100%}
  *{min-width:0}
}


/* ===== v83-single-post-detail ===== */
.post-detail-wrap{
  max-width: 920px;
}
.post-detail-card{
  position: relative;
  border: 1px solid var(--line);
  border-radius: 34px;
  background: #fff;
  box-shadow: 10px 10px 0 var(--green);
  padding: clamp(28px, 6vw, 64px);
  overflow: hidden;
}
.post-detail-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:7px;
  background: var(--green);
}
.post-detail-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:18px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}
.post-detail-meta span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:var(--green);
  color:var(--ink);
  letter-spacing:.04em;
}
.post-detail-title{
  margin:0;
  font-size:clamp(36px, 5vw, 72px);
  line-height:1.02;
  letter-spacing:-.06em;
}
.post-detail-lead{
  margin:22px 0 0;
  font-size:clamp(16px, 1.7vw, 20px);
  line-height:1.9;
  font-weight:800;
  color:#333933;
}
.post-detail-content{
  margin-top:34px;
}
.post-detail-content > *:first-child{
  margin-top:0;
}
.post-detail-content h2,
.post-detail-content h3{
  margin:2em 0 .7em;
  letter-spacing:-.04em;
  line-height:1.18;
}
.post-detail-content p{
  margin:0 0 1.35em;
}
.post-detail-content a{
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}
.post-detail-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:34px;
}
@media(max-width:760px){
  .post-detail-card{
    border-radius:26px;
    box-shadow:7px 7px 0 var(--green);
  }
  .post-detail-actions .btn{
    width:100%;
  }
}

/* =========================================================
   MASAKARI v86 shared header / footer
   Topページと下層ページのヘッダー・フッターを同じ見た目に統一
   ========================================================= */
body.masakari-shared-page{
  margin:0;
  color:#11130f;
  background:
    radial-gradient(circle at 12% 8%, rgba(18,253,0,.14), transparent 28vw),
    radial-gradient(circle at 92% 2%, rgba(18,253,0,.20), transparent 22vw),
    linear-gradient(180deg,#fff 0%,#fff 100%);
  font-family:"Inter","Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.02em;
  overflow-x:hidden;
}
body.masakari-shared-page::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.masakari-shared-page::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;
}
body.masakari-shared-page .wrap{width:min(1120px,calc(100% - 32px));margin-inline:auto;}
body.masakari-shared-page .masakari-page-main{padding-top:110px;}

body.masakari-shared-page .site-header{
  position:fixed;
  top:18px;
  left:0;
  right:0;
  z-index:999;
  padding:0;
  background:transparent;
  border:none;
  pointer-events:none;
}
body.masakari-shared-page .site-header .nav{
  width:min(1120px,calc(100% - 24px));
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  pointer-events:auto;
}
body.masakari-shared-page .site-header .nav a,
body.masakari-shared-page .site-header .nav button{
  box-sizing:border-box;
}
body.masakari-shared-page .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,#66ff57 0%,#12fd00 58%,#0edd00 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(18,253,0,.34) !important;
  overflow:visible !important;
  isolation:isolate !important;
  text-decoration:none !important;
  transform:none;
}
body.masakari-shared-page .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: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;
}
body.masakari-shared-page .site-header .brand.brand-with-real-logo::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;
  z-index:-1 !important;
  pointer-events:none !important;
}
body.masakari-shared-page .site-header .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;
  object-fit:contain !important;
  background:transparent !important;
  border: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;
  flex:0 0 auto !important;
}
body.masakari-shared-page .site-header .brand-copy,
body.masakari-shared-page .site-header .brand-copy strong,
body.masakari-shared-page .site-header .brand-copy span{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  color:#080a07 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.34) !important;
  text-transform:none !important;
  white-space:nowrap !important;
}
body.masakari-shared-page .site-header .brand-copy strong{
  font-size:13px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}
body.masakari-shared-page .site-header .brand-copy span{
  margin-top:3px !important;
  color:rgba(8,10,7,.68) !important;
  font-size:9px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}
body.masakari-shared-page .site-header .brand-copy::after{content:none !important;display:none !important;}

body.masakari-shared-page .menu-toggle{
  position:relative;
  z-index:90;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:46px;
  width:auto;
  padding:0 10px 0 16px;
  border:1.5px solid rgba(8,10,7,.92);
  border-radius:18px;
  background:rgba(245,246,241,.88);
  color:#080a07;
  font:inherit;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
  cursor:pointer;
  overflow:hidden;
  box-shadow:7px 7px 0 #12fd00;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease;
}
body.masakari-shared-page .menu-toggle:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 #12fd00;background:#fff;}
body.masakari-shared-page .menu-toggle__glow{position:absolute;inset:auto auto -28px -18px;width:86px;height:86px;border-radius:50%;background:#12fd00;filter:blur(18px);opacity:.42;transition:.35s ease;}
body.masakari-shared-page .menu-toggle__text{position:relative;font-size:11px;line-height:1;letter-spacing:.18em;font-weight:900;}
body.masakari-shared-page .menu-toggle__bars{position:relative;width:30px;height:18px;border:0;background:transparent;box-shadow:none;border-radius:0;display:grid;place-items:center;}
body.masakari-shared-page .menu-toggle__bars i{position:absolute;right:0;width:28px;height:2px;background:#080a07;border-radius:999px;transition:transform .35s cubic-bezier(.2,.9,.2,1),width .25s ease;}
body.masakari-shared-page .menu-toggle__bars i:first-child{transform:translateY(-5px);}
body.masakari-shared-page .menu-toggle__bars i:last-child{transform:translateY(5px);width:18px;}
body.masakari-shared-page.menu-open .menu-toggle{background:#12fd00;box-shadow:7px 7px 0 #080a07;border-color:#080a07;}
body.masakari-shared-page.menu-open .menu-toggle__bars i:first-child{transform:rotate(45deg);width:24px;}
body.masakari-shared-page.menu-open .menu-toggle__bars i:last-child{transform:rotate(-45deg);width:24px;}
body.masakari-shared-page.menu-open .menu-toggle__text{font-size:0;}
body.masakari-shared-page.menu-open .menu-toggle__text::after{content:"CLOSE";font-size:11px;}

body.masakari-shared-page .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);
  -webkit-backdrop-filter:blur(24px);
  opacity:0;
  pointer-events:none;
  visibility:hidden;
  transition:opacity .42s ease,visibility .42s ease;
}
body.masakari-shared-page .menu-panel__bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
body.masakari-shared-page .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:#12fd00;opacity:.92;transform:scale(.72);transition:transform .65s cubic-bezier(.2,.9,.2,1);}
body.masakari-shared-page .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;}
body.masakari-shared-page .menu-panel__inner{
  position:relative;
  z-index:1;
  width:min(1040px,100%);
  min-height:min(670px,calc(100svh - 110px));
  display:grid;
  grid-template-rows:auto 1fr auto;
  padding:clamp(22px,4vw,46px);
  border:1px solid rgba(8,10,7,.13);
  border-radius:30px;
  background:rgba(255,255,255,.86);
  box-shadow:0 30px 90px rgba(8,10,7,.14);
  overflow:hidden;
  transform:translateY(18px) scale(.985);
  transition:transform .55s cubic-bezier(.2,.9,.2,1);
}
body.masakari-shared-page .menu-panel__inner::before{content:"";position:absolute;inset:16px;border:1px dashed rgba(8,10,7,.16);border-radius:24px;pointer-events:none;}
body.masakari-shared-page.menu-open{overflow:hidden;}
body.masakari-shared-page.menu-open .menu-panel{opacity:1;pointer-events:auto;visibility:visible;}
body.masakari-shared-page.menu-open .menu-panel__inner{transform:none;}
body.masakari-shared-page.menu-open .menu-panel__bg::before{transform:scale(1);}
body.masakari-shared-page .menu-panel__head,
body.masakari-shared-page .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:#666b61;}
body.masakari-shared-page .menu-panel__foot p{margin:0;color:#080a07;font-size:clamp(13px,1.6vw,16px);letter-spacing:.02em;text-transform:none;}
body.masakari-shared-page .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;}
body.masakari-shared-page .menu-nav__featured,
body.masakari-shared-page .menu-nav__secondary{display:grid;}
body.masakari-shared-page .menu-nav__featured{gap:14px;align-content:start;}
body.masakari-shared-page .menu-nav__secondary{gap:10px;align-content:start;padding-top:8px;}
body.masakari-shared-page .menu-nav a{
  display:flex;
  align-items:baseline;
  gap:16px;
  max-width:100%;
  color:#080a07;
  text-decoration:none !important;
  min-height:auto;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  opacity:1;
  transition:color .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
body.masakari-shared-page .menu-nav__featured a{
  align-items:center;
  min-height:96px;
  padding:18px 20px;
  border:1px solid rgba(8,10,7,.14);
  border-radius:24px;
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 28px rgba(8,10,7,.06);
}
body.masakari-shared-page .menu-nav__featured a:hover{transform:translateY(-3px);box-shadow:10px 10px 0 rgba(18,253,0,.45);}
body.masakari-shared-page .menu-nav__featured a.is-primary{background:#12fd00;border-color:#080a07;box-shadow:8px 8px 0 #080a07;}
body.masakari-shared-page .menu-no{font-size:12px;font-weight:900;letter-spacing:.18em;color:#666b61;}
body.masakari-shared-page .menu-title{display:block;font-size:clamp(24px,3.5vw,46px);line-height:1.02;letter-spacing:-.055em;font-weight:900;color:#080a07;}
body.masakari-shared-page .menu-main{display:grid;gap:8px;min-width:0;}
body.masakari-shared-page .menu-arrow{margin-left:auto;font-size:22px;font-weight:900;}
body.masakari-shared-page .menu-popular-badge{display:inline-flex;width:max-content;align-items:center;gap:7px;padding:6px 10px;border:1px solid #080a07;border-radius:999px;background:#fff;color:#080a07;font-size:10px;line-height:1;font-weight:900;letter-spacing:.12em;}
body.masakari-shared-page .menu-popular-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#12fd00;border:1px solid #080a07;}
body.masakari-shared-page .menu-featured-note{margin:2px 0 0;color:#666b61;font-size:13px;line-height:1.8;font-weight:800;}
body.masakari-shared-page .menu-nav__secondary a{justify-content:space-between;align-items:center;min-height:58px;padding:0 16px;border-bottom:1px solid rgba(8,10,7,.10);font-size:clamp(18px,2.2vw,28px);font-weight:900;letter-spacing:-.03em;}
body.masakari-shared-page .menu-nav__secondary a:hover{background:rgba(18,253,0,.16);padding-left:20px;}
body.masakari-shared-page .menu-nav__secondary a span{font-size:11px;letter-spacing:.18em;color:#666b61;}
body.masakari-shared-page .menu-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;background:#080a07;color:#fff;text-decoration:none !important;font-size:12px;font-weight:900;letter-spacing:.08em;}

body.masakari-shared-page .masakari-social-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
body.masakari-shared-page .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:#fff;
  color:#080a07;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-decoration:none !important;
  box-shadow:5px 5px 0 #12fd00;
  transition:transform .24s ease,box-shadow .24s ease,background .24s ease,color .24s ease;
  overflow:hidden;
}
body.masakari-shared-page .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;}
body.masakari-shared-page .masakari-social-link:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #080a07;}
body.masakari-shared-page .masakari-social-link:hover::before{transform:translateX(120%);}
body.masakari-shared-page .masakari-social-link.instagram{background:linear-gradient(135deg,#fff 0%,#fff7ff 54%,#f2ffd6 100%);}
body.masakari-shared-page .masakari-social-link.youtube{background:#080a07;color:#fff;box-shadow:5px 5px 0 #12fd00;}
body.masakari-shared-page .masakari-social-link.youtube:hover{background:#fff;color:#080a07;}
body.masakari-shared-page .social-dot{position:relative;z-index:1;width:9px;height:9px;border-radius:999px;background:#12fd00;border:1px solid #080a07;box-shadow:0 0 14px rgba(18,253,0,.58);}
body.masakari-shared-page .masakari-social-link span:not(.social-dot),
body.masakari-shared-page .masakari-social-link{z-index:1;}
body.masakari-shared-page .menu-social{justify-content:flex-start;}
body.masakari-shared-page .menu-panel__foot .menu-social{margin-left:auto;}

body.masakari-shared-page .site-footer{
  padding:18px 0 46px;
  border:0;
  background:transparent;
}
body.masakari-shared-page .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(18,253,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);
}
body.masakari-shared-page .footer-shell-minimal::after{content:"";position:absolute;inset:18px;border:1px dashed rgba(8,10,7,.10);border-radius:24px;pointer-events:none;}
body.masakari-shared-page .footer-top-minimal{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:28px;align-items:stretch;padding:34px 34px 24px;}
body.masakari-shared-page .footer-branding{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;min-height:220px;}
body.masakari-shared-page .footer-brand-row{display:flex;align-items:center;gap:24px;}
body.masakari-shared-page .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;}
body.masakari-shared-page .footer-brand-logo-only::before,
body.masakari-shared-page .footer-brand-logo-only::after,
body.masakari-shared-page .footer-brand-logo-only span{display:none !important;content:none !important;}
body.masakari-shared-page .footer-brand-logo-only img{display:block;width:132px;height:132px;object-fit:contain;border:none !important;box-shadow:none !important;background:transparent !important;}
body.masakari-shared-page .footer-brand-copy-block{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;}
body.masakari-shared-page .footer-branding .footer-lead{margin:0;max-width:none;font-size:clamp(28px,3vw,44px);line-height:1.03;letter-spacing:-.03em;font-weight:900;color:#080a07;}
body.masakari-shared-page .footer-brand-subcopy{margin:0;font-size:15px;line-height:1.45;font-weight:900;color:rgba(8,10,7,.72);}
body.masakari-shared-page .footer-branding .footer-social{margin:22px 0 0;justify-content:flex-start;}
body.masakari-shared-page .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(18,253,0,.10);}
body.masakari-shared-page .footer-mini-label{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border-radius:999px;background:#12fd00;border:1px solid #080a07;font-size:11px;font-weight:900;letter-spacing:.18em;}
body.masakari-shared-page .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;color:#080a07;}
body.masakari-shared-page .footer-cta-card-minimal p{margin:0;font-size:15px;line-height:1.8;font-weight:800;color:rgba(8,10,7,.66);}
body.masakari-shared-page .footer-cta-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:18px;}
body.masakari-shared-page .footer-cta-actions .btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border:1.5px solid #080a07;border-radius:999px;background:#fff;color:#080a07;font-weight:900;letter-spacing:.04em;box-shadow:none;text-decoration:none !important;}
body.masakari-shared-page .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;}
body.masakari-shared-page .footer-nav-minimal{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;padding:0 34px 24px;}
body.masakari-shared-page .footer-nav-minimal a{display:inline-flex;align-items:center;min-height:38px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;color:rgba(8,10,7,.62);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;text-decoration:none !important;transition:color .2s ease, transform .2s ease;}
body.masakari-shared-page .footer-nav-minimal a:hover{color:#080a07;transform:translateY(-1px);}
body.masakari-shared-page .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);}
body.masakari-shared-page .footer-bottom-minimal strong{color:#080a07;}

@media(max-width:980px){
  body.masakari-shared-page .footer-top-minimal{grid-template-columns:1fr;gap:20px;padding:28px 22px 18px;}
  body.masakari-shared-page .footer-branding{min-height:0;}
  body.masakari-shared-page .footer-nav-minimal{padding:0 22px 18px;}
  body.masakari-shared-page .footer-bottom-minimal{padding:16px 22px 24px;}
  body.masakari-shared-page .menu-nav{grid-template-columns:1fr;gap:18px;}
}
@media(max-width:760px){
  body.masakari-shared-page .masakari-page-main{padding-top:92px;}
  body.masakari-shared-page .site-header{top:10px;}
  body.masakari-shared-page .site-header .nav{width:min(100% - 18px,1120px);}
  body.masakari-shared-page .site-header .brand.brand-with-real-logo{min-height:52px !important;padding:7px 12px 7px 9px !important;gap:8px !important;border-radius:20px !important;}
  body.masakari-shared-page .site-header .real-masakari-logo{width:38px !important;height:38px !important;}
  body.masakari-shared-page .site-header .brand-copy strong{font-size:11px !important;}
  body.masakari-shared-page .site-header .brand-copy span{font-size:8px !important;letter-spacing:.08em !important;}
  body.masakari-shared-page .menu-toggle{width:78px;min-height:44px;border-radius:15px;padding:0 10px;box-shadow:5px 5px 0 #12fd00;gap:8px;}
  body.masakari-shared-page .menu-toggle__text{font-size:9px;letter-spacing:.12em;}
  body.masakari-shared-page .menu-toggle__bars{width:22px;height:16px;}
  body.masakari-shared-page .menu-toggle__bars i{width:20px;}
  body.masakari-shared-page .menu-toggle__bars i:last-child{width:13px;}
  body.masakari-shared-page .menu-panel{padding:76px 10px 10px;}
  body.masakari-shared-page .menu-panel__inner{border-radius:26px;min-height:calc(100svh - 88px);padding:22px 18px;}
  body.masakari-shared-page .menu-panel__inner::before{inset:10px;border-radius:18px;}
  body.masakari-shared-page .menu-panel__head{font-size:9px;}
  body.masakari-shared-page .menu-panel__foot{display:grid;gap:14px;align-items:start;}
  body.masakari-shared-page .menu-panel__foot .menu-social{margin-left:0;width:100%;}
  body.masakari-shared-page .menu-title{font-size:28px;}
  body.masakari-shared-page .menu-nav__featured a{min-height:82px;padding:16px;}
  body.masakari-shared-page .masakari-social-link{flex:1 1 140px;}
  body.masakari-shared-page .footer-shell-minimal{border-radius:26px;}
  body.masakari-shared-page .footer-shell-minimal::after{inset:14px;border-radius:18px;}
  body.masakari-shared-page .footer-brand-row{gap:14px;}
  body.masakari-shared-page .footer-brand-logo-only{width:78px;min-width:78px;height:78px;}
  body.masakari-shared-page .footer-brand-logo-only img{width:78px;height:78px;}
  body.masakari-shared-page .footer-branding .footer-lead{font-size:26px;line-height:1.04;}
  body.masakari-shared-page .footer-brand-subcopy{font-size:12px;line-height:1.5;}
  body.masakari-shared-page .footer-branding .footer-social{width:100%;}
  body.masakari-shared-page .footer-bottom-minimal{display:grid;gap:8px;}
}
@media(max-width:430px){
  body.masakari-shared-page .site-header .brand-copy{max-width:185px;}
  body.masakari-shared-page .site-header .brand-copy strong,
  body.masakari-shared-page .site-header .brand-copy span{overflow:hidden;text-overflow:ellipsis;}
}


/* ===== 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);}
}
body.masakari-shared-page .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));}
}
body.masakari-shared-page .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));
  }
}
body.masakari-shared-page .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 #12fd00;
  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 #12fd00;
}
.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;
}


/* ===== v96-header-text-logo-main ===== */
body.masakari-shared-page .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;
}
body.masakari-shared-page .site-header .brand.brand-with-real-logo .real-masakari-logo{
  display:none !important;
}
body.masakari-shared-page .site-header .brand-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:4px !important;
}
body.masakari-shared-page .site-header .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;
}
body.masakari-shared-page .site-header .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){
  body.masakari-shared-page .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;
  }
  body.masakari-shared-page .site-header .brand-copy strong{
    font-size:20px !important;
    letter-spacing:-.055em !important;
  }
  body.masakari-shared-page .site-header .brand-copy span{
    font-size:7.5px !important;
    letter-spacing:.04em !important;
  }
}


/* ===== v97-header-logo-back ===== */
body.masakari-shared-page .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;
}
body.masakari-shared-page .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;
}
body.masakari-shared-page .site-header .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;
}
body.masakari-shared-page .site-header .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;
}
body.masakari-shared-page .site-header .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){
  body.masakari-shared-page .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;
  }
  body.masakari-shared-page .site-header .brand.brand-with-real-logo .real-masakari-logo{
    display:block !important;
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
  }
  body.masakari-shared-page .site-header .brand-copy strong{
    font-size:19px !important;
  }
  body.masakari-shared-page .site-header .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));
  }
}
body.masakari-shared-page .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,#66ff57 0%,#12fd00 58%,#0edd00 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);}
}
body.masakari-shared-page .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,#66ff57 0%,#12fd00 58%,#0edd00 100%) !important;
}
body.masakari-shared-page .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));
  }
}
body.masakari-shared-page .site-header .brand.brand-with-real-logo{
  background:linear-gradient(135deg,#66ff57 0%,#12fd00 58%,#0edd00 100%) !important;
}
body.masakari-shared-page .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 ===== */
body.masakari-shared-page .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(18,253,0,.28) !important;
}
body.masakari-shared-page .site-header .brand.brand-with-real-logo .real-masakari-logo{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
}
body.masakari-shared-page .site-header .brand-copy{
  gap:3px !important;
}
body.masakari-shared-page .site-header .brand-copy strong{
  font-size:clamp(18px,1.85vw,25px) !important;
  line-height:.96 !important;
  letter-spacing:-.05em !important;
}
body.masakari-shared-page .site-header .brand-copy span{
  font-size:7px !important;
  line-height:1.05 !important;
  letter-spacing:.03em !important;
}
@media(max-width:680px){
  body.masakari-shared-page .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;
  }
  body.masakari-shared-page .site-header .brand.brand-with-real-logo .real-masakari-logo{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
  body.masakari-shared-page .site-header .brand-copy strong{
    font-size:16px !important;
  }
  body.masakari-shared-page .site-header .brand-copy span{
    font-size:6px !important;
    letter-spacing:.02em !important;
  }
}


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

/* ===== v106 works blog-like archive/detail polish ===== */
.work-archive-page,
.work-detail-page{
  background:
    linear-gradient(rgba(18,253,0,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,253,0,.05) 1px, transparent 1px),
    #fff;
  background-size:52px 52px;
  color:#080a07;
}
.work-archive-hero,
.work-detail-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(104px,13vw,164px) 0 clamp(52px,8vw,96px);
  border-bottom:1px solid rgba(8,10,7,.1);
}
.work-archive-hero::before,
.work-detail-hero::before{
  content:"";
  position:absolute;
  inset:auto -12% -46% auto;
  width:min(720px,70vw);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle, rgba(18,253,0,.86), rgba(18,253,0,.22) 45%, transparent 67%);
  filter:blur(3px);
  pointer-events:none;
}
.work-archive-hero__inner,
.work-detail-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:end;
}
.work-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#60675d;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.work-kicker::before{
  content:"";
  width:42px;
  height:6px;
  border-radius:999px;
  background:#12fd00;
}
.work-kicker-link{
  text-decoration:none;
  color:#080a07;
}
.work-archive-hero h1,
.work-detail-hero h1{
  margin:0;
  font-size:clamp(48px,8vw,112px);
  line-height:.92;
  letter-spacing:-.075em;
  font-weight:900;
  max-width:980px;
}
.work-archive-hero p,
.work-detail-hero p{
  margin:24px 0 0;
  max-width:820px;
  color:#30352e;
  font-size:clamp(16px,2vw,22px);
  line-height:1.85;
  font-weight:800;
}
.work-hero-cta,
.work-back-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid #080a07;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.work-hero-cta{
  background:#12fd00;
  color:#080a07;
  box-shadow:8px 8px 0 #080a07;
}
.work-back-link{
  background:#fff;
  color:#080a07;
}
.work-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}
.work-archive-list-section,
.work-detail-content-section{
  padding:clamp(42px,7vw,84px) 0;
}
.work-category-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:30px;
}
.work-category-nav a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid #080a07;
  border-radius:999px;
  background:#fff;
  color:#080a07;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
  box-shadow:4px 4px 0 rgba(8,10,7,.08);
}
.work-category-nav a.is-active,
.work-category-nav a:hover{
  background:#12fd00;
  box-shadow:5px 5px 0 #080a07;
}
.work-archive-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.work-archive-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  border:1px solid rgba(8,10,7,.16);
  border-radius:28px;
  background:#fff;
  color:#080a07;
  text-decoration:none;
  box-shadow:0 18px 54px rgba(8,10,7,.08);
  transition:.25s ease;
}
.work-archive-card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 70px rgba(8,10,7,.13);
}
.work-archive-card__thumb{
  position:relative;
  overflow:hidden;
  aspect-ratio:4/3;
  background:#eef3e8;
  border-bottom:1px solid rgba(8,10,7,.1);
}
.work-archive-card__thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.work-archive-card__body{
  padding:20px;
}
.work-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  color:#60675d;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.work-card-meta span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  background:#12fd00;
  color:#080a07;
  letter-spacing:.04em;
}
.work-archive-card h2{
  margin:0 0 12px;
  font-size:clamp(23px,2.4vw,31px);
  line-height:1.15;
  letter-spacing:-.055em;
  font-weight:900;
}
.work-archive-card p{
  margin:0;
  color:#4b5145;
  font-size:14px;
  font-weight:800;
  line-height:1.8;
}
.work-card-link{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid rgba(8,10,7,.12);
  font-size:13px;
  font-weight:900;
}
.work-detail-hero__inner{
  grid-template-columns:minmax(0,.98fr) minmax(320px,.72fr);
  align-items:center;
}
.work-detail-visual{
  overflow:hidden;
  aspect-ratio:4/3;
  border-radius:34px;
  border:1px solid rgba(8,10,7,.16);
  background:#eef3e8;
  box-shadow:0 22px 70px rgba(8,10,7,.16), 12px 12px 0 #12fd00;
}
.work-detail-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.work-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:34px;
  align-items:start;
}
.work-detail-content{
  padding:clamp(24px,4vw,46px);
  border:1px solid rgba(8,10,7,.13);
  border-radius:30px;
  background:#fff;
  box-shadow:0 18px 60px rgba(8,10,7,.07);
}
.work-detail-content > *:first-child{
  margin-top:0;
}
.work-detail-content h2{
  position:relative;
  margin:46px 0 18px;
  padding-left:18px;
  font-size:clamp(28px,4vw,46px);
  line-height:1.08;
  letter-spacing:-.06em;
  font-weight:900;
}
.work-detail-content h2::before{
  content:"";
  position:absolute;
  left:0;
  top:.1em;
  bottom:.1em;
  width:6px;
  border-radius:999px;
  background:#12fd00;
}
.work-detail-content h3{
  margin:32px 0 14px;
  font-size:clamp(22px,2.8vw,32px);
  line-height:1.18;
  letter-spacing:-.04em;
  font-weight:900;
}
.work-detail-content p,
.work-detail-content li{
  color:#30352e;
  font-size:16px;
  line-height:2;
  font-weight:700;
}
.work-detail-content a{
  color:#080a07;
  font-weight:900;
  text-decoration-thickness:3px;
  text-decoration-color:#12fd00;
  text-underline-offset:4px;
}
.work-detail-content img{
  max-width:100%;
  height:auto;
  border-radius:22px;
}
.work-detail-side{
  position:sticky;
  top:96px;
  display:grid;
  gap:14px;
}
.work-side-card{
  padding:20px;
  border:1px solid rgba(8,10,7,.14);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 48px rgba(8,10,7,.08);
}
.work-side-card span{
  display:block;
  color:#60675d;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.work-side-card strong{
  display:block;
  font-size:18px;
  line-height:1.55;
  letter-spacing:-.03em;
  font-weight:900;
}
.work-side-card.is-dark{
  background:#080a07;
  color:#fff;
  border-color:#080a07;
}
.work-side-card.is-dark span{
  color:#12fd00;
}
.work-side-card a{
  display:inline-flex;
  margin-top:16px;
  color:#12fd00;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
}
.work-empty-block{
  grid-column:1/-1;
  padding:34px;
  border:1px dashed rgba(8,10,7,.22);
  border-radius:26px;
  background:rgba(255,255,255,.78);
}
.work-empty-block span{
  display:inline-block;
  margin-bottom:12px;
  color:#60675d;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.work-empty-block h2{
  margin:0 0 8px;
  font-size:32px;
  line-height:1.1;
  letter-spacing:-.05em;
}
.work-empty-block p{
  margin:0;
  color:#4b5145;
  font-weight:800;
  line-height:1.8;
}
.work-pagination{
  margin-top:34px;
}
.work-pagination .nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.work-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:42px;
  padding:0 12px;
  border:1px solid rgba(8,10,7,.16);
  border-radius:999px;
  background:#fff;
  color:#080a07;
  font-weight:900;
  text-decoration:none;
}
.work-pagination .page-numbers.current{
  background:#080a07;
  color:#12fd00;
}
@media (max-width:960px){
  .work-archive-hero__inner,
  .work-detail-hero__inner,
  .work-detail-layout{
    grid-template-columns:1fr;
  }
  .work-archive-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .work-detail-side{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .work-archive-hero,
  .work-detail-hero{
    padding-top:96px;
  }
  .work-archive-grid,
  .work-detail-side{
    grid-template-columns:1fr;
  }
  .work-category-nav{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:10px;
  }
  .work-category-nav a{
    flex:0 0 auto;
  }
  .work-hero-cta,
  .work-back-link{
    width:100%;
  }
  .work-detail-visual{
    border-radius:24px;
    box-shadow:8px 8px 0 #12fd00;
  }
}

/* ===== v107-lower-header-match-top ===== */
/* 下層ページのヘッダーをトップページの見た目に完全寄せ */
body.masakari-shared-page .site-header{
  position:fixed !important;
  top:18px !important;
  left:0 !important;
  right:0 !important;
  z-index:999 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  pointer-events:none !important;
}
body.admin-bar.masakari-shared-page .site-header{
  top:calc(32px + 18px) !important;
}
body.masakari-shared-page .site-header .nav{
  width:min(1180px,calc(100% - 28px)) !important;
  margin:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:start !important;
  justify-content:normal !important;
  gap:12px !important;
  pointer-events:auto !important;
}
body.masakari-shared-page .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;
  background:linear-gradient(135deg,#66ff57 0%,#12fd00 58%,#0edd00 100%) !important;
  border:1.5px solid rgba(8,10,7,.92) !important;
  box-shadow:7px 7px 0 rgba(8,10,7,.94),0 0 20px rgba(18,253,0,.28) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.masakari-shared-page .site-header .brand.brand-with-real-logo:hover{
  transform:translate(-1px,-1px) !important;
  box-shadow:9px 9px 0 rgba(8,10,7,.92),0 0 28px rgba(18,253,0,.46),inset 0 1px 0 rgba(255,255,255,.55) !important;
}
body.masakari-shared-page .site-header .brand.brand-with-real-logo .real-masakari-logo{
  display:block !important;
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  object-fit:contain !important;
}
body.masakari-shared-page .site-header .brand-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:3px !important;
  min-width:0 !important;
}
body.masakari-shared-page .site-header .brand-copy strong{
  font-size:clamp(18px,1.85vw,25px) !important;
  line-height:.96 !important;
  letter-spacing:-.05em !important;
  font-weight:950 !important;
  color:#080a07 !important;
  white-space:nowrap !important;
}
body.masakari-shared-page .site-header .brand-copy span{
  margin-top:0 !important;
  font-size:10px !important;
  line-height:1.05 !important;
  letter-spacing:.14em !important;
  font-weight:900 !important;
  color:rgba(8,10,7,.66) !important;
  white-space:nowrap !important;
}
body.masakari-shared-page .menu-toggle{
  position:relative !important;
  z-index:90 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  width:112px !important;
  min-height:54px !important;
  padding:0 15px !important;
  border-radius:20px !important;
  border:1.5px solid rgba(8,10,7,.92) !important;
  background:rgba(245,246,241,.88) !important;
  color:#080a07 !important;
  box-shadow:7px 7px 0 #12fd00 !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  font:inherit !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  cursor:pointer !important;
  overflow:hidden !important;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease !important;
}
body.masakari-shared-page .menu-toggle:hover{
  transform:translate(-2px,-2px) !important;
  box-shadow:9px 9px 0 #12fd00 !important;
  background:#fff !important;
}
body.masakari-shared-page .menu-toggle__glow{
  display:none !important;
}
body.masakari-shared-page .menu-toggle__text{
  position:relative !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  font-weight:900 !important;
}
body.masakari-shared-page .menu-toggle__bars{
  position:relative !important;
  width:30px !important;
  height:18px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  display:grid !important;
  place-items:center !important;
}
body.masakari-shared-page .menu-toggle__bars i{
  position:absolute !important;
  right:0 !important;
  width:28px !important;
  height:2px !important;
  background:#080a07 !important;
  border-radius:999px !important;
}
body.masakari-shared-page .menu-toggle__bars i:first-child{transform:translateY(-5px) !important;}
body.masakari-shared-page .menu-toggle__bars i:last-child{transform:translateY(5px) !important;width:18px !important;}
body.masakari-shared-page.menu-open .menu-toggle{
  background:#12fd00 !important;
  box-shadow:7px 7px 0 #080a07 !important;
  border-color:#080a07 !important;
}
body.masakari-shared-page.menu-open .menu-toggle__bars i:first-child{transform:rotate(45deg) !important;width:24px !important;}
body.masakari-shared-page.menu-open .menu-toggle__bars i:last-child{transform:rotate(-45deg) !important;width:24px !important;}
body.masakari-shared-page.menu-open .menu-toggle__text{font-size:0 !important;}
body.masakari-shared-page.menu-open .menu-toggle__text::after{content:"CLOSE";font-size:11px !important;}

@media(max-width:782px){
  body.admin-bar.masakari-shared-page .site-header{
    top:calc(46px + 10px) !important;
  }
}
@media(max-width:720px){
  body.masakari-shared-page .site-header{top:10px !important;}
  body.masakari-shared-page .site-header .nav{width:calc(100% - 18px) !important;}
  body.masakari-shared-page .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;
  }
  body.masakari-shared-page .site-header .brand.brand-with-real-logo .real-masakari-logo{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
  body.masakari-shared-page .site-header .brand-copy strong{
    font-size:16px !important;
  }
  body.masakari-shared-page .site-header .brand-copy span{
    font-size:8px !important;
    letter-spacing:.12em !important;
  }
  body.masakari-shared-page .menu-toggle{
    width:78px !important;
    min-height:44px !important;
    border-radius:15px !important;
    padding:0 10px !important;
    box-shadow:5px 5px 0 #12fd00 !important;
    gap:8px !important;
  }
  body.masakari-shared-page .menu-toggle__text{font-size:9px !important;letter-spacing:.12em !important;}
  body.masakari-shared-page .menu-toggle__bars{width:22px !important;height:16px !important;}
  body.masakari-shared-page .menu-toggle__bars i{width:20px !important;}
  body.masakari-shared-page .menu-toggle__bars i:last-child{width:13px !important;}
}


/* ===== v108-header-star-clean-final ===== */
/* 下層ページのヘッダーロゴ背景から、以前の黒い星・点滅アニメーションを完全に削除。トップページと同じシンプルな蛍光グリーンのロゴ背景に統一。 */
body.masakari-shared-page .site-header .brand.brand-with-real-logo,
body.masakari-shared-page header.site-header .brand.brand-with-real-logo{
  background:linear-gradient(135deg,#66ff57 0%,#12fd00 58%,#0edd00 100%) !important;
  background-image:linear-gradient(135deg,#66ff57 0%,#12fd00 58%,#0edd00 100%) !important;
}
body.masakari-shared-page .site-header .brand.brand-with-real-logo::before,
body.masakari-shared-page 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;
}
body.masakari-shared-page .site-header .brand.brand-with-real-logo::after,
body.masakari-shared-page 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;
}
body.masakari-shared-page .site-header .brand-copy,
body.masakari-shared-page .site-header .brand-copy strong,
body.masakari-shared-page .site-header .brand-copy span,
body.masakari-shared-page .site-header .real-masakari-logo{
  position:relative !important;
  z-index:1 !important;
}


/* ===== v109-social-capsule-refresh ===== */
.masakari-social-links,
body.masakari-shared-page .masakari-social-links{
  gap:14px;
}

.masakari-social-link,
body.masakari-shared-page .masakari-social-link{
  position:relative;
  isolation:isolate;
  min-height:58px;
  padding:8px 22px 8px 12px;
  gap:14px;
  border:1.8px solid #080a07;
  border-radius:999px;
  background:linear-gradient(180deg,#ffffff 0%,#f4f4ee 100%);
  color:#080a07;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.92),
    inset 0 -3px 0 rgba(8,10,7,.06),
    7px 7px 0 #12fd00;
}

.masakari-social-link::before,
body.masakari-shared-page .masakari-social-link::before{
  inset:5px;
  border-radius:999px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,0) 32%),
    linear-gradient(110deg, transparent 0%, rgba(255,255,255,.55) 45%, transparent 72%);
  border:1px solid rgba(8,10,7,.08);
  transform:translateX(-118%);
}

.masakari-social-link::after,
body.masakari-shared-page .masakari-social-link::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:8px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(8,10,7,.08) 0%,rgba(8,10,7,0) 100%);
  z-index:0;
  pointer-events:none;
}

.masakari-social-link:hover,
body.masakari-shared-page .masakari-social-link:hover{
  transform:translate(-2px,-2px);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.96),
    inset 0 -3px 0 rgba(8,10,7,.08),
    9px 9px 0 #080a07;
}

.masakari-social-link:hover::before,
body.masakari-shared-page .masakari-social-link:hover::before{
  transform:translateX(112%);
}

.masakari-social-link.instagram,
.masakari-social-link.youtube,
body.masakari-shared-page .masakari-social-link.instagram,
body.masakari-shared-page .masakari-social-link.youtube{
  background:linear-gradient(180deg,#ffffff 0%,#f3f4ee 100%);
  color:#080a07;
}

.masakari-social-link .social-label,
body.masakari-shared-page .masakari-social-link .social-label{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  font-size:15px;
  font-weight:900;
  letter-spacing:.04em;
}

.social-capsule,
body.masakari-shared-page .social-capsule{
  width:68px;
  height:36px;
  border:1.8px solid #080a07;
  background:linear-gradient(180deg,#fbfbf8 0%,#ecece4 100%);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.95),
    inset 0 -3px 0 rgba(8,10,7,.08),
    0 4px 8px rgba(8,10,7,.12);
}

.social-capsule::before,
body.masakari-shared-page .social-capsule::before{
  left:8px;
  top:4px;
  width:30px;
  height:9px;
  background:rgba(255,255,255,.8);
}

.social-capsule::after,
body.masakari-shared-page .social-capsule::after{
  content:"";
  position:absolute;
  top:4px;
  bottom:4px;
  left:50%;
  width:1px;
  transform:translateX(-50%);
  background:rgba(8,10,7,.12);
  z-index:1;
}

.capsule-half--left,
body.masakari-shared-page .capsule-half--left{
  background:linear-gradient(180deg,#ffffff 0%,#f0f0ea 100%);
  border-right:1px solid rgba(8,10,7,.10);
}

.capsule-half--left::after,
body.masakari-shared-page .capsule-half--left::after{
  right:-7px;
  top:6px;
  width:12px;
  height:16px;
  background:rgba(255,255,255,.4);
}

.masakari-social-link.instagram .capsule-half--right,
body.masakari-shared-page .masakari-social-link.instagram .capsule-half--right{
  background:linear-gradient(135deg,#ffb347 0%,#ff4f86 48%,#7a45ff 100%);
}

.masakari-social-link.youtube .capsule-half--right,
body.masakari-shared-page .masakari-social-link.youtube .capsule-half--right{
  background:linear-gradient(135deg,#ff4747 0%,#ff0e0e 100%);
}

.capsule-icon,
body.masakari-shared-page .capsule-icon{
  width:20px;
  height:20px;
}

.capsule-icon svg,
body.masakari-shared-page .capsule-icon svg{
  width:20px;
  height:20px;
}

.footer-branding .footer-social,
body.masakari-shared-page .footer-branding .footer-social{
  margin:24px 0 0;
}

@media(max-width:760px){
  .masakari-social-link,
  body.masakari-shared-page .masakari-social-link{
    min-height:54px;
    padding:7px 18px 7px 10px;
  }
  .masakari-social-link .social-label,
  body.masakari-shared-page .masakari-social-link .social-label{
    font-size:14px;
  }
  .social-capsule,
  body.masakari-shared-page .social-capsule{
    width:62px;
    height:34px;
  }
}


/* ===== v110-hero-image-plain-4x3 shared safety ===== */
.hero-real-mockup.hero-real-mockup--image{aspect-ratio:4/3!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:none!important;overflow:hidden!important;display:block!important;}
.hero-real-mockup.hero-real-mockup--image::before,.hero-real-mockup.hero-real-mockup--image::after{display:none!important;content:none!important;}
.hero-card-mockup-img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important;display:block!important;}


/* ===== v111-work-archive-title-overflow-fix ===== */
.work-archive-card__body,
.work-archive-card__body > *{
  min-width:0;
}
.work-archive-card h2{
  max-width:100%;
  font-size:clamp(20px,2vw,28px);
  line-height:1.22;
  letter-spacing:-.045em;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
}


/* ===== v112-works-tabs-mobile-contained =====
   スマホ時に制作例タブの影・枠が画面外にはみ出ないよう調整
========================================================= */
@media (max-width:760px){
  #works{
    overflow:hidden !important;
  }

  #works .wrap{
    overflow:visible !important;
  }

  #works .works-tabs[data-wp-works="true"],
  .works-tabs[data-wp-works="true"]{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:0 12px 14px 2px !important;
    gap:9px !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }

  #works .works-tabs[data-wp-works="true"]::-webkit-scrollbar,
  .works-tabs[data-wp-works="true"]::-webkit-scrollbar{
    display:none !important;
  }

  #works .works-tabs[data-wp-works="true"] .works-tab,
  .works-tabs[data-wp-works="true"] .works-tab{
    flex:0 0 auto !important;
    min-height:44px !important;
    max-width:calc(100vw - 56px) !important;
    box-sizing:border-box !important;
    padding:0 17px !important;
    border-radius:999px !important;
    font-size:13px !important;
    white-space:nowrap !important;
    box-shadow:3px 4px 0 rgba(8,10,7,.9) !important;
    transform:none !important;
  }

  #works .works-tabs[data-wp-works="true"] .works-tab.is-active,
  .works-tabs[data-wp-works="true"] .works-tab.is-active{
    box-shadow:4px 5px 0 #080a07 !important;
  }

  #works .works-tabs[data-wp-works="true"] .works-tab:first-child,
  .works-tabs[data-wp-works="true"] .works-tab:first-child{
    margin-left:0 !important;
  }

  #works .works-tabs[data-wp-works="true"] .works-tab:last-child,
  .works-tabs[data-wp-works="true"] .works-tab:last-child{
    margin-right:12px !important;
  }
}


/* ===== v113-header-logo-decoration-and-menu-badge-fix =====
   1) ヘッダーロゴ右上に見える白い装飾を完全に消す
   2) スマホメニュー内「一番人気」バッジの発光を角丸内に収める
========================================================= */

/* ヘッダーロゴ：不要な白い光・疑似要素を削除 */
.site-header .brand.brand-with-real-logo,
header.site-header .brand.brand-with-real-logo,
body.masakari-shared-page .site-header .brand.brand-with-real-logo{
  position:relative !important;
  overflow:hidden !important;
  background:linear-gradient(135deg,#66ff57 0%,#12fd00 58%,#0edd00 100%) !important;
  background-image:linear-gradient(135deg,#66ff57 0%,#12fd00 58%,#0edd00 100%) !important;
}

.site-header .brand.brand-with-real-logo::before,
.site-header .brand.brand-with-real-logo::after,
header.site-header .brand.brand-with-real-logo::before,
header.site-header .brand.brand-with-real-logo::after,
body.masakari-shared-page .site-header .brand.brand-with-real-logo::before,
body.masakari-shared-page .site-header .brand.brand-with-real-logo::after{
  content:none !important;
  display:none !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  animation:none !important;
  opacity:0 !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:2 !important;
}

/* メニュー内カード：発光パーツが角丸外へ漏れないようにする */
.menu-nav__featured a.is-primary,
body.masakari-shared-page .menu-nav__featured a.is-primary{
  position:relative !important;
  overflow:hidden !important;
  border-radius:30px !important;
}

/* 一番人気バッジ本体も角丸内に収める */
.menu-nav__featured a.is-primary .menu-popular-badge,
body.masakari-shared-page .menu-nav__featured a.is-primary .menu-popular-badge,
.menu-nav__featured a.is-primary .menu-eyebrow,
body.masakari-shared-page .menu-nav__featured a.is-primary .menu-eyebrow{
  position:relative !important;
  overflow:hidden !important;
  border-radius:999px !important;
  box-shadow:none !important;
  filter:none !important;
}

/* 光るアニメーション用の疑似要素が外に出る原因を止める */
.menu-nav__featured a.is-primary .menu-popular-badge::before,
.menu-nav__featured a.is-primary .menu-popular-badge::after,
body.masakari-shared-page .menu-nav__featured a.is-primary .menu-popular-badge::before,
body.masakari-shared-page .menu-nav__featured a.is-primary .menu-popular-badge::after,
.menu-nav__featured a.is-primary .menu-eyebrow::before,
.menu-nav__featured a.is-primary .menu-eyebrow::after,
body.masakari-shared-page .menu-nav__featured a.is-primary .menu-eyebrow::before,
body.masakari-shared-page .menu-nav__featured a.is-primary .menu-eyebrow::after{
  inset:0 !important;
  border-radius:999px !important;
  overflow:hidden !important;
  filter:none !important;
  box-shadow:none !important;
}

/* スマホでは発光をさらに控えめにして、枠外漏れを完全防止 */
@media(max-width:860px){
  .menu-nav__featured a.is-primary,
  body.masakari-shared-page .menu-nav__featured a.is-primary{
    overflow:hidden !important;
    border-radius:28px !important;
  }

  .menu-nav__featured a.is-primary .menu-popular-badge,
  body.masakari-shared-page .menu-nav__featured a.is-primary .menu-popular-badge,
  .menu-nav__featured a.is-primary .menu-eyebrow,
  body.masakari-shared-page .menu-nav__featured a.is-primary .menu-eyebrow{
    animation:none !important;
    box-shadow:0 0 0 1px rgba(8,10,7,.12) inset !important;
    filter:none !important;
  }
}


/* ===== v114-social-buttons-full-capsule-toy =====
   Instagram / YouTube ボタン全体をカプセルトイ風に再デザイン
========================================================= */
.masakari-social-links,
body.masakari-shared-page .masakari-social-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
}

.masakari-social-link,
body.masakari-shared-page .masakari-social-link{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  min-height:60px !important;
  padding:8px 20px 8px 10px !important;
  border-radius:999px !important;
  border:2px solid #080a07 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  color:#080a07 !important;
  background:linear-gradient(180deg,#fcfcf8 0%,#ecece4 100%) !important;
  box-shadow:8px 8px 0 #12fd00, inset 0 2px 0 rgba(255,255,255,.96), inset 0 -4px 0 rgba(8,10,7,.10) !important;
  text-decoration:none !important;
}

.masakari-social-link::before,
body.masakari-shared-page .masakari-social-link::before{
  content:"" !important;
  position:absolute !important;
  inset:4px !important;
  border-radius:999px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.18) 34%,rgba(255,255,255,0) 58%),
    linear-gradient(90deg,rgba(255,255,255,.40) 0%,rgba(255,255,255,0) 24%) !important;
  border:1px solid rgba(8,10,7,.07) !important;
  transform:none !important;
  transition:opacity .24s ease !important;
  z-index:0 !important;
}

.masakari-social-link::after,
body.masakari-shared-page .masakari-social-link::after{
  content:"" !important;
  position:absolute !important;
  left:74px !important;
  top:7px !important;
  bottom:7px !important;
  width:2px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(8,10,7,.08) 38%,rgba(8,10,7,.14) 100%) !important;
  box-shadow:1px 0 0 rgba(255,255,255,.66) !important;
  z-index:2 !important;
}

.masakari-social-link:hover,
body.masakari-shared-page .masakari-social-link:hover{
  transform:translate(-2px,-2px) !important;
  box-shadow:10px 10px 0 #080a07, inset 0 2px 0 rgba(255,255,255,.98), inset 0 -4px 0 rgba(8,10,7,.12) !important;
}

.masakari-social-link:hover::before,
body.masakari-shared-page .masakari-social-link:hover::before{
  opacity:.95 !important;
  transform:none !important;
}

.masakari-social-link.instagram,
body.masakari-shared-page .masakari-social-link.instagram{
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.92) 0 14%, transparent 15%),
    linear-gradient(180deg,#fcfcf8 0%,#efefe7 100%) !important;
}

.masakari-social-link.youtube,
body.masakari-shared-page .masakari-social-link.youtube{
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.92) 0 14%, transparent 15%),
    linear-gradient(180deg,#fcfcf8 0%,#ecebe2 100%) !important;
}

.social-capsule,
body.masakari-shared-page .social-capsule{
  position:relative !important;
  z-index:3 !important;
  flex:0 0 auto !important;
  width:58px !important;
  height:36px !important;
  border-radius:999px !important;
  border:1.8px solid #080a07 !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,#ffffff 0%,#ecece5 100%) !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.96), inset 0 -3px 0 rgba(8,10,7,.08), 0 4px 10px rgba(8,10,7,.12) !important;
}

.social-capsule::before,
body.masakari-shared-page .social-capsule::before{
  content:"" !important;
  position:absolute !important;
  left:8px !important;
  top:4px !important;
  width:28px !important;
  height:8px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.88) !important;
  z-index:2 !important;
}

.social-capsule::after,
body.masakari-shared-page .social-capsule::after{
  content:"" !important;
  position:absolute !important;
  top:3px !important;
  bottom:3px !important;
  left:50% !important;
  width:1px !important;
  transform:translateX(-50%) !important;
  background:rgba(8,10,7,.14) !important;
  z-index:2 !important;
}

.capsule-half,
body.masakari-shared-page .capsule-half{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
}

.capsule-half--left,
body.masakari-shared-page .capsule-half--left{
  left:0 !important;
  width:50% !important;
  background:linear-gradient(180deg,#ffffff 0%,#efefe9 100%) !important;
}

.capsule-half--right,
body.masakari-shared-page .capsule-half--right{
  right:0 !important;
  width:50% !important;
  display:grid !important;
  place-items:center !important;
}

.masakari-social-link.instagram .capsule-half--right,
body.masakari-shared-page .masakari-social-link.instagram .capsule-half--right{
  background:linear-gradient(135deg,#ffbe53 0%,#ff4d90 50%,#7f46ff 100%) !important;
}

.masakari-social-link.youtube .capsule-half--right,
body.masakari-shared-page .masakari-social-link.youtube .capsule-half--right{
  background:linear-gradient(135deg,#ff4848 0%,#d70000 100%) !important;
}

.capsule-icon,
body.masakari-shared-page .capsule-icon{
  position:relative !important;
  z-index:3 !important;
  width:18px !important;
  height:18px !important;
  display:grid !important;
  place-items:center !important;
  color:#ffffff !important;
}

.capsule-icon svg,
body.masakari-shared-page .capsule-icon svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
}

.masakari-social-link .social-label,
body.masakari-shared-page .masakari-social-link .social-label{
  position:relative !important;
  z-index:3 !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:28px !important;
  padding:0 !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.footer-social .masakari-social-link,
.menu-social .masakari-social-link,
body.masakari-shared-page .footer-social .masakari-social-link,
body.masakari-shared-page .menu-social .masakari-social-link{
  min-width:168px !important;
}

@media (max-width:760px){
  .masakari-social-link,
  body.masakari-shared-page .masakari-social-link{
    min-height:56px !important;
    padding:7px 16px 7px 9px !important;
    gap:12px !important;
  }

  .masakari-social-link::after,
  body.masakari-shared-page .masakari-social-link::after{
    left:69px !important;
  }

  .social-capsule,
  body.masakari-shared-page .social-capsule{
    width:54px !important;
    height:34px !important;
  }

  .masakari-social-link .social-label,
  body.masakari-shared-page .masakari-social-link .social-label{
    font-size:12px !important;
    letter-spacing:.06em !important;
  }

  .footer-social .masakari-social-link,
  .menu-social .masakari-social-link,
  body.masakari-shared-page .footer-social .masakari-social-link,
  body.masakari-shared-page .menu-social .masakari-social-link{
    min-width:154px !important;
  }
}


/* ===== v115-mobile-menu-scroll-icon-footer-fix =====
   1) スマホ版ハンバーガーメニューを下までスクロール可能に
   2) 投稿カードのカテゴリーバッジ崩れを修正
   3) フッター右下表記変更に合わせて余白調整
========================================================= */

/* スマホ版メニュー：Safariでも下端までスクロールできるようにする */
@media(max-width:860px){
  .menu-panel,
  body.masakari-shared-page .menu-panel,
  .masakari-lower-page .menu-panel{
    position:fixed !important;
    inset:0 !important;
    height:100dvh !important;
    max-height:100dvh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    padding:88px 10px calc(34px + env(safe-area-inset-bottom)) !important;
  }

  .menu-panel__inner,
  body.masakari-shared-page .menu-panel__inner,
  .masakari-lower-page .menu-panel__inner{
    min-height:auto !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:calc(28px + env(safe-area-inset-bottom)) !important;
  }

  .menu-panel__foot,
  body.masakari-shared-page .menu-panel__foot,
  .masakari-lower-page .menu-panel__foot{
    padding-bottom:calc(24px + env(safe-area-inset-bottom)) !important;
  }
}

/* 投稿カードのカテゴリーバッジ：カプセル風SNSボタンの影響を受けないよう個別固定 */
.campaign-blog-meta span,
.news-card .news-cat,
.post-card .post-cat,
.post-card .cat,
.card-cat,
.entry-cat,
.work-card-meta span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:auto !important;
  min-height:30px !important;
  height:auto !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid #080a07 !important;
  background:#12fd00 !important;
  color:#080a07 !important;
  box-shadow:none !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  white-space:nowrap !important;
  text-transform:none !important;
  overflow:hidden !important;
}

/* カテゴリーバッジ内に不要な疑似要素や斜め線が出ないよう停止 */
.campaign-blog-meta span::before,
.campaign-blog-meta span::after,
.news-card .news-cat::before,
.news-card .news-cat::after,
.post-card .post-cat::before,
.post-card .post-cat::after,
.post-card .cat::before,
.post-card .cat::after,
.card-cat::before,
.card-cat::after,
.entry-cat::before,
.entry-cat::after,
.work-card-meta span::before,
.work-card-meta span::after{
  content:none !important;
  display:none !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* フッター右下の所在地表記 */
.footer-bottom-minimal span,
body.masakari-shared-page .footer-bottom-minimal span{
  white-space:nowrap !important;
  letter-spacing:.02em !important;
}

@media(max-width:760px){
  .footer-bottom-minimal,
  body.masakari-shared-page .footer-bottom-minimal{
    gap:8px !important;
  }
  .footer-bottom-minimal span,
  body.masakari-shared-page .footer-bottom-minimal span{
    white-space:normal !important;
    text-align:left !important;
  }
}


/* ===== v116-social-gacha-polish =====
   フッター / ハンバーガーメニュー内のSNSボタンを、よりカプセルトイ風にブラッシュアップ
   - テカリ
   - 立体感
   - 軽い浮遊アニメーション
   - シマー演出
========================================================= */

@keyframes masakariGachaFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

@keyframes masakariGachaShine {
  0%, 72%, 100% { transform: translateX(-170%) skewX(-18deg); opacity: 0; }
  8% { opacity: .0; }
  18% { opacity: .68; }
  36% { transform: translateX(280%) skewX(-18deg); opacity: .0; }
}

@keyframes masakariGachaIconBob {
  0%, 100% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(-4deg) scale(1.03); }
}

.masakari-social-links,
body.masakari-shared-page .masakari-social-links{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:14px !important;
}

.masakari-social-link,
body.masakari-shared-page .masakari-social-link{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  min-height:42px !important;
  padding:5px 16px 5px 5px !important;
  border:1.8px solid #111111 !important;
  border-radius:999px !important;
  text-decoration:none !important;
  overflow:hidden !important;
  isolation:isolate !important;
  transform:translateZ(0) !important;
  transition:transform .24s ease, box-shadow .24s ease, filter .24s ease, background .24s ease !important;
  animation:masakariGachaFloat 4.4s ease-in-out infinite !important;
}

.masakari-social-link::before,
body.masakari-shared-page .masakari-social-link::before{
  content:"" !important;
  position:absolute !important;
  top:-10% !important;
  left:-30% !important;
  width:44% !important;
  height:130% !important;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 12%, rgba(255,255,255,.80) 48%, rgba(255,255,255,.16) 76%, rgba(255,255,255,0) 100%) !important;
  transform:translateX(-170%) skewX(-18deg) !important;
  animation:masakariGachaShine 5.4s ease-in-out infinite !important;
  z-index:2 !important;
  pointer-events:none !important;
  border:none !important;
}

.masakari-social-link::after,
body.masakari-shared-page .masakari-social-link::after{
  content:"" !important;
  position:absolute !important;
  inset:2px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,0) 34%, rgba(0,0,0,.05) 100%) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

.masakari-social-link:hover,
body.masakari-shared-page .masakari-social-link:hover{
  transform:translate(-2px,-2px) scale(1.02) !important;
  animation-play-state:paused !important;
}

.masakari-social-link.instagram,
body.masakari-shared-page .masakari-social-link.instagram{
  color:#111111 !important;
  background:linear-gradient(180deg,#ffffff 0%, #f4f4ef 100%) !important;
  box-shadow:6px 6px 0 #12fd00, inset 0 1px 0 rgba(255,255,255,.98), inset 0 -2px 0 rgba(0,0,0,.10) !important;
}

.masakari-social-link.instagram:hover,
body.masakari-shared-page .masakari-social-link.instagram:hover{
  box-shadow:8px 8px 0 #111111, inset 0 1px 0 rgba(255,255,255,.98), inset 0 -2px 0 rgba(0,0,0,.10) !important;
}

.masakari-social-link.youtube,
body.masakari-shared-page .masakari-social-link.youtube{
  color:#ffffff !important;
  background:linear-gradient(180deg,#161616 0%, #090909 100%) !important;
  box-shadow:6px 6px 0 #12fd00, inset 0 1px 0 rgba(255,255,255,.08), inset 0 -2px 0 rgba(255,255,255,.03) !important;
}

.masakari-social-link.youtube:hover,
body.masakari-shared-page .masakari-social-link.youtube:hover{
  color:#ffffff !important;
  background:linear-gradient(180deg,#1d1d1d 0%, #0c0c0c 100%) !important;
  box-shadow:8px 8px 0 #111111, inset 0 1px 0 rgba(255,255,255,.08), inset 0 -2px 0 rgba(255,255,255,.03) !important;
}

.social-capsule,
body.masakari-shared-page .social-capsule{
  position:relative !important;
  z-index:3 !important;
  width:52px !important;
  height:30px !important;
  flex:0 0 auto !important;
  border-radius:999px !important;
  border:1.4px solid #111111 !important;
  overflow:hidden !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), inset 0 -2px 0 rgba(0,0,0,.10), 0 2px 6px rgba(0,0,0,.10) !important;
  animation:masakariGachaIconBob 3.8s ease-in-out infinite !important;
}

.social-capsule::before,
body.masakari-shared-page .social-capsule::before{
  content:"" !important;
  position:absolute !important;
  left:7px !important;
  top:4px !important;
  width:24px !important;
  height:6px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.78) !important;
  z-index:3 !important;
}

.social-capsule::after,
body.masakari-shared-page .social-capsule::after{
  content:"" !important;
  position:absolute !important;
  top:2px !important;
  bottom:2px !important;
  left:50% !important;
  width:1px !important;
  transform:translateX(-50%) !important;
  background:rgba(17,17,17,.12) !important;
  z-index:2 !important;
}

.capsule-half,
body.masakari-shared-page .capsule-half{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
}

.capsule-half--left,
body.masakari-shared-page .capsule-half--left{
  left:0 !important;
  width:50% !important;
  background:linear-gradient(180deg,#ffffff 0%, #ecebe5 100%) !important;
}

.capsule-half--right,
body.masakari-shared-page .capsule-half--right{
  right:0 !important;
  width:50% !important;
  display:grid !important;
  place-items:center !important;
}

.masakari-social-link.instagram .capsule-half--right,
body.masakari-shared-page .masakari-social-link.instagram .capsule-half--right{
  background:linear-gradient(135deg,#ff9a3d 0%, #ff4d8f 50%, #7a4bff 100%) !important;
}

.masakari-social-link.youtube .capsule-half--left,
body.masakari-shared-page .masakari-social-link.youtube .capsule-half--left{
  background:linear-gradient(180deg,#ffffff 0%, #efefef 100%) !important;
}

.masakari-social-link.youtube .capsule-half--right,
body.masakari-shared-page .masakari-social-link.youtube .capsule-half--right{
  background:linear-gradient(135deg,#ff3434 0%, #e10000 100%) !important;
}

.capsule-icon,
body.masakari-shared-page .capsule-icon{
  position:relative !important;
  z-index:4 !important;
  width:16px !important;
  height:16px !important;
  display:grid !important;
  place-items:center !important;
  color:#ffffff !important;
}

.capsule-icon svg,
body.masakari-shared-page .capsule-icon svg{
  display:block !important;
  width:16px !important;
  height:16px !important;
}

.masakari-social-link .social-label,
body.masakari-shared-page .masakari-social-link .social-label{
  position:relative !important;
  z-index:4 !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:0 !important;
  margin:0 !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  white-space:nowrap !important;
}

.footer-social .masakari-social-link,
.menu-social .masakari-social-link,
body.masakari-shared-page .footer-social .masakari-social-link,
body.masakari-shared-page .menu-social .masakari-social-link{
  min-width:0 !important;
}

.menu-panel__foot .menu-social,
body.masakari-shared-page .menu-panel__foot .menu-social{
  width:auto !important;
}

@media (max-width:760px){
  .masakari-social-links,
  body.masakari-shared-page .masakari-social-links{
    gap:10px !important;
  }

  .masakari-social-link,
  body.masakari-shared-page .masakari-social-link{
    min-height:38px !important;
    padding:4px 12px 4px 4px !important;
    gap:9px !important;
  }

  .social-capsule,
  body.masakari-shared-page .social-capsule{
    width:44px !important;
    height:26px !important;
  }

  .social-capsule::before,
  body.masakari-shared-page .social-capsule::before{
    left:6px !important;
    top:4px !important;
    width:18px !important;
    height:5px !important;
  }

  .masakari-social-link .social-label,
  body.masakari-shared-page .masakari-social-link .social-label{
    font-size:11px !important;
  }

  .capsule-icon,
  body.masakari-shared-page .capsule-icon,
  .capsule-icon svg,
  body.masakari-shared-page .capsule-icon svg{
    width:14px !important;
    height:14px !important;
  }
}


/* ===== v118-work-detail-title-balance =====
   制作例詳細ページのタイトルが大きすぎて圧迫感が出るため、PC/スマホともにサイズと行間を再調整。英字は途中で割れにくくする
========================================================= */

.work-detail-hero h1,
.single-masakari_work .work-detail-hero h1,
body.single-masakari_work .work-detail-hero h1{
  max-width:780px !important;
  margin-top:14px !important;
  font-size:clamp(34px, 3.2vw, 46px) !important;
  line-height:1.08 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:break-word;
  line-break:strict;
}

.work-detail-hero .work-detail-lead,
.single-masakari_work .work-detail-hero p{
  max-width:720px !important;
  font-size:clamp(15px, 1.35vw, 18px) !important;
  line-height:1.9 !important;
}

/* 画像との距離・バランスも少し整える */
.work-detail-hero__inner{
  gap:clamp(28px, 4vw, 58px) !important;
}

@media(max-width:860px){
  .work-detail-hero h1,
  .single-masakari_work .work-detail-hero h1,
  body.single-masakari_work .work-detail-hero h1{
    max-width:100% !important;
    font-size:clamp(30px, 9.5vw, 42px) !important;
    line-height:1.12 !important;
    letter-spacing:-.045em !important;
    margin-top:12px !important;
  }

  .work-detail-hero .work-detail-lead,
  .single-masakari_work .work-detail-hero p{
    font-size:14px !important;
    line-height:1.9 !important;
  }
}

@media(max-width:390px){
  .work-detail-hero h1,
  .single-masakari_work .work-detail-hero h1,
  body.single-masakari_work .work-detail-hero h1{
    font-size:clamp(28px, 9vw, 36px) !important;
    line-height:1.14 !important;
    letter-spacing:-.04em !important;
  }
}


/* ===== v119-works-category-button-order =====
   実績一覧ページのカテゴリーボタンを
   すべて → 3点セット → SNS → HP → LINE → 動画 → その他
   の順番で固定
========================================================= */
.work-category-nav{
  display:flex !important;
  flex-wrap:wrap !important;
}
.work-category-nav a[href$="/works/"]{ order:0; }
.work-category-nav a[href*="set"]{ order:1; }
.work-category-nav a[href*="sns"]{ order:2; }
.work-category-nav a[href*="hp"]{ order:3; }
.work-category-nav a[href*="line"]{ order:4; }
.work-category-nav a[href*="movie"]{ order:5; }
.work-category-nav a[href*="other"]{ order:6; }

@media(max-width:760px){
  .work-category-nav{
    gap:8px !important;
  }
}


/* ===== v120-column-top-dynamic =====
   トップページのコラム欄をカスタム投稿「コラム」と連動
========================================================= */
.campaign-blog[aria-label="コラム"] .campaign-blog-kicker{
  letter-spacing:.18em;
}


/* ===== v121-news-column-separated =====
   お知らせとコラムを別々の投稿タイプで管理し、トップページにも別セクションで表示
========================================================= */
.campaign-blog-column{
  margin-top:0 !important;
  padding-top:0 !important;
}

.campaign-blog[aria-label="お知らせ"] + .campaign-blog-column{
  border-top:0 !important;
}

.campaign-blog[aria-label="お知らせ"] .campaign-blog-kicker::before{
  background:#12fd00;
}

.campaign-blog-column .campaign-blog-kicker::before{
  background:#080a07;
}

@media(max-width:760px){
  .campaign-blog-column{
    margin-top:-8px !important;
  }
}


/* ===== v122-column-six-top =====
   トップページのコラムは最新6件表示。PCは3列、スマホは1列で読みやすく表示。
========================================================= */
.campaign-blog-column .campaign-blog-list{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
}

.campaign-blog-column .campaign-blog-item{
  min-height:128px !important;
}

@media(max-width:900px){
  .campaign-blog-column .campaign-blog-list{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:760px){
  .campaign-blog-column .campaign-blog-list{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}


/* ===== v123-manageable-service-pages =====
   各種サービス下層ページを固定ページ本文・抜粋・アイキャッチ・カスタムフィールドで管理しやすく調整
========================================================= */
.service-card-price{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:30px;
  margin-top:12px;
  padding:0 12px;
  border-radius:999px;
  background:#12fd00;
  color:#080a07;
  border:1px solid #080a07;
  font-size:13px;
  font-weight:900;
  box-shadow:3px 3px 0 #080a07;
}

.service-detail-summary .media-thumb{
  aspect-ratio:4 / 3;
  overflow:hidden;
}

.service-detail-summary .media-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.service-editable-wrap{
  max-width:1040px;
}

.service-editable-content{
  padding:clamp(28px, 5vw, 58px);
}

.service-editable-content h2{
  margin:1.6em 0 .6em;
  font-size:clamp(30px, 4vw, 56px);
  line-height:1.05;
  letter-spacing:-.06em;
}

.service-editable-content h2:first-child{
  margin-top:0;
}

.service-editable-content h3{
  margin:1.5em 0 .5em;
  font-size:clamp(22px, 2.6vw, 34px);
  line-height:1.15;
  letter-spacing:-.04em;
}

.service-editable-content p,
.service-editable-content li{
  color:#333933;
  font-size:clamp(15px, 1.35vw, 18px);
  line-height:1.95;
  font-weight:800;
}

.service-editable-content ul{
  margin:18px 0;
  padding-left:1.2em;
}

.service-editable-content img{
  max-width:100%;
  height:auto;
  border-radius:26px;
  box-shadow:0 18px 48px rgba(8,10,7,.10);
}

.service-editable-content .wp-block-image{
  margin:28px 0;
}

@media(max-width:760px){
  .service-editable-content{
    padding:24px 18px;
    border-radius:26px;
  }
}


/* ===== v124-column-lower-dynamic =====
   メインビジュアル下のコラム欄を削除し、下部の集客コラム6枚を管理画面「コラム」と連動
========================================================= */
#column .publish-grid[data-wp-column-grid="true"]{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

#column .publish-card.is-loading{
  pointer-events:none;
}

#column .publish-thumb{
  aspect-ratio:4 / 3;
  overflow:hidden;
}

#column .publish-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media(max-width:900px){
  #column .publish-grid[data-wp-column-grid="true"]{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:760px){
  #column .publish-grid[data-wp-column-grid="true"]{
    grid-template-columns:1fr;
    gap:14px;
  }
}


/* ===== v126-front-dynamic-fix =====
   トップページの制作例・集客コラムを管理画面投稿から確実に表示
========================================================= */
.works-grid[data-works-list] .case-card{
  cursor:pointer;
}

.works-grid[data-works-list] .case-card[href]{
  text-decoration:none;
  color:inherit;
}

#column .publish-grid[data-wp-column-grid="true"]{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

#column .publish-thumb{
  aspect-ratio:4/3;
  overflow:hidden;
}

#column .publish-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media(max-width:900px){
  #column .publish-grid[data-wp-column-grid="true"]{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  #column .publish-grid[data-wp-column-grid="true"]{
    grid-template-columns:1fr;
    gap:14px;
  }
}


/* ===== v127-front-display-final-fix =====
   JS側の不足関数を補い、トップの制作例・コラムを確実に描画
========================================================= */
#column .publish-card h3 a{
  color:inherit;
  text-decoration:none;
}
#column .publish-card h3 a:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}
#column .publish-card{
  cursor:default;
}
.works-grid[data-works-list] .case-card[href]{
  display:flex;
  flex-direction:column;
}


/* ===== v130-lower-column-dynamic =====
   下部「集客コラム。」6枚カードを、管理画面の「コラム」投稿から自動表示
========================================================= */
#news .publish-grid[data-wp-column-grid="true"]{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

#news .publish-grid[data-wp-column-grid="true"] .publish-thumb{
  aspect-ratio:4/3;
  overflow:hidden;
}

#news .publish-grid[data-wp-column-grid="true"] .publish-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

#news .publish-grid[data-wp-column-grid="true"] .publish-card h3 a{
  color:inherit;
  text-decoration:none;
}

#news .publish-grid[data-wp-column-grid="true"] .publish-card h3 a:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}

@media(max-width:900px){
  #news .publish-grid[data-wp-column-grid="true"]{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  #news .publish-grid[data-wp-column-grid="true"]{
    grid-template-columns:1fr;
    gap:14px;
  }
}


/* ===== v135-column-six-and-link =====
   集客コラムをトップページに6件表示し、一覧ページへのリンクボタンを設置
========================================================= */
.column-list-button-wrap{
  display:flex;
  justify-content:center;
  margin-top:34px;
}

.column-list-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:58px;
  padding:0 34px;
  border-radius:999px;
  border:1.5px solid #080a07;
  background:#080a07;
  color:#ffffff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none !important;
  box-shadow:8px 8px 0 #12fd00;
  overflow:hidden;
  transition:transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease;
}

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

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

.column-list-button:hover{
  transform:translate(-2px,-2px);
  background:#12fd00;
  color:#080a07;
  box-shadow:10px 10px 0 #080a07;
}

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

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

.column-list-button i{
  font-style:normal;
  transition:transform .24s ease;
}

@media(max-width:760px){
  .column-list-button-wrap{
    margin-top:24px;
  }
  .column-list-button{
    width:100%;
    min-height:54px;
    padding:0 22px;
    font-size:14px;
    box-shadow:6px 6px 0 #12fd00;
  }
}


/* ===== v136-news-section-polish =====
   お知らせ一覧ボタンの移動 / お知らせアイコン削除 / セクション余白調整
========================================================= */
.campaign-blog[aria-label="お知らせ"]{
  padding-top:clamp(34px, 5vw, 58px) !important;
  padding-bottom:clamp(42px, 6vw, 70px) !important;
}

.campaign-blog[aria-label="お知らせ"] .campaign-blog-head{
  margin-bottom:18px !important;
  align-items:center !important;
}

.campaign-blog[aria-label="お知らせ"] .campaign-blog-title{
  gap:14px !important;
}

.campaign-blog[aria-label="お知らせ"] .campaign-blog-list{
  gap:12px !important;
}

/* カード内の「お知らせ」アイコン/バッジを非表示 */
.campaign-blog[aria-label="お知らせ"] .campaign-blog-meta span{
  display:none !important;
}

/* バッジ削除後の日時位置を整える */
.campaign-blog[aria-label="お知らせ"] .campaign-blog-meta{
  min-width:130px !important;
  gap:0 !important;
}

.campaign-blog[aria-label="お知らせ"] .campaign-blog-meta time{
  font-size:12px !important;
  letter-spacing:.08em !important;
}

/* ヘッダー横の旧ボタンは非表示。下部ボタンに統一 */
.campaign-blog[aria-label="お知らせ"] .campaign-blog-head .campaign-blog-more{
  display:none !important;
}

.news-list-button-wrap{
  display:flex;
  justify-content:flex-end;
  margin-top:16px;
}

.news-list-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  border:1.5px solid #080a07;
  background:#ffffff;
  color:#080a07;
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.03em;
  text-decoration:none !important;
  box-shadow:4px 4px 0 #12fd00;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
}

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

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

.news-list-button i{
  font-style:normal;
  transition:transform .22s ease;
}

.news-list-button:hover{
  transform:translate(-2px,-2px);
  background:#12fd00;
  box-shadow:6px 6px 0 #080a07;
}

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

.news-list-button:hover i{
  transform:translateX(3px);
}

@media(max-width:760px){
  .campaign-blog[aria-label="お知らせ"]{
    padding-top:30px !important;
    padding-bottom:44px !important;
  }

  .campaign-blog[aria-label="お知らせ"] .campaign-blog-head{
    margin-bottom:14px !important;
  }

  .campaign-blog[aria-label="お知らせ"] .campaign-blog-item{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:16px 16px !important;
  }

  .campaign-blog[aria-label="お知らせ"] .campaign-blog-meta{
    min-width:0 !important;
  }

  .news-list-button-wrap{
    justify-content:center;
    margin-top:14px;
  }

  .news-list-button{
    width:100%;
    min-height:42px;
    font-size:12px;
    padding:0 16px;
  }
}


/* ===== v137-news-two-no-button =====
   お知らせ一覧ボタンを削除し、トップのお知らせは最新2件表示に固定
========================================================= */
.news-list-button-wrap,
.news-list-button{
  display:none !important;
}

.campaign-blog[aria-label="お知らせ"]{
  padding-bottom:clamp(38px, 5vw, 62px) !important;
}

.campaign-blog[aria-label="お知らせ"] .campaign-blog-list{
  display:grid !important;
  gap:12px !important;
}

.campaign-blog[aria-label="お知らせ"] .campaign-blog-item:nth-of-type(n+3){
  display:none !important;
}

@media(max-width:760px){
  .campaign-blog[aria-label="お知らせ"]{
    padding-bottom:38px !important;
  }
}


/* ===== v138-works-note-copy =====
   Worksセクションの説明文をサイトトーンに合わせて調整
========================================================= */
.works-admin-note{
  max-width:860px !important;
  font-size:13px !important;
  line-height:1.8 !important;
  letter-spacing:.03em !important;
  color:#4c5349 !important;
}

@media(max-width:760px){
  .works-admin-note{
    font-size:12px !important;
    line-height:1.75 !important;
  }
}


/* ===== v139-youtube-triangle-fix =====
   YouTubeカプセル内の四角いマークを三角の再生アイコンに変更
========================================================= */
.capsule-icon--youtube,
body.masakari-shared-page .capsule-icon--youtube{
  width:20px;
  height:20px;
}
.capsule-icon--youtube svg,
body.masakari-shared-page .capsule-icon--youtube svg{
  width:16px;
  height:16px;
  display:block;
  transform:translateX(1px);
}


/* ===== v140-youtube-triangle-clear =====
   YouTubeカプセル内の白い四角っぽく見える部分を、CSSの三角アイコンで強制表示
========================================================= */
.capsule-icon--youtube,
body.masakari-shared-page .capsule-icon--youtube{
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:20px !important;
  height:20px !important;
}

.capsule-icon--youtube svg,
body.masakari-shared-page .capsule-icon--youtube svg{
  display:none !important;
}

.capsule-icon--youtube::before,
body.masakari-shared-page .capsule-icon--youtube::before{
  content:"" !important;
  display:block !important;
  width:0 !important;
  height:0 !important;
  margin-left:2px !important;
  border-top:6px solid transparent !important;
  border-bottom:6px solid transparent !important;
  border-left:10px solid #ffffff !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
}


/* ===== v141-shop-name-specialist =====
   店舗名を「AI集客設計室 MASAKARI」に変更したため、ヘッダー/フッターの文字幅を微調整
========================================================= */
.brand-copy strong,
.site-header .brand-copy strong{
  letter-spacing:-.04em !important;
}

.footer-lead,
.footer-brand-copy-block .footer-lead{
  letter-spacing:-.04em !important;
}

@media(max-width:760px){
  .brand-copy strong,
  .site-header .brand-copy strong{
    font-size:clamp(12px, 3.4vw, 18px) !important;
  }
}


/* ===== v142-column-featured-image-fix =====
   集客コラムカードの画像は、コラム投稿のアイキャッチ画像をそのまま反映
========================================================= */
#news .publish-grid[data-wp-column-grid="true"] .publish-thumb img,
.publish-grid[data-wp-column-grid="true"] .publish-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}


/* ===== v143-works-featured-image-fix =====
   トップページ制作例カードの画像は、制作例投稿のアイキャッチ画像を優先して反映
========================================================= */
.works-grid[data-works-list] .case-visual{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}


/* ===== v144-name-design-room =====
   店舗名を「AI集客設計室 MASAKARI」に変更
========================================================= */
.brand-copy strong,
.site-header .brand-copy strong,
.footer-lead,
.footer-brand-copy-block .footer-lead{
  letter-spacing:-.03em !important;
}


/* ===== v145-tax-text-green =====
   価格横の「税込」は囲みをなくし、緑文字のみで表示
========================================================= */
.hero-card.plan-card .plan-simple-price strong .tax-label{
  display:inline-block !important;
  margin:0 0 5px 0 !important;
  padding:0 !important;
  min-height:0 !important;
  width:auto !important;
  min-width:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#12fd00 !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  font-weight:900 !important;
  transform:none !important;
  vertical-align:baseline !important;
}
@media(max-width:860px){
  .hero-card.plan-card .plan-simple-price strong .tax-label{
    margin-bottom:4px !important;
    font-size:11px !important;
  }
}


/* ===== v146-loader-bar-green =====
   ローディングアニメーションのゲージバーのみ蛍光グリーンに変更
========================================================= */
.masakari-loader .loader-bar span,
.loader-bar span{
  background:linear-gradient(90deg,#12fd00 0%, #76ff6a 100%) !important;
  box-shadow:0 0 12px rgba(18,253,0,.45) !important;
}


/* ===== v147-lower-heading-animation =====
   下層ページ本文用：h2 / h3 / h4 見出しデザイン統一＋MASAKARI風アニメーション
   対象：制作例詳細、コラム詳細、お知らせ詳細、通常投稿、サービス詳細
========================================================= */

@keyframes masakariHeadingSlideIn{
  0%{
    opacity:0;
    transform:translateY(18px) skewX(-4deg);
    filter:blur(8px);
  }
  100%{
    opacity:1;
    transform:translateY(0) skewX(0);
    filter:blur(0);
  }
}

@keyframes masakariHeadingBarSweep{
  0%{
    transform:scaleX(0);
    transform-origin:left center;
    opacity:.4;
  }
  45%{
    transform:scaleX(1.06);
    transform-origin:left center;
    opacity:1;
  }
  100%{
    transform:scaleX(1);
    transform-origin:left center;
    opacity:1;
  }
}

@keyframes masakariHeadingGlowPulse{
  0%,100%{
    box-shadow:0 0 0 rgba(18,253,0,0);
  }
  50%{
    box-shadow:0 0 20px rgba(18,253,0,.32);
  }
}

@keyframes masakariH4DotPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:0 0 0 rgba(18,253,0,0);
  }
  50%{
    transform:scale(1.18);
    box-shadow:0 0 18px rgba(18,253,0,.48);
  }
}

/* 共通本文エリア */
.post-detail-content,
.work-detail-content,
.service-editable-content,
.entry-content,
.single .post-detail-card,
.single-masakari_column .post-detail-card,
.single-masakari_news .post-detail-card{
  --masakari-heading-green:#12fd00;
  --masakari-heading-ink:#080a07;
  --masakari-heading-muted:#4b5145;
}

/* h2：大見出し。黒太字＋蛍光グリーンの下敷き＋左ライン */
.post-detail-content h2,
.work-detail-content h2,
.service-editable-content h2,
.entry-content h2,
.single .post-detail-content h2,
.single-masakari_column .post-detail-content h2,
.single-masakari_news .post-detail-content h2{
  position:relative !important;
  width:fit-content;
  max-width:100%;
  margin:clamp(46px, 6vw, 72px) 0 22px !important;
  padding:0 0 8px 22px !important;
  color:var(--masakari-heading-ink) !important;
  font-size:clamp(30px, 4.4vw, 58px) !important;
  line-height:1.08 !important;
  letter-spacing:-.075em !important;
  font-weight:900 !important;
  text-wrap:balance;
  isolation:isolate;
  animation:masakariHeadingSlideIn .72s cubic-bezier(.18,.95,.2,1) both;
}

.post-detail-content h2:first-child,
.work-detail-content h2:first-child,
.service-editable-content h2:first-child,
.entry-content h2:first-child{
  margin-top:0 !important;
}

.post-detail-content h2::before,
.work-detail-content h2::before,
.service-editable-content h2::before,
.entry-content h2::before,
.single .post-detail-content h2::before,
.single-masakari_column .post-detail-content h2::before,
.single-masakari_news .post-detail-content h2::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.08em !important;
  bottom:.18em !important;
  width:7px !important;
  border-radius:999px !important;
  background:var(--masakari-heading-green) !important;
  transform-origin:center bottom;
  animation:masakariHeadingBarSweep .72s cubic-bezier(.18,.95,.2,1) both, masakariHeadingGlowPulse 2.2s ease-in-out .8s infinite;
  z-index:2;
}

.post-detail-content h2::after,
.work-detail-content h2::after,
.service-editable-content h2::after,
.entry-content h2::after,
.single .post-detail-content h2::after,
.single-masakari_column .post-detail-content h2::after,
.single-masakari_news .post-detail-content h2::after{
  content:"" !important;
  position:absolute;
  left:22px;
  right:-12px;
  bottom:.06em;
  height:.34em;
  border-radius:3px;
  background:linear-gradient(90deg,var(--masakari-heading-green) 0%, rgba(18,253,0,.74) 72%, rgba(18,253,0,0) 100%);
  z-index:-1;
  transform-origin:left center;
  animation:masakariHeadingBarSweep .8s cubic-bezier(.18,.95,.2,1) .12s both;
}

/* h3：中見出し。カプセルラベル感＋左の短い蛍光バー */
.post-detail-content h3,
.work-detail-content h3,
.service-editable-content h3,
.entry-content h3,
.single .post-detail-content h3,
.single-masakari_column .post-detail-content h3,
.single-masakari_news .post-detail-content h3{
  position:relative !important;
  display:block;
  margin:clamp(34px, 4.5vw, 52px) 0 16px !important;
  padding:12px 18px 12px 24px !important;
  border:1px solid rgba(8,10,7,.14);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 100%);
  color:var(--masakari-heading-ink) !important;
  font-size:clamp(22px, 2.8vw, 36px) !important;
  line-height:1.16 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
  box-shadow:5px 5px 0 rgba(18,253,0,.86);
  text-wrap:balance;
  overflow:hidden;
  animation:masakariHeadingSlideIn .64s cubic-bezier(.18,.95,.2,1) both;
}

.post-detail-content h3::before,
.work-detail-content h3::before,
.service-editable-content h3::before,
.entry-content h3::before,
.single .post-detail-content h3::before,
.single-masakari_column .post-detail-content h3::before,
.single-masakari_news .post-detail-content h3::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:6px;
  height:54%;
  border-radius:999px;
  background:var(--masakari-heading-green);
  transform:translateY(-50%);
  box-shadow:0 0 16px rgba(18,253,0,.28);
}

.post-detail-content h3::after,
.work-detail-content h3::after,
.service-editable-content h3::after,
.entry-content h3::after,
.single .post-detail-content h3::after,
.single-masakari_column .post-detail-content h3::after,
.single-masakari_news .post-detail-content h3::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.74) 44%,transparent 68%);
  transform:translateX(-120%);
  animation:masakariHeadingBarSweep .9s cubic-bezier(.18,.95,.2,1) .15s both;
  pointer-events:none;
  opacity:.48;
}

/* h4：小見出し。ドット＋太い下線 */
.post-detail-content h4,
.work-detail-content h4,
.service-editable-content h4,
.entry-content h4,
.single .post-detail-content h4,
.single-masakari_column .post-detail-content h4,
.single-masakari_news .post-detail-content h4{
  position:relative;
  margin:28px 0 12px !important;
  padding:0 0 9px 24px !important;
  color:var(--masakari-heading-ink) !important;
  font-size:clamp(18px, 2vw, 25px) !important;
  line-height:1.35 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  border-bottom:1px solid rgba(8,10,7,.12);
  animation:masakariHeadingSlideIn .56s cubic-bezier(.18,.95,.2,1) both;
}

.post-detail-content h4::before,
.work-detail-content h4::before,
.service-editable-content h4::before,
.entry-content h4::before,
.single .post-detail-content h4::before,
.single-masakari_column .post-detail-content h4::before,
.single-masakari_news .post-detail-content h4::before{
  content:"";
  position:absolute;
  left:0;
  top:.42em;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--masakari-heading-green);
  border:1px solid var(--masakari-heading-ink);
  animation:masakariH4DotPulse 2.4s ease-in-out infinite;
}

.post-detail-content h4::after,
.work-detail-content h4::after,
.service-editable-content h4::after,
.entry-content h4::after,
.single .post-detail-content h4::after,
.single-masakari_column .post-detail-content h4::after,
.single-masakari_news .post-detail-content h4::after{
  content:"";
  position:absolute;
  left:24px;
  bottom:-1px;
  width:min(180px, 52%);
  height:3px;
  border-radius:999px;
  background:var(--masakari-heading-green);
  transform-origin:left center;
  animation:masakariHeadingBarSweep .72s cubic-bezier(.18,.95,.2,1) .1s both;
}

/* 本文側の読みやすさ */
.post-detail-content p,
.work-detail-content p,
.service-editable-content p,
.entry-content p,
.post-detail-content li,
.work-detail-content li,
.service-editable-content li,
.entry-content li{
  line-height:1.95;
}

/* スマホ調整 */
@media(max-width:760px){
  .post-detail-content h2,
  .work-detail-content h2,
  .service-editable-content h2,
  .entry-content h2,
  .single .post-detail-content h2,
  .single-masakari_column .post-detail-content h2,
  .single-masakari_news .post-detail-content h2{
    width:100%;
    margin:42px 0 18px !important;
    padding-left:18px !important;
    font-size:clamp(28px, 9vw, 42px) !important;
    line-height:1.08 !important;
  }

  .post-detail-content h2::before,
  .work-detail-content h2::before,
  .service-editable-content h2::before,
  .entry-content h2::before{
    width:6px !important;
  }

  .post-detail-content h2::after,
  .work-detail-content h2::after,
  .service-editable-content h2::after,
  .entry-content h2::after{
    left:18px;
    right:0;
    height:.30em;
  }

  .post-detail-content h3,
  .work-detail-content h3,
  .service-editable-content h3,
  .entry-content h3{
    margin:30px 0 14px !important;
    padding:12px 14px 12px 22px !important;
    border-radius:16px;
    font-size:clamp(21px, 6.4vw, 30px) !important;
    box-shadow:4px 4px 0 rgba(18,253,0,.86);
  }

  .post-detail-content h4,
  .work-detail-content h4,
  .service-editable-content h4,
  .entry-content h4{
    font-size:clamp(17px, 5vw, 22px) !important;
    padding-left:22px !important;
  }
}

/* 動きを控えたい端末では静止 */
@media (prefers-reduced-motion: reduce){
  .post-detail-content h2,
  .post-detail-content h2::before,
  .post-detail-content h2::after,
  .post-detail-content h3,
  .post-detail-content h3::after,
  .post-detail-content h4,
  .post-detail-content h4::before,
  .post-detail-content h4::after,
  .work-detail-content h2,
  .work-detail-content h2::before,
  .work-detail-content h2::after,
  .work-detail-content h3,
  .work-detail-content h3::after,
  .work-detail-content h4,
  .work-detail-content h4::before,
  .work-detail-content h4::after,
  .service-editable-content h2,
  .service-editable-content h2::before,
  .service-editable-content h2::after,
  .service-editable-content h3,
  .service-editable-content h3::after,
  .service-editable-content h4,
  .service-editable-content h4::before,
  .service-editable-content h4::after{
    animation:none !important;
  }
}


/* ===== v148-plan-button-float-hover =====
   ヒーロープランカードの「詳しく見る」ボタンを、影が伸びるだけでなく
   ふわっと浮き出るホバーアニメーションに変更
========================================================= */
@keyframes masakariPlanButtonFloatGlow{
  0%,100%{
    box-shadow:
      6px 6px 0 var(--green),
      0 0 0 rgba(18,253,0,0);
  }
  50%{
    box-shadow:
      10px 14px 0 rgba(18,253,0,.96),
      0 0 20px rgba(18,253,0,.18);
  }
}

.hero-card.plan-card .plan-card-link{
  position:relative;
  overflow:hidden;
  transform:translate3d(0,0,0) scale(1);
  transition:
    transform .28s cubic-bezier(.22,.9,.28,1),
    box-shadow .28s cubic-bezier(.22,.9,.28,1),
    background-color .28s ease,
    color .28s ease,
    filter .28s ease;
  will-change:transform, box-shadow;
}

.hero-card.plan-card .plan-card-link::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.16) 42%, rgba(255,255,255,.32) 50%, transparent 62%);
  transform:translateX(-125%);
  transition:transform .58s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}

.hero-card.plan-card .plan-card-link:hover,
.hero-card.plan-card .plan-card-link:focus-visible{
  transform:translate3d(0,-6px,0) scale(1.015);
  box-shadow:
    10px 14px 0 var(--green),
    0 10px 22px rgba(8,10,7,.18);
  filter:saturate(1.05);
  animation:masakariPlanButtonFloatGlow 1.7s ease-in-out infinite;
}

.hero-card.plan-card .plan-card-link:hover::before,
.hero-card.plan-card .plan-card-link:focus-visible::before{
  transform:translateX(125%);
}

.hero-card.plan-card .plan-card-link:active{
  transform:translate3d(0,-2px,0) scale(.995);
  box-shadow:
    6px 8px 0 var(--green),
    0 6px 14px rgba(8,10,7,.14);
  animation:none;
}

.hero-card.plan-card .plan-card-link:hover::after,
.hero-card.plan-card .plan-card-link:focus-visible::after{
  transform:translateX(6px);
}

@media(max-width:760px){
  .hero-card.plan-card .plan-card-link:hover,
  .hero-card.plan-card .plan-card-link:focus-visible{
    transform:translate3d(0,-4px,0) scale(1.01);
    box-shadow:
      7px 10px 0 var(--green),
      0 8px 18px rgba(8,10,7,.15);
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-card.plan-card .plan-card-link,
  .hero-card.plan-card .plan-card-link::before,
  .hero-card.plan-card .plan-card-link:hover,
  .hero-card.plan-card .plan-card-link:focus-visible{
    transition:none !important;
    animation:none !important;
  }
}


/* ===== v149-heading-css-apply-fix =====
   下層ページ本文の h2 / h3 / h4 デザインが反映されない問題を修正。
   WordPress本文で使われる複数のラッパーに確実に適用し、後勝ちで上書き。
========================================================= */

@keyframes masakariHeadingInV149{
  0%{opacity:0;transform:translateY(16px) skewX(-3deg);filter:blur(6px);}
  100%{opacity:1;transform:translateY(0) skewX(0);filter:blur(0);}
}
@keyframes masakariHeadingSweepV149{
  0%{transform:scaleX(0);opacity:.5;}
  100%{transform:scaleX(1);opacity:1;}
}
@keyframes masakariHeadingShineV149{
  0%,70%,100%{transform:translateX(-130%);opacity:0;}
  20%{opacity:.65;}
  42%{transform:translateX(130%);opacity:0;}
}
@keyframes masakariDotPulseV149{
  0%,100%{transform:scale(1);box-shadow:0 0 0 rgba(18,253,0,0);}
  50%{transform:scale(1.18);box-shadow:0 0 18px rgba(18,253,0,.42);}
}

/* h2 */
.post-detail-card h2,
.post-detail-content h2,
.work-detail-content h2,
.service-editable-content h2,
.entry-content h2,
.wp-block-post-content h2,
.page-content h2,
.article-content h2{
  position:relative !important;
  display:block !important;
  width:fit-content !important;
  max-width:100% !important;
  margin:clamp(46px,6vw,72px) 0 22px !important;
  padding:0 0 8px 22px !important;
  border:0 !important;
  background:transparent !important;
  color:#080a07 !important;
  font-size:clamp(30px,4.4vw,58px) !important;
  line-height:1.04 !important;
  letter-spacing:-.075em !important;
  font-weight:900 !important;
  text-wrap:balance;
  isolation:isolate !important;
  animation:masakariHeadingInV149 .66s cubic-bezier(.18,.95,.2,1) both !important;
}

.post-detail-card h2:first-child,
.post-detail-content h2:first-child,
.work-detail-content h2:first-child,
.service-editable-content h2:first-child,
.entry-content h2:first-child{
  margin-top:0 !important;
}

.post-detail-card h2::before,
.post-detail-content h2::before,
.work-detail-content h2::before,
.service-editable-content h2::before,
.entry-content h2::before,
.wp-block-post-content h2::before,
.page-content h2::before,
.article-content h2::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.08em !important;
  bottom:.18em !important;
  width:7px !important;
  height:auto !important;
  border:0 !important;
  border-radius:999px !important;
  background:#12fd00 !important;
  box-shadow:0 0 18px rgba(18,253,0,.28) !important;
  animation:masakariHeadingSweepV149 .66s cubic-bezier(.18,.95,.2,1) both !important;
  z-index:2 !important;
}

.post-detail-card h2::after,
.post-detail-content h2::after,
.work-detail-content h2::after,
.service-editable-content h2::after,
.entry-content h2::after,
.wp-block-post-content h2::after,
.page-content h2::after,
.article-content h2::after{
  content:"" !important;
  position:absolute !important;
  left:22px !important;
  right:-12px !important;
  bottom:.06em !important;
  width:auto !important;
  height:.34em !important;
  border:0 !important;
  border-radius:3px !important;
  background:linear-gradient(90deg,#12fd00 0%,rgba(18,253,0,.74) 72%,rgba(18,253,0,0) 100%) !important;
  transform-origin:left center !important;
  animation:masakariHeadingSweepV149 .72s cubic-bezier(.18,.95,.2,1) .08s both !important;
  z-index:-1 !important;
}

/* h3 */
.post-detail-card h3,
.post-detail-content h3,
.work-detail-content h3,
.service-editable-content h3,
.entry-content h3,
.wp-block-post-content h3,
.page-content h3,
.article-content h3{
  position:relative !important;
  display:block !important;
  margin:clamp(34px,4.5vw,52px) 0 16px !important;
  padding:12px 18px 12px 24px !important;
  border:1px solid rgba(8,10,7,.14) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 100%) !important;
  color:#080a07 !important;
  font-size:clamp(22px,2.8vw,36px) !important;
  line-height:1.16 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
  box-shadow:5px 5px 0 rgba(18,253,0,.86) !important;
  text-wrap:balance;
  overflow:hidden !important;
  animation:masakariHeadingInV149 .58s cubic-bezier(.18,.95,.2,1) both !important;
}

.post-detail-card h3::before,
.post-detail-content h3::before,
.work-detail-content h3::before,
.service-editable-content h3::before,
.entry-content h3::before,
.wp-block-post-content h3::before,
.page-content h3::before,
.article-content h3::before{
  content:"" !important;
  position:absolute !important;
  left:12px !important;
  top:50% !important;
  width:6px !important;
  height:54% !important;
  border:0 !important;
  border-radius:999px !important;
  background:#12fd00 !important;
  transform:translateY(-50%) !important;
  box-shadow:0 0 16px rgba(18,253,0,.28) !important;
  z-index:1 !important;
}

.post-detail-card h3::after,
.post-detail-content h3::after,
.work-detail-content h3::after,
.service-editable-content h3::after,
.entry-content h3::after,
.wp-block-post-content h3::after,
.page-content h3::after,
.article-content h3::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.74) 44%,transparent 68%) !important;
  transform:translateX(-130%) !important;
  animation:masakariHeadingShineV149 2.8s ease-in-out .25s infinite !important;
  pointer-events:none !important;
  opacity:.56 !important;
}

/* h4 */
.post-detail-card h4,
.post-detail-content h4,
.work-detail-content h4,
.service-editable-content h4,
.entry-content h4,
.wp-block-post-content h4,
.page-content h4,
.article-content h4{
  position:relative !important;
  display:block !important;
  margin:28px 0 12px !important;
  padding:0 0 9px 24px !important;
  color:#080a07 !important;
  font-size:clamp(18px,2vw,25px) !important;
  line-height:1.35 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  border-bottom:1px solid rgba(8,10,7,.12) !important;
  background:transparent !important;
  animation:masakariHeadingInV149 .52s cubic-bezier(.18,.95,.2,1) both !important;
}

.post-detail-card h4::before,
.post-detail-content h4::before,
.work-detail-content h4::before,
.service-editable-content h4::before,
.entry-content h4::before,
.wp-block-post-content h4::before,
.page-content h4::before,
.article-content h4::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.42em !important;
  width:12px !important;
  height:12px !important;
  border-radius:50% !important;
  background:#12fd00 !important;
  border:1px solid #080a07 !important;
  animation:masakariDotPulseV149 2.4s ease-in-out infinite !important;
}

.post-detail-card h4::after,
.post-detail-content h4::after,
.work-detail-content h4::after,
.service-editable-content h4::after,
.entry-content h4::after,
.wp-block-post-content h4::after,
.page-content h4::after,
.article-content h4::after{
  content:"" !important;
  position:absolute !important;
  left:24px !important;
  bottom:-1px !important;
  width:min(180px,52%) !important;
  height:3px !important;
  border-radius:999px !important;
  background:#12fd00 !important;
  transform-origin:left center !important;
  animation:masakariHeadingSweepV149 .66s cubic-bezier(.18,.95,.2,1) both !important;
}

/* mobile */
@media(max-width:760px){
  .post-detail-card h2,
  .post-detail-content h2,
  .work-detail-content h2,
  .service-editable-content h2,
  .entry-content h2{
    width:100% !important;
    margin:40px 0 18px !important;
    padding-left:18px !important;
    font-size:clamp(28px,9vw,42px) !important;
    line-height:1.08 !important;
  }

  .post-detail-card h2::after,
  .post-detail-content h2::after,
  .work-detail-content h2::after,
  .service-editable-content h2::after,
  .entry-content h2::after{
    left:18px !important;
    right:0 !important;
    height:.30em !important;
  }

  .post-detail-card h3,
  .post-detail-content h3,
  .work-detail-content h3,
  .service-editable-content h3,
  .entry-content h3{
    padding:12px 14px 12px 22px !important;
    font-size:clamp(21px,6.4vw,30px) !important;
    border-radius:16px !important;
    box-shadow:4px 4px 0 rgba(18,253,0,.86) !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .post-detail-card h2,
  .post-detail-card h2::before,
  .post-detail-card h2::after,
  .post-detail-card h3,
  .post-detail-card h3::after,
  .post-detail-card h4,
  .post-detail-card h4::before,
  .post-detail-card h4::after{
    animation:none !important;
  }
}


/* ===== v150-menu-footer-text-fix =====
   ハンバーガーメニュー内の補足テキスト削除後の余白調整
   フッター右下所在地表記の可読性調整
========================================================= */
.menu-featured-note,
.menu-panel__foot > p{
  display:none !important;
}

.menu-panel__foot{
  align-items:center !important;
  gap:14px !important;
}

.footer-bottom-minimal span,
body.masakari-shared-page .footer-bottom-minimal span{
  white-space:nowrap !important;
  letter-spacing:.02em !important;
}

@media(max-width:760px){
  .footer-bottom-minimal span,
  body.masakari-shared-page .footer-bottom-minimal span{
    white-space:normal !important;
    text-align:left !important;
  }
}


/* ===== v151-article-design-polish =====
   コラム/お知らせ/通常投稿の詳細ページを記事メディアとして読みやすくブラッシュアップ。
   アイキャッチサイズ、本文幅、余白、アフィリエイト導線用カードも調整。
========================================================= */

/* 記事詳細ページ全体の余白を圧縮し、読み始めを上に寄せる */
body.single-masakari_column .masakari-lower-main,
body.single-masakari_news .masakari-lower-main,
body.single-post .masakari-lower-main{
  padding-top:72px !important;
}

body.single-masakari_column .hero,
body.single-masakari_news .hero,
body.single-post .hero{
  padding-top:72px !important;
  padding-bottom:clamp(42px, 6vw, 72px) !important;
}

/* 記事本文の最大幅を整えて、横に広がりすぎないようにする */
body.single-masakari_column .post-detail-wrap,
body.single-masakari_news .post-detail-wrap,
body.single-post .post-detail-wrap{
  max-width:980px !important;
}

/* 記事カード感を弱めて、メディア記事っぽい余白に調整 */
body.single-masakari_column .post-detail-card,
body.single-masakari_news .post-detail-card,
body.single-post .post-detail-card{
  padding:clamp(22px, 4.4vw, 52px) !important;
  border-radius:34px !important;
  box-shadow:
    0 18px 70px rgba(8,10,7,.07),
    8px 8px 0 rgba(18,253,0,.55) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 100%) !important;
}

/* タイトルまわりのサイズと余白 */
body.single-masakari_column .post-detail-title,
body.single-masakari_news .post-detail-title,
body.single-post .post-detail-title{
  max-width:900px !important;
  margin-top:14px !important;
  font-size:clamp(42px, 5.4vw, 76px) !important;
  line-height:1.05 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance;
}

body.single-masakari_column .post-detail-lead,
body.single-masakari_news .post-detail-lead,
body.single-post .post-detail-lead{
  max-width:760px !important;
  margin-top:20px !important;
  font-size:clamp(15px, 1.45vw, 18px) !important;
  line-height:1.9 !important;
  color:#3d433a !important;
}

/* アイキャッチ画像：大きすぎ問題を修正。横長で記事らしく見せる */
.post-detail-thumb,
body.single-masakari_column .post-detail-thumb,
body.single-masakari_news .post-detail-thumb,
body.single-post .post-detail-thumb{
  width:100% !important;
  max-width:860px !important;
  margin:clamp(24px, 4vw, 38px) auto clamp(28px, 4vw, 44px) !important;
  aspect-ratio:16 / 9 !important;
  border-radius:30px !important;
  overflow:hidden !important;
  border:1px solid rgba(8,10,7,.16) !important;
  box-shadow:
    0 22px 60px rgba(8,10,7,.13),
    6px 6px 0 rgba(18,253,0,.55) !important;
  background:#eef3e8 !important;
}

.post-detail-thumb img,
body.single-masakari_column .post-detail-thumb img,
body.single-masakari_news .post-detail-thumb img,
body.single-post .post-detail-thumb img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* 本文幅と読みやすさ */
.post-detail-content,
body.single-masakari_column .post-detail-content,
body.single-masakari_news .post-detail-content,
body.single-post .post-detail-content{
  max-width:780px !important;
  margin:0 auto !important;
}

.post-detail-content p,
.post-detail-content li,
body.single-masakari_column .post-detail-content p,
body.single-masakari_news .post-detail-content p,
body.single-post .post-detail-content p,
body.single-masakari_column .post-detail-content li,
body.single-masakari_news .post-detail-content li,
body.single-post .post-detail-content li{
  font-size:clamp(15px, 1.35vw, 17px) !important;
  line-height:2.05 !important;
  font-weight:780 !important;
  color:#2f352e !important;
}

/* 本文画像も大きすぎないように */
.post-detail-content img,
body.single-masakari_column .post-detail-content img,
body.single-masakari_news .post-detail-content img,
body.single-post .post-detail-content img{
  max-width:100% !important;
  height:auto !important;
  border-radius:24px !important;
  box-shadow:0 18px 52px rgba(8,10,7,.10) !important;
}

.post-detail-content figure,
body.single-masakari_column .post-detail-content figure,
body.single-masakari_news .post-detail-content figure,
body.single-post .post-detail-content figure{
  margin:clamp(28px,4vw,42px) auto !important;
}

.post-detail-content figcaption{
  margin-top:10px !important;
  color:#6b7168 !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-align:center !important;
}

/* 引用・強調ボックス */
.post-detail-content blockquote{
  position:relative;
  margin:34px 0 !important;
  padding:24px 26px 24px 28px !important;
  border:1px solid rgba(8,10,7,.14) !important;
  border-left:8px solid #12fd00 !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#fff 0%,#f7f9f3 100%) !important;
  box-shadow:6px 6px 0 rgba(18,253,0,.44) !important;
  color:#20251f !important;
  font-weight:900 !important;
}

/* アフィリエイトリンク/CTA用：本文内に a.button / .affiliate-card を置いた時に整う */
.post-detail-content .affiliate-card,
.post-detail-content .affiliate-box,
.post-detail-content .product-card,
.post-detail-content .cta-card{
  position:relative !important;
  display:grid !important;
  gap:14px !important;
  margin:34px 0 !important;
  padding:24px !important;
  border:1.5px solid #080a07 !important;
  border-radius:26px !important;
  background:
    radial-gradient(circle at 92% 0%, rgba(18,253,0,.34), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f8faf4 100%) !important;
  box-shadow:8px 8px 0 #12fd00 !important;
}

.post-detail-content .affiliate-card strong,
.post-detail-content .affiliate-box strong,
.post-detail-content .product-card strong,
.post-detail-content .cta-card strong{
  font-size:clamp(20px, 2.4vw, 30px) !important;
  line-height:1.18 !important;
  letter-spacing:-.04em !important;
  font-weight:900 !important;
}

.post-detail-content .affiliate-card a,
.post-detail-content .affiliate-box a,
.post-detail-content .product-card a,
.post-detail-content .cta-card a,
.post-detail-content a.button,
.post-detail-content .wp-block-button__link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  min-height:50px !important;
  padding:0 22px !important;
  border:1.5px solid #080a07 !important;
  border-radius:999px !important;
  background:#080a07 !important;
  color:#ffffff !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-decoration:none !important;
  box-shadow:6px 6px 0 #12fd00 !important;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease !important;
}

.post-detail-content .affiliate-card a:hover,
.post-detail-content .affiliate-box a:hover,
.post-detail-content .product-card a:hover,
.post-detail-content .cta-card a:hover,
.post-detail-content a.button:hover,
.post-detail-content .wp-block-button__link:hover{
  transform:translate(-2px,-2px) !important;
  background:#12fd00 !important;
  color:#080a07 !important;
  box-shadow:8px 8px 0 #080a07 !important;
}

/* 記事下の余白 */
body.single-masakari_column .site-footer,
body.single-masakari_news .site-footer,
body.single-post .site-footer{
  margin-top:clamp(42px, 6vw, 76px) !important;
}

/* スマホ */
@media(max-width:760px){
  body.single-masakari_column .hero,
  body.single-masakari_news .hero,
  body.single-post .hero{
    padding-top:64px !important;
  }

  body.single-masakari_column .post-detail-card,
  body.single-masakari_news .post-detail-card,
  body.single-post .post-detail-card{
    padding:22px 16px !important;
    border-radius:26px !important;
    box-shadow:6px 6px 0 rgba(18,253,0,.55) !important;
  }

  body.single-masakari_column .post-detail-title,
  body.single-masakari_news .post-detail-title,
  body.single-post .post-detail-title{
    font-size:clamp(34px, 10vw, 48px) !important;
    line-height:1.08 !important;
  }

  .post-detail-thumb,
  body.single-masakari_column .post-detail-thumb,
  body.single-masakari_news .post-detail-thumb,
  body.single-post .post-detail-thumb{
    max-width:100% !important;
    aspect-ratio:4 / 3 !important;
    border-radius:22px !important;
    margin:22px auto 30px !important;
  }

  .post-detail-content,
  body.single-masakari_column .post-detail-content,
  body.single-masakari_news .post-detail-content,
  body.single-post .post-detail-content{
    max-width:100% !important;
  }

  .post-detail-content p,
  .post-detail-content li{
    line-height:1.95 !important;
  }

  .post-detail-content .affiliate-card,
  .post-detail-content .affiliate-box,
  .post-detail-content .product-card,
  .post-detail-content .cta-card{
    padding:20px 16px !important;
    border-radius:22px !important;
    box-shadow:6px 6px 0 #12fd00 !important;
  }

  .post-detail-content .affiliate-card a,
  .post-detail-content .affiliate-box a,
  .post-detail-content .product-card a,
  .post-detail-content .cta-card a,
  .post-detail-content a.button,
  .post-detail-content .wp-block-button__link{
    width:100% !important;
  }
}


/* ===== v152-news-page-polish =====
   お知らせ詳細ページ専用ブラッシュアップ
   お知らせは「短く・見やすく・更新情報らしく」見せるため、コラムよりコンパクトに調整。
========================================================= */

/* お知らせ詳細はコラムよりカード幅を少し締めて、余白を整理 */
body.single-masakari_news .post-detail-wrap{
  max-width:880px !important;
}

body.single-masakari_news .hero{
  padding-top:68px !important;
  padding-bottom:clamp(34px, 5vw, 58px) !important;
}

body.single-masakari_news .post-detail-card{
  position:relative !important;
  overflow:hidden !important;
  padding:clamp(28px, 5vw, 56px) !important;
  border:1.5px solid rgba(8,10,7,.12) !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(18,253,0,.26), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#fbfcf8 100%) !important;
  box-shadow:
    10px 10px 0 #12fd00,
    0 24px 74px rgba(8,10,7,.08) !important;
}

/* 上の蛍光ラインを追加して、お知らせ感を出す */
body.single-masakari_news .post-detail-card::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:8px !important;
  background:linear-gradient(90deg,#12fd00 0%,rgba(18,253,0,.72) 68%,rgba(18,253,0,0) 100%) !important;
  z-index:2 !important;
}

/* 日付＋お知らせバッジ */
body.single-masakari_news .post-detail-meta{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin-bottom:22px !important;
  color:#62685c !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
}

body.single-masakari_news .post-detail-meta time{
  display:inline-flex !important;
  align-items:center !important;
  min-height:28px !important;
}

body.single-masakari_news .post-detail-meta span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:30px !important;
  padding:0 12px !important;
  border:1px solid #080a07 !important;
  border-radius:999px !important;
  background:#12fd00 !important;
  color:#080a07 !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-shadow:3px 3px 0 rgba(8,10,7,.9) !important;
}

/* タイトルは迫力を残しつつ、お知らせらしく少し読みやすく */
body.single-masakari_news .post-detail-title{
  max-width:760px !important;
  margin:0 !important;
  font-size:clamp(38px, 5vw, 68px) !important;
  line-height:1.06 !important;
  letter-spacing:-.065em !important;
  text-wrap:balance;
}

/* アイキャッチは大きすぎない横長カードに */
body.single-masakari_news .post-detail-thumb{
  max-width:760px !important;
  margin:clamp(24px, 4vw, 34px) auto clamp(28px, 4vw, 42px) !important;
  aspect-ratio:16 / 9 !important;
  border-radius:28px !important;
  border:1px solid rgba(8,10,7,.14) !important;
  overflow:hidden !important;
  background:#eef3e8 !important;
  box-shadow:
    0 18px 52px rgba(8,10,7,.11),
    6px 6px 0 rgba(18,253,0,.58) !important;
}

body.single-masakari_news .post-detail-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

/* 本文はカード内で読みやすく。短いお知らせでも間延びしないように */
body.single-masakari_news .post-detail-content{
  max-width:720px !important;
  margin:0 auto !important;
}

body.single-masakari_news .post-detail-content p,
body.single-masakari_news .post-detail-content li{
  font-size:clamp(15px, 1.35vw, 17px) !important;
  line-height:1.95 !important;
  font-weight:780 !important;
  color:#30352e !important;
}

/* お知らせ内のh2/h3/h4は少しコンパクトに */
body.single-masakari_news .post-detail-content h2{
  margin-top:clamp(34px, 5vw, 52px) !important;
  font-size:clamp(28px, 4vw, 48px) !important;
}

body.single-masakari_news .post-detail-content h3{
  margin-top:30px !important;
  font-size:clamp(22px, 2.6vw, 32px) !important;
}

body.single-masakari_news .post-detail-content h4{
  margin-top:24px !important;
}

/* お知らせ本文中の画像 */
body.single-masakari_news .post-detail-content figure,
body.single-masakari_news .post-detail-content .wp-block-image{
  margin:28px auto !important;
}

body.single-masakari_news .post-detail-content img{
  max-width:100% !important;
  height:auto !important;
  border-radius:22px !important;
  box-shadow:0 16px 44px rgba(8,10,7,.10) !important;
}

/* お知らせ用の小さなCTA/リンク */
body.single-masakari_news .post-detail-content a:not(.wp-block-button__link){
  color:#080a07 !important;
  font-weight:900 !important;
  text-decoration-thickness:3px !important;
  text-decoration-color:#12fd00 !important;
  text-underline-offset:4px !important;
}

body.single-masakari_news .post-detail-content .wp-block-button__link,
body.single-masakari_news .post-detail-content a.button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:0 22px !important;
  border:1.5px solid #080a07 !important;
  border-radius:999px !important;
  background:#080a07 !important;
  color:#ffffff !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-shadow:6px 6px 0 #12fd00 !important;
}

/* スマホ */
@media(max-width:760px){
  body.single-masakari_news .hero{
    padding-top:62px !important;
  }

  body.single-masakari_news .post-detail-card{
    padding:24px 16px !important;
    border-radius:26px !important;
    box-shadow:
      6px 6px 0 #12fd00,
      0 18px 54px rgba(8,10,7,.08) !important;
  }

  body.single-masakari_news .post-detail-meta{
    margin-bottom:16px !important;
  }

  body.single-masakari_news .post-detail-title{
    font-size:clamp(34px, 10vw, 46px) !important;
    line-height:1.08 !important;
  }

  body.single-masakari_news .post-detail-thumb{
    max-width:100% !important;
    aspect-ratio:4 / 3 !important;
    border-radius:20px !important;
    margin:22px auto 28px !important;
  }

  body.single-masakari_news .post-detail-content{
    max-width:100% !important;
  }

  body.single-masakari_news .post-detail-content p,
  body.single-masakari_news .post-detail-content li{
    font-size:14.5px !important;
    line-height:1.9 !important;
  }
}

/* ===== v153-column-template-polish =====
   コラム詳細テンプレートを post-detail 系HTMLに統一。
   h2/h3/h4、余白、アイキャッチ調整を確実に反映。
========================================================= */

body.single-masakari_column .masakari-column-detail{
  padding-top:72px !important;
  padding-bottom:clamp(42px, 6vw, 72px) !important;
}

body.single-masakari_column .post-detail-wrap{
  max-width:980px !important;
}

body.single-masakari_column .post-detail-card{
  padding:clamp(22px, 4.4vw, 52px) !important;
  border:1.5px solid rgba(8,10,7,.12) !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(18,253,0,.20), transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 100%) !important;
  box-shadow:
    0 18px 70px rgba(8,10,7,.07),
    8px 8px 0 rgba(18,253,0,.55) !important;
  overflow:hidden !important;
}

body.single-masakari_column .post-detail-meta{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin-bottom:22px !important;
  color:#62685c !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
}

body.single-masakari_column .post-detail-meta span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:30px !important;
  padding:0 12px !important;
  border:1px solid #080a07 !important;
  border-radius:999px !important;
  background:#12fd00 !important;
  color:#080a07 !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-shadow:3px 3px 0 rgba(8,10,7,.9) !important;
}

body.single-masakari_column .post-detail-title{
  max-width:900px !important;
  margin:0 !important;
  font-size:clamp(42px, 5.4vw, 76px) !important;
  line-height:1.05 !important;
  letter-spacing:-.045em !important;
  text-wrap:balance;
}

body.single-masakari_column .post-detail-thumb{
  width:100% !important;
  max-width:860px !important;
  margin:clamp(24px, 4vw, 38px) auto clamp(28px, 4vw, 44px) !important;
  aspect-ratio:16 / 9 !important;
  border-radius:30px !important;
  overflow:hidden !important;
  border:1px solid rgba(8,10,7,.16) !important;
  box-shadow:
    0 22px 60px rgba(8,10,7,.13),
    6px 6px 0 rgba(18,253,0,.55) !important;
  background:#eef3e8 !important;
}

body.single-masakari_column .post-detail-thumb img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
}

body.single-masakari_column .post-detail-content{
  max-width:780px !important;
  margin:0 auto !important;
}

body.single-masakari_column .post-detail-content p,
body.single-masakari_column .post-detail-content li{
  font-size:clamp(15px, 1.35vw, 17px) !important;
  line-height:2.05 !important;
  font-weight:780 !important;
  color:#2f352e !important;
}

/* コラム本文のh2/h3/h4を確実に適用 */
body.single-masakari_column .post-detail-content h2{
  position:relative !important;
  display:block !important;
  width:fit-content !important;
  max-width:100% !important;
  margin:clamp(46px,6vw,72px) 0 22px !important;
  padding:0 0 8px 22px !important;
  border:0 !important;
  background:transparent !important;
  color:#080a07 !important;
  font-size:clamp(30px,4.4vw,58px) !important;
  line-height:1.04 !important;
  letter-spacing:-.075em !important;
  font-weight:900 !important;
  text-wrap:balance;
  isolation:isolate !important;
}

body.single-masakari_column .post-detail-content h2::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.08em !important;
  bottom:.18em !important;
  width:7px !important;
  border-radius:999px !important;
  background:#12fd00 !important;
  box-shadow:0 0 18px rgba(18,253,0,.28) !important;
  z-index:2 !important;
}

body.single-masakari_column .post-detail-content h2::after{
  content:"" !important;
  position:absolute !important;
  left:22px !important;
  right:-12px !important;
  bottom:.06em !important;
  height:.34em !important;
  border-radius:3px !important;
  background:linear-gradient(90deg,#12fd00 0%,rgba(18,253,0,.74) 72%,rgba(18,253,0,0) 100%) !important;
  z-index:-1 !important;
}

body.single-masakari_column .post-detail-content h3{
  position:relative !important;
  display:block !important;
  margin:clamp(34px,4.5vw,52px) 0 16px !important;
  padding:12px 18px 12px 24px !important;
  border:1px solid rgba(8,10,7,.14) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 100%) !important;
  color:#080a07 !important;
  font-size:clamp(22px,2.8vw,36px) !important;
  line-height:1.16 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
  box-shadow:5px 5px 0 rgba(18,253,0,.86) !important;
  overflow:hidden !important;
}

body.single-masakari_column .post-detail-content h3::before{
  content:"" !important;
  position:absolute !important;
  left:12px !important;
  top:50% !important;
  width:6px !important;
  height:54% !important;
  border-radius:999px !important;
  background:#12fd00 !important;
  transform:translateY(-50%) !important;
  box-shadow:0 0 16px rgba(18,253,0,.28) !important;
}

body.single-masakari_column .post-detail-content h4{
  position:relative !important;
  display:block !important;
  margin:28px 0 12px !important;
  padding:0 0 9px 24px !important;
  color:#080a07 !important;
  font-size:clamp(18px,2vw,25px) !important;
  line-height:1.35 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  border-bottom:1px solid rgba(8,10,7,.12) !important;
  background:transparent !important;
}

body.single-masakari_column .post-detail-content h4::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.42em !important;
  width:12px !important;
  height:12px !important;
  border-radius:50% !important;
  background:#12fd00 !important;
  border:1px solid #080a07 !important;
}

body.single-masakari_column .post-detail-content h4::after{
  content:"" !important;
  position:absolute !important;
  left:24px !important;
  bottom:-1px !important;
  width:min(180px,52%) !important;
  height:3px !important;
  border-radius:999px !important;
  background:#12fd00 !important;
}

@media(max-width:760px){
  body.single-masakari_column .masakari-column-detail{
    padding-top:62px !important;
  }

  body.single-masakari_column .post-detail-card{
    padding:22px 16px !important;
    border-radius:26px !important;
    box-shadow:6px 6px 0 rgba(18,253,0,.55) !important;
  }

  body.single-masakari_column .post-detail-title{
    font-size:clamp(34px, 10vw, 48px) !important;
    line-height:1.08 !important;
  }

  body.single-masakari_column .post-detail-thumb{
    max-width:100% !important;
    aspect-ratio:4 / 3 !important;
    border-radius:22px !important;
    margin:22px auto 30px !important;
  }

  body.single-masakari_column .post-detail-content{
    max-width:100% !important;
  }
}


/* ===== v154-works-archive-title-balance =====
   実績一覧ページのカードタイトルに、詳細ページ用h2/h3装飾が干渉していたため整理。
   一覧カードは読みやすいカード用タイポグラフィに戻す。
========================================================= */

/* 制作例一覧カードのh2は、本文用の巨大見出しCSSを無効化 */
.work-archive-card h2,
.archive-masakari_work .work-archive-card h2,
.tax-masakari_work_category .work-archive-card h2,
body.post-type-archive-masakari_work .work-archive-card h2,
body.tax-masakari_work_category .work-archive-card h2{
  position:relative !important;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 0 12px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#080a07 !important;
  font-size:clamp(22px, 2.05vw, 30px) !important;
  line-height:1.18 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
  text-wrap:auto !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  box-shadow:none !important;
  animation:none !important;
  isolation:auto !important;
}

/* 詳細ページ用の左ライン・マーカーを一覧カードでは消す */
.work-archive-card h2::before,
.work-archive-card h2::after,
.archive-masakari_work .work-archive-card h2::before,
.archive-masakari_work .work-archive-card h2::after,
.tax-masakari_work_category .work-archive-card h2::before,
.tax-masakari_work_category .work-archive-card h2::after,
body.post-type-archive-masakari_work .work-archive-card h2::before,
body.post-type-archive-masakari_work .work-archive-card h2::after,
body.tax-masakari_work_category .work-archive-card h2::before,
body.tax-masakari_work_category .work-archive-card h2::after{
  content:none !important;
  display:none !important;
}

/* カード本文側も高さが暴れにくいよう調整 */
.work-archive-card__body{
  padding:20px 20px 22px !important;
}

.work-archive-card p{
  font-size:14px !important;
  line-height:1.8 !important;
  font-weight:800 !important;
  color:#4b5145 !important;
}

/* PC3列時に読みやすい高さへ */
.work-archive-grid{
  align-items:stretch !important;
}

.work-archive-card{
  min-width:0 !important;
}

@media(max-width:900px){
  .work-archive-card h2,
  body.post-type-archive-masakari_work .work-archive-card h2,
  body.tax-masakari_work_category .work-archive-card h2{
    font-size:clamp(22px, 4vw, 30px) !important;
    line-height:1.18 !important;
  }
}

@media(max-width:760px){
  .work-archive-card h2,
  body.post-type-archive-masakari_work .work-archive-card h2,
  body.tax-masakari_work_category .work-archive-card h2{
    font-size:clamp(22px, 6.4vw, 28px) !important;
    line-height:1.16 !important;
    letter-spacing:-.052em !important;
  }

  .work-archive-card__body{
    padding:18px 18px 20px !important;
  }
}


/* ===== v155-works-category-button =====
   トップページ実績セクション下に、タブ連動のカテゴリ別一覧ボタンを追加
========================================================= */
.works-list-button-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
}

.works-category-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:0 28px;
  border:1.5px solid #080a07;
  border-radius:999px;
  background:#ffffff;
  color:#080a07;
  font-size:15px;
  font-weight:900;
  letter-spacing:.03em;
  text-decoration:none !important;
  box-shadow:7px 7px 0 #12fd00;
  overflow:hidden;
  transition:transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease;
}

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

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

.works-category-button i{
  font-style:normal;
  transition:transform .24s ease;
}

.works-category-button:hover{
  transform:translate(-2px,-2px);
  background:#12fd00;
  color:#080a07;
  box-shadow:9px 9px 0 #080a07;
}

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

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

@media(max-width:760px){
  .works-list-button-wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:26px !important;
  }

  .works-category-button,
  .works-list-button{
    width:100% !important;
    min-height:54px !important;
    padding:0 20px !important;
    font-size:14px !important;
  }
}


/* ===== v156-mobile-tabs-swipe-hint =====
   スマホの実績カテゴリタブが横スクロールできることを分かりやすくする
========================================================= */
@keyframes masakariSwipeHintSlide{
  0%,100%{
    transform:translateX(0);
    opacity:.72;
  }
  45%{
    transform:translateX(8px);
    opacity:1;
  }
}

@keyframes masakariSwipeGlow{
  0%,100%{
    box-shadow:0 0 0 rgba(18,253,0,0), 4px 4px 0 rgba(8,10,7,.9);
  }
  50%{
    box-shadow:0 0 18px rgba(18,253,0,.46), 4px 4px 0 rgba(8,10,7,.9);
  }
}

@media(max-width:760px){
  .works-tabs[data-wp-works="true"]{
    position:relative !important;
    padding-bottom:34px !important;
    margin-bottom:16px !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .works-tabs[data-wp-works="true"]::-webkit-scrollbar{
    display:none !important;
  }

  /* 右側にまだ続く感じのグラデーション */
  .works-tabs[data-wp-works="true"]::before{
    content:"" !important;
    position:sticky !important;
    right:0 !important;
    top:0 !important;
    align-self:stretch !important;
    width:42px !important;
    min-width:42px !important;
    margin-left:-42px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.96) 72%) !important;
    pointer-events:none !important;
    z-index:5 !important;
  }

  /* スワイプ誘導ラベル */
  .works-tabs[data-wp-works="true"]::after{
    content:"横にスワイプ  →" !important;
    position:absolute !important;
    right:10px !important;
    bottom:2px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:24px !important;
    padding:0 11px !important;
    border:1px solid #080a07 !important;
    border-radius:999px !important;
    background:#080a07 !important;
    color:#12fd00 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.06em !important;
    white-space:nowrap !important;
    pointer-events:none !important;
    z-index:6 !important;
    animation:masakariSwipeHintSlide 1.55s ease-in-out infinite, masakariSwipeGlow 2.4s ease-in-out infinite !important;
  }

  /* 最後までスクロールした時でも右端に余裕をつくる */
  .works-tabs[data-wp-works="true"] .works-tab:last-child{
    margin-right:84px !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .works-tabs[data-wp-works="true"]::after{
    animation:none !important;
  }
}







/* ===== v161-header-logo-cleanup =====
   ヘッダーロゴ周辺の重複CSSを整理。
   新ロゴ画像のみを、全体デザインを崩さず安定表示するための最終指定。
========================================================= */

.site-header .nav > .brand.brand-with-real-logo,
header.site-header .nav > .brand.brand-with-real-logo,
.masakari-lower-page .site-header .nav > .brand.brand-with-real-logo,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
  position:relative !important;
  display:block !important;
  width:clamp(250px, 22vw, 360px) !important;
  max-width:calc(100vw - 132px) !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  flex:0 0 auto !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  overflow:visible !important;
  text-decoration:none !important;
  transform:none !important;
  isolation:isolate !important;
}

.site-header .nav > .brand.brand-with-real-logo::before,
.site-header .nav > .brand.brand-with-real-logo::after,
header.site-header .nav > .brand.brand-with-real-logo::before,
header.site-header .nav > .brand.brand-with-real-logo::after,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo::before,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo::after{
  content:none !important;
  display:none !important;
}

.site-header .brand.brand-with-real-logo .brand-copy,
header.site-header .brand.brand-with-real-logo .brand-copy,
body.masakari-shared-page .site-header .brand.brand-with-real-logo .brand-copy{
  display:none !important;
}

.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
.site-header .nav > .brand.brand-with-real-logo img,
header.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
header.site-header .nav > .brand.brand-with-real-logo img,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo img{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:360px !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:drop-shadow(0 10px 14px rgba(8,10,7,.20)) !important;
}

@keyframes masakariHeaderLogoFloatClean{
  0%,100%{ transform:translate3d(0,0,0); }
  50%{ transform:translate3d(0,-2px,0); }
}

.site-header .nav > .brand.brand-with-real-logo{
  animation:masakariHeaderLogoFloatClean 5.2s ease-in-out infinite !important;
}

/* フッターもロゴ画像主体に統一 */
.footer-brand-copy-block{
  display:none !important;
}

.footer-brand-logo-only,
.footer-brand-row .brand.footer-brand-logo-only{
  display:block !important;
  width:clamp(240px, 25vw, 380px) !important;
  max-width:100% !important;
  height:auto !important;
  min-width:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.footer-logo-sample.real-footer-logo,
.real-footer-logo{
  display:block !important;
  width:100% !important;
  max-width:380px !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 12px 18px rgba(8,10,7,.12)) !important;
}

@media(max-width:980px){
  .site-header .nav > .brand.brand-with-real-logo,
  header.site-header .nav > .brand.brand-with-real-logo,
  body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
    width:clamp(200px, 40vw, 290px) !important;
    max-width:calc(100vw - 122px) !important;
  }

  .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  .site-header .nav > .brand.brand-with-real-logo img,
  header.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  header.site-header .nav > .brand.brand-with-real-logo img{
    max-width:290px !important;
  }
}

@media(max-width:640px){
  .site-header .nav > .brand.brand-with-real-logo,
  header.site-header .nav > .brand.brand-with-real-logo,
  body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
    width:clamp(168px, 44vw, 225px) !important;
    max-width:calc(100vw - 112px) !important;
  }

  .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  .site-header .nav > .brand.brand-with-real-logo img,
  header.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  header.site-header .nav > .brand.brand-with-real-logo img{
    max-width:225px !important;
  }
}

@media(max-width:380px){
  .site-header .nav > .brand.brand-with-real-logo,
  header.site-header .nav > .brand.brand-with-real-logo{
    width:158px !important;
  }
}


/* ===== v162 difference-header-loader-mark ===== */
.site-header .nav > .brand.brand-with-real-logo,
header.site-header .nav > .brand.brand-with-real-logo,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
  display:block !important;
  width:max-content !important;
  max-width:min(92vw, 760px) !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  background-image:none !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  isolation:isolate !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.site-header .nav > .brand.brand-with-real-logo::before,
.site-header .nav > .brand.brand-with-real-logo::after,
header.site-header .nav > .brand.brand-with-real-logo::before,
header.site-header .nav > .brand.brand-with-real-logo::after,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo::before,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo::after{
  content:none !important;
  display:none !important;
}

.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
header.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo{
  display:block !important;
  width:clamp(220px, 24vw, 420px) !important;
  height:auto !important;
  max-width:none !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  object-fit:contain !important;
  mix-blend-mode:difference !important;
  filter:none !important;
  opacity:1 !important;
}

@media (max-width: 900px){
  .site-header .nav > .brand.brand-with-real-logo,
  header.site-header .nav > .brand.brand-with-real-logo,
  body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
    max-width:calc(100vw - 120px) !important;
  }
  .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  header.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo{
    width:clamp(172px, 36vw, 260px) !important;
  }
}

@media (max-width: 640px){
  .site-header .nav > .brand.brand-with-real-logo,
  header.site-header .nav > .brand.brand-with-real-logo,
  body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
    max-width:calc(100vw - 104px) !important;
  }
  .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  header.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo{
    width:clamp(150px, 37vw, 210px) !important;
  }
}

.masakari-loader .loader-logo-img,
.loader-logo-img{
  content:url('./logo-loader-mark.png');
  width:104px !important;
  height:104px !important;
  object-fit:contain !important;
}

.masakari-loader .loader-mark,
.loader-mark{
  width:136px !important;
  height:136px !important;
}


/* ===== v163-footer-code-css-fix =====
   フッター右カードのコードエディタ風CSSが抜けていたため再実装。
   黒いコード画面として成立し、文字リンクだけがさりげなく機能するデザイン。
========================================================= */

.footer-cta-card-minimal.footer-code-card,
.footer-code-card,
body.masakari-shared-page .footer-cta-card-minimal.footer-code-card{
  position:relative !important;
  display:grid !important;
  grid-template-rows:auto 1fr !important;
  gap:0 !important;
  padding:0 !important;
  min-height:250px !important;
  border:1.5px solid rgba(18,253,0,.72) !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:#050605 !important;
  color:#e9ffe2 !important;
  box-shadow:
    10px 10px 0 #080a07,
    0 0 0 1px rgba(18,253,0,.16) inset,
    0 24px 70px rgba(8,10,7,.24) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace !important;
}

/* 古いCONTACTカード用疑似要素が残っている場合は無効化 */
.footer-code-card::before,
.footer-code-card::after,
.footer-cta-card-minimal.footer-code-card::before,
.footer-cta-card-minimal.footer-code-card::after{
  content:none !important;
  display:none !important;
}

.code-card-bar{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  min-height:42px !important;
  padding:0 16px !important;
  background:linear-gradient(180deg,#151815 0%,#0d0f0d 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

.code-card-bar span{
  display:block !important;
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  background:#12fd00 !important;
  box-shadow:0 0 12px rgba(18,253,0,.38) !important;
}

.code-card-bar span:nth-child(2){
  background:#ffffff !important;
  box-shadow:none !important;
  opacity:.74 !important;
}

.code-card-bar span:nth-child(3){
  background:#5a6157 !important;
  box-shadow:none !important;
}

.code-card-bar em{
  margin-left:8px !important;
  color:rgba(255,255,255,.56) !important;
  font-style:normal !important;
  font-size:12px !important;
  letter-spacing:.04em !important;
}

.code-card-screen{
  position:relative !important;
  padding:22px 24px 24px !important;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),
    radial-gradient(circle at 100% 0%, rgba(18,253,0,.12), transparent 34%),
    #050605 !important;
  background-size:100% 28px, 28px 100%, auto, auto !important;
}

.code-card-screen p{
  margin:0 0 9px !important;
  color:rgba(236,255,227,.78) !important;
  font-size:13px !important;
  line-height:1.55 !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
}

.code-card-screen .indent{
  padding-left:22px !important;
}

.code-card-screen b{
  color:#12fd00 !important;
  font-weight:900 !important;
}

.code-card-screen span{
  color:#ffffff !important;
}

.code-card-screen a{
  position:relative !important;
  color:#12fd00 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(18,253,0,.7) !important;
  transition:color .2s ease, border-color .2s ease, text-shadow .2s ease !important;
}

.code-card-screen a:hover{
  color:#ffffff !important;
  border-color:#ffffff !important;
  text-shadow:0 0 12px rgba(18,253,0,.55) !important;
}

/* 旧カードの通常文言が残っている場合は完全非表示 */
.footer-code-card > .footer-mini-label,
.footer-code-card > h3,
.footer-code-card > p,
.footer-code-card > .footer-cta-actions{
  display:none !important;
}

@media(max-width:860px){
  .footer-cta-card-minimal.footer-code-card,
  .footer-code-card{
    min-height:230px !important;
  }

  .code-card-screen{
    padding:20px 16px 22px !important;
  }

  .code-card-screen p{
    font-size:12px !important;
  }
}


/* ===== v164-header-logo-difference-fix =====
   mix-blend-mode:difference が効かない原因だった親要素の isolation を解除。
   白ロゴ画像が背景に対して反転するように、ヘッダー周辺を再整理。
========================================================= */

/* 親要素を isolated stacking context にしない。これがあると背景とブレンドできない */
.site-header .nav,
header.site-header .nav,
body.masakari-shared-page .site-header .nav{
  isolation:auto !important;
}

.site-header .nav > .brand.brand-with-real-logo,
header.site-header .nav > .brand.brand-with-real-logo,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
  isolation:auto !important;
  mix-blend-mode:normal !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  overflow:visible !important;
  opacity:1 !important;
}

/* 疑似要素や背景が混ざるとdifferenceが効きにくいので完全に消す */
.site-header .nav > .brand.brand-with-real-logo::before,
.site-header .nav > .brand.brand-with-real-logo::after,
header.site-header .nav > .brand.brand-with-real-logo::before,
header.site-header .nav > .brand.brand-with-real-logo::after,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo::before,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo::after{
  content:none !important;
  display:none !important;
}

/* 白ロゴ本体に difference をかける */
.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
header.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo{
  mix-blend-mode:difference !important;
  filter:none !important;
  opacity:1 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  isolation:auto !important;
}

/* Chromeで画像自体のブレンドを確実にするため、親リンクは普通の合成に固定 */
.site-header .brand.brand-with-real-logo img,
header.site-header .brand.brand-with-real-logo img{
  mix-blend-mode:difference !important;
}

/* メニューOPEN時はパネル上で見づらくなる場合があるため通常表示へ */
body.menu-open .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo{
  mix-blend-mode:normal !important;
  filter:drop-shadow(0 10px 14px rgba(8,10,7,.16)) !important;
}

/* Safari / 一部環境向けフォールバック */
@supports (-webkit-touch-callout: none){
  .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo{
    mix-blend-mode:difference !important;
    -webkit-mix-blend-mode:difference !important;
  }
}


/* ===== v165-header-logo-difference-final =====
   ヘッダーロゴの difference を最終固定。
   子画像ではなく、ロゴリンク全体を blend 対象にして、過去の transform/isolation 指定の影響を避ける。
========================================================= */

.site-header,
header.site-header,
body.masakari-shared-page .site-header{
  isolation:auto !important;
  contain:none !important;
}

.site-header .nav,
header.site-header .nav,
body.masakari-shared-page .site-header .nav{
  isolation:auto !important;
  contain:none !important;
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
}

.site-header .nav > a.brand.brand-with-real-logo,
header.site-header .nav > a.brand.brand-with-real-logo,
body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
  display:block !important;
  width:max-content !important;
  max-width:min(92vw, 760px) !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  overflow:visible !important;
  isolation:auto !important;
  contain:none !important;
  transform:none !important;
  animation:none !important;
  will-change:auto !important;
  mix-blend-mode:difference !important;
  -webkit-mix-blend-mode:difference !important;
  text-decoration:none !important;
}

.site-header .nav > a.brand.brand-with-real-logo::before,
.site-header .nav > a.brand.brand-with-real-logo::after,
header.site-header .nav > a.brand.brand-with-real-logo::before,
header.site-header .nav > a.brand.brand-with-real-logo::after,
body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo::before,
body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo::after{
  content:none !important;
  display:none !important;
}

.site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
header.site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo{
  display:block !important;
  width:clamp(220px, 24vw, 420px) !important;
  height:auto !important;
  max-width:none !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  isolation:auto !important;
  contain:none !important;
  transform:none !important;
  animation:none !important;
  will-change:auto !important;
  mix-blend-mode:normal !important;
  -webkit-mix-blend-mode:normal !important;
}

body.menu-open .site-header .nav > a.brand.brand-with-real-logo,
body.menu-open header.site-header .nav > a.brand.brand-with-real-logo{
  mix-blend-mode:normal !important;
  -webkit-mix-blend-mode:normal !important;
}

body.menu-open .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo{
  filter:drop-shadow(0 10px 14px rgba(8,10,7,.16)) !important;
}

@media (max-width: 900px){
  .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
  header.site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
  body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo{
    width:clamp(172px, 36vw, 260px) !important;
  }
}

@media (max-width: 640px){
  .site-header .nav > a.brand.brand-with-real-logo,
  header.site-header .nav > a.brand.brand-with-real-logo,
  body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo{
    max-width:calc(100vw - 104px) !important;
  }

  .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
  header.site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo,
  body.masakari-shared-page .site-header .nav > a.brand.brand-with-real-logo img.real-masakari-logo{
    width:clamp(150px, 37vw, 210px) !important;
  }
}


/* ===== v168 header-logo-css-fix =====
   Front-page iframe cache bust + logo blend fix.
   The previous rules left isolation:isolate on the brand block,
   which can prevent mix-blend-mode:difference from behaving as expected.
========================================================= */
.site-header .nav > .brand.brand-with-real-logo,
header.site-header .nav > .brand.brand-with-real-logo,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
  position:relative !important;
  z-index:40 !important;
  display:block !important;
  width:max-content !important;
  max-width:min(92vw, 760px) !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  mix-blend-mode:difference !important;
  isolation:auto !important;
  -webkit-isolation:auto !important;
  filter:none !important;
  opacity:1 !important;
}

.site-header .nav > .brand.brand-with-real-logo::before,
.site-header .nav > .brand.brand-with-real-logo::after,
header.site-header .nav > .brand.brand-with-real-logo::before,
header.site-header .nav > .brand.brand-with-real-logo::after,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo::before,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo::after{
  content:none !important;
  display:none !important;
}

.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
header.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo{
  display:block !important;
  width:clamp(184px, 18.8vw, 320px) !important;
  height:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  mix-blend-mode:normal !important;
  filter:none !important;
  opacity:1 !important;
}

@media (max-width: 900px){
  .site-header .nav > .brand.brand-with-real-logo,
  header.site-header .nav > .brand.brand-with-real-logo,
  body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
    max-width:calc(100vw - 120px) !important;
  }
  .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  header.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo{
    width:clamp(156px, 29vw, 232px) !important;
  }
}

@media (max-width: 640px){
  .site-header .nav > .brand.brand-with-real-logo,
  header.site-header .nav > .brand.brand-with-real-logo,
  body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo{
    max-width:calc(100vw - 104px) !important;
  }
  .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  header.site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo,
  body.masakari-shared-page .site-header .nav > .brand.brand-with-real-logo img.real-masakari-logo{
    width:clamp(136px, 32vw, 178px) !important;
  }
}


/* ===== v170 footer-code-full ===== */
.site-footer.site-footer-code-mode,
body.masakari-shared-page .site-footer.site-footer-code-mode{
  padding:36px 0 56px !important;
  border-top:none !important;
  background:transparent !important;
}
.site-footer-code-mode .footer-shell-code{
  position:relative !important;
  overflow:hidden !important;
  border-radius:34px !important;
  border:1.5px solid rgba(18,253,0,.22) !important;
  background:linear-gradient(180deg, rgba(8,10,7,.98) 0%, rgba(9,12,8,.985) 100%) !important;
  box-shadow:0 28px 70px rgba(0,0,0,.22), 0 0 0 1px rgba(18,253,0,.08) inset !important;
}
.site-footer-code-mode .footer-shell-code::before{
  content:'';
  position:absolute; inset:0;
  background:
    linear-gradient(rgba(18,253,0,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,253,0,.09) 1px, transparent 1px);
  background-size:32px 32px, 32px 32px;
  opacity:.34;
  pointer-events:none;
}
.site-footer-code-mode .footer-shell-code::after{
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(circle at 22% 18%, rgba(18,253,0,.12), transparent 32%), radial-gradient(circle at 82% 10%, rgba(18,253,0,.10), transparent 24%);
  pointer-events:none;
}
.site-footer-code-mode .footer-shell-code__bar{
  position:relative; z-index:2;
  display:flex; align-items:center; gap:10px;
  min-height:44px;
  padding:0 18px;
  border-bottom:1px solid rgba(18,253,0,.12);
  background:rgba(4,6,4,.88);
}
.site-footer-code-mode .footer-shell-code__bar span,
.site-footer-code-mode .footer-code-minihead i{
  width:10px; height:10px; border-radius:999px; display:inline-block;
}
.site-footer-code-mode .footer-shell-code__bar span:nth-child(1),
.site-footer-code-mode .footer-code-minihead i{ background:#12fd00; box-shadow:0 0 10px rgba(18,253,0,.7); }
.site-footer-code-mode .footer-shell-code__bar span:nth-child(2){ background:#d0d8cf; opacity:.8; }
.site-footer-code-mode .footer-shell-code__bar span:nth-child(3){ background:#6f796d; opacity:.7; }
.site-footer-code-mode .footer-shell-code__bar em{
  margin-left:10px; font-style:normal;
  color:rgba(255,255,255,.75); font:700 13px/1.2 'SFMono-Regular','Consolas','Menlo',monospace;
  letter-spacing:.06em;
}
.site-footer-code-mode .footer-shell-code__body{ position:relative; z-index:2; padding:22px; }
.site-footer-code-mode .footer-top-code-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1.35fr) minmax(280px, .82fr) minmax(300px, 1fr);
  gap:16px !important;
  align-items:stretch;
}
.site-footer-code-mode .footer-code-panel,
.site-footer-code-mode .footer-bottom-code{
  position:relative;
  border:1px solid rgba(18,253,0,.14);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(10,14,9,.94), rgba(6,8,6,.94));
  box-shadow:0 0 0 1px rgba(18,253,0,.05) inset;
}
.site-footer-code-mode .footer-code-minihead{
  display:flex; align-items:center; gap:10px;
  padding:12px 16px;
  border-bottom:1px solid rgba(18,253,0,.10);
  color:rgba(255,255,255,.78);
  font:700 12px/1.2 'SFMono-Regular','Consolas','Menlo',monospace;
  letter-spacing:.09em; text-transform:none;
}
.site-footer-code-mode .footer-branding-code{ padding:0 0 16px; }
.site-footer-code-mode .footer-brand-row{ padding:18px 18px 6px; margin:0 !important; }
.site-footer-code-mode .footer-brand-logo-only,
.site-footer-code-mode .site-footer .footer-branding .brand{
  display:block !important; width:max-content !important; max-width:100% !important;
  background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important;
}
.site-footer-code-mode .real-footer-logo{ width:min(100%, 260px) !important; height:auto !important; display:block !important; mix-blend-mode:screen; }
.site-footer-code-mode .footer-brand-copy-block{ padding:0 18px; }
.site-footer-code-mode .footer-lead{
  margin:0 0 6px !important; color:#ffffff !important;
  font-size:clamp(22px,2vw,28px) !important; line-height:1.08 !important; letter-spacing:-.03em !important;
}
.site-footer-code-mode .footer-brand-subcopy{ margin:0 !important; color:rgba(255,255,255,.6) !important; font:700 12px/1.8 'SFMono-Regular','Consolas','Menlo',monospace !important; letter-spacing:.09em !important; }
.site-footer-code-mode .footer-code-meta{ padding:12px 18px 0; }
.site-footer-code-mode .footer-code-meta p,
.site-footer-code-mode .footer-bottom-code p,
.site-footer-code-mode .code-card-screen p{
  margin:0;
  color:rgba(232,238,230,.86);
  font:700 13px/1.9 'SFMono-Regular','Consolas','Menlo',monospace;
  letter-spacing:.02em;
}
.site-footer-code-mode .footer-code-meta b,
.site-footer-code-mode .footer-bottom-code b,
.site-footer-code-mode .code-card-screen b{ color:#ffffff; font-weight:800; }
.site-footer-code-mode .footer-code-meta span,
.site-footer-code-mode .footer-bottom-code span,
.site-footer-code-mode .code-card-screen span,
.site-footer-code-mode .code-card-screen a{
  color:#12fd00 !important; text-decoration:none !important;
}
.site-footer-code-mode .footer-social-panel{ padding-bottom:16px; }
.site-footer-code-mode .footer-social{
  display:grid !important;
  gap:12px !important;
  padding:18px !important;
}
.site-footer-code-mode .footer-social .masakari-social-link{
  display:flex !important; align-items:center; gap:12px !important;
  min-height:56px; padding:12px 14px !important;
  border:1px solid rgba(18,253,0,.16) !important; border-radius:18px !important;
  background:rgba(3,5,3,.72) !important; box-shadow:none !important; text-decoration:none !important;
  color:#fff !important; transform:none !important;
}
.site-footer-code-mode .footer-social .masakari-social-link:hover{ background:rgba(10,16,8,.92) !important; border-color:rgba(18,253,0,.28) !important; }
.site-footer-code-mode .footer-social .social-capsule{ display:inline-flex !important; width:38px; height:38px; border:none !important; background:transparent !important; box-shadow:none !important; }
.site-footer-code-mode .footer-social .capsule-half{ background:rgba(18,253,0,.12) !important; }
.site-footer-code-mode .footer-social .capsule-half--right{ background:rgba(18,253,0,.18) !important; }
.site-footer-code-mode .footer-social .capsule-icon{ color:#12fd00 !important; }
.site-footer-code-mode .footer-social .social-label{
  color:#f4f7f1 !important;
  font:800 14px/1.2 'SFMono-Regular','Consolas','Menlo',monospace !important;
  letter-spacing:.04em;
}
.site-footer-code-mode .footer-code-card{ padding:0 !important; min-height:auto !important; background:linear-gradient(180deg, rgba(10,14,9,.94), rgba(6,8,6,.94)) !important; border-color:rgba(18,253,0,.16) !important; }
.site-footer-code-mode .footer-code-card::before,
.site-footer-code-mode .footer-code-card::after,
.site-footer-code-mode .footer-code-card .code-card-bar{ display:none !important; content:none !important; }
.site-footer-code-mode .footer-code-card .code-card-screen{ padding:18px 18px 16px !important; background:transparent !important; min-height:100%; }
.site-footer-code-mode .code-card-screen .indent{ padding-left:22px; }
.site-footer-code-mode .footer-nav-panel{ margin-top:16px; }
.site-footer-code-mode .footer-nav-minimal{
  display:flex !important; flex-wrap:wrap !important; gap:12px !important;
  padding:18px !important;
}
.site-footer-code-mode .footer-nav-minimal a{
  display:inline-flex !important; align-items:center; min-height:46px;
  padding:0 14px !important; border-radius:14px !important;
  border:1px solid rgba(18,253,0,.16) !important;
  background:rgba(3,5,3,.72) !important;
  color:#eaf2e6 !important; text-decoration:none !important;
  font:800 13px/1 'SFMono-Regular','Consolas','Menlo',monospace !important;
  letter-spacing:.03em !important; text-transform:none !important;
  box-shadow:none !important;
}
.site-footer-code-mode .footer-nav-minimal a:hover{ color:#12fd00 !important; border-color:rgba(18,253,0,.28) !important; transform:translateY(-1px); }
.site-footer-code-mode .footer-bottom-code{
  margin-top:16px;
  padding:14px 18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 22px;
}
@media (max-width: 1100px){
  .site-footer-code-mode .footer-top-code-grid{ grid-template-columns:1fr 1fr; }
  .site-footer-code-mode .footer-code-card{ grid-column:1 / -1; }
}
@media (max-width: 740px){
  .site-footer-code-mode .footer-shell-code__body{ padding:16px; }
  .site-footer-code-mode .footer-top-code-grid{ grid-template-columns:1fr; gap:14px !important; }
  .site-footer-code-mode .footer-nav-minimal{ padding:14px !important; gap:10px !important; }
  .site-footer-code-mode .footer-nav-minimal a{ width:100%; justify-content:flex-start; }
  .site-footer-code-mode .footer-bottom-code{ grid-template-columns:1fr; }
  .site-footer-code-mode .real-footer-logo{ width:min(100%, 210px) !important; }
}


/* ===== v171 fallback menu close button stack ===== */
body.menu-open .site-header .menu-toggle,
body.masakari-shared-page.menu-open .site-header .menu-toggle{
  z-index:3000 !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
body.menu-open .site-header .menu-panel,
body.masakari-shared-page.menu-open .site-header .menu-panel{
  z-index:1000 !important;
}

/* ===== v198-mobile-menu-stars-force-motion =====
   スマホ版ハンバーガーメニュー内「AI集客まるごと3点セット」の星を、
   iPhone Safariでも分かる速度で動かす最終調整
========================================================= */
.menu-panel .menu-nav__featured a.is-primary,
body .menu-panel .menu-nav__featured a.is-primary,
body.masakari-shared-page .menu-panel .menu-nav__featured a.is-primary,
.masakari-lower-page .menu-panel .menu-nav__featured a.is-primary{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(18,253,0,.18), transparent 34%),
    radial-gradient(circle at 86% 88%, rgba(18,253,0,.15), transparent 28%),
    linear-gradient(160deg,#090a10 0%,#06070c 56%,#0b0d15 100%) !important;
  border:1.5px solid #12fd00 !important;
}

.menu-panel .menu-nav__featured a.is-primary::before,
body .menu-panel .menu-nav__featured a.is-primary::before,
body.masakari-shared-page .menu-panel .menu-nav__featured a.is-primary::before,
.masakari-lower-page .menu-panel .menu-nav__featured a.is-primary::before{
  content:"" !important;
  position:absolute !important;
  inset:-14% !important;
  pointer-events:none !important;
  z-index:0 !important;
  opacity:.92 !important;
  background-image:
    radial-gradient(circle at 7% 16%, rgba(255,255,255,.95) 0 1.2px, transparent 2px),
    radial-gradient(circle at 15% 64%, rgba(255,255,255,.70) 0 1px, transparent 1.8px),
    radial-gradient(circle at 23% 34%, rgba(255,255,255,.88) 0 1.2px, transparent 2px),
    radial-gradient(circle at 31% 78%, rgba(255,255,255,.80) 0 1px, transparent 1.8px),
    radial-gradient(circle at 40% 20%, rgba(255,255,255,.95) 0 1.2px, transparent 2px),
    radial-gradient(circle at 53% 58%, rgba(255,255,255,.72) 0 1px, transparent 1.8px),
    radial-gradient(circle at 62% 28%, rgba(255,255,255,.90) 0 1.2px, transparent 2px),
    radial-gradient(circle at 74% 72%, rgba(255,255,255,.76) 0 1px, transparent 1.8px),
    radial-gradient(circle at 84% 18%, rgba(255,255,255,.96) 0 1.2px, transparent 2px),
    radial-gradient(circle at 94% 54%, rgba(255,255,255,.74) 0 1px, transparent 1.8px) !important;
  background-size:100% 100% !important;
  transform:translate3d(0,0,0) scale(1.02) !important;
  will-change:transform, opacity, filter !important;
  backface-visibility:hidden !important;
  animation:masakariMenuStarsFloat198 3.2s ease-in-out infinite alternate !important;
}

.menu-panel .menu-nav__featured a.is-primary::after,
body .menu-panel .menu-nav__featured a.is-primary::after,
body.masakari-shared-page .menu-panel .menu-nav__featured a.is-primary::after,
.masakari-lower-page .menu-panel .menu-nav__featured a.is-primary::after{
  content:"" !important;
  position:absolute !important;
  inset:-18% !important;
  pointer-events:none !important;
  z-index:0 !important;
  opacity:.78 !important;
  background:
    radial-gradient(circle at 22% 22%, rgba(18,253,0,.28), transparent 22%),
    radial-gradient(circle at 82% 72%, rgba(18,253,0,.18), transparent 24%),
    radial-gradient(circle at 70% 16%, rgba(255,255,255,.10), transparent 18%) !important;
  mix-blend-mode:screen !important;
  transform:translate3d(0,0,0) scale(1) !important;
  will-change:transform, opacity !important;
  animation:masakariMenuNebulaDrift198 5.4s linear infinite !important;
}

.menu-panel .menu-nav__featured a.is-primary > *,
body .menu-panel .menu-nav__featured a.is-primary > *,
body.masakari-shared-page .menu-panel .menu-nav__featured a.is-primary > *,
.masakari-lower-page .menu-panel .menu-nav__featured a.is-primary > *{
  position:relative !important;
  z-index:2 !important;
}

@media(max-width:860px){
  .menu-panel .menu-nav__featured a.is-primary::before,
  body .menu-panel .menu-nav__featured a.is-primary::before,
  body.masakari-shared-page .menu-panel .menu-nav__featured a.is-primary::before,
  .masakari-lower-page .menu-panel .menu-nav__featured a.is-primary::before{
    animation:masakariMenuStarsFloat198 2.55s ease-in-out infinite alternate !important;
    opacity:.98 !important;
    filter:drop-shadow(0 0 5px rgba(255,255,255,.22)) !important;
  }
  .menu-panel .menu-nav__featured a.is-primary::after,
  body .menu-panel .menu-nav__featured a.is-primary::after,
  body.masakari-shared-page .menu-panel .menu-nav__featured a.is-primary::after,
  .masakari-lower-page .menu-panel .menu-nav__featured a.is-primary::after{
    animation:masakariMenuNebulaDrift198 4.2s linear infinite !important;
  }
}

@keyframes masakariMenuStarsFloat198{
  0%{transform:translate3d(-7px,-4px,0) scale(1.02);opacity:.50;filter:drop-shadow(0 0 0 rgba(255,255,255,0));}
  26%{opacity:1;filter:drop-shadow(0 0 7px rgba(255,255,255,.30));}
  52%{transform:translate3d(6px,4px,0) scale(1.05);opacity:.70;filter:drop-shadow(0 0 5px rgba(18,253,0,.26));}
  78%{opacity:1;filter:drop-shadow(0 0 10px rgba(18,253,0,.34));}
  100%{transform:translate3d(-3px,7px,0) scale(1.04);opacity:.64;filter:drop-shadow(0 0 4px rgba(255,255,255,.20));}
}

@keyframes masakariMenuNebulaDrift198{
  0%{transform:translate3d(-5%,0,0) rotate(0deg) scale(1);opacity:.45;}
  50%{transform:translate3d(4%,3%,0) rotate(8deg) scale(1.05);opacity:.86;}
  100%{transform:translate3d(-5%,0,0) rotate(0deg) scale(1);opacity:.45;}
}


/* ===== v201-service-card-title-scope-fix =====
   サービス一覧カードのタイトルに、記事本文用h3装飾が漏れないようにする。
   記事見出しCSSは .post-detail-content / .service-editable-content などの本文領域だけで使う。
========================================================= */
.service-manage-card .media-body h3,
body.page .service-manage-card .media-body h3,
body.masakari-shared-page .service-manage-card .media-body h3{
  position:static !important;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  margin:18px 0 12px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#080a07 !important;
  font-size:clamp(21px, 1.8vw, 28px) !important;
  line-height:1.18 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
  box-shadow:none !important;
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:break-word;
  line-break:strict;
  overflow:visible !important;
  animation:none !important;
  isolation:auto !important;
}

.service-manage-card .media-body h3::before,
.service-manage-card .media-body h3::after,
body.page .service-manage-card .media-body h3::before,
body.page .service-manage-card .media-body h3::after,
body.masakari-shared-page .service-manage-card .media-body h3::before,
body.masakari-shared-page .service-manage-card .media-body h3::after{
  content:none !important;
  display:none !important;
  animation:none !important;
}

@media(max-width:760px){
  .service-manage-card .media-body h3,
  body.page .service-manage-card .media-body h3,
  body.masakari-shared-page .service-manage-card .media-body h3{
    margin:16px 0 10px !important;
    font-size:clamp(22px, 7vw, 30px) !important;
    line-height:1.14 !important;
  }
}


/* ===== v204-lower-page-total-balance-audit =====
   下層ページ全体のサイズ感を再点検。
   これまで広すぎた .hero h1 / body.page main h2 の影響を抑え、
   記事本文用デザインは本文エリアへ、UI見出しはUIらしいサイズへ戻す。
========================================================= */
body.masakari-shared-page .masakari-page-main > .hero:first-child{
  padding-top:clamp(124px, 11.5vw, 158px) !important;
  padding-bottom:clamp(56px, 7vw, 88px) !important;
}

body.masakari-shared-page .hero-grid{
  align-items:center !important;
  gap:clamp(26px, 4vw, 54px) !important;
}

body.masakari-shared-page .hero h1{
  max-width:880px !important;
  margin:18px 0 18px !important;
  font-size:clamp(40px, 4.9vw, 68px) !important;
  line-height:1.03 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:break-word;
  line-break:strict;
}

body.masakari-shared-page .service-detail-hero h1{
  max-width:760px !important;
  font-size:clamp(38px, 4.45vw, 62px) !important;
  line-height:1.05 !important;
  letter-spacing:-.052em !important;
}

body.masakari-shared-page .hero .lead,
body.masakari-shared-page .service-detail-hero .lead{
  max-width:720px !important;
  font-size:clamp(15px, 1.42vw, 19px) !important;
  line-height:1.86 !important;
}

body.masakari-shared-page .hero-actions,
body.masakari-shared-page .actions{
  margin-top:24px !important;
}

/* 固定ページのUI見出しに、記事本文用のh2装飾が漏れないように戻す */
body.masakari-shared-page .section-head h2,
body.page.masakari-shared-page .section-head h2,
body.masakari-shared-page .cta-box h2,
body.page.masakari-shared-page .cta-box h2{
  position:static !important;
  display:block !important;
  width:auto !important;
  max-width:900px !important;
  margin:14px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#080a07 !important;
  font-size:clamp(31px, 4vw, 56px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
  text-wrap:balance;
  animation:none !important;
  isolation:auto !important;
}

body.masakari-shared-page .section-head h2::before,
body.masakari-shared-page .section-head h2::after,
body.page.masakari-shared-page .section-head h2::before,
body.page.masakari-shared-page .section-head h2::after,
body.masakari-shared-page .cta-box h2::before,
body.masakari-shared-page .cta-box h2::after,
body.page.masakari-shared-page .cta-box h2::before,
body.page.masakari-shared-page .cta-box h2::after{
  content:none !important;
  display:none !important;
  animation:none !important;
}

body.masakari-shared-page .section-head{
  margin-bottom:clamp(24px, 3vw, 34px) !important;
}

body.masakari-shared-page .section-head p{
  font-size:clamp(14px, 1.22vw, 16px) !important;
  line-height:1.82 !important;
}

body.masakari-shared-page .feature-card h3,
body.page.masakari-shared-page .feature-card h3{
  position:static !important;
  display:block !important;
  width:auto !important;
  margin:16px 0 10px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#080a07 !important;
  font-size:clamp(22px, 2.15vw, 31px) !important;
  line-height:1.14 !important;
  letter-spacing:-.052em !important;
  font-weight:900 !important;
  text-wrap:balance;
  animation:none !important;
  overflow:visible !important;
}

body.masakari-shared-page .feature-card h3::before,
body.masakari-shared-page .feature-card h3::after,
body.page.masakari-shared-page .feature-card h3::before,
body.page.masakari-shared-page .feature-card h3::after{
  content:none !important;
  display:none !important;
  animation:none !important;
}

body.masakari-shared-page .media-body h3,
body.page.masakari-shared-page .media-body h3{
  font-size:clamp(22px, 2vw, 30px) !important;
  line-height:1.13 !important;
  letter-spacing:-.05em !important;
  text-wrap:balance;
}

body.masakari-shared-page .service-detail-summary .price{
  font-size:clamp(40px, 4vw, 58px) !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
}

/* 本文エリアだけはMASAKARI見出しを維持。ただしサイズは一段抑える */
.post-detail-content h2,
.work-detail-content h2,
.service-editable-content h2,
.entry-content h2,
.wp-block-post-content h2,
.page-content h2,
.article-content h2{
  font-size:clamp(28px, 3.35vw, 46px) !important;
  line-height:1.10 !important;
  letter-spacing:-.065em !important;
  margin:clamp(40px, 5vw, 60px) 0 20px !important;
}

.post-detail-content h3,
.work-detail-content h3,
.service-editable-content h3,
.entry-content h3,
.wp-block-post-content h3,
.page-content h3,
.article-content h3{
  font-size:clamp(21px, 2.25vw, 30px) !important;
  line-height:1.18 !important;
  letter-spacing:-.045em !important;
  margin:clamp(30px, 4vw, 46px) 0 15px !important;
}

.post-detail-content h4,
.work-detail-content h4,
.service-editable-content h4,
.entry-content h4,
.wp-block-post-content h4,
.page-content h4,
.article-content h4{
  font-size:clamp(17px, 1.7vw, 22px) !important;
  line-height:1.38 !important;
}

.post-detail-content p,
.work-detail-content p,
.service-editable-content p,
.entry-content p,
.post-detail-content li,
.work-detail-content li,
.service-editable-content li,
.entry-content li{
  font-size:clamp(15px, 1.18vw, 17px) !important;
  line-height:1.95 !important;
}

/* コラム・お知らせ詳細のタイトルも長文で巨大化しすぎないように調整 */
body.single-masakari_column .post-detail-title,
body.single-masakari_news .post-detail-title,
body.single-post .post-detail-title{
  max-width:900px !important;
  font-size:clamp(36px, 4.25vw, 58px) !important;
  line-height:1.08 !important;
  letter-spacing:-.05em !important;
  word-break:normal;
  overflow-wrap:break-word;
  text-wrap:balance;
}

body.single-masakari_column .post-detail-card,
body.single-masakari_news .post-detail-card,
body.single-post .post-detail-card{
  padding:clamp(24px, 4.2vw, 48px) !important;
}

/* 制作例一覧・カテゴリー一覧 */
body.masakari-shared-page .work-archive-hero{
  padding-top:clamp(124px, 11.5vw, 158px) !important;
  padding-bottom:clamp(54px, 7vw, 84px) !important;
}

.work-archive-hero h1{
  max-width:900px !important;
  font-size:clamp(42px, 4.8vw, 68px) !important;
  line-height:1.04 !important;
  letter-spacing:-.06em !important;
  text-wrap:balance;
}

.work-archive-hero p{
  max-width:760px !important;
  font-size:clamp(15px, 1.4vw, 18px) !important;
  line-height:1.88 !important;
}

.work-archive-card h2{
  font-size:clamp(21px, 2vw, 28px) !important;
  line-height:1.18 !important;
  letter-spacing:-.05em !important;
  text-wrap:balance;
}

.work-detail-content{
  max-width:100% !important;
}

@media(max-width:1050px){
  body.masakari-shared-page .hero h1,
  body.masakari-shared-page .service-detail-hero h1{
    max-width:100% !important;
  }
  body.masakari-shared-page .service-detail-summary .price{
    font-size:clamp(36px, 7vw, 52px) !important;
  }
}

@media(max-width:760px){
  body.masakari-shared-page .masakari-page-main > .hero:first-child,
  body.masakari-shared-page .work-archive-hero{
    padding-top:clamp(104px, 27vw, 126px) !important;
    padding-bottom:54px !important;
  }

  body.masakari-shared-page .hero h1{
    margin:16px 0 14px !important;
    font-size:clamp(33px, 9.3vw, 46px) !important;
    line-height:1.09 !important;
    letter-spacing:-.048em !important;
  }

  body.masakari-shared-page .service-detail-hero h1{
    font-size:clamp(32px, 8.9vw, 44px) !important;
    line-height:1.10 !important;
  }

  body.masakari-shared-page .hero .lead,
  body.masakari-shared-page .service-detail-hero .lead{
    font-size:14.5px !important;
    line-height:1.86 !important;
  }

  body.masakari-shared-page .section{
    padding:58px 0 !important;
  }

  body.masakari-shared-page .section-head h2,
  body.masakari-shared-page .cta-box h2{
    font-size:clamp(28px, 8vw, 38px) !important;
    line-height:1.08 !important;
  }

  body.masakari-shared-page .feature-card h3,
  body.masakari-shared-page .media-body h3,
  body.masakari-shared-page .service-manage-card .media-body h3{
    font-size:clamp(21px, 6.2vw, 28px) !important;
    line-height:1.16 !important;
  }

  .post-detail-content h2,
  .work-detail-content h2,
  .service-editable-content h2,
  .entry-content h2{
    font-size:clamp(26px, 8vw, 36px) !important;
    line-height:1.12 !important;
  }

  .post-detail-content h3,
  .work-detail-content h3,
  .service-editable-content h3,
  .entry-content h3{
    font-size:clamp(20px, 6vw, 27px) !important;
    line-height:1.20 !important;
  }

  body.single-masakari_column .post-detail-title,
  body.single-masakari_news .post-detail-title,
  body.single-post .post-detail-title{
    font-size:clamp(31px, 9vw, 42px) !important;
    line-height:1.10 !important;
  }

  .work-archive-hero h1{
    font-size:clamp(33px, 9.3vw, 46px) !important;
    line-height:1.09 !important;
  }

  .work-archive-card h2{
    font-size:clamp(21px, 6.1vw, 28px) !important;
  }
}

@media(max-width:390px){
  body.masakari-shared-page .hero h1,
  body.masakari-shared-page .service-detail-hero h1,
  .work-archive-hero h1{
    font-size:clamp(30px, 8.7vw, 38px) !important;
    line-height:1.12 !important;
  }

  body.masakari-shared-page .section-head h2,
  body.masakari-shared-page .cta-box h2{
    font-size:clamp(26px, 7.8vw, 34px) !important;
  }
}


/* ===== v205-lower-page-specificity-cleanup =====
   汎用 main h2 / h4 の過剰指定を整理したうえで、下層ページ全体のタイトルサイズを最終調整。
   一覧カードや制作例詳細に記事本文用の巨大見出しが漏れないよう、用途別にスコープを固定。
========================================================= */

body.masakari-shared-page .post-detail-content h2,
body.masakari-shared-page .work-detail-content h2,
body.masakari-shared-page .service-editable-content h2,
body.masakari-shared-page .entry-content h2,
body.masakari-shared-page .wp-block-post-content h2,
body.masakari-shared-page .page-content h2,
body.masakari-shared-page .article-content h2{
  font-size:clamp(28px, 3.15vw, 44px) !important;
  line-height:1.12 !important;
  letter-spacing:-.06em !important;
  margin:clamp(38px, 4.6vw, 56px) 0 18px !important;
}

body.masakari-shared-page .post-detail-content h3,
body.masakari-shared-page .work-detail-content h3,
body.masakari-shared-page .service-editable-content h3,
body.masakari-shared-page .entry-content h3,
body.masakari-shared-page .wp-block-post-content h3,
body.masakari-shared-page .page-content h3,
body.masakari-shared-page .article-content h3{
  font-size:clamp(21px, 2.05vw, 28px) !important;
  line-height:1.20 !important;
  letter-spacing:-.045em !important;
}

body.masakari-shared-page .post-detail-content h4,
body.masakari-shared-page .work-detail-content h4,
body.masakari-shared-page .service-editable-content h4,
body.masakari-shared-page .entry-content h4,
body.masakari-shared-page .wp-block-post-content h4,
body.masakari-shared-page .page-content h4,
body.masakari-shared-page .article-content h4{
  font-size:clamp(17px, 1.55vw, 21px) !important;
  line-height:1.4 !important;
}

body.masakari-shared-page .work-archive-card h2,
body.post-type-archive-masakari_work.masakari-shared-page .work-archive-card h2,
body.tax-masakari_work_category.masakari-shared-page .work-archive-card h2{
  position:static !important;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 0 12px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#080a07 !important;
  font-size:clamp(21px, 1.7vw, 26px) !important;
  line-height:1.20 !important;
  letter-spacing:-.045em !important;
  box-shadow:none !important;
  animation:none !important;
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:break-word;
}

body.masakari-shared-page .work-archive-card h2::before,
body.masakari-shared-page .work-archive-card h2::after{
  content:none !important;
  display:none !important;
  animation:none !important;
}

body.masakari-shared-page .work-archive-card__body{
  padding:18px 18px 20px !important;
}

body.masakari-shared-page .work-archive-card p{
  font-size:13.5px !important;
  line-height:1.75 !important;
}

body.masakari-shared-page .work-detail-hero h1,
body.single-masakari_work.masakari-shared-page .work-detail-hero h1{
  font-size:clamp(33px, 3vw, 43px) !important;
  line-height:1.10 !important;
  letter-spacing:-.042em !important;
  max-width:760px !important;
}

body.masakari-shared-page .work-detail-hero p,
body.single-masakari_work.masakari-shared-page .work-detail-hero p{
  font-size:clamp(15px, 1.22vw, 17px) !important;
  line-height:1.9 !important;
}

body.masakari-shared-page .section-head h2,
body.masakari-shared-page .cta-box h2{
  font-size:clamp(34px, 3.7vw, 52px) !important;
  line-height:1.06 !important;
}

@media(max-width:760px){
  body.masakari-shared-page .post-detail-content h2,
  body.masakari-shared-page .work-detail-content h2,
  body.masakari-shared-page .service-editable-content h2,
  body.masakari-shared-page .entry-content h2,
  body.masakari-shared-page .wp-block-post-content h2,
  body.masakari-shared-page .page-content h2,
  body.masakari-shared-page .article-content h2{
    font-size:clamp(25px, 7.8vw, 34px) !important;
    line-height:1.14 !important;
    margin:34px 0 16px !important;
  }

  body.masakari-shared-page .post-detail-content h3,
  body.masakari-shared-page .work-detail-content h3,
  body.masakari-shared-page .service-editable-content h3,
  body.masakari-shared-page .entry-content h3,
  body.masakari-shared-page .wp-block-post-content h3,
  body.masakari-shared-page .page-content h3,
  body.masakari-shared-page .article-content h3{
    font-size:clamp(20px, 5.8vw, 26px) !important;
    line-height:1.22 !important;
  }

  body.masakari-shared-page .work-detail-hero h1,
  body.single-masakari_work.masakari-shared-page .work-detail-hero h1{
    font-size:clamp(30px, 8.5vw, 38px) !important;
    line-height:1.14 !important;
  }

  body.masakari-shared-page .work-archive-card h2{
    font-size:clamp(21px, 5.8vw, 26px) !important;
    line-height:1.20 !important;
  }

  body.masakari-shared-page .section-head h2,
  body.masakari-shared-page .cta-box h2{
    font-size:clamp(27px, 7.4vw, 34px) !important;
    line-height:1.10 !important;
  }
}

/* ===== v205-title-cap-final-pass =====
   PC表示でまだ強すぎる下層ヒーロー・記事タイトルを一段だけ抑える最終キャップ。
========================================================= */
body.masakari-shared-page .hero h1{
  font-size:clamp(38px, 4.3vw, 60px) !important;
  line-height:1.06 !important;
  letter-spacing:-.052em !important;
}

body.masakari-shared-page .service-detail-hero h1{
  font-size:clamp(36px, 4vw, 56px) !important;
  line-height:1.08 !important;
}

body.single-masakari_column.masakari-shared-page .hero h1.post-detail-title,
body.single-masakari_news.masakari-shared-page .hero h1.post-detail-title,
body.single-post.masakari-shared-page .hero h1.post-detail-title{
  max-width:900px !important;
  font-size:clamp(34px, 3.9vw, 54px) !important;
  line-height:1.10 !important;
  letter-spacing:-.046em !important;
}

body.masakari-shared-page .work-archive-hero h1{
  font-size:clamp(38px, 4.4vw, 60px) !important;
  line-height:1.07 !important;
}

@media(max-width:760px){
  body.masakari-shared-page .hero h1,
  body.masakari-shared-page .service-detail-hero h1,
  body.masakari-shared-page .work-archive-hero h1,
  body.single-masakari_column.masakari-shared-page .hero h1.post-detail-title,
  body.single-masakari_news.masakari-shared-page .hero h1.post-detail-title,
  body.single-post.masakari-shared-page .hero h1.post-detail-title{
    font-size:clamp(30px, 8.4vw, 38px) !important;
    line-height:1.14 !important;
    letter-spacing:-.044em !important;
  }
}


/* v206: contact page QR card */
.contact-qr-card{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100%;
  padding:26px;
  background:linear-gradient(180deg,#fdfdfd,#f5f6f4);
}
.contact-qr-card__inner{
  width:min(100%, 430px);
  margin-inline:auto;
  padding:18px;
  border-radius:calc(var(--radius-xl) - 10px);
  background:#fff;
  border:1px solid rgba(20,24,20,.08);
  box-shadow:0 18px 40px rgba(17,17,17,.08);
}
.contact-qr-card__image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:contain;
  border-radius:18px;
}
@media(max-width:760px){
  .contact-qr-card{padding:20px}
  .contact-qr-card__inner{width:min(100%, 360px);padding:14px}
}


/* ===== v217 service detail related works banner rail =====
   各サービス詳細ページのファーストビュー直下に、写真メインの横スクロール制作例リンクを追加。
   実CTAと混同しないよう、バナーは写真＋オーバーレイ型にしています。
========================================================= */
.service-related-works{
  position:relative;
  padding:0 0 74px;
  margin-top:-42px;
  overflow:hidden;
}
.service-related-works::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(18,253,0,.75), transparent);
  opacity:.55;
  pointer-events:none;
}
.service-related-works__head{
  display:grid;
  grid-template-columns:minmax(230px,.72fr) minmax(280px,1fr) auto;
  gap:22px;
  align-items:end;
  margin-bottom:22px;
}
.service-related-works__title{
  display:grid;
  gap:8px;
}
.service-related-works__kicker{
  display:flex;
  align-items:center;
  gap:10px;
  color:#6c7469;
  font-size:11px;
  line-height:1;
  letter-spacing:.22em;
  font-weight:900;
  text-transform:uppercase;
}
.service-related-works__kicker::before{
  content:"";
  width:42px;
  height:4px;
  border-radius:999px;
  background:#12fd00;
  box-shadow:0 0 16px rgba(18,253,0,.55);
}
.service-related-works__title h2{
  margin:0;
  font-size:clamp(34px,3.8vw,58px);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:900;
}
.service-related-works__head p{
  margin:0;
  max-width:620px;
  color:#3d453c;
  font-size:15px;
  line-height:1.85;
  font-weight:800;
}
.service-related-works__archive{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border:1.5px solid #080a07;
  border-radius:999px;
  background:#fff;
  color:#080a07;
  text-decoration:none;
  font-size:12px;
  line-height:1;
  letter-spacing:.08em;
  font-weight:900;
  box-shadow:6px 6px 0 #12fd00;
  white-space:nowrap;
}
.service-work-banners{
  --banner-width:clamp(320px, 38vw, 520px);
  display:flex;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  padding:2px 0 20px;
  scrollbar-width:thin;
  scrollbar-color:#12fd00 rgba(8,10,7,.08);
}
.service-work-banners::-webkit-scrollbar{height:8px}
.service-work-banners::-webkit-scrollbar-track{background:rgba(8,10,7,.06);border-radius:999px}
.service-work-banners::-webkit-scrollbar-thumb{background:#12fd00;border-radius:999px;border:1px solid rgba(8,10,7,.16)}
.service-work-banner{
  position:relative;
  flex:0 0 var(--banner-width);
  min-height:246px;
  border:1.5px solid #080a07;
  border-radius:30px;
  overflow:hidden;
  background:#080a07;
  color:#fff;
  text-decoration:none;
  scroll-snap-align:start;
  box-shadow:10px 10px 0 rgba(18,253,0,.72);
  isolation:isolate;
  transform:translateZ(0);
}
.service-work-banner::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.40) 42%, rgba(0,0,0,.10) 100%),
    radial-gradient(circle at 84% 16%, rgba(18,253,0,.36), transparent 28%);
  pointer-events:none;
}
.service-work-banner::after{
  content:"";
  position:absolute;
  inset:14px;
  z-index:3;
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  pointer-events:none;
}
.service-work-banner__image{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  overflow:hidden;
}
.service-work-banner__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.02);
  transition:transform .45s cubic-bezier(.2,.8,.2,1), filter .45s ease;
  filter:saturate(1.05) contrast(1.04);
}
.service-work-banner:hover .service-work-banner__image img{
  transform:scale(1.08);
  filter:saturate(1.18) contrast(1.08);
}
.service-work-banner__overlay{
  position:relative;
  z-index:4;
  min-height:246px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:12px;
  padding:26px;
}
.service-work-banner__meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.74);
  font-size:11px;
  line-height:1;
  letter-spacing:.12em;
  font-weight:900;
  text-transform:uppercase;
}
.service-work-banner__meta span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border:1px solid rgba(18,253,0,.55);
  border-radius:999px;
  background:rgba(18,253,0,.12);
  color:#12fd00;
}
.service-work-banner__overlay strong{
  display:block;
  max-width:12em;
  color:#fff;
  font-size:clamp(25px,2.5vw,36px);
  line-height:1.04;
  letter-spacing:-.055em;
  font-weight:900;
  text-shadow:0 8px 24px rgba(0,0,0,.55);
}
.service-work-banner__overlay em{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:34px;
  padding:0 12px;
  border-bottom:2px solid #12fd00;
  color:#fff;
  font-size:12px;
  line-height:1;
  letter-spacing:.08em;
  font-weight:900;
  font-style:normal;
}
@media(max-width:1050px){
  .service-related-works{
    margin-top:-28px;
  }
  .service-related-works__head{
    grid-template-columns:1fr;
    gap:14px;
    align-items:start;
  }
  .service-related-works__archive{
    width:max-content;
  }
}
@media(max-width:760px){
  .service-related-works{
    padding:0 0 58px;
    margin-top:-18px;
  }
  .service-related-works__head{
    margin-bottom:16px;
  }
  .service-related-works__title h2{
    font-size:clamp(30px,9vw,42px);
  }
  .service-related-works__head p{
    font-size:13px;
    line-height:1.75;
  }
  .service-related-works__archive{
    min-height:40px;
    padding:0 14px;
    box-shadow:5px 5px 0 #12fd00;
  }
  .service-work-banners{
    --banner-width:min(82vw, 360px);
    gap:14px;
    padding-bottom:16px;
  }
  .service-work-banner{
    min-height:216px;
    border-radius:24px;
    box-shadow:7px 7px 0 rgba(18,253,0,.72);
  }
  .service-work-banner::after{
    inset:10px;
    border-radius:18px;
  }
  .service-work-banner__overlay{
    min-height:216px;
    padding:20px;
  }
  .service-work-banner__overlay strong{
    font-size:clamp(23px,7.2vw,30px);
  }
}


/* ===== v218 service work rail drag affordance =====
   PCでも横スクロールできることが直感的に分かるよう、ドラッグ対応と
   アニメーション付きのスクロールサインを追加。
========================================================= */
.service-work-rail{
  position:relative;
}
.service-work-rail::before,
.service-work-rail::after{
  content:"";
  position:absolute;
  top:0;
  bottom:20px;
  z-index:8;
  width:70px;
  pointer-events:none;
}
.service-work-rail::before{
  left:-1px;
  background:linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,0));
}
.service-work-rail::after{
  right:-1px;
  background:linear-gradient(270deg, rgba(255,255,255,.96), rgba(255,255,255,0));
}
.service-work-rail-hint{
  position:absolute;
  right:8px;
  top:-58px;
  z-index:12;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:40px;
  padding:0 14px;
  border:1.5px solid #080a07;
  border-radius:999px;
  background:#080a07;
  color:#12fd00;
  box-shadow:6px 6px 0 #12fd00;
  font-size:10px;
  line-height:1;
  letter-spacing:.14em;
  font-weight:900;
  white-space:nowrap;
  pointer-events:none;
}
.service-work-rail-hint__cursor{
  position:relative;
  display:block;
  width:22px;
  height:22px;
  border:2px solid currentColor;
  border-radius:8px;
  animation:serviceWorkCursorMove 1.8s cubic-bezier(.45,0,.25,1) infinite;
}
.service-work-rail-hint__cursor::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  transform:translate(-50%,-50%);
  box-shadow:0 0 12px rgba(18,253,0,.8);
}
.service-work-rail-hint i{
  position:relative;
  display:block;
  width:42px;
  height:2px;
  border-radius:999px;
  background:rgba(18,253,0,.35);
  overflow:hidden;
}
.service-work-rail-hint i::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:18px;
  border-radius:999px;
  background:#12fd00;
  box-shadow:0 0 14px rgba(18,253,0,.75);
  animation:serviceWorkArrowRun 1.8s cubic-bezier(.45,0,.25,1) infinite;
}
.service-work-rail-hint i::after{
  content:"→";
  position:absolute;
  right:-2px;
  top:50%;
  color:#12fd00;
  font-size:14px;
  line-height:1;
  transform:translateY(-53%);
}
.service-work-banners{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:auto;
  scroll-behavior:smooth;
}
.service-work-banners.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
  scroll-behavior:auto;
}
.service-work-banner,
.service-work-banner img{
  -webkit-user-drag:none;
  user-drag:none;
}
.service-work-banners:focus-visible{
  outline:2px solid #12fd00;
  outline-offset:8px;
  border-radius:28px;
}
@keyframes serviceWorkCursorMove{
  0%,100%{transform:translateX(0)}
  45%{transform:translateX(18px)}
  70%{transform:translateX(-7px)}
}
@keyframes serviceWorkArrowRun{
  0%{transform:translateX(-22px);opacity:.35}
  45%{opacity:1}
  100%{transform:translateX(46px);opacity:.25}
}
@media(max-width:1050px){
  .service-work-rail-hint{
    top:-50px;
    right:4px;
  }
}
@media(max-width:760px){
  .service-work-rail::before,
  .service-work-rail::after{
    width:36px;
    bottom:16px;
  }
  .service-work-rail-hint{
    position:relative;
    right:auto;
    top:auto;
    margin:0 0 12px auto;
    width:max-content;
    min-height:34px;
    padding:0 11px;
    box-shadow:4px 4px 0 #12fd00;
    font-size:9px;
  }
  .service-work-rail-hint__cursor{
    width:18px;
    height:18px;
    border-radius:7px;
  }
  .service-work-rail-hint i{
    width:34px;
  }
}
@media(prefers-reduced-motion:reduce){
  .service-work-rail-hint__cursor,
  .service-work-rail-hint i::before{
    animation:none !important;
  }
}


/* ===== v218b service work rail interaction polish =====
   クリックできるカードのリンク挙動を保ちながら、PCではドラッグ時だけ
   スクロール操作へ切り替える。スクロールサインはレール上に常時表示。
========================================================= */
.service-work-rail.has-scroll .service-work-rail-hint{
  display:inline-flex;
}
.service-work-rail-hint[hidden]{display:none !important}
.service-work-banners.can-scroll{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
}
.service-work-banners.is-pointer-down,
.service-work-banners.is-dragging{
  cursor:grabbing;
}
.service-work-banners.is-dragging{
  scroll-snap-type:none;
  scroll-behavior:auto;
}
.service-work-banners{
  touch-action:pan-x pan-y;
}
.service-work-rail-hint{
  top:auto !important;
  right:18px !important;
  bottom:30px !important;
  border-color:rgba(18,253,0,.48) !important;
  background:rgba(8,10,7,.82) !important;
  color:#12fd00 !important;
  box-shadow:0 0 0 1px rgba(18,253,0,.16) inset,0 14px 36px rgba(0,0,0,.28),0 0 28px rgba(18,253,0,.22) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.service-work-rail-hint::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#12fd00;
  box-shadow:0 0 12px rgba(18,253,0,.9);
  animation:serviceWorkHintBlink 1.2s ease-in-out infinite;
}
.service-work-rail-hint__cursor{
  border-radius:999px !important;
}
@keyframes serviceWorkHintBlink{
  0%,100%{opacity:.35;transform:scale(.82)}
  50%{opacity:1;transform:scale(1)}
}
@media(max-width:760px){
  .service-work-rail-hint{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    margin:0 0 12px auto !important;
  }
}


/* v218 refinement: scroll state + touch stability */
.service-work-rail.is-at-start::before{opacity:0}
.service-work-rail.is-at-end::after{opacity:0}
.service-work-rail.is-not-scrollable::before,
.service-work-rail.is-not-scrollable::after,
.service-work-rail.is-not-scrollable .service-work-rail-hint{display:none}
.service-work-banners.is-dragging .service-work-banner{transform:translateZ(0)}
.service-work-banners.is-dragging .service-work-banner,
.service-work-banners.is-dragging .service-work-banner *{user-select:none;-webkit-user-select:none}


/* v232: column archive thumbnails */
.archive-grid .column-archive-card{
  padding:0;
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  text-decoration:none;
}
.column-archive-card__thumb{
  position:relative;
  aspect-ratio:16 / 10;
  margin:0;
  overflow:hidden;
  border-bottom:1.5px solid rgba(8,10,7,.12);
  background:
    radial-gradient(circle at 72% 22%, rgba(18,253,0,.28), transparent 34%),
    linear-gradient(145deg,#111,#2a2f28);
}
.column-archive-card__thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.02);
  transition:transform .45s ease, filter .45s ease;
}
.column-archive-card:hover .column-archive-card__thumb img{
  transform:scale(1.07);
  filter:saturate(1.08) contrast(1.04);
}
.column-archive-card__thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(8,10,7,0) 35%, rgba(8,10,7,.24) 100%),
    radial-gradient(circle at 92% 80%, rgba(18,253,0,.25), transparent 34%);
  pointer-events:none;
}
.column-archive-card__fallback{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  color:#12fd00;
  font-size:12px;
  line-height:1.25;
  letter-spacing:.16em;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
}
.column-archive-card__body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:24px 26px 28px;
}
.column-archive-card__date{
  width:max-content;
  margin-bottom:18px;
}
.column-archive-card h3{
  margin-top:0;
}
@media(max-width:760px){
  .archive-grid .column-archive-card{
    border-radius:26px;
  }
  .column-archive-card__thumb{
    aspect-ratio:16 / 11;
  }
  .column-archive-card__body{
    padding:20px 20px 24px;
  }
  .column-archive-card__date{
    margin-bottom:14px;
  }
}


/* ===== v237-unified-list-headers =====
   works / service / column の一覧ページヘッダーを統一
========================================================= */
.masakari-list-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(124px, 11vw, 156px) 0 clamp(56px, 7vw, 84px);
}

.masakari-list-hero::before{
  content:"";
  position:absolute;
  left:-10%;
  top:-2%;
  width:min(42vw, 520px);
  height:min(42vw, 520px);
  border-radius:50%;
  background:radial-gradient(circle at center, rgba(83,255,64,.13) 0%, rgba(83,255,64,.08) 35%, rgba(83,255,64,0) 72%);
  pointer-events:none;
  z-index:0;
}

.masakari-list-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(260px, .95fr);
  gap:clamp(36px, 5vw, 72px);
  align-items:center;
}

.masakari-list-hero__copy{
  max-width:820px;
}

.masakari-list-hero__kicker{
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-height:52px;
  padding:12px 26px;
  border-radius:999px;
  border:1.5px solid rgba(9,12,8,.9);
  background:#f7faf7;
  box-shadow:8px 8px 0 var(--green);
  color:#111712;
  font-size:14px;
  font-weight:900;
  letter-spacing:.22em;
  line-height:1;
}

.masakari-list-hero__kicker::before{
  content:"";
  width:48px;
  height:12px;
  border-radius:999px;
  background:var(--green);
  display:block;
  flex:0 0 auto;
}

.masakari-list-hero h1{
  margin:26px 0 18px;
  max-width:860px;
  color:#070b07;
  font-size:clamp(46px, 5.4vw, 78px);
  line-height:1.03;
  letter-spacing:-.06em;
  font-weight:900;
  text-wrap:balance;
}

.masakari-list-hero p{
  max-width:780px;
  margin:0;
  color:#202820;
  font-size:clamp(16px, 1.42vw, 20px);
  line-height:1.86;
  font-weight:800;
}

.masakari-list-hero__visual{
  position:relative;
  min-height:260px;
  align-self:stretch;
}

.masakari-list-hero__visual::before{
  content:"";
  position:absolute;
  inset:10px 0 0 8%;
  border-radius:44% 0 42% 38% / 32% 0 38% 36%;
  background:
    radial-gradient(circle at 50% 52%, rgba(110,255,110,.28) 0%, rgba(110,255,110,.18) 38%, rgba(110,255,110,.08) 58%, rgba(110,255,110,0) 76%),
    linear-gradient(180deg, rgba(103,255,103,.17) 0%, rgba(103,255,103,.08) 100%);
  filter:blur(0.2px);
}

.masakari-list-hero__visual::after{
  content:"";
  position:absolute;
  inset:0 4% 4% 0;
  border-radius:46% 0 44% 40% / 34% 0 42% 38%;
  background:radial-gradient(circle at 60% 45%, rgba(122,255,122,.20), rgba(122,255,122,.11) 42%, rgba(122,255,122,.03) 70%, transparent 76%);
  opacity:.95;
}

.masakari-list-hero__orb{
  position:absolute;
  right:4%;
  bottom:12%;
  width:44%;
  aspect-ratio:1/1;
  border-radius:50%;
  background:radial-gradient(circle, rgba(93,255,93,.42) 0%, rgba(93,255,93,.18) 42%, rgba(93,255,93,0) 72%);
  filter:blur(14px);
  opacity:.8;
}

.work-archive-page .work-archive-list-section{
  padding-top:0 !important;
}

@media(max-width:980px){
  .masakari-list-hero__inner{
    grid-template-columns:1fr;
    gap:30px;
  }
  .masakari-list-hero__visual{
    min-height:180px;
    order:-1;
  }
  .masakari-list-hero__visual::before{
    inset:0 0 0 18%;
  }
  .masakari-list-hero__visual::after{
    inset:0 8% 0 24%;
  }
}

@media(max-width:760px){
  .masakari-list-hero{
    padding:clamp(104px, 27vw, 126px) 0 54px;
  }
  .masakari-list-hero__inner{
    gap:18px;
  }
  .masakari-list-hero__copy{
    max-width:none;
  }
  .masakari-list-hero__kicker{
    min-height:48px;
    padding:11px 22px;
    gap:12px;
    font-size:13px;
    letter-spacing:.18em;
    box-shadow:6px 6px 0 var(--green);
  }
  .masakari-list-hero__kicker::before{
    width:40px;
    height:11px;
  }
  .masakari-list-hero h1{
    margin:18px 0 14px;
    font-size:clamp(34px, 9.2vw, 46px);
    line-height:1.08;
  }
  .masakari-list-hero p{
    font-size:14.5px;
    line-height:1.84;
  }
  .masakari-list-hero__visual{
    min-height:140px;
  }
  .masakari-list-hero__visual::before{
    inset:0 2% 0 30%;
    border-radius:34% 0 34% 34% / 28% 0 32% 32%;
  }
  .masakari-list-hero__visual::after{
    inset:0 0 4% 38%;
    border-radius:36% 0 34% 34% / 28% 0 32% 32%;
  }
  .masakari-list-hero__orb{
    right:6%;
    bottom:18%;
    width:36%;
  }
}

@media(max-width:420px){
  .masakari-list-hero__kicker{
    font-size:12px;
    letter-spacing:.16em;
    padding:10px 18px;
  }
  .masakari-list-hero h1{
    font-size:clamp(30px, 8.6vw, 38px);
    line-height:1.1;
  }
}
