/* ============================================================
   AFFINGER6 完全リセット v3 — 強化版
   ============================================================ */

/* ── 非表示にするAFFINGER要素 ── */
#header, #header-area, .header-container,
.afStickyHeader, .sng-header, .st-header,
.header-style, #header-box,
#nav, #nav-area, .global-nav,
#footer, .footer-widget, .footer-inner, .footer-bottom,
.stFooter, .site-footer, #st-footer,
.breadcrumb-area, .tagline,
#sidebar, .sidebar, .widget-area, #side-menu,
.sidebar-col, #aside,
.entry-title, #page-header, .article-header,
.sns-share-buttons, .sns-share, .share-buttons,
.post-author-box, .author-box, .author-info,
#st-fixed-menu, .st-fixed-menu, .fixed-menu,
.pager-post-navi, .post-pager,
.comment-area, .comments-area, #comments,
.related-posts, .post-nav, .post-navigation,
#st-footer-fixed, .st-top-image-area, .eye-catch,
.pr-link, .ad-area, .ad-wrap,
.post-tags, .article-tag,
.single-pr-area, .single-related,
#st-header-scrolled,
.stNav, .st-global-nav,
[class*="stickynav"], [class*="sticky-nav"],
.copyright, .site-copyright,
.footer-copyright, #colophon,
.afi-footer, .afi-credit {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ── ページタイトル「HOME」を非表示 ── */
.entry-title,
h1.entry-title,
.page-title,
.article-title,
#page-header h1,
.st-article-title { display: none !important; }

/* ── レイアウト余白リセット ── */
html, body {
  overflow-x: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

#wrapper, #main, #contents,
#layout, #st-contents-wrap,
#container, .l-container,
#page, .site, .hfeed {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  float: none !important;
  display: block !important;
}

.entry-content, .post-content,
article.post, article.page,
.article-body, .post-body {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.entry-content > *,
.entry-content > p,
.entry-content > div,
.entry-content > section {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
}

/* ── AFFINGERのh2・h3スタイルをnwl-root内でリセット ── */
#nwl-root h1, #nwl-root h2, #nwl-root h3,
#nwl-root h4, #nwl-root h5, #nwl-root h6 {
  all: unset !important;
  display: block !important;
}

/* ── AFFINGERのaタグリセット ── */
#nwl-root a {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
#nwl-root a:hover {
  color: inherit !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

/* ── AFFINGERのul・liリセット ── */
#nwl-root ul, #nwl-root ol, #nwl-root li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── AFFINGERのpタグリセット ── */
#nwl-root p {
  margin: 0 !important;
  padding: 0 !important;
}

/* ── AFFINGERのbuttonリセット ── */
#nwl-root button {
  border-radius: 0 !important;
  font-family: inherit !important;
}

/* ── AFFINGERのimgリセット ── */
#nwl-root img {
  margin: 0 !important;
  max-width: 100% !important;
}

/* ── AFFINGERのblockquoteリセット ── */
#nwl-root blockquote {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  font-style: normal !important;
}
#nwl-root blockquote::before,
#nwl-root blockquote::after {
  content: none !important;
}

/* ── カーソル設定 ── */
body { cursor: auto !important; }
#nwl-root { cursor: none !important; }

/* ── nwl-rootラッパー基本設定 ── */
#nwl-root {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  position: relative !important;
}

:root{
  --w:#fefefe;--off:#f8f5ef;--ink:#111;
  --p1:#ff3c3c;--p2:#ffd600;--p3:#0099ff;
  --p4:#00e676;--p5:#ff6d00;--p6:#e040fb;
  --mut:#6b5a4a;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{background:var(--w);color:var(--ink);font-family:'Noto Sans JP',sans-serif;overflow-x:hidden;cursor:none;}
.cur{position:fixed;width:18px;height:18px;border-radius:50%;pointer-events:none;z-index:2147483647;transform:translate(-50%,-50%);background:#111111;transition:width .2s,height .2s,background .15s;}
body:has(a:hover) .cur{width:18px;height:18px;background:inherit;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:60px;background:rgba(254,254,254,.95);border-bottom:3px solid var(--ink);backdrop-filter:blur(8px);}
.nav-logo{font-family:'Permanent Marker',cursive;font-size:22px;color:var(--ink);text-decoration:none;position:relative;}
.nav-logo::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:4px;background:var(--p1);transform:rotate(-1deg);border-radius:2px;}
.nav-links{display:flex;list-style:none;}
.nav-links a{font-family:'Caveat',cursive;font-size:18px;font-weight:700;color:var(--ink);text-decoration:none;padding:0 14px;line-height:60px;transition:color .2s;}
.nav-links a:hover{color:var(--p1);}
.nav-cta{font-family:'Permanent Marker',cursive;font-size:14px;padding:9px 22px;background:var(--ink);color:var(--w);text-decoration:none;border-radius:3px;box-shadow:4px 4px 0 var(--p1);transition:transform .15s,box-shadow .15s;}
.nav-cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--p1);}

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
.hero{min-height:100vh;background:var(--w);position:relative;overflow:hidden;display:flex;align-items:center;padding:80px 48px 60px;}

/* ── blobs (そのまま維持) ── */
.blob{position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px);}
.b1{width:320px;height:280px;background:var(--p2);opacity:.8;top:-80px;right:80px;border-radius:60% 40% 55% 45%/50% 65% 35% 50%;animation:morph 9s ease-in-out infinite;}
.b2{width:200px;height:220px;background:var(--p3);opacity:.7;top:80px;right:-30px;border-radius:45% 55% 35% 65%/60% 40% 60% 40%;animation:morph 7s ease-in-out infinite 1.5s;}
.b3{width:140px;height:130px;background:var(--p1);opacity:.85;top:50px;right:240px;border-radius:65% 35% 50% 50%/45% 60% 40% 55%;animation:morph 8s ease-in-out infinite 3s;}
.b4{width:220px;height:190px;background:var(--p4);opacity:.65;bottom:60px;right:40px;border-radius:35% 65% 60% 40%/50% 35% 65% 50%;animation:morph 10s ease-in-out infinite .8s;}
.b5{width:100px;height:90px;background:var(--p5);opacity:.85;bottom:140px;right:300px;border-radius:55% 45% 65% 35%/35% 65% 35% 65%;animation:morph 6s ease-in-out infinite 2s;}
.b6{width:70px;height:80px;background:var(--p6);opacity:.75;top:180px;right:380px;border-radius:50%;animation:morph 5s ease-in-out infinite .3s;}

/* ── drips from top (そのまま維持) ── */
.drip{position:absolute;pointer-events:none;border-radius:0 0 8px 8px;}
.dr1{width:8px;height:0;background:var(--p2);top:0;right:180px;animation:drip 4s ease-in 1s infinite;}
.dr2{width:6px;height:0;background:var(--p3);top:0;right:340px;animation:drip 5s ease-in 0s infinite;}
.dr3{width:10px;height:0;background:var(--p1);top:0;right:120px;animation:drip 3.5s ease-in 2s infinite;}
.dr4{width:5px;height:0;background:var(--p5);top:0;right:450px;animation:drip 6s ease-in .5s infinite;}
.dr5{width:7px;height:0;background:var(--p4);top:0;right:260px;animation:drip 4.5s ease-in 3s infinite;}
.dr6{width:9px;height:0;background:var(--p6);top:0;right:520px;animation:drip 5.5s ease-in 1.5s infinite;}

@keyframes morph{
  0%,100%{border-radius:60% 40% 55% 45%/50% 65% 35% 50%;}
  33%{border-radius:45% 55% 35% 65%/60% 40% 55% 45%;}
  66%{border-radius:70% 30% 50% 50%/40% 70% 30% 60%;}
}
@keyframes drip{
  0%{height:0;opacity:1;}
  70%{height:180px;opacity:1;}
  100%{height:180px;opacity:0;}
}

/* ── HERO CONTENT ── */
.hero-content{position:relative;z-index:2;max-width:680px;}

/* ★ eyebrow */
.hero-eyebrow{
  font-family:'Caveat',cursive;font-size:21px;font-weight:700;
  color:var(--ink);
  margin-bottom:24px;display:inline-block;
  background:rgba(255,255,255,.95);
  padding:7px 20px 7px 14px;
  border-left:6px solid var(--p5);
  border-radius:3px;
  box-shadow:3px 3px 0 var(--p5);
  transform:rotate(-1.5deg);
}

