/* =========================================================
   TRICO Theme — Frontend & Block Editor Styles
   ========================================================= */

:root{
  --trico-navy:#0F2A45;
  --trico-blue:#1F6BEF;
  --trico-blue-deep:#155CD3;
  --trico-blue-soft:#CFE0FB;
  --trico-blue-pale:#E7F0FD;
  --trico-mint:#8DD0B7;
  --trico-mint-soft:#D6ECE0;
  --trico-mint-pale:#EBF6F0;
  --trico-orange:#F2802A;
  --trico-orange-soft:#FAD7BD;
  --trico-orange-pale:#FCEAD9;
  --trico-cream:#F7E8B0;
  --trico-cream-soft:#FBF1CF;
  --trico-ink:#1F2D44;
  --trico-ink-mid:#465872;
  --trico-ink-soft:#7A8AA1;
  --trico-line:#E6ECF2;
  --trico-bg:#FBF9F4;
  --trico-card:#FFFFFF;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  color:var(--trico-ink);
  background:var(--trico-bg);
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"palt";
  line-height:1.7;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

.trico-wrap{max-width:980px;margin:0 auto;padding:0 28px;position:relative}

/* ====================================================
   SITE HEADER（PHPテンプレート）
==================================================== */
.trico-site-header{padding:18px 0 6px;background:var(--trico-bg)}
.trico-header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.trico-logo{display:flex;align-items:center;gap:10px}
.trico-logo-stack{display:flex;flex-direction:column}
.trico-logo-mark{width:42px;height:34px;flex:0 0 42px}
.trico-logo-text{
  font-family:"M PLUS Rounded 1c","Zen Maru Gothic",sans-serif;
  font-weight:900;font-size:30px;letter-spacing:.04em;color:var(--trico-ink);line-height:1;
  display:block;
}
.trico-logo-tag{font-size:10px;color:var(--trico-ink-soft);margin-top:3px;letter-spacing:.04em;display:block}
.trico-nav-main .trico-menu{
  list-style:none;margin:0;padding:0;
  display:flex;align-items:center;gap:24px;font-size:13px;font-weight:500;
}
.trico-nav-main a{color:var(--trico-ink)}
.trico-nav-main a:hover{color:var(--trico-blue)}

/* ====================================================
   COMMON BUTTONS（.trico-btn-cta / .trico-btn-ghost）
   Applied to ボタンブロック via additionalClassName
==================================================== */
.trico-btn-cta .wp-block-button__link,
a.trico-btn-cta,
.trico-header-cta{
  display:inline-flex !important;
  align-items:center;gap:8px;
  background:var(--trico-blue) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:999px !important;
  padding:14px 26px !important;
  font-size:13.5px !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  box-shadow:0 6px 14px rgba(31,107,239,.32);
  transition:transform .2s, box-shadow .2s, background .2s;
  text-decoration:none;
  white-space:nowrap;
}
.trico-btn-cta .wp-block-button__link:hover,
a.trico-btn-cta:hover,
.trico-header-cta:hover{
  background:var(--trico-blue-deep) !important;
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(31,107,239,.4);
}

.trico-btn-ghost .wp-block-button__link,
a.trico-btn-ghost{
  display:inline-flex !important;
  align-items:center;gap:12px;
  background:#fff !important;
  color:var(--trico-ink) !important;
  border:1px solid #CFD7E1 !important;
  border-radius:999px !important;
  padding:13px 22px !important;
  font-size:13px !important;
  font-weight:600 !important;
  text-decoration:none;
}
.trico-btn-ghost .wp-block-button__link:hover,
a.trico-btn-ghost:hover{
  border-color:var(--trico-blue) !important;
  color:var(--trico-blue) !important;
}

/* ====================================================
   SECTION TITLE（共通）
==================================================== */
.trico-section-title{
  font-family:"M PLUS Rounded 1c","Zen Maru Gothic",sans-serif !important;
  font-weight:900 !important;
  font-size:28px !important;
  letter-spacing:.08em;
  margin:0 0 30px !important;
  color:var(--trico-ink) !important;
}

/* ====================================================
   HERO
==================================================== */
.trico-hero{padding:14px 0 60px !important;margin:0 !important}
.trico-hero-grid{align-items:flex-start !important;gap:28px !important;margin-bottom:0 !important}
.trico-hero-tag{
  font-family:"Yomogi",sans-serif !important;
  font-size:17px !important;
  color:var(--trico-blue) !important;
  letter-spacing:.02em;
  border-bottom:1.4px solid var(--trico-blue);
  padding-bottom:6px !important;
  display:inline-block;
  margin:8px 0 18px !important;
}
.trico-hero-title{
  font-family:"M PLUS Rounded 1c","Zen Maru Gothic",sans-serif !important;
  font-weight:900 !important;
  font-size:58px !important;
  line-height:1.16 !important;
  letter-spacing:.01em;
  margin:0 0 22px !important;
  color:var(--trico-ink) !important;
}
.trico-hero-title em{font-style:normal;color:var(--trico-blue)}
.trico-hero-lead{
  font-size:14.5px !important;
  line-height:2 !important;
  color:var(--trico-ink) !important;
  margin:0 0 26px !important;
}
.trico-hero-ctas{gap:14px !important;align-items:center;margin-top:0 !important}

.trico-hero-photo-wrap{position:relative;margin:0 !important}
.trico-hero-photo{margin:0 !important}
.trico-hero-photo img{
  width:100%;
  aspect-ratio:1.55/1;
  object-fit:cover;
  object-position:left center;
  border-radius:10px;
  display:block;
  box-shadow:0 6px 18px rgba(34,50,74,.08);
}
.trico-speech-bubble{
  position:absolute;right:-2px;bottom:-30px;
  background:#fff;border:1.5px solid var(--trico-blue);border-radius:999px;
  padding:11px 16px;font-size:10.5px;font-weight:700;color:var(--trico-ink);
  line-height:1.65;text-align:center;width:152px;z-index:3;
}
.trico-speech-bubble::after{
  content:"";position:absolute;left:24px;top:-9px;
  width:14px;height:14px;background:#fff;
  border-left:1.5px solid var(--trico-blue);border-top:1.5px solid var(--trico-blue);
  transform:rotate(45deg);
}

/* ====================================================
   SERVICES
==================================================== */
.trico-services{padding:60px 0 50px !important;margin:0 !important}
.trico-svc-grid{gap:14px !important;margin:0 !important}
.trico-svc-grid > .wp-block-column{flex-basis:25%;min-width:0}
.trico-svc-card{
  background:#fff;
  border:1px solid var(--trico-line);
  border-radius:12px;
  padding:28px 18px 22px !important;
  text-align:center;
  height:100%;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.trico-svc-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(34,50,74,.08);border-color:#D5DDE6}
.trico-svc-title{
  font-family:"M PLUS Rounded 1c","Zen Maru Gothic",sans-serif !important;
  font-weight:900 !important;
  font-size:19px !important;
  letter-spacing:.05em;
  margin:12px 0 12px !important;
}
.trico-svc-desc{font-size:12px !important;color:var(--trico-ink-mid) !important;line-height:1.95 !important;margin:0 !important}

.trico-icon-circle{
  width:84px;height:84px;border-radius:50%;
  margin:0 auto 16px;
  display:flex;align-items:center;justify-content:center;
}
.trico-icon-blue  {background:var(--trico-blue-pale)}
.trico-icon-mint  {background:var(--trico-mint-pale)}
.trico-icon-cream {background:var(--trico-cream-soft)}
.trico-icon-orange{background:var(--trico-orange-pale)}

/* ====================================================
   WORKS
==================================================== */
.trico-works{padding:18px 0 46px !important;margin:0 !important}
.trico-works-grid{gap:14px !important;margin:0 !important}
.trico-works-grid > .wp-block-column{flex-basis:25%;min-width:0}
.trico-work-card{gap:10px !important}
.trico-work-thumb{
  margin:0 !important;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 3px 10px rgba(34,50,74,.06);
}
.trico-work-thumb img{width:100%;aspect-ratio:4/2.55;object-fit:cover;display:block}
.trico-work-foot{display:flex;align-items:center;gap:8px;margin-top:10px !important}
.trico-work-title{font-size:13px !important;font-weight:700 !important;color:var(--trico-ink) !important;margin:0 !important}
.trico-tag-med,
.trico-tag-food,
.trico-tag-life,
.trico-tag-hr{
  font-size:10px !important;font-weight:700 !important;letter-spacing:.08em;
  padding:3px 8px;border-radius:3px;color:#fff !important;margin:0 !important;
  display:inline-block;
}
.trico-tag-med {background:#9BAFC5}
.trico-tag-food{background:var(--trico-orange)}
.trico-tag-life{background:#E89989}
.trico-tag-hr  {background:#9DA3AC}

/* ====================================================
   REASONS
==================================================== */
.trico-reasons{padding:30px 0 46px !important;margin:0 !important}
.trico-reason-grid{gap:14px !important;margin:0 !important}
.trico-reason-grid > .wp-block-column{flex-basis:25%;min-width:0}
.trico-reason-card{
  background:#fff;border:1px solid var(--trico-line);border-radius:10px;
  padding:26px 18px 22px !important;text-align:center;height:100%;
  transition:transform .2s, box-shadow .2s;
}
.trico-reason-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(34,50,74,.06)}
.trico-reason-icon{width:72px;height:72px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center}
.trico-reason-title{
  font-family:"M PLUS Rounded 1c","Zen Maru Gothic",sans-serif !important;
  font-size:14.5px !important;font-weight:900 !important;
  letter-spacing:.04em;
  display:inline-block !important;padding:0 4px 3px !important;
  background-image:linear-gradient(transparent 70%, var(--trico-blue-soft) 70%);
  margin:0 0 6px !important;
}
.trico-reason-mint   .trico-reason-title{background-image:linear-gradient(transparent 70%, var(--trico-mint-soft) 70%)}
.trico-reason-cream  .trico-reason-title{background-image:linear-gradient(transparent 70%, var(--trico-cream) 70%)}
.trico-reason-orange .trico-reason-title{background-image:linear-gradient(transparent 70%, var(--trico-orange-soft) 70%)}
.trico-reason-desc{font-size:11.5px !important;color:var(--trico-ink-mid) !important;line-height:1.95 !important;margin:14px 0 0 !important}

/* ====================================================
   VOICE
==================================================== */
.trico-voices{padding:50px 0 46px !important;margin:0 !important}
.trico-voice-grid{gap:16px !important;margin:0 !important}
.trico-voice-grid > .wp-block-column{flex-basis:33.333%;min-width:0}
.trico-voice-card{
  background:#fff;border:1px solid var(--trico-line);border-radius:10px;
  padding:34px 22px 22px !important;position:relative;height:100%;
}
.trico-voice-card::before{
  content:"\201D";
  position:absolute;left:14px;top:6px;
  font-family:"Kaisei Decol",serif;color:var(--trico-blue);
  font-size:54px;font-weight:700;line-height:1;
}
.trico-voice-body{font-size:12px !important;line-height:1.95 !important;color:var(--trico-ink) !important;margin:0 0 18px !important}
.trico-voice-foot{align-items:center !important;gap:12px !important;margin:0 !important}
.trico-voice-avatar{width:46px;height:46px;border-radius:50%;background:#E6ECF3;flex:0 0 46px}
.trico-voice-name{font-size:12px !important;font-weight:700 !important;color:var(--trico-ink) !important;margin:0 !important;line-height:1.5}
.trico-voice-area{font-size:11px !important;color:var(--trico-ink-soft) !important;margin:0 !important;line-height:1.4}

/* ====================================================
   PLANS
==================================================== */
.trico-plans{padding:30px 0 46px !important;margin:0 !important}
.trico-plan-grid{gap:14px !important;align-items:end !important;margin:0 !important}
.trico-plan-grid > .wp-block-column{flex-basis:33.333%;min-width:0}
.trico-plan{
  background:#fff;border:1px solid var(--trico-line);border-radius:10px;
  padding:30px 24px 22px !important;position:relative;height:100%;
}
.trico-plan-popular{border:2px solid var(--trico-mint);transform:translateY(-14px)}
.trico-plan-badge{
  position:absolute;top:-12px;left:16px;
  background:var(--trico-cream) !important;color:var(--trico-ink) !important;
  font-size:11px !important;font-weight:700 !important;
  padding:5px 12px !important;border-radius:4px;letter-spacing:.05em;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
  margin:0 !important;
  display:inline-block;
}
.trico-plan-name{
  font-family:"M PLUS Rounded 1c","Zen Maru Gothic",sans-serif !important;
  font-weight:900 !important;font-size:18px !important;
  letter-spacing:.06em;margin:0 0 3px !important;
}
.trico-plan-name-blue  {color:var(--trico-blue) !important}
.trico-plan-name-mint  {color:#3DAA8B !important}
.trico-plan-name-orange{color:var(--trico-orange) !important}
.trico-plan-sub{font-size:11px !important;color:var(--trico-ink-mid) !important;line-height:1.6 !important;margin:0 0 14px !important}
.trico-plan-price{
  font-family:"M PLUS Rounded 1c","Zen Maru Gothic",sans-serif !important;
  font-weight:900 !important;font-size:30px !important;color:var(--trico-ink) !important;
  letter-spacing:.02em;margin:4px 0 16px !important;
}
.trico-plan-price small{font-size:10.5px;font-weight:500;color:var(--trico-ink-soft);margin-left:4px}
.trico-plan-list{
  list-style:none !important;margin:0 0 16px !important;padding:0 !important;
  border-top:1px solid var(--trico-line);
}
.trico-plan-list li{
  font-size:12px !important;padding:11px 0 11px 24px !important;
  border-bottom:1px solid var(--trico-line);position:relative;
  color:var(--trico-ink) !important;
}
.trico-plan-list li::before{
  content:"";position:absolute;left:2px;top:14px;width:13px;height:7px;
  border-left:2px solid var(--trico-blue);border-bottom:2px solid var(--trico-blue);
  transform:rotate(-45deg);
}
.trico-plan-std  .trico-plan-list li::before{border-color:var(--trico-mint)}
.trico-plan-pre  .trico-plan-list li::before{border-color:var(--trico-orange)}

.trico-plan-btn-blue   .wp-block-button__link{background:var(--trico-blue) !important;color:#fff !important;border-radius:999px !important;font-weight:700 !important;font-size:12.5px !important;padding:11px 24px !important;width:100%;text-align:center;box-shadow:0 6px 14px rgba(31,107,239,.32)}
.trico-plan-btn-mint   .wp-block-button__link{background:var(--trico-mint) !important;color:#0a3324 !important;border-radius:999px !important;font-weight:700 !important;font-size:12.5px !important;padding:11px 24px !important;width:100%;text-align:center;box-shadow:0 6px 14px rgba(141,208,183,.4)}
.trico-plan-btn-orange .wp-block-button__link{background:var(--trico-orange) !important;color:#fff !important;border-radius:999px !important;font-weight:700 !important;font-size:12.5px !important;padding:11px 24px !important;width:100%;text-align:center;box-shadow:0 6px 14px rgba(242,128,42,.32)}

.trico-plan-note{font-size:11px !important;color:var(--trico-ink-mid) !important;margin-top:24px !important}

/* ====================================================
   FOOTER CTA
==================================================== */
.trico-footer-cta{
  background:#FBF1DD !important;
  border-top:2px dashed #E5CFA1;
  border-bottom:2px dashed #E5CFA1;
  padding:28px !important;margin-top:46px !important;
}
.trico-footer-cta-inner{
  align-items:center !important;
  gap:20px !important;
  margin:0 !important;
}
.trico-footer-cta-lead{flex:1 1 320px;margin:0 !important;gap:8px !important}
.trico-badge-handwrite{
  font-family:"Yomogi",sans-serif !important;
  color:var(--trico-ink) !important;
  font-size:14px !important;
  background:#fff;border-radius:999px;padding:5px 14px;
  display:inline-block;box-shadow:0 2px 4px rgba(34,50,74,.06);
  margin:0 0 8px !important;
}
.trico-footer-cta-heading{
  font-family:"M PLUS Rounded 1c","Zen Maru Gothic",sans-serif !important;
  font-weight:900 !important;font-size:21px !important;
  line-height:1.5 !important;letter-spacing:.03em;
  color:var(--trico-ink) !important;
  margin:0 !important;
}
.trico-chip-row{flex:1 1 200px;gap:8px !important;margin:0 !important}
.trico-chip{
  background:#fff !important;
  border-radius:999px;
  padding:7px 14px !important;
  font-size:11.5px !important;font-weight:600 !important;
  color:var(--trico-ink) !important;
  margin:0 !important;
  display:inline-block;
  box-shadow:0 1px 0 rgba(34,50,74,.05);
}

/* ====================================================
   SITE FOOTER
==================================================== */
.trico-site-footer{padding:26px 0 36px;text-align:center;font-size:11px;color:var(--trico-ink-soft)}
.trico-footer-menu{
  list-style:none;margin:0 0 14px;padding:0;
  display:flex;justify-content:center;gap:18px;font-size:12px;
}
.trico-footer-menu a:hover{color:var(--trico-blue)}
.trico-copyright{margin:0}

/* ====================================================
   PAGE & BLOG
==================================================== */
.trico-page-main{padding:40px 0 60px}
.trico-page-header{margin-bottom:30px;text-align:center}
.trico-page-title{
  font-family:"M PLUS Rounded 1c",sans-serif;
  font-weight:900;font-size:32px;margin:0;color:var(--trico-ink);
}
.trico-post-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.trico-post-card{background:#fff;border:1px solid var(--trico-line);border-radius:12px;overflow:hidden}
.trico-post-thumb img{width:100%;height:auto;display:block}
.trico-post-body{padding:18px 20px}
.trico-post-title{font-size:18px;margin:0 0 6px}
.trico-post-title a{color:var(--trico-ink)}
.trico-post-title a:hover{color:var(--trico-blue)}
.trico-post-meta{font-size:11px;color:var(--trico-ink-soft);margin-bottom:8px}
.trico-post-excerpt{font-size:13px;color:var(--trico-ink-mid);line-height:1.8}

/* ====================================================
   Gutenberg / Editor overrides
==================================================== */
/* WordPressのcolumns gapを潰さず維持しつつ、デフォルトのmargin-top 1.75emを除去 */
.trico-page-content > .wp-block-group,
.entry-content > .wp-block-group{margin-top:0 !important}

/* セクション内のすべてのwp-block-groupでデフォルトmarginを除去 */
.trico-hero, .trico-services, .trico-works, .trico-reasons,
.trico-voices, .trico-plans, .trico-footer-cta{
  max-width:none !important;
}
.trico-hero > .wp-block-columns,
.trico-services > .wp-block-columns,
.trico-works > .wp-block-columns,
.trico-reasons > .wp-block-columns,
.trico-voices > .wp-block-columns,
.trico-plans > .wp-block-columns{
  max-width:980px;margin-left:auto !important;margin-right:auto !important;padding:0 28px;
}
.trico-hero > .trico-section-title,
.trico-services > .trico-section-title,
.trico-works > .trico-section-title,
.trico-reasons > .trico-section-title,
.trico-voices > .trico-section-title,
.trico-plans > .trico-section-title{
  max-width:980px;margin-left:auto !important;margin-right:auto !important;padding:0 28px;text-align:center;
}
.trico-plans > .trico-plan-note,
.trico-footer-cta > .trico-footer-cta-inner{
  max-width:980px;margin-left:auto !important;margin-right:auto !important;padding:0 28px;
}

/* レスポンシブ */
@media(max-width:782px){
  .trico-hero-title{font-size:38px !important}
  .trico-header-row{gap:12px}
  .trico-nav-main{order:3;width:100%;overflow-x:auto}
  .trico-nav-main .trico-menu{gap:14px;font-size:12px;justify-content:flex-start}
  .trico-svc-grid > .wp-block-column,
  .trico-works-grid > .wp-block-column,
  .trico-reason-grid > .wp-block-column{flex-basis:50% !important}
  .trico-voice-grid > .wp-block-column,
  .trico-plan-grid > .wp-block-column{flex-basis:100% !important}
  .trico-plan-popular{transform:none}
  .trico-speech-bubble{position:static;width:auto;display:inline-block;margin-top:10px}
  .trico-speech-bubble::after{display:none}
  .trico-post-list{grid-template-columns:1fr}
}

/* =========================================================
   DECORATIONS — v1.1 で追加
   ========================================================= */

/* セクションを基準にする */
.trico-hero,
.trico-services,
.trico-works,
.trico-reasons,
.trico-voices,
.trico-plans,
.trico-footer-cta{
  position:relative !important;
}

/* ---------- 背景デコ（trico-deco-bg）---------- */
.trico-deco-bg{
  position:absolute;
  pointer-events:none;
  z-index:0;
}
.trico-deco-bg svg{width:100%;height:100%;display:block;overflow:visible}

/* HERO 背景デコ位置 */
.trico-deco-hero-1{left:0;top:60px;width:80px;height:50px}
.trico-deco-hero-2{left:-48px;top:300px;width:120px;height:120px}
.trico-deco-hero-3{left:280px;top:380px;width:40px;height:20px}

/* SERVICES 背景デコ */
.trico-deco-svc-1{left:0;top:0;width:80px;height:50px}
.trico-deco-svc-2{right:0;top:120px;width:100px;height:100px}

/* REASONS 背景デコ */
.trico-deco-reason-1{left:0;top:60px;width:80px;height:40px}
.trico-deco-reason-2{right:0;top:6px;width:110px;height:90px}

/* VOICE 背景デコ */
.trico-deco-voice-1{left:8px;top:34px;width:54px;height:46px}

.trico-hero > .wp-block-columns,
.trico-services > *,
.trico-works > *,
.trico-reasons > *,
.trico-voices > *,
.trico-plans > *{position:relative;z-index:1}

/* ---------- セクション見出しエリア ---------- */
.trico-section-head{
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  max-width:980px !important;
  margin:0 auto 30px !important;
  padding:0 28px;
  flex-wrap:nowrap !important;
}
.trico-section-head .trico-section-title{
  margin:0 !important;
  text-align:center !important;
  white-space:nowrap;
}
.trico-deco-left,
.trico-deco-right{
  flex:0 0 110px;
  width:110px;
  height:32px;
  margin:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.trico-deco-left svg,
.trico-deco-right svg{width:100%;height:100%;display:block;overflow:visible}

/* セクション直下のH2マージン除去（パターン外で置かれた場合のフォールバック） */
.trico-services > .trico-section-title,
.trico-works > .trico-section-title,
.trico-reasons > .trico-section-title,
.trico-voices > .trico-section-title,
.trico-plans > .trico-section-title{
  margin-bottom:30px !important;
}

/* ---------- ヒーロー手書きタグ（SVG下線）---------- */
.trico-hero-tag{
  font-family:"Yomogi",sans-serif !important;
  font-size:17px !important;
  color:var(--trico-blue) !important;
  letter-spacing:.02em;
  display:inline-block !important;
  position:relative;
  padding:0 8px 18px !important;
  margin:8px 0 6px !important;
  border-bottom:0 !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 290 14' preserveAspectRatio='none' fill='none'><path d='M2 2 Q40 14 145 12 T288 4' stroke='%231F6BEF' stroke-width='1.4' fill='none' stroke-linecap='round'/><path d='M138 12 l4 4 l-4 -4 Z M142 13 l4 -4' stroke='%231F6BEF' stroke-width='1.4' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;
  background-position:left bottom;
  background-size:100% 14px;
}

/* ---------- ヒーロー女の子イラスト ---------- */
.trico-girl-illust{
  position:absolute;
  right:-46px;bottom:-26px;
  width:64px;height:78px;
  z-index:4;
  pointer-events:none;
}

/* ---------- サービスカード矢印 ---------- */
.trico-svc-arrow{
  width:28px;height:28px;border-radius:50%;
  margin:14px auto 0;
  display:flex;align-items:center;justify-content:center;
  background:var(--trico-blue);color:#fff;
}
.trico-svc-grid > .wp-block-column:nth-child(2) .trico-svc-arrow{background:var(--trico-mint)}
.trico-svc-grid > .wp-block-column:nth-child(3) .trico-svc-arrow{background:var(--trico-cream);color:var(--trico-ink)}
.trico-svc-grid > .wp-block-column:nth-child(4) .trico-svc-arrow{background:var(--trico-orange)}
.trico-svc-arrow svg{width:11px;height:11px;display:block}

/* ---------- 実績の上のViewAllボタン ---------- */
.trico-works-top{
  margin:6px 28px 14px 0 !important;
  max-width:980px;
  margin-left:auto !important;
  padding-right:28px;
}
.trico-works-top .wp-block-button__link{
  font-size:12.5px !important;padding:11px 22px !important;
}

/* ---------- 料金プランアイコン ---------- */
.trico-plan-icon{
  width:68px;height:60px;
  margin:6px auto 4px !important;
  display:flex;align-items:center;justify-content:center;
}
.trico-plan-icon svg{width:100%;height:100%;display:block}

/* ---------- 人気No.1バッジ 星マーク ---------- */
.trico-plan-badge{
  display:inline-flex !important;
  align-items:center;gap:5px;
}
.trico-plan-badge::before{
  content:"";
  width:11px;height:11px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2 L14.7 8.9 L22 9.5 L16.3 14.2 L18 21 L12 17.3 L6 21 L7.7 14.2 L2 9.5 L9.3 8.9 Z' fill='%23F2802A'/></svg>") center/contain no-repeat;
  flex:0 0 11px;
}

/* ---------- フッターCTA：人物 + ガーランド ---------- */
.trico-footer-cta{overflow:hidden}
.trico-garland{
  position:absolute;
  right:24px;top:6px;
  width:170px;height:54px;
  z-index:1;
  pointer-events:none;
}
.trico-person-illust{
  position:absolute;
  left:-14px;bottom:-30px;
  width:118px;height:148px;
  z-index:2;
  pointer-events:none;
}
.trico-footer-cta-lead{
  position:relative;
  padding-left:128px !important;
  min-height:120px;
}

/* ---------- 改 工夫: 黄色の点グリッドや小さな丸を散りばめる ---------- */
.trico-hero::before{
  content:"";
  position:absolute;
  right:60px;top:80px;
  width:18px;height:18px;border-radius:50%;
  background:rgba(250,215,189,.9);
  z-index:0;pointer-events:none;
}
.trico-hero::after{
  content:"";
  position:absolute;
  right:30px;top:106px;
  width:12px;height:12px;border-radius:50%;
  background:#CFE0FB;
  z-index:0;pointer-events:none;
}
.trico-services::before{
  content:"";
  position:absolute;
  left:160px;bottom:30px;
  width:10px;height:10px;border-radius:50%;
  background:#FAD7BD;
  z-index:0;pointer-events:none;
}
.trico-plans::before{
  content:"";
  position:absolute;
  left:30px;top:30px;
  width:80px;height:50px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 50' fill='%23F2C744'><circle cx='4' cy='6' r='2'/><circle cx='16' cy='6' r='2'/><circle cx='28' cy='6' r='2'/><circle cx='4' cy='18' r='2'/><circle cx='16' cy='18' r='2'/><circle cx='4' cy='30' r='2'/></svg>") center/contain no-repeat;
  opacity:.7;z-index:0;pointer-events:none;
}
.trico-voices::after{
  content:"";
  position:absolute;
  right:30px;bottom:30px;
  width:60px;height:60px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='none'><path d='M6 30 q8 -14 16 0 t16 0 t16 0' stroke='%238DD0B7' stroke-width='1.4' stroke-linecap='round'/></svg>") center/contain no-repeat;
  z-index:0;pointer-events:none;
}

/* ---------- 小型デバイスでデコを隠す ---------- */
@media(max-width:782px){
  .trico-deco-bg,
  .trico-girl-illust,
  .trico-person-illust,
  .trico-garland,
  .trico-hero::before,
  .trico-hero::after,
  .trico-services::before,
  .trico-plans::before,
  .trico-voices::after{display:none}
  .trico-section-head{flex-wrap:wrap !important;gap:6px !important}
  .trico-deco-left, .trico-deco-right{flex:0 0 60px;width:60px;height:20px}
  .trico-footer-cta-lead{padding-left:0 !important}
}
