/* ============================================================
   イマココラボ Case Studies — 専用スタイル
   テーマの .btn-primary / .section-container / .bread_crumb は再利用。
   本文(投稿コンテンツ)内でも同じクラスを使用します。
   ============================================================ */
:root{
  --imcs-ink:#1D1B1B;
  --imcs-grad:linear-gradient(90deg,#2AABCC,#00FFE7 200%);
}
.imcs-grad{background:var(--imcs-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#2AABCC;width:fit-content}
.imcs-ar-img{width:16px;height:16px;margin-left:8px;display:inline-block;vertical-align:middle}

/* ---- 見出し(TOP/一覧共通) ---- */
.imcs-h2{font-family:'Montserrat','Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-weight:700;font-size:96px;line-height:1.2}
.imcs-jp{font-family:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-size:24px;font-weight:600;color:var(--imcs-ink)}

/* ---- カード ---- */
.imcs-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:40px}
.imcs-card{background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 8px 28px rgba(29,27,27,.08);text-decoration:none;color:var(--imcs-ink);
  transition:transform .25s ease,box-shadow .25s ease}
.imcs-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(29,27,27,.13)}
.imcs-card:focus-visible{outline:3px solid #2AABCC;outline-offset:3px}
.imcs-visual{aspect-ratio:3/2;width:100%;object-fit:cover;display:block;background:#F6F9F8}
.imcs-visual--ph{display:flex;align-items:center;justify-content:center;color:#fff;
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;letter-spacing:.06em;
  background:linear-gradient(90deg,#2AABCC,#00FFE7 200%)}
.imcs-cbody{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.imcs-tags{display:flex;flex-wrap:wrap;gap:6px}
.imcs-tags span{font-size:12px;font-weight:500;background:#F1F4F3;border-radius:999px;padding:3px 12px;color:#4a4747}
.imcs-q{font-size:18px;font-weight:700;line-height:1.7;margin:0}
.imcs-chips{display:flex;flex-wrap:wrap;gap:6px}
.imcs-chips span{font-family:'Montserrat','Noto Sans JP',sans-serif;font-size:12px;font-weight:600;color:#0E7D96;background:#E6FAF6;border-radius:999px;padding:4px 12px}
.imcs-cdesc{font-size:15px;font-weight:400;line-height:1.9;margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.imcs-client{font-size:13px;color:#8a8686;line-height:1.7;margin:0}
.imcs-client b{color:var(--imcs-ink);font-weight:600}
.imcs-more{margin-top:auto;padding-top:16px;text-align:center}
@media(min-width:768px){.imcs-grid{grid-template-columns:repeat(3,1fr);gap:28px}
  .imcs-grid--list{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.imcs-grid--list{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){.imcs-card{transition:none}}

/* ---- TOPセクション ---- */
.imcs-topwrap{position:relative}
.imcs-loop{position:relative;z-index:-1;opacity:.3;width:100%;display:block;margin-bottom:-160px}
.imcs-topsec{margin-top:128px;margin-bottom:128px}
.imcs-heading{margin-bottom:40px}
.imcs-cta{text-align:center;margin-top:48px}
.imcs-big{font-size:24px;letter-spacing:1.2px;border-radius:500px;padding:10px 32px 10px 48px;height:auto}
@media(min-width:1024px){.imcs-big{font-size:32px;letter-spacing:1.6px}}

/* ---- 一覧ページ ---- */
.imcs-archive{margin-top:110px;margin-bottom:128px}
.imcs-listhero{position:relative;padding-top:40px}
.imcs-loopbg{position:absolute;z-index:-1;opacity:.3;right:-10%;top:-40px;width:70%;pointer-events:none}
.imcs-listlead{font-size:16px;line-height:2;margin-top:20px;max-width:720px}

/* ---- 詳細ページ ---- */
.imcs-single{margin-top:110px}
.imcs-wrap{max-width:840px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.imcs-hero{padding-top:24px}
.imcs-eyebrow{font-size:14px;font-weight:600;letter-spacing:.04em;margin-bottom:14px}
.imcs-prelead{font-size:15px;font-weight:600;color:#5b5757;line-height:1.9;margin-bottom:12px}
.imcs-h1{font-family:'Montserrat','Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-size:clamp(28px,6vw,42px);line-height:1.5;font-weight:700}
.imcs-leadcopy{margin-top:16px;font-weight:600;font-size:clamp(16px,4.4vw,20px);line-height:1.9}
.imcs-meta{display:grid;grid-template-columns:1fr;gap:1px;background:#E4EAE8;border:1px solid #E4EAE8;border-radius:16px;overflow:hidden;margin-top:28px}
.imcs-meta div{background:#F6F9F8;padding:14px 18px}
.imcs-meta dt{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;margin-bottom:2px;
  background:var(--imcs-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#2AABCC;width:fit-content}
.imcs-meta dd{font-size:14px;font-weight:500;line-height:1.7;margin:0}
.imcs-herofig{max-width:640px;margin:28px auto 0}
.imcs-heroimg{border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(29,27,27,.08)}
.imcs-heroimg img{display:block;width:100%;height:auto}
.imcs-stats{display:grid;grid-template-columns:1fr;gap:14px;margin-top:36px}
.imcs-stat{border:2px solid #E4EAE8;border-radius:16px;padding:18px 20px;text-align:center;background:#fff}
.imcs-stat b{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:clamp(26px,6vw,32px);line-height:1.3;margin:0 auto}
.imcs-stat span{font-size:13px;color:#5b5757;line-height:1.7;display:block;margin-top:2px}
.imcs-sec{padding-top:96px}
.imcs-seclabel{font-family:'Montserrat','Zen Kaku Gothic New','Noto Sans JP',sans-serif;font-weight:700;font-size:clamp(30px,7vw,40px);line-height:1.2}
.imcs-sectitle{font-size:24px;font-weight:600;line-height:1.6;margin-top:8px;padding-bottom:14px;border-bottom:3px solid;
  border-image:linear-gradient(90deg,#2AABCC,#00FFE7) 1}
.imcs-ctablk{margin-top:96px;background:linear-gradient(90deg,#2AABCC,#00FFE7 200%);border-radius:24px;padding:44px 24px;text-align:center;color:#fff}
.imcs-ctablk p{font-weight:600;font-size:clamp(16px,4.4vw,20px);line-height:1.9;color:#fff;margin:0}
.imcs-btnwhite{display:inline-flex;align-items:center;background:#fff;color:var(--imcs-ink);border-radius:9999px;
  padding:12px 20px 13px 24px;font-size:16px;font-weight:500;text-decoration:none;margin-top:22px}
.imcs-back{display:block;text-align:center;margin:36px auto 96px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;letter-spacing:.06em;text-decoration:none}

/* ---- 投稿本文内で使うクラス(lead/タイムライン/ステップ/ギャラリー/インタビュー等) ---- */
.imcs-bodyarea{padding-top:40px}
.imcs-bodyarea p{font-size:16px;line-height:2}
.imcs-lead p+p{margin-top:1em}
.imcs-tl{margin-top:32px;position:relative;padding-left:26px;list-style:none}
.imcs-tl::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:3px;border-radius:3px;background:linear-gradient(180deg,#2AABCC,#00FFE7)}
.imcs-tl li{position:relative;padding:0 0 26px 8px}
.imcs-tl li::before{content:"";position:absolute;left:-24px;top:8px;width:13px;height:13px;border-radius:50%;background:#fff;border:3.5px solid #2AABCC}
.imcs-tl time{font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;display:block;color:#2AABCC}
.imcs-tl p{font-size:15px;line-height:1.9;margin-top:2px}
.imcs-vsteps{margin-top:36px;position:relative;padding-left:0;list-style:none}
.imcs-vstep{position:relative;padding:0 0 40px 64px}
.imcs-vstep::before{content:"";position:absolute;left:21px;top:46px;bottom:-4px;width:3px;border-radius:3px;background:linear-gradient(180deg,#2AABCC,#00FFE7)}
.imcs-vstep:last-child::before{display:none}
.imcs-vstep:last-child{padding-bottom:8px}
.imcs-vno{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,#2AABCC,#00FFE7 200%);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:18px}
.imcs-vstep h3{font-size:20px;font-weight:600;line-height:1.6;padding-top:6px;margin:0}
.imcs-vstep p{font-size:15px;line-height:2;margin-top:8px;color:#4a4747}
.imcs-gallery{display:grid;grid-template-columns:1fr;gap:18px;margin-top:36px}
.imcs-fig{border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(29,27,27,.1)}
.imcs-fig img{display:block;width:100%}
.imcs-gallery .imcs-fig img{aspect-ratio:4/3;object-fit:cover}
.imcs-cap{font-size:12px;color:#8a8686;margin-top:8px;line-height:1.7}
.imcs-concept{background:#F6F9F8;border-radius:20px;padding:26px 20px;margin-top:32px}
.imcs-concept img{border-radius:12px;margin:0 auto;display:block;max-width:640px;width:100%}
.imcs-steps{margin-top:32px;display:grid;gap:18px;grid-template-columns:1fr}
.imcs-step{background:#F6F9F8;border-radius:18px;padding:22px 20px}
.imcs-stepno{display:inline-flex;align-items:center;background:linear-gradient(90deg,#2AABCC,#00FFE7 200%);border-radius:25px;
  padding:2px 14px 1px;height:26px;color:#fff;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:.08em}
.imcs-step h3{font-size:18px;font-weight:600;line-height:1.6;margin:10px 0 6px}
.imcs-step p{font-size:15px;line-height:1.9;color:#4a4747}
.imcs-dei{display:grid;grid-template-columns:1fr;gap:22px;margin-top:28px;align-items:start}
/* インタビュー(ゆったり) */
.imcs-itv{max-width:720px;margin:36px auto 0}
.imcs-itvlead{font-size:clamp(20px,5.2vw,26px);font-weight:700;line-height:2;margin-top:20px}
.imcs-person{display:flex;align-items:center;gap:16px;margin-top:28px}
.imcs-person img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.imcs-pname{font-size:17px;font-weight:600;margin:0}
.imcs-prole{display:block;font-size:13px;color:#8a8686;font-weight:500;margin-top:2px}
.imcs-itvq{font-size:14px;font-weight:600;margin-top:56px}
.imcs-itv h3{font-size:clamp(19px,4.8vw,22px);font-weight:700;line-height:1.9;margin-top:16px;padding-left:16px;border-left:4px solid;
  border-image:linear-gradient(180deg,#2AABCC,#00FFE7) 1}
.imcs-itv h3.imcs-solo{margin-top:56px}
.imcs-itv p{font-size:16px;line-height:2.3;margin-top:22px}
/* Voice(コンパクト版・リリカラ担当者の声用) */
.imcs-voice{margin-top:32px;background:#F6F9F8;border-radius:20px;padding:28px 22px;display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center}
.imcs-vphoto{width:112px;height:112px;border-radius:50%;flex:none;object-fit:cover}
.imcs-vcatch{font-size:clamp(18px,4.6vw,22px);font-weight:700;line-height:1.7;margin-bottom:12px}
.imcs-vname{font-size:16px;font-weight:600}
.imcs-vrole{display:block;font-size:13px;color:#8a8686;font-weight:500;margin-top:2px}
.imcs-vquote{font-size:15px;line-height:2;text-align:left}
@media(min-width:768px){
  .imcs-meta{grid-template-columns:repeat(3,1fr)}
  .imcs-stats{grid-template-columns:repeat(3,1fr)}
  .imcs-gallery{grid-template-columns:repeat(3,1fr)}
  .imcs-gallery--2{grid-template-columns:repeat(2,1fr)}
  .imcs-steps--2{grid-template-columns:1fr 1fr;gap:22px}
  .imcs-dei{grid-template-columns:340px 1fr}
  .imcs-voice{flex-direction:row;text-align:left;gap:28px;padding:32px 36px;align-items:flex-start}
}