/* ★ TITLE — blobやカードと同じ「太ボーダー＋ベタ影」スタイルで統一 */
.hero-title{
  margin-bottom:32px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.ht-line{
  font-family:'Permanent Marker',cursive;
  display:inline-block;
  width:fit-content;
  line-height:1;
  padding:8px 22px 10px 18px;
  border:4px solid var(--ink);
  position:relative;
  /* カードと同じポップシャドウ */
}

/* 行1「描く。」: 黄塗り + 黒ボーダー + 赤影 */
.ht-l1{
  font-size:clamp(52px,7vw,96px);
  background:var(--p2);
  color:var(--ink);
  box-shadow:7px 7px 0 var(--p1);
  transform:rotate(-3deg) translateX(0px);
  transform-origin:left center;
  border-radius:8px 4px 8px 4px;
}

/* 行2「作る。」: 青塗り + 黒ボーダー + 緑影 + 大きめ */
.ht-l2{
  font-size:clamp(62px,8.5vw,118px);
  background:var(--p3);
  color:#fff;
  box-shadow:7px 7px 0 var(--p4);
  transform:rotate(3.5deg) translateX(44px);
  transform-origin:left center;
  border-radius:4px 10px 4px 10px;
}

/* 行3「爆発する。」: 赤塗り + 黒ボーダー + 黄影 + アニメ */
.ht-l3{
  font-size:clamp(46px,6.5vw,90px);
  background:var(--p1);
  color:#fff;
  box-shadow:7px 7px 0 var(--p2);
  transform:rotate(-2deg) translateX(24px);
  transform-origin:left center;
  border-radius:6px 2px 6px 2px;
  animation:pop-wobble 3s ease-in-out infinite;
}
@keyframes pop-wobble{
  0%,100%{transform:rotate(-2deg) translateX(24px) scale(1);}
  50%{transform:rotate(-1deg) translateX(28px) scale(1.03);}
}

/* ══════════════════════════════════════
   SNS FOLLOWERS WIDGET (Art版)
══════════════════════════════════════ */
.sns-wrap{
  margin-top:40px;
}
.sns-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;
}
.sns-title{
  font-family:'Permanent Marker',cursive;font-size:18px;color:var(--ink);
}
.sns-edit-btn{
  font-family:'Caveat',cursive;font-size:13px;font-weight:700;
  padding:5px 14px;background:transparent;
  border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);
  cursor:pointer;transition:all .15s;color:var(--ink);
}
.sns-edit-btn:hover{background:var(--ink);color:var(--w);}
/* グリッド — 2列 */
.sns-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.sns-card{
  background:var(--w);border:3px solid var(--ink);
  padding:18px 16px;text-align:center;
  box-shadow:4px 4px 0 var(--ink);
  position:relative;overflow:hidden;
  transition:transform .15s,box-shadow .15s;
}
.sns-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}
/* 色アクセントバー */
.sns-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;}
.sc-x::before{background:var(--ink);}
.sc-ig::before{background:linear-gradient(90deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);}
.sc-yt::before{background:#ff0000;}
.sc-tt::before{background:var(--ink);}
.sns-ico{font-size:24px;margin-bottom:6px;}
.sns-num{
  font-family:'Permanent Marker',cursive;
  font-size:38px;line-height:1;margin-bottom:4px;
}
.sns-plat{font-family:'Caveat',cursive;font-size:13px;font-weight:700;color:var(--mut);}
/* 編集フォーム */
.sns-form{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.sns-input-row{display:flex;align-items:center;gap:8px;}
.sns-input-label{font-family:'Caveat',cursive;font-size:14px;font-weight:700;color:var(--ink);min-width:28px;text-align:center;font-size:18px;}
.sns-input{
  flex:1;background:var(--w);border:3px solid var(--ink);
  color:var(--ink);font-family:'Caveat',cursive;font-size:16px;font-weight:700;
  padding:8px 12px;outline:none;
  box-shadow:2px 2px 0 var(--ink);
  transition:border-color .2s,box-shadow .2s;
}
.sns-input:focus{border-color:var(--p1);box-shadow:2px 2px 0 var(--p1);}
.sns-save-btn{
  font-family:'Permanent Marker',cursive;font-size:15px;
  padding:10px;background:var(--p1);color:#fff;
  border:3px solid var(--ink);cursor:pointer;
  box-shadow:4px 4px 0 var(--ink);transition:all .15s;
}
.sns-save-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}
.sns-cancel-btn{
  font-family:'Caveat',cursive;font-size:14px;font-weight:700;
  padding:10px;background:transparent;color:var(--mut);
  border:2px solid rgba(0,0,0,.2);cursor:pointer;transition:all .15s;
}
.sns-cancel-btn:hover{background:rgba(0,0,0,.05);}
/* auth modal */
.sns-auth-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9000;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(3px);
}
.sns-auth-box{
  background:var(--w);border:3px solid var(--ink);
  padding:36px 40px;max-width:380px;width:90%;
  box-shadow:8px 8px 0 var(--ink);
}
.sns-auth-title{font-family:'Permanent Marker',cursive;font-size:22px;margin-bottom:16px;color:var(--ink);}
.sns-auth-input{
  width:100%;background:var(--w);border:3px solid var(--ink);
  color:var(--ink);font-family:'Caveat',cursive;font-size:16px;font-weight:700;
  padding:10px 14px;outline:none;box-shadow:3px 3px 0 var(--ink);
  margin-bottom:8px;transition:border-color .2s;
}
.sns-auth-input:focus{border-color:var(--p1);}
.sns-auth-err{font-family:'Caveat',cursive;font-size:13px;color:var(--p1);min-height:18px;margin-bottom:12px;}
.sns-auth-btns{display:flex;gap:10px;}
.sns-auth-ok{
  flex:1;font-family:'Permanent Marker',cursive;font-size:15px;
  padding:10px;background:var(--p1);color:#fff;
  border:3px solid var(--ink);cursor:pointer;
  box-shadow:4px 4px 0 var(--ink);transition:all .15s;
}
.sns-auth-ok:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink);}
.sns-auth-cancel{
  font-family:'Caveat',cursive;font-size:14px;font-weight:700;
  padding:10px 16px;background:transparent;color:var(--mut);
  border:2px solid rgba(0,0,0,.2);cursor:pointer;
}

