.shj-notice{padding:.8em 1em;border-radius:6px;margin:1em 0;background:#f1f5f9;border-left:4px solid #64748b}
.shj-notice.shj-ok{background:#ecfdf5;border-color:#10b981}
.shj-notice.shj-err{background:#fef2f2;border-color:#ef4444}
.shj-form{background:#fffaf2;border:1px solid #f1e0c5;border-radius:8px;padding:1em 1.2em;margin:1em 0}
.shj-form .widefat{width:100%;box-sizing:border-box}
.shj-btn{background:#f97316;color:#fff;border:0;border-radius:999px;padding:.6em 1.6em;font-weight:700;cursor:pointer}
.shj-btn:hover{background:#ea580c}
.shj-small{font-size:.85em;color:#64748b}
.shj-cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.shj-cards li{border:1px solid #e5e7eb;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px;background:#fff}
.shj-review{border:1px solid #e5e7eb;border-radius:8px;padding:.8em 1.2em;margin:1em 0;background:#fff}
.shj-review h4{margin:.8em 0 .2em;font-size:1em;color:#c2410c}
.shj-stars,.shj-stars-big{color:#f59e0b;letter-spacing:.1em}
.shj-stars-big{font-size:1.2em;font-weight:700}
.shj-h{border-left:6px solid #f97316;padding-left:.6em;margin-top:2em}
.shj-pr{display:inline-block;background:#64748b;color:#fff;font-size:.75em;padding:0 .5em;border-radius:3px}
.shj-threads li{margin:.3em 0}

/* ===== トップページの彩り ===== */
.home .page-header,.home .entry-title,.home .breadcrumb{display:none}
.shj-hero{background:linear-gradient(120deg,#fff3c4 0%,#ffd9c7 45%,#ffc6e0 100%);border-radius:28px;padding:2.2em 1.4em 1.6em;margin:0 0 2.4em;overflow:hidden;position:relative}
.shj-hero:before,.shj-hero:after{content:"";position:absolute;border-radius:50%;opacity:.5}
.shj-hero:before{width:260px;height:260px;background:#fff;left:-90px;bottom:-110px}
.shj-hero:after{width:180px;height:180px;background:#ffe066;right:-50px;top:-60px}
.shj-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 1fr;gap:1em;align-items:center;max-width:1080px;margin:0 auto}
.shj-eyebrow{display:inline-block;background:#fff;color:#ef476f;font-weight:800;border-radius:999px;padding:.3em 1em;font-size:.9em;margin:0 0 .8em;box-shadow:0 3px 0 #ffb3c7}
.shj-hero-title{font-size:clamp(2em,5vw,3.4em);line-height:1.2;margin:0 0 .5em;color:#3b2a20;font-weight:900;letter-spacing:.02em;border:0;padding:0}
.shj-hero-title span{background:linear-gradient(transparent 62%,#ffd166 62%);padding:0 .1em}
.shj-hero-lead{font-size:1.08em;line-height:1.9;margin:0 0 1.2em;color:#4a3a30}
.shj-hero-lead strong{color:#ef476f}
.shj-hero-btns{display:flex;flex-wrap:wrap;gap:.8em;margin:0 0 .8em}
.shj-hero-note{font-size:.82em;color:#7a6658;margin:0}
.shj-hero-art{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 18px rgba(239,71,111,.18))}
a.shj-btn{display:inline-block;text-decoration:none;color:#fff}
.shj-btn-lg{padding:.85em 1.8em;font-size:1.05em;box-shadow:0 5px 0 #c2410c;transition:transform .15s,box-shadow .15s}
.shj-btn-lg:hover{transform:translateY(2px);box-shadow:0 3px 0 #c2410c;color:#fff}
.shj-btn-ghost{background:#fff;color:#ea580c!important;border:3px solid #f97316;box-shadow:0 5px 0 #fdba74}
.shj-btn-ghost:hover{color:#ea580c!important;box-shadow:0 3px 0 #fdba74}
.shj-btn-white{background:#fff;color:#ef476f!important;box-shadow:0 5px 0 #ffb3c7}
.shj-btn-white:hover{color:#ef476f!important;box-shadow:0 3px 0 #ffb3c7}
.shj-btn-ghost-w{background:transparent;color:#fff!important;border:3px solid #fff;box-shadow:none}
.shj-btn-ghost-w:hover{background:rgba(255,255,255,.18);color:#fff!important;box-shadow:none}
@keyframes shjfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes shjtw{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.shj-f1,.shj-f2,.shj-f3,.shj-f4{animation:shjfloat 4.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.shj-f2{animation-delay:-1.1s}.shj-f3{animation-delay:-2.2s;animation-duration:5s}.shj-f4{animation-delay:-3s;animation-duration:3.6s}
.shj-tw,.shj-tw2{animation:shjtw 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.shj-tw2{animation-delay:-1.2s}
@media (prefers-reduced-motion:reduce){.shj-f1,.shj-f2,.shj-f3,.shj-f4,.shj-tw,.shj-tw2{animation:none}}
.shj-sec-title{text-align:center;font-size:1.6em;font-weight:900;margin:2.4em 0 1em;color:#3b2a20;border:0;position:relative}
.shj-sec-title:after{content:"";display:block;width:90px;height:7px;border-radius:99px;margin:.45em auto 0;background:linear-gradient(90deg,#ff7a59,#ffd166,#2bb3a3,#5b6cff)}
.shj-cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.shj-cats li{border-radius:20px;transition:transform .2s;margin:0}
.shj-cats li:hover{transform:translateY(-5px) rotate(-1deg)}
.shj-cats a{display:flex;flex-direction:column;align-items:center;gap:.3em;padding:1.1em .4em;text-decoration:none;color:#3b2a20;font-weight:800}
.shj-cat-emoji{font-size:2.6em;line-height:1}
.shj-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0}
.shj-step{background:#fff;border-radius:20px;border-top:8px solid;padding:1.8em 1.2em 1.4em;text-align:center;position:relative;box-shadow:0 8px 20px rgba(0,0,0,.07)}
.shj-step-no{position:absolute;top:-22px;left:50%;transform:translateX(-50%);width:42px;height:42px;border-radius:50%;color:#fff;font-weight:900;font-size:1.3em;display:flex;align-items:center;justify-content:center;border:4px solid #fff}
.shj-step-emoji{font-size:2.8em;line-height:1.2}
.shj-step h3{margin:.3em 0;font-size:1.15em;border:0;padding:0}
.shj-step p{margin:0;color:#5b4b40;font-size:.95em}
.shj-voices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.shj-voice{border-radius:22px 22px 22px 4px;padding:1.2em 1.2em 1em}
.shj-voice p{margin:.4em 0 0}
.shj-cta{background:linear-gradient(120deg,#ff7a59,#ef476f 55%,#a259ff);color:#fff;border-radius:28px;text-align:center;padding:2.4em 1em;margin:2.6em 0 1em}
.shj-cta h2{color:#fff;margin:0 0 .3em;font-size:1.8em;border:0;background:none;padding:0}
.shj-cta p{margin:.4em 0}
.shj-cards li{border-width:2px;border-color:#ffe0b8;box-shadow:0 4px 0 #ffe0b8}
.shj-cards li:nth-child(3n+2){border-color:#c8f0e6;box-shadow:0 4px 0 #c8f0e6}
.shj-cards li:nth-child(3n){border-color:#d9defe;box-shadow:0 4px 0 #d9defe}
@media (max-width:760px){
 .shj-hero-inner{grid-template-columns:1fr}
 .shj-hero-art-wrap{order:-1;max-width:420px;margin:0 auto}
 .shj-cats{grid-template-columns:repeat(2,1fr)}
 .shj-steps,.shj-voices{grid-template-columns:1fr}
 .shj-step{margin-top:22px}
}

/* 微調整 */
.shj-hero-title{font-size:clamp(1.7em,3.6vw,2.7em);word-break:keep-all;line-break:strict}
.shj-step h3:before,.shj-step h3:after,.shj-cta h2:before,.shj-cta h2:after,.shj-hero-title:before,.shj-hero-title:after{display:none!important;content:none!important}
.shj-step h3{background:none;box-shadow:none}
.shj-voices{margin-bottom:.8em}
.shj-empty{background:linear-gradient(120deg,#fff3c4,#ffd9c7);border-radius:20px;text-align:center;padding:1.6em 1em;font-weight:700;color:#3b2a20}
.shj-empty a{color:#ef476f}

/* ===== シェア・反応ボタン ===== */
.shj-social{margin:1.6em 0;padding:1em 1.1em;background:#fffaf2;border:1px solid #f6e4c8;border-radius:16px}
.shj-reacts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:.9em}
.shj-react{display:inline-flex;align-items:center;gap:.4em;padding:.5em 1.05em;border-radius:999px;border:2px solid #f0d9b9;background:#fff;color:#7a5a3a;font-weight:800;font-size:.95em;line-height:1;cursor:pointer;transition:transform .12s,background .15s,border-color .15s,color .15s}
.shj-react:hover{transform:translateY(-2px)}
.shj-react .shj-r-count{min-width:1.4em;padding:.2em .5em;border-radius:99px;background:#f6ece0;color:#7a5a3a;font-size:.85em;text-align:center}
.shj-r-like.is-on{background:#ff7a59;border-color:#ff7a59;color:#fff}
.shj-r-want.is-on{background:#2bb3a3;border-color:#2bb3a3;color:#fff}
.shj-r-fan.is-on{background:#ef476f;border-color:#ef476f;color:#fff}
.shj-react.is-on .shj-r-count{background:rgba(255,255,255,.28);color:#fff}
.shj-react.shj-pop{animation:shjpop .35s ease}
@keyframes shjpop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
.shj-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.shj-share-label{font-weight:800;color:#7a5a3a;font-size:.9em;margin-right:.2em}
.shj-share-btn{display:inline-flex;padding:0;border:0;background:none;cursor:pointer;line-height:0;border-radius:50%;transition:transform .12s}
.shj-share-btn:hover{transform:translateY(-2px) scale(1.06)}
.shj-copied{font-size:.85em;color:#2bb3a3;font-weight:700}
@media (prefers-reduced-motion:reduce){.shj-react,.shj-share-btn{transition:none}.shj-react.shj-pop{animation:none}}