.hero-body{
  font-size:15px;font-weight:300;line-height:2.1;color:var(--mut);
  max-width:480px;margin-bottom:32px;padding:14px 18px;
  background:rgba(255,255,255,.88);
  border-left:4px solid var(--p2);
  box-shadow:2px 2px 0 rgba(255,214,0,.3);
}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px;}
.htag{font-family:'Caveat',cursive;font-size:16px;font-weight:700;padding:6px 16px;border:3px solid var(--ink);border-radius:4px;box-shadow:3px 3px 0 var(--ink);transition:all .15s;}
.htag:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink);}
.ht-r{background:var(--p1);color:#fff;} .ht-y{background:var(--p2);color:var(--ink);}
.ht-b{background:var(--p3);color:#fff;} .ht-g{background:var(--p4);color:var(--ink);}
.hero-cta{display:inline-block;font-family:'Permanent Marker',cursive;font-size:18px;padding:13px 36px;background:var(--p1);color:#fff;text-decoration:none;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transition:all .15s;}
.hero-cta:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);}

/* ══════════════════════════════════════
   BRUSH SPLASH CANVAS DIVIDERS
══════════════════════════════════════ */
.splat-divider{
  position:relative;
  height:110px;
  margin:0;
  overflow:visible;
  pointer-events:none;
}
.splat-canvas{
  position:absolute;
  bottom:0; left:0;
  width:100%; height:110px;
  max-width:100%;
  display:block;
  pointer-events:none;
}

/* ══════════════════════════════════════
   SECTION BASE
══════════════════════════════════════ */
.sec{padding:88px 48px;max-width:1240px;margin:0 auto;position:relative;}
.slbl{font-family:'Permanent Marker',cursive;font-size:13px;padding:4px 12px;border-radius:3px;transform:rotate(-1deg);display:inline-block;margin-bottom:8px;}
.sr{background:var(--p1);color:#fff;} .sy{background:var(--p2);color:var(--ink);} .sb{background:var(--p3);color:#fff;} .sg{background:var(--p4);color:var(--ink);} .so{background:var(--p5);color:#fff;} .sp{background:var(--p6);color:#fff;}
.stitle{font-family:'Permanent Marker',cursive;font-size:clamp(36px,4vw,58px);color:var(--ink);margin-bottom:10px;line-height:1.1;}
.sdesc{font-size:14px;font-weight:300;color:var(--mut);line-height:2.1;max-width:540px;margin-bottom:48px;}
.rainbow-bar{height:8px;background:linear-gradient(90deg,var(--p1),var(--p2),var(--p3),var(--p4),var(--p5),var(--p6));border-radius:4px;margin-bottom:48px;transform:rotate(-.2deg);}

/* ── セクション背景アクセント ── */
/* 各セクションにランダムな絵の具しみ */
.sec-accent{
  position:absolute;pointer-events:none;overflow:hidden;inset:0;z-index:0;
}
.sec-blob{
  position:absolute;border-radius:50%;filter:blur(60px);opacity:.08;
}
.sec > *:not(.sec-accent){position:relative;z-index:1;}

/* ── PORTFOLIO ── */
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pfc{background:var(--w);border:3px solid var(--ink);padding:26px 22px;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s;box-shadow:5px 5px 0 var(--ink);}
.pfc:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ink);}
.pfc::after{content:'';position:absolute;top:0;right:0;width:56px;height:56px;border-radius:0 0 0 100%;}
.pfc:nth-child(1)::after{background:var(--p1);} .pfc:nth-child(2)::after{background:var(--p2);}
.pfc:nth-child(3)::after{background:var(--p3);} .pfc:nth-child(4)::after{background:var(--p4);}
.pfc:nth-child(5)::after{background:var(--p5);} .pfc:nth-child(6)::after{background:var(--p6);}
/* カード内の小さな絵の具しみアクセント */
.pfc::before{
  content:'';position:absolute;border-radius:50%;
  filter:blur(20px);pointer-events:none;
  opacity:.1;z-index:0;
}
.pfc:nth-child(1)::before{width:80px;height:80px;background:var(--p1);bottom:-20px;left:-20px;}
.pfc:nth-child(2)::before{width:70px;height:60px;background:var(--p2);bottom:-15px;left:-10px;}
.pfc:nth-child(3)::before{width:90px;height:80px;background:var(--p3);bottom:-25px;left:-20px;}
.pfc:nth-child(4)::before{width:75px;height:65px;background:var(--p4);bottom:-15px;left:-15px;}
.pfc:nth-child(5)::before{width:85px;height:75px;background:var(--p5);bottom:-20px;left:-20px;}
.pfc:nth-child(6)::before{width:70px;height:70px;background:var(--p6);bottom:-15px;left:-10px;}
.pfc > *{position:relative;z-index:1;}
.pfc-ico{font-size:32px;margin-bottom:12px;} .pfc-cat{font-family:'Caveat',cursive;font-size:13px;font-weight:700;color:var(--mut);margin-bottom:5px;}
.pfc-name{font-family:'Permanent Marker',cursive;font-size:18px;line-height:1.3;margin-bottom:8px;}
.pfc-desc{font-size:12px;font-weight:300;color:var(--mut);line-height:1.9;}

/* ── SERVICES ── */
.sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.svc{background:var(--w);border:3px solid var(--ink);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s;box-shadow:5px 5px 0 var(--ink);}
.svc:hover:not(.sv-cs){transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);}
.svc-bar{height:10px;width:100%;} .sb-r{background:var(--p1);} .sb-y{background:var(--p2);} .sb-b{background:var(--p3);} .sb-g{background:var(--p4);} .sb-o{background:var(--p5);} .sb-p{background:var(--p6);}
.svc-body{padding:22px 20px 16px;flex:1;display:flex;flex-direction:column;}
.svc-ico{width:52px;height:52px;border-radius:50%;border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px;}
.svc-cat{font-family:'Caveat',cursive;font-size:13px;font-weight:700;color:var(--mut);margin-bottom:5px;}
.svc-name{font-family:'Permanent Marker',cursive;font-size:17px;line-height:1.3;margin-bottom:8px;}
.svc-desc{font-size:12px;font-weight:300;color:var(--mut);line-height:1.9;flex:1;margin-bottom:14px;}
.svc-foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:2px dashed rgba(0,0,0,.12);}
.svc-price{font-family:'Caveat',cursive;font-size:17px;font-weight:700;}
.svc-link{font-family:'Caveat',cursive;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;padding:4px 10px;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);transition:all .15s;}
.svc:hover:not(.sv-cs) .svc-link{background:var(--ink);color:var(--w);}
.sv-cs{cursor:default;} .sv-cs .svc-body{opacity:.18;filter:grayscale(.9);pointer-events:none;}
.cs-over{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:5;}
.cs-tag{font-family:'Permanent Marker',cursive;font-size:17px;color:var(--p1);border:4px solid var(--p1);padding:8px 18px;transform:rotate(-8deg);background:rgba(254,254,254,.92);}

/* ── ABOUT ── */
.about-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.about-body{font-size:14px;font-weight:300;color:var(--mut);line-height:2.2;} .about-body p+p{margin-top:14px;}
.about-quote{margin-top:24px;font-family:'Permanent Marker',cursive;font-size:19px;color:var(--ink);line-height:1.4;padding:18px 22px;border:3px solid var(--p2);background:rgba(255,214,0,.1);box-shadow:5px 5px 0 var(--p2);transform:rotate(.5deg);}
.tl{margin-top:28px;} .tl-i{display:flex;gap:14px;margin-bottom:18px;align-items:flex-start;}
.tl-dot{width:18px;height:18px;border-radius:50%;border:3px solid var(--ink);flex-shrink:0;margin-top:3px;}
.tl-yr{font-family:'Caveat',cursive;font-size:14px;font-weight:700;color:var(--mut);white-space:nowrap;padding-top:1px;}
.tl-txt{font-size:13px;color:var(--mut);line-height:1.8;}
.stats-w{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.stat-b{padding:22px 18px;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);text-align:center;}
.stat-n{font-family:'Permanent Marker',cursive;font-size:50px;line-height:1;}
.stat-l{font-family:'Caveat',cursive;font-size:14px;color:var(--mut);margin-top:4px;}

/* ── BLOG ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.bc{border:3px solid var(--ink);padding:22px 18px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;box-shadow:5px 5px 0 var(--ink);transition:transform .15s,box-shadow .15s;background:var(--w);position:relative;overflow:hidden;}
.bc:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);}
.bc-stripe{height:6px;margin:-22px -18px 16px;width:calc(100% + 36px);}
.bc-cat{font-family:'Caveat',cursive;font-size:13px;font-weight:700;color:var(--p1);margin-bottom:7px;}
.bc-title{font-family:'Permanent Marker',cursive;font-size:16px;line-height:1.35;flex:1;margin-bottom:12px;}
.bc-date{font-family:'Caveat',cursive;font-size:13px;color:var(--mut);padding-top:10px;border-top:2px dashed rgba(0,0,0,.12);}

/* ── SHOP ── */
.shop-sec{background:var(--ink);text-align:center;padding:100px 48px;position:relative;overflow:hidden;}
.shop-sec::before{content:'SHOP';position:absolute;font-family:'Permanent Marker',cursive;font-size:220px;color:rgba(255,255,255,.04);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap;}
.shop-inner{max-width:580px;margin:0 auto;position:relative;z-index:2;}
.shop-title{font-family:'Permanent Marker',cursive;font-size:clamp(52px,7vw,96px);color:#fff;line-height:.9;margin-bottom:16px;text-shadow:4px 4px 0 var(--p1);}
.shop-title span{color:var(--p2);}
.shop-desc{font-size:14px;color:rgba(255,255,255,.65);line-height:2.1;margin-bottom:38px;}
.shop-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.sp-btn{font-family:'Permanent Marker',cursive;font-size:16px;padding:12px 30px;text-decoration:none;border:3px solid;transition:all .15s;}
.sp-p{background:var(--p2);color:var(--ink);border-color:#fff;box-shadow:5px 5px 0 var(--p1);}
.sp-p:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--p1);}
.sp-s{background:transparent;color:#fff;border-color:#fff;box-shadow:5px 5px 0 rgba(255,255,255,.25);}
.sp-s:hover{background:rgba(255,255,255,.1);}

/* ── CONTACT ── */
.contact-sec{background:var(--off);padding:88px 48px;position:relative;}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1240px;margin:0 auto;}
.ct-desc{font-size:14px;color:var(--mut);line-height:2.1;margin-bottom:24px;}
.soc-links{display:flex;flex-direction:column;gap:10px;}
.soc-link{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:3px solid var(--ink);color:var(--ink);text-decoration:none;font-family:'Caveat',cursive;font-size:17px;font-weight:700;box-shadow:4px 4px 0 var(--ink);transition:all .15s;background:var(--w);}
.soc-link:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}
.cform{display:flex;flex-direction:column;gap:12px;}
.cf-lbl{font-family:'Caveat',cursive;font-size:16px;font-weight:700;display:block;margin-bottom:3px;}
.cf-in,.cf-ta,.cf-sel{width:100%;background:var(--w);border:3px solid var(--ink);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:13px;padding:10px 13px;outline:none;box-shadow:3px 3px 0 var(--ink);transition:border-color .2s,box-shadow .2s;}
.cf-in:focus,.cf-ta:focus{border-color:var(--p1);box-shadow:3px 3px 0 var(--p1);}
.cf-ta{height:108px;resize:vertical;} .cf-sel{cursor:pointer;}
.cf-sub{font-family:'Permanent Marker',cursive;font-size:17px;padding:13px;background:var(--p1);color:#fff;border:3px solid var(--ink);cursor:pointer;box-shadow:5px 5px 0 var(--ink);transition:all .15s;}
.cf-sub:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);}

footer{background:var(--ink);padding:26px 48px;display:flex;align-items:center;justify-content:space-between;border-top:5px solid var(--p2);}
.fl{font-family:'Permanent Marker',cursive;font-size:18px;color:#fff;}
.fc{font-family:'Caveat',cursive;font-size:14px;color:rgba(255,255,255,.35);}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:none;}
.rv1{transition-delay:.1s;} .rv2{transition-delay:.2s;} .rv3{transition-delay:.3s;}

@media(max-width:900px){
  nav{padding:0 20px;} .nav-links{display:none;}
  .hero{padding:80px 24px 60px;}
  .sec,.contact-sec,.shop-sec{padding-left:24px;padding-right:24px;}
  .pf-grid,.sv-grid,.blog-grid,.about-wrap,.contact-inner{grid-template-columns:1fr;}

  /* ★ スマホタイトル: 傾きは維持しつつサイズ調整 */
  .hero-title{ gap:12px; }
  .ht-line{
    font-size:clamp(44px,11vw,68px) !important;
    padding:6px 16px 8px 12px !important;
  }
  .ht-l1{ transform:rotate(-3deg) translateX(0) !important; }
  .ht-l2{ transform:rotate(3deg) translateX(20px) !important; }
  .ht-l3{ transform:rotate(-2deg) translateX(10px) !important; }

  footer{flex-direction:column;gap:8px;}
}

/* ============================================================
   パッチ1 — フォント修正
   ============================================================ */

/* Google Fonts 読み込み */
@import url('https://fonts.googleapis.com/css2?family=Permanent+Marker&family=Caveat:wght@400;600;700&family=Noto+Sans+JP:wght@300;400;500&display=swap');

/* タイトル3行のフォントと色を強制適用 */
#nwl-root .ht-l1,
#nwl-root .ht-l2,
#nwl-root .ht-l3 {
  font-family: 'Permanent Marker', cursive !important;
  display: inline-block !important;
  line-height: 1 !important;
  padding: 8px 22px 10px 18px !important;
  border: 4px solid #111 !important;
}
#nwl-root .ht-l1 {
  background: #ffd600 !important;
  color: #111 !important;
  box-shadow: 7px 7px 0 #ff3c3c !important;
  transform: rotate(-3deg) !important;
  border-radius: 8px 4px 8px 4px !important;
}
#nwl-root .ht-l2 {
  background: #0099ff !important;
  color: #fff !important;
  box-shadow: 7px 7px 0 #00e676 !important;
  transform: rotate(3.5deg) translateX(44px) !important;
  border-radius: 4px 10px 4px 10px !important;
}
#nwl-root .ht-l3 {
  background: #ff3c3c !important;
  color: #fff !important;
  box-shadow: 7px 7px 0 #ffd600 !important;
  transform: rotate(-2deg) translateX(24px) !important;
  border-radius: 6px 2px 6px 2px !important;
}
#nwl-root .hero-title {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  margin-bottom: 32px !important;
}

/* サイト全体のフォント */
#nwl-root .nav-logo,
#nwl-root .nav-cta,
#nwl-root .stitle,
#nwl-root .hero-cta,
#nwl-root .pfc-name,
#nwl-root .svc-name,
#nwl-root .bc-title,
#nwl-root .stat-n,
#nwl-root .shop-title,
#nwl-root .fl,
#nwl-root .about-quote,
#nwl-root .slbl,
#nwl-root .cs-tag {
  font-family: 'Permanent Marker', cursive !important;
}

#nwl-root .hero-eyebrow,
#nwl-root .nav-links a,
#nwl-root .htag,
#nwl-root .sdesc,
#nwl-root .pfc-cat,
#nwl-root .svc-cat,
#nwl-root .svc-price,
#nwl-root .bc-cat,
#nwl-root .bc-date,
#nwl-root .tl-yr,
#nwl-root .stat-l,
#nwl-root .sns-plat,
#nwl-root .cf-lbl {
  font-family: 'Caveat', cursive !important;
}

/* スマホ用タイトルサイズ */
@media(max-width:900px){
  #nwl-root .ht-l1,
  #nwl-root .ht-l2,
  #nwl-root .ht-l3 {
    font-size: clamp(40px,10vw,64px) !important;
  }
  #nwl-root .ht-l1 { transform: rotate(-3deg) translateX(0) !important; }
  #nwl-root .ht-l2 { transform: rotate(3deg) translateX(20px) !important; }
  #nwl-root .ht-l3 { transform: rotate(-2deg) translateX(10px) !important; }
}

/* ============================================================
   パッチ2 — フォント強制上書き（AFFINGERに勝つ最強指定）
   ============================================================ */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Permanent+Marker&family=Caveat:wght@400;600;700&family=Noto+Sans+JP:wght@300;400;500&display=swap');

/* タイトル — AFFINGERのh1スタイルに絶対勝つ */
div#nwl-root span.ht-l1,
div#nwl-root span.ht-l2,
div#nwl-root span.ht-l3,
div#nwl-root h1 span.ht-l1,
div#nwl-root h1 span.ht-l2,
div#nwl-root h1 span.ht-l3 {
  font-family: 'Permanent Marker', cursive !important;
  display: inline-block !important;
  line-height: 1 !important;
  padding: 8px 22px 10px 18px !important;
  border: 4px solid #111 !important;
  font-size: clamp(52px,7vw,96px) !important;
}

div#nwl-root span.ht-l1,
div#nwl-root h1 span.ht-l1 {
  background: #ffd600 !important;
  color: #111 !important;
  box-shadow: 7px 7px 0 #ff3c3c !important;
  transform: rotate(-3deg) !important;
  border-radius: 8px 4px 8px 4px !important;
}

div#nwl-root span.ht-l2,
div#nwl-root h1 span.ht-l2 {
  background: #0099ff !important;
  color: #fff !important;
  box-shadow: 7px 7px 0 #00e676 !important;
  transform: rotate(3.5deg) translateX(44px) !important;
  border-radius: 4px 10px 4px 10px !important;
  font-size: clamp(62px,8.5vw,118px) !important;
}

div#nwl-root span.ht-l3,
div#nwl-root h1 span.ht-l3 {
  background: #ff3c3c !important;
  color: #fff !important;
  box-shadow: 7px 7px 0 #ffd600 !important;
  transform: rotate(-2deg) translateX(24px) !important;
  border-radius: 6px 2px 6px 2px !important;
  font-size: clamp(46px,6.5vw,90px) !important;
}

div#nwl-root h1.hero-title {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  margin-bottom: 32px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: inherit !important;
}

/* Permanent Marker フォントを使う全要素 */
div#nwl-root .nav-logo,
div#nwl-root .nav-cta,
div#nwl-root h2.stitle,
div#nwl-root .hero-cta,
div#nwl-root .pfc-name,
div#nwl-root h3.svc-name,
div#nwl-root h3.bc-title,
div#nwl-root .stat-n,
div#nwl-root .shop-title,
div#nwl-root .fl,
div#nwl-root .about-quote,
div#nwl-root .slbl,
div#nwl-root .cs-tag,
div#nwl-root .sns-title {
  font-family: 'Permanent Marker', cursive !important;
}

/* Caveat フォントを使う全要素 */
div#nwl-root .hero-eyebrow,
div#nwl-root .nav-links a,
div#nwl-root .htag,
div#nwl-root .sdesc,
div#nwl-root .pfc-cat,
div#nwl-root .svc-cat,
div#nwl-root .svc-price,
div#nwl-root .svc-link,
div#nwl-root .bc-cat,
div#nwl-root .bc-date,
div#nwl-root .tl-yr,
div#nwl-root .stat-l,
div#nwl-root .sns-plat,
div#nwl-root .cf-lbl,
div#nwl-root .fc {
  font-family: 'Caveat', cursive !important;
}
/* ============================================================
   パッチ3a — セクション幅のみ修正（安全版）
   ============================================================ */

/* AFFINGERのコンテンツ幅制限を解除 */
body.home #contents,
body.home #main,
body.home #wrapper {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* nwl-root全体を100%幅に */
#nwl-root {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 全セクションを100%幅に */
#nwl-root section,
#nwl-root .hero,
#nwl-root .shop-sec,
#nwl-root .contact-sec,
#nwl-root .splat-divider,
#nwl-root footer {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* グリッド */
#nwl-root .pf-grid {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 22px !important;
  width: 100% !important;
}
#nwl-root .sv-grid {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 22px !important;
  width: 100% !important;
}
#nwl-root .blog-grid {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 22px !important;
  width: 100% !important;
}

/* スマホ */
@media(max-width:900px){
  #nwl-root .pf-grid,
  #nwl-root .sv-grid,
  #nwl-root .blog-grid,
  #nwl-root .about-wrap,
  #nwl-root .contact-inner {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   パッチ3b — ブログカード・BOOTH・フッター修正
   ============================================================ */

/* ブログカード */
#nwl-root .bc {
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  color: #111 !important;
  background: #fefefe !important;
  border: 3px solid #111 !important;
  padding: 22px 18px !important;
  box-shadow: 5px 5px 0 #111 !important;
  overflow: hidden !important;
  position: relative !important;
}
#nwl-root .bc-stripe {
  display: block !important;
  height: 6px !important;
  margin: -22px -18px 16px !important;
  width: calc(100% + 36px) !important;
  flex-shrink: 0 !important;
}
#nwl-root .bc-title {
  color: #111 !important;
  flex: 1 !important;
  margin-bottom: 12px !important;
  line-height: 1.35 !important;
  font-size: 16px !important;
}
#nwl-root .bc-cat {
  color: #ff3c3c !important;
  margin-bottom: 7px !important;
  display: block !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
#nwl-root .bc-date {
  color: #6b5a4a !important;
  font-size: 13px !important;
  padding-top: 10px !important;
  border-top: 2px dashed rgba(0,0,0,.12) !important;
  display: block !important;
}

/* BOOTHショップ */
#nwl-root .shop-sec {
  background: #111 !important;
  padding: 100px 48px !important;
  text-align: center !important;
  overflow: hidden !important;
  position: relative !important;
}
#nwl-root .shop-inner {
  max-width: 580px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}
#nwl-root .shop-title {
  color: #fff !important;
  text-shadow: 4px 4px 0 #ff3c3c !important;
  line-height: .9 !important;
  margin-bottom: 16px !important;
  display: block !important;
  font-size: clamp(52px,7vw,96px) !important;
}
#nwl-root .shop-title span { color: #ffd600 !important; }
#nwl-root .shop-desc {
  color: rgba(255,255,255,.65) !important;
  line-height: 2.1 !important;
  margin-bottom: 38px !important;
  display: block !important;
  font-size: 14px !important;
}
#nwl-root .shop-btns {
  display: flex !important;
  gap: 14px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}
#nwl-root .sp-btn {
  display: inline-block !important;
  padding: 12px 30px !important;
  font-size: 16px !important;
  text-decoration: none !important;
  border: 3px solid !important;
  transition: all .15s !important;
}
#nwl-root .sp-p {
  background: #ffd600 !important;
  color: #111 !important;
  border-color: #fff !important;
  box-shadow: 5px 5px 0 #ff3c3c !important;
}
#nwl-root .sp-s {
  background: transparent !important;
  color: #fff !important;
  border-color: #fff !important;
}

/* カスタムフッター */
#nwl-root footer {
  background: #111 !important;
  padding: 26px 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-top: 5px solid #ffd600 !important;
}
#nwl-root .fl {
  color: #fff !important;
  font-size: 18px !important;
}
#nwl-root .fc {
  color: rgba(255,255,255,.35) !important;
  font-size: 14px !important;
}

/* AFFINGERのフッター・余計な要素を非表示 */
.stFooter,
.site-footer,
#colophon,
.footer-inner,
.footer-bottom,
.sns-share-buttons,
.post-author-box,
#st-fixed-menu,
.st-fixed-menu,
.pager-post-navi,
.comment-area,
.related-posts,
.author-box { display: none !important; }

/* スマホ */
@media(max-width:900px){
  #nwl-root .shop-sec { padding: 60px 24px !important; }
  #nwl-root footer {
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
    padding: 26px 24px !important;
  }
}

/* ============================================================
   パッチ3d — ブログカード完全修正
   ============================================================ */

/* ブログカードのグリッド */
#nwl-root .blog-grid {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 22px !important;
  width: 100% !important;
}

/* カード全体 */
#nwl-root .blog-grid > a.bc {
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  background: #fefefe !important;
  border: 3px solid #111 !important;
  padding: 22px 18px !important;
  box-shadow: 5px 5px 0 #111 !important;
  overflow: hidden !important;
  color: #111 !important;
  transition: transform .15s, box-shadow .15s !important;
}

/* カード内の全要素の色をリセット */
#nwl-root .blog-grid > a.bc,
#nwl-root .blog-grid > a.bc:visited,
#nwl-root .blog-grid > a.bc:hover {
  color: #111 !important;
}

/* カラーストライプ */
#nwl-root .blog-grid > a.bc > .bc-stripe {
  display: block !important;
  height: 6px !important;
  margin: -22px -18px 16px !important;
  width: calc(100% + 36px) !important;
  flex-shrink: 0 !important;
  min-height: 6px !important;
}

/* カテゴリラベル */
#nwl-root .blog-grid > a.bc > .bc-cat {
  display: block !important;
  color: #ff3c3c !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin-bottom: 7px !important;
}

/* タイトル */
#nwl-root .blog-grid > a.bc > h3.bc-title {
  display: block !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  flex: 1 !important;
  margin-bottom: 12px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  font-family: 'Permanent Marker', cursive !important;
}

/* 日付 */
#nwl-root .blog-grid > a.bc > .bc-date {
  display: block !important;
  color: #6b5a4a !important;
  font-size: 13px !important;
  padding-top: 10px !important;
  border-top: 2px dashed rgba(0,0,0,.12) !important;
  margin-top: auto !important;
}

/* スマホ */
@media(max-width:900px){
  #nwl-root .blog-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   パッチ3e — ブログカード全カード強制修正
   ============================================================ */

/* nth-childで全カードを個別に指定 */
#nwl-root .blog-grid > a:nth-child(1),
#nwl-root .blog-grid > a:nth-child(2),
#nwl-root .blog-grid > a:nth-child(3),
#nwl-root .blog-grid > a:nth-child(4),
#nwl-root .blog-grid > a:nth-child(5),
#nwl-root .blog-grid > a:nth-child(6) {
  color: #111111 !important;
  background-color: #fefefe !important;
  text-decoration: none !important;
}

/* 全カード内の全テキスト要素を黒に強制 */
#nwl-root .blog-grid > a:nth-child(1) *,
#nwl-root .blog-grid > a:nth-child(2) *,
#nwl-root .blog-grid > a:nth-child(3) *,
#nwl-root .blog-grid > a:nth-child(4) *,
#nwl-root .blog-grid > a:nth-child(5) *,
#nwl-root .blog-grid > a:nth-child(6) * {
  color: #111111 !important;
}

/* カテゴリだけ赤に */
#nwl-root .blog-grid > a .bc-cat {
  color: #ff3c3c !important;
}

/* 日付だけ茶色に */
#nwl-root .blog-grid > a .bc-date {
  color: #6b5a4a !important;
}

/* カラーストライプを確実に表示 */
#nwl-root .blog-grid > a > div:first-child {
  display: block !important;
  height: 6px !important;
  min-height: 6px !important;
  margin: -22px -18px 16px !important;
  width: calc(100% + 36px) !important;
  flex-shrink: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* ============================================================
   パッチ3f — ブログカード position修正
   ============================================================ */

/* ブロググリッドのposition問題を解消 */
#nwl-root .blog-grid {
  position: relative !important;
  z-index: 1 !important;
}

#nwl-root .blog-grid > a {
  position: relative !important;
  z-index: 1 !important;
  float: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
}

/* revealクラスのtransformをブログカードでは無効化 */
#nwl-root .blog-grid > a.reveal {
  opacity: 1 !important;
  transform: none !important;
}
#nwl-root .blog-grid > a.reveal.visible {
  opacity: 1 !important;
  transform: none !important;
}


/* ============================================================
   パッチ4 — ブログカード＆コンタクト修正
   ============================================================ */

/* ブログカードのrevealアニメを完全無効化 */
#nwl-root .blog-grid a,
#nwl-root .blog-grid a.reveal,
#nwl-root .blog-grid a.reveal.visible {
  opacity: 1 !important;
  transform: none !important;
  transition: transform .15s, box-shadow .15s !important;
}

/* SNSリンクを半幅に */
#nwl-root .soc-links {
  max-width: 60% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* スマホでSNSリンクを全幅に */
@media(max-width:900px){
  #nwl-root .soc-links { max-width: 100% !important; }
}


/* ============================================================
   パッチ5 — セクション見出しサイズ修正
   ============================================================ */

/* h2見出し（制作実績・できること等）を見本と同じサイズに */
#nwl-root h2.stitle {
  font-size: clamp(36px,4vw,58px) !important;
  font-family: 'Permanent Marker', cursive !important;
  color: #111 !important;
  margin-bottom: 10px !important;
  line-height: 1.1 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

/* ラベル（01 — Portfolio等）のサイズ */
#nwl-root .slbl {
  font-family: 'Permanent Marker', cursive !important;
  font-size: 13px !important;
  padding: 4px 12px !important;
  border-radius: 3px !important;
  transform: rotate(-1deg) !important;
  display: inline-block !important;
  margin-bottom: 8px !important;
}

/* 説明文サイズ */
#nwl-root .sdesc {
  font-size: 14px !important;
  font-weight: 300 !important;
  color: #6b5a4a !important;
  line-height: 2.1 !important;
  max-width: 540px !important;
  margin-bottom: 48px !important;
}


/* ============================================================
   パッチ6 — ヘッダー・フォント・アニメーション修正
   ============================================================ */

/* ── ナビバー完全修正 ── */
#nwl-root nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 48px !important;
  height: 60px !important;
  background: rgba(254,254,254,.97) !important;
  border-bottom: 3px solid #111 !important;
  backdrop-filter: blur(8px) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* ロゴ */
#nwl-root .nav-logo {
  font-family: 'Permanent Marker', cursive !important;
  font-size: 22px !important;
  color: #111 !important;
  text-decoration: none !important;
  position: relative !important;
  flex-shrink: 0 !important;
}
#nwl-root .nav-logo::after {
  content: '' !important;
  position: absolute !important;
  bottom: -4px !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: #ff3c3c !important;
  transform: rotate(-1deg) !important;
  border-radius: 2px !important;
}

/* ナビリンク */
#nwl-root .nav-links {
  display: flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
}
#nwl-root .nav-links li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#nwl-root .nav-links a {
  font-family: 'Caveat', cursive !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #111 !important;
  text-decoration: none !important;
  padding: 0 14px !important;
  line-height: 60px !important;
  display: block !important;
  transition: color .2s !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* Contactボタン */
#nwl-root .nav-cta {
  font-family: 'Permanent Marker', cursive !important;
  font-size: 14px !important;
  padding: 9px 22px !important;
  background: #111 !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 3px !important;
  box-shadow: 4px 4px 0 #ff3c3c !important;
  transition: transform .15s, box-shadow .15s !important;
  display: inline-block !important;
  border: none !important;
  flex-shrink: 0 !important;
}

/* WordPress管理バーがある場合のオフセット */
.admin-bar #nwl-root nav { top: 32px !important; }
@media screen and (max-width:782px){
  .admin-bar #nwl-root nav { top: 46px !important; }
}

/* スマホ */
@media(max-width:900px){
  #nwl-root nav { padding: 0 20px !important; }
  #nwl-root .nav-links { display: none !important; }
}

/* ── heroのpaddingTop（ナビ分のオフセット） ── */
#nwl-root .hero {
  padding-top: 100px !important;
}

/* ── 「描く。作る。爆発する。」アニメーション ── */
#nwl-root .ht-l3 {
  animation: nwl-pop-wobble 3s ease-in-out infinite !important;
}
@keyframes nwl-pop-wobble {
  0%,100% { transform: rotate(-2deg) translateX(24px) scale(1) !important; }
  50%      { transform: rotate(-1deg) translateX(28px) scale(1.03) !important; }
}

/* ── フォント強制適用（全要素） ── */
#nwl-root .nav-logo,
#nwl-root .nav-cta,
#nwl-root h2.stitle,
#nwl-root .hero-cta,
#nwl-root .pfc-name,
#nwl-root h3.svc-name,
#nwl-root .stat-n,
#nwl-root .shop-title,
#nwl-root .fl,
#nwl-root .about-quote,
#nwl-root .slbl,
#nwl-root .cs-tag,
#nwl-root .sns-title,
#nwl-root .shop-title {
  font-family: 'Permanent Marker', cursive !important;
}

#nwl-root .hero-eyebrow,
#nwl-root .nav-links a,
#nwl-root .htag,
#nwl-root .sdesc,
#nwl-root .pfc-cat,
#nwl-root .svc-cat,
#nwl-root .svc-price,
#nwl-root .svc-link,
#nwl-root .tl-yr,
#nwl-root .stat-l,
#nwl-root .sns-plat,
#nwl-root .cf-lbl,
#nwl-root .fc {
  font-family: 'Caveat', cursive !important;
}


/* ============================================================
   パッチ7 — アイドルアニメ keyframes のみ
   （初期非表示はJSで制御するためCSSには書かない）
   ============================================================ */
@keyframes nwl-float1 {
  0%,100% { transform: rotate(-3deg) translateY(0); }
  50%     { transform: rotate(-2.5deg) translateY(-5px); }
}
@keyframes nwl-float2 {
  0%,100% { transform: rotate(3.5deg) translateX(44px) translateY(0); }
  50%     { transform: rotate(4deg) translateX(44px) translateY(-5px); }
}
@keyframes nwl-wobble3 {
  0%,100% { transform: rotate(-2deg) translateX(24px) scale(1); }
  50%     { transform: rotate(-1deg) translateX(28px) scale(1.04); }
}
@keyframes nwl-eyebrow-in {
  from { opacity: 0; transform: rotate(-1.5deg) translateY(6px); }
  to   { opacity: 1; transform: rotate(-1.5deg) translateY(0); }
}


/* ============================================================
   パッチ8 — タイトルアイドルアニメ（CSSクラスで管理）
   ============================================================ */

/* アイドルアニメクラス — 最強の特異度で指定 */
html body div#nwl-root h1.hero-title span.ht-line.ht-l1.nwl-idle {
  animation: nwl-float1 3s ease-in-out infinite !important;
}
html body div#nwl-root h1.hero-title span.ht-line.ht-l2.nwl-idle {
  animation: nwl-float2 3.5s ease-in-out infinite 0.3s !important;
}
html body div#nwl-root h1.hero-title span.ht-line.ht-l3.nwl-idle {
  animation: nwl-wobble3 3s ease-in-out infinite 0.6s !important;
}


/* ============================================================
   パッチ9 — ht-l1/l2/l3のtransformをCSSで管理
   inlineスタイルのtransformを上書き
   ============================================================ */

/* 通常状態のtransform */
#nwl-root .ht-l1 {
  transform: rotate(-3deg) translateX(0px) !important;
}
#nwl-root .ht-l2 {
  transform: rotate(3.5deg) translateX(44px) !important;
}
#nwl-root .ht-l3 {
  transform: rotate(-2deg) translateX(24px) !important;
}

/* アイドルアニメ（nwl-idleクラス付与時） */
/* transformは各keyframesの中で定義するのでここでは指定しない */
#nwl-root .ht-l1.nwl-idle {
  animation: nwl-float1 3s ease-in-out infinite !important;
}
#nwl-root .ht-l2.nwl-idle {
  animation: nwl-float2 3.5s ease-in-out infinite 0.3s !important;
}
#nwl-root .ht-l3.nwl-idle {
  animation: nwl-wobble3 3s ease-in-out infinite 0.6s !important;
}

/* keyframesでtransformを完全に定義 */
@keyframes nwl-float1 {
  0%,100% { transform: rotate(-3deg) translateX(0px) translateY(0px) !important; }
  50%     { transform: rotate(-2.5deg) translateX(0px) translateY(-6px) !important; }
}
@keyframes nwl-float2 {
  0%,100% { transform: rotate(3.5deg) translateX(44px) translateY(0px) !important; }
  50%     { transform: rotate(4deg) translateX(44px) translateY(-5px) !important; }
}
@keyframes nwl-wobble3 {
  0%,100% { transform: rotate(-2deg) translateX(24px) scale(1) !important; }
  50%     { transform: rotate(-1deg) translateX(28px) scale(1.04) !important; }
}


/* ============================================================
   パッチ10 — アイドルアニメ最強版
   ============================================================ */

/* keyframesを上書き（!importantはkeyframes内では効かないので
   代わりにセレクタの特異度を最大にする） */
@keyframes nwl-float1 {
  0%,100% { transform: rotate(-3deg) translateX(0px) translateY(0px); }
  50%     { transform: rotate(-2.5deg) translateX(0px) translateY(-6px); }
}
@keyframes nwl-float2 {
  0%,100% { transform: rotate(3.5deg) translateX(44px) translateY(0px); }
  50%     { transform: rotate(4deg) translateX(44px) translateY(-5px); }
}
@keyframes nwl-wobble3 {
  0%,100% { transform: rotate(-2deg) translateX(24px) scale(1); }
  50%     { transform: rotate(-1deg) translateX(28px) scale(1.04); }
}

/* 通常状態のtransform（inlineを上書き） */
html body #nwl-root span.ht-l1 { transform: rotate(-3deg) translateX(0px) !important; }
html body #nwl-root span.ht-l2 { transform: rotate(3.5deg) translateX(44px) !important; }
html body #nwl-root span.ht-l3 { transform: rotate(-2deg) translateX(24px) !important; }

/* アイドル時（nwl-idleクラス付与） */
html body #nwl-root span.ht-l1.nwl-idle { animation: nwl-float1 3s ease-in-out infinite !important; }
html body #nwl-root span.ht-l2.nwl-idle { animation: nwl-float2 3.5s ease-in-out infinite 0.3s !important; }
html body #nwl-root span.ht-l3.nwl-idle { animation: nwl-wobble3 3s ease-in-out infinite 0.6s !important; }


/* ============================================================
   パッチ11 — アイドルアニメ（ラッパーdivなし・最強特異度）
   ============================================================ */

/* keyframesはtransformを含むrotateで完全定義 */
@keyframes nwl-f1 {
  0%,100% { transform: rotate(-3deg) translateX(0px) translateY(0px); }
  50%     { transform: rotate(-2.5deg) translateX(0px) translateY(-6px); }
}
@keyframes nwl-f2 {
  0%,100% { transform: rotate(3.5deg) translateX(44px) translateY(0px); }
  50%     { transform: rotate(4deg) translateX(44px) translateY(-5px); }
}
@keyframes nwl-f3 {
  0%,100% { transform: rotate(-2deg) translateX(24px) scale(1); }
  50%     { transform: rotate(-1deg) translateX(28px) scale(1.04); }
}

/* nwl-playingクラス付与時はtransformをアニメーションに委ねる */
/* !important x 最高特異度でCSSの固定transformに勝つ */
html body div#nwl-root h1.hero-title span.ht-line.ht-l1.nwl-playing {
  animation: nwl-f1 3s ease-in-out infinite !important;
  transform: rotate(-3deg) translateX(0px) translateY(0px) !important;
}
html body div#nwl-root h1.hero-title span.ht-line.ht-l2.nwl-playing {
  animation: nwl-f2 3.5s ease-in-out infinite 0.3s !important;
  transform: rotate(3.5deg) translateX(44px) translateY(0px) !important;
}
html body div#nwl-root h1.hero-title span.ht-line.ht-l3.nwl-playing {
  animation: nwl-f3 3s ease-in-out infinite 0.6s !important;
  transform: rotate(-2deg) translateX(24px) scale(1) !important;
}

/* ============================================================
   パッチ12 — カーソル修正
   ============================================================ */

/* サイト全体のデフォルトカーソルを非表示 */
html, body, #nwl-root, #nwl-root * {
  cursor: none !important;
}

/* カスタムカーソル本体 — backgroundはJSで制御するため!importantなし */
.cur {
  position: fixed !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 2147483647 !important;
  transform: translate(-50%, -50%) !important;
  transition: width .15s, height .15s, background .15s !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ============================================================
   パッチ13 — Chrome/Edge 表示統一 + トップへ戻るボタン
   ============================================================ */

/* ── 絵文字サイズ固定（Chromeでの肥大化防止） ── */
#nwl-root .pfc-ico {
  font-size: 32px !important;
  line-height: 1 !important;
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  margin-bottom: 12px !important;
  font-family: 'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',sans-serif !important;
}
#nwl-root .sns-ico {
  font-size: 24px !important;
  line-height: 1 !important;
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  margin-bottom: 6px !important;
  font-family: 'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',sans-serif !important;
  overflow: hidden !important;
}
#nwl-root .svc-ico {
  font-size: 22px !important;
  line-height: 1 !important;
  font-family: 'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',sans-serif !important;
}

/* ── Hero絵文字アイコン固定 ── */
#nwl-root .hero-eyebrow {
  font-size: clamp(14px, 2vw, 16px) !important;
  line-height: 1.4 !important;
}

/* ── ポートフォリオカード グリッド幅固定 ── */
#nwl-root .pfc {
  box-sizing: border-box !important;
  min-width: 0 !important;
}

/* ── SNSカード数字サイズ固定 ── */
#nwl-root .sns-num {
  font-size: 38px !important;
  line-height: 1 !important;
}

/* ── soc-links（ContactページのSNSリンク）アイコン統一 ── */
#nwl-root .soc-links a {
  box-sizing: border-box !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  align-items: center !important;
}
#nwl-root .soc-links a span {
  font-size: 15px !important;
  line-height: 1 !important;
  font-family: 'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji','Caveat',cursive !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* ── WordPress絵文字SVG画像サイズ固定（Chromeでの肥大化防止） ── */
#nwl-root img.emoji {
  width: 1em !important;
  height: 1em !important;
  display: inline !important;
  vertical-align: -0.1em !important;
  max-width: none !important;
  margin: 0 2px 0 0 !important;
}
#nwl-root .hero-eyebrow img.emoji {
  width: 18px !important;
  height: 18px !important;
}
#nwl-root .pfc-ico img.emoji {
  width: 32px !important;
  height: 32px !important;
  display: block !important;
}
#nwl-root .sns-ico img.emoji {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
}
#nwl-root .svc-ico img.emoji {
  width: 22px !important;
  height: 22px !important;
}

/* ── トップへ戻るボタン ── */
/* #nwl-back-to-top はJSのインラインスタイルで制御 */

/* ============================================================
   パッチ14 — スマホ完全対応
   ============================================================ */

/* ── スマホでカーソルを完全非表示 ── */
@media (max-width: 900px) {
  .cur {
    display: none !important;
  }
  html, body, #nwl-root, #nwl-root * {
    cursor: auto !important;
  }
}

/* ── ハンバーガーメニューボタン ── */
.nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: var(--ink);
  border: none;
  border-radius: 3px;
  cursor: pointer;
  padding: 0;
  box-shadow: 3px 3px 0 var(--p1);
  z-index: 300;
}
.nav-hamburger span {
  display: block;
  width: 22px;
  height: 3px;
  background: #fff;
  border-radius: 2px;
  transition: all .25s;
}
.nav-hamburger.open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.nav-hamburger.open span:nth-child(2) {
  opacity: 0;
}
.nav-hamburger.open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* ── ドロワーメニュー ── */
.nav-drawer {
  display: none;
  position: fixed;
  top: 60px;
  left: 0;
  right: 0;
  background: var(--w);
  border-bottom: 4px solid var(--ink);
  border-top: none;
  z-index: 250;
  padding: 8px 0;
  flex-direction: column;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}
.nav-drawer.open {
  display: flex;
}
.nav-drawer a {
  font-family: 'Permanent Marker', cursive;
  font-size: 18px;
  color: var(--ink) !important;
  text-decoration: none;
  padding: 14px 28px;
  border-bottom: 2px solid rgba(0,0,0,0.07);
  display: flex;
  align-items: center;
  gap: 12px;
  transition: background .15s;
}
.nav-drawer a:hover, .nav-drawer a:active {
  background: var(--off);
}
.nav-drawer a.drawer-cta {
  background: var(--ink);
  color: #fff !important;
  font-size: 18px;
  margin: 10px 20px 14px;
  border-radius: 3px;
  justify-content: center;
  border: 3px solid var(--ink);
  box-shadow: 3px 3px 0 var(--p1);
}

/* ── スマホ時ナビ調整 ── */
@media (max-width: 900px) {
  .nav-cta { display: none !important; }
  .nav-hamburger { display: flex !important; }
}

/* ── スマホ: SNSフォロワーアイコン修正 ── */
@media (max-width: 900px) {
  #nwl-root .sns-ico img.emoji,
  #nwl-root .sns-card img.emoji {
    width: 24px !important;
    height: 24px !important;
  }
  #nwl-root .sns-num {
    font-size: 32px !important;
  }
  #nwl-root .sns-card {
    padding: 14px 10px !important;
  }
}

/* ── スマホ: ブログカード修正 ── */
@media (max-width: 900px) {
  #nwl-root .blog-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  #nwl-root .blog-grid > div,
  #nwl-root .blog-grid > a {
    min-height: 120px !important;
    padding: 16px 14px !important;
  }
}

/* ── スマホ: ContactページのOverflow修正 ── */
@media (max-width: 900px) {
  #nwl-root .contact-sec {
    padding-left: 16px !important;
    padding-right: 16px !important;
    overflow-x: hidden !important;
  }
  #nwl-root .contact-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }
  #nwl-root .cform,
  #nwl-root .cf-in,
  #nwl-root .cf-sel,
  #nwl-root .cf-ta {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #nwl-root .soc-links a {
    padding: 10px 12px !important;
    font-size: 14px !important;
  }
}

/* ── スマホ: ヒーロー絵文字アイコン修正 ── */
@media (max-width: 900px) {
  #nwl-root .hero-eyebrow img.emoji {
    width: 16px !important;
    height: 16px !important;
  }
  #nwl-root .pfc-ico img.emoji {
    width: 28px !important;
    height: 28px !important;
  }
}

/* ── スマホ: 全体のoverflow防止 ── */
@media (max-width: 900px) {
  #nwl-root {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  #nwl-root .sec,
  #nwl-root .contact-sec,
  #nwl-root .shop-sec {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ============================================================
   パッチ15 — スマホ追加修正
   ============================================================ */

/* ── トップへ戻るボタン: スマホで小さく・半透明 ── */
@media (max-width: 900px) {
  #nwl-back-to-top {
    width: 40px !important;
    height: 40px !important;
    font-size: 16px !important;
    opacity: 0 !important;
    background: rgba(17,17,17,0.5) !important;
    box-shadow: 2px 2px 0 rgba(255,60,60,0.6) !important;
    bottom: 20px !important;
    right: 16px !important;
  }
}

/* ── お問い合わせフォーム横幅修正 ── */
@media (max-width: 900px) {
  #nwl-root .contact-inner {
    padding: 0 !important;
  }
  #nwl-root .cform > div {
    width: 100% !important;
  }
  #nwl-root .cf-in,
  #nwl-root .cf-sel,
  #nwl-root .cf-ta,
  #nwl-root .cf-sub {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
  #nwl-root .contact-sec > * {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}

/* ============================================================
   パッチ16 — スマホ Contact完全修正 + ナビ修正
   ============================================================ */

/* ── ContactボタンはPCで表示・スマホのみ非表示 ── */
@media (max-width: 900px) {
  #nwl-root .nav-cta,
  .nav-cta {
    display: none !important;
  }
}

/* ── ドロワーのContactボタンを見やすく ── */
.nav-drawer a.drawer-cta {
  background: var(--p1) !important;
  color: #fff !important;
  font-size: 20px !important;
  letter-spacing: 1px !important;
  border: 3px solid var(--ink) !important;
  box-shadow: 4px 4px 0 var(--ink) !important;
  margin: 12px 16px 16px !important;
  padding: 16px !important;
  justify-content: center !important;
  text-align: center !important;
}

/* ── スマホ: Contact全体の横幅完全修正 ── */
@media (max-width: 900px) {
  /* セクション自体 */
  #nwl-root .contact-sec {
    padding: 48px 16px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100vw !important;
  }
  /* グリッドを1列に */
  #nwl-root .contact-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  /* contact-inner直下の全要素 */
  #nwl-root .contact-inner > * {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
  /* プロフィールカード */
  #nwl-root .contact-inner > div:first-child > div {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  /* SNSリンク */
  #nwl-root .soc-links {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #nwl-root .soc-links a,
  #nwl-root .soc-links > a {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
  }
  /* フォーム全体 */
  #nwl-root .cform {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #nwl-root .cform > div {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #nwl-root .cf-in,
  #nwl-root .cf-sel,
  #nwl-root .cf-ta,
  #nwl-root .cf-sub {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
  }
  /* sec-accent(背景装飾)がはみ出さないよう */
  #nwl-root .contact-sec .sec-accent {
    overflow: hidden !important;
  }
}

/* ============================================================
   パッチ17 — Contactボタン: PCのみ表示・スマホ非表示
   ============================================================ */
@media (min-width: 901px) {
  #nwl-root .nav-cta {
    display: inline-block !important;
  }
}
@media (max-width: 900px) {
  #nwl-root .nav-cta,
  .nav-cta {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
}

/* ============================================================
   パッチ18 — ポートフォリオページ専用AFFINGERリセット
   ============================================================ */

/* ポートフォリオページでentry-contentの余白・背景をリセット */
.page-id-216 .entry-content,
.page-template-default .entry-content,
body.page #pf-page {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  background: #f8f5f0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* フィルターボタン — AFFINGERのnav/liスタイルをリセット */
#pf-page .pff {
  list-style: none !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 0 24px 40px !important;
  margin: 0 auto !important;
  max-width: 900px !important;
  justify-content: center !important;
  background: none !important;
  border: none !important;
}
#pf-page .pff button {
  display: inline-block !important;
  width: auto !important;
  float: none !important;
  text-align: center !important;
  line-height: normal !important;
  height: auto !important;
}

/* カードグリッド — AFFINGERのfloat等をリセット */
#pf-page .pfg {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  float: none !important;
  overflow: visible !important;
}
#pf-page .pfg::after,
#pf-page .pfg::before {
  display: none !important;
  content: none !important;
}

/* カード画像 — AFFINGERのimg/figureスタイルをリセット */
#pf-page .pfci {
  height: 170px !important;
  max-height: 170px !important;
  min-height: 170px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: row !important;
}
#pf-page .pfci img {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  height: 100% !important;
}

/* h1,h2のAFFINGER装飾をリセット */
#pf-page h1.pfh-ti {
  background: none !important;
  border: none !important;
  border-left: none !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
  font-size: clamp(34px, 7vw, 70px) !important;
  line-height: 1.2 !important;
  color: #111 !important;
}

/* カーソルをポートフォリオページでも有効化 */
.page-id-216 #nwl-root .cur,
body.page .cur {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
