@charset "utf-8";
/* 法人スクール向け ニュースレター活用支援(/for-schools/)。法人の方が見るページなので、キラキラ・マスコット・下部タブバーは出さない。
   先方のイメージ(白とラベンダー、紫のアクセント、写真を多めに)に合わせる */
.sub--corp .mascot,.sub--corp .d3,.sub--corp .gl,.sub--corp .tabbar{display:none!important}
.sub--corp .sub-main{background:#fff}
.sub--corp{--cp-ink:#2B1F36;--cp-vio:#5E2A86;--cp-vio2:#7B3FB0;--cp-pink:#C2338A;--cp-tint:#F7F2FB;--cp-line:#E7DDEF;--cp-txt:#4a4154}
@media (max-width:767px){.sub--corp{padding-bottom:0!important}}

.cp-wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.cp-narrow{max-width:780px;margin-left:auto;margin-right:auto}
.cp-ic{width:36px;height:36px;fill:none;stroke:var(--cp-vio2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.cp-ic .fill{fill:var(--cp-vio2);stroke:none}
.cp-sec{padding:56px 0}
.cp-sec--tint{background:var(--cp-tint)}
.cp-hd{text-align:center;margin-bottom:26px}
.cp-h{margin:0;font-size:clamp(21px,5.6vw,32px);font-weight:900;line-height:1.5;color:var(--cp-ink);letter-spacing:.02em}
.cp-h::after{content:"";display:block;width:44px;height:3px;border-radius:2px;background:linear-gradient(90deg,#C75BE6,#D94BAE);margin:14px auto 0}
.cp-h--l{text-align:left}
.cp-h--l::after{margin-left:0}
.cp-h-sub{margin:10px 0 0;font-size:14px;font-weight:700;color:var(--cp-vio2);letter-spacing:.06em}
.cp-h3{margin:36px 0 16px;text-align:center;font-size:18px;font-weight:900;color:var(--cp-ink);line-height:1.6}
.cp-h3--l{text-align:left;margin-top:0}
.cp-txt p,.cp-split-tx p,.cp-box p{margin:0 0 12px;font-size:15px;line-height:1.95;color:var(--cp-txt)}
.cp-txt{margin-bottom:22px}
.sub--corp strong{color:var(--cp-pink);font-weight:700}

/* ボタン */
.cp-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;min-width:300px;max-width:100%;
  padding:16px 30px;border-radius:999px;background:linear-gradient(90deg,#A33DB8,#D23C93);color:#fff;font-size:16px;font-weight:700;
  text-decoration:none;box-shadow:0 8px 20px rgba(163,61,184,.30);transition:transform .2s,box-shadow .2s}
.cp-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(163,61,184,.36)}
.cp-btn i{font-style:normal}

/* ① ヒーロー */
.cp-hero{background:linear-gradient(115deg,#FFFFFF 0%,#FBF6FD 55%,#F1E6F8 100%);overflow:hidden}
.cp-hero-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);align-items:center}
.cp-hero-tx{padding:32px 20px 28px}
.cp-eyebrow{margin:0;font-size:13px;font-weight:700;color:var(--cp-pink);letter-spacing:.04em}
.cp-partner{margin:12px 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;color:var(--cp-ink)}
.cp-partner b{font-size:18px;font-weight:900}
.cp-partner i{font-style:normal;color:var(--cp-vio2);font-weight:700}
.cp-partner span{flex-basis:100%;font-size:13px;color:var(--cp-txt);font-weight:700}
.cp-hero h1{margin:16px 0 0;font-size:clamp(26px,7.2vw,46px);font-weight:900;line-height:1.4;color:var(--cp-ink);letter-spacing:.01em}
.cp-hero h1 em{font-style:normal;color:var(--cp-vio2);background:linear-gradient(transparent 68%,#EBD7F6 68%)}
.cp-catch{margin:16px 0 0;font-size:clamp(15px,4.2vw,19px);font-weight:700;line-height:1.75;color:var(--cp-ink)}
.cp-hero-ph img{width:100%;height:auto;display:block}
.cp-intro{text-align:center}
.cp-intro p{margin:0 0 12px;font-size:15px;line-height:1.95;color:var(--cp-txt)}
.cp-intro .cp-strong{font-size:17px;font-weight:900;color:var(--cp-vio)}

/* 比較表 */
.cp-tbl-wrap{overflow-x:auto;margin-top:6px}
.cp-tbl{width:100%;border-collapse:separate;border-spacing:6px;font-size:14px;line-height:1.65}
.cp-tbl th,.cp-tbl td{padding:12px 14px;border-radius:6px;vertical-align:middle;text-align:center}
.cp-tbl thead th{background:#8E8597;color:#fff;font-weight:700;font-size:15px}
.cp-tbl thead th.cp-hl,.cp-tbl thead th.cp-hl2{background:linear-gradient(90deg,#7B3FB0,#9E4CC0)}
.cp-tbl tbody th{background:#EDE8F1;font-weight:700;color:var(--cp-ink);white-space:nowrap}
.cp-tbl tbody td{background:#F6F4F8;color:var(--cp-txt)}
.cp-tbl tbody td.cp-hl,.cp-tbl tbody td.cp-hl2{background:#F3E8FA;color:var(--cp-vio);font-weight:700}
.cp-tbl col.c1{width:8.5em}
.cp-sec--tint .cp-tbl tbody td{background:#fff}
.cp-sec--tint .cp-tbl tbody th{background:#EDE6F3}

/* 同じ講座でも */
.cp-vs{display:grid;grid-template-columns:1fr;gap:14px}
.cp-vs-c{background:#fff;border:1px solid var(--cp-line);border-radius:10px;padding:20px 20px 18px}
.cp-vs-c p{margin:8px 0 0;font-size:14px;line-height:1.85;color:var(--cp-txt)}
.cp-vs-c .cp-vs-lb{display:inline-block;margin:0;padding:4px 14px;border-radius:999px;background:#8E8597;color:#fff;font-size:13px;font-weight:700}
.cp-vs-c--nl{border-color:#D9C2EA;background:#FCF8FE}
.cp-vs-c--nl .cp-vs-lb{background:linear-gradient(90deg,#7B3FB0,#9E4CC0)}

/* 強調の帯 */
.cp-band{margin:30px auto 0;max-width:900px;padding:18px 22px;border-radius:10px;background:linear-gradient(90deg,#F4E9FB,#FBEAF4);
  text-align:center;font-size:16px;font-weight:900;line-height:1.7;color:var(--cp-vio)}
.cp-band span{display:block;margin-top:4px;font-size:14px;font-weight:700;color:var(--cp-txt)}
.cp-sec--tint .cp-band{background:#fff}

/* ③ 課題 */
.cp-voices{list-style:none;margin:0 auto 22px;padding:0;max-width:780px;display:grid;gap:10px}
.cp-voices li{background:#fff;border:1px solid var(--cp-line);border-radius:999px;padding:10px 20px;text-align:center;font-size:15px;font-weight:700;color:var(--cp-vio)}
.cp-pains{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cp-pains li{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px rgba(46,26,61,.08)}
.cp-pain-ph img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.cp-pains p{margin:0;padding:12px 12px 14px;text-align:center;font-size:14px;font-weight:700;line-height:1.6;color:var(--cp-ink)}
.cp-chk{list-style:none;margin:20px auto 0;padding:0;max-width:900px;display:grid;gap:10px}
.cp-chk li{position:relative;padding:12px 16px 12px 46px;background:#fff;border:1px solid var(--cp-line);border-radius:8px;font-size:15px;font-weight:700;line-height:1.6;color:var(--cp-ink)}
.cp-chk li::before{content:"";position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;background:linear-gradient(135deg,#9E4CC0,#D23C93)}
.cp-chk li::after{content:"";position:absolute;left:22px;top:50%;width:8px;height:4px;margin-top:-3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}

/* ④ 写真と文章を左右に */
.cp-split{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:center}
.cp-split-ph img{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 10px 28px rgba(46,26,61,.12)}
.cp-split-tx .cp-h{margin-bottom:20px}
.cp-box{margin:32px auto 0;max-width:900px;background:#fff;border-radius:12px;padding:24px 22px;box-shadow:0 4px 18px rgba(46,26,61,.06)}
.cp-tags{list-style:none;margin:6px 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cp-tags li{padding:6px 14px;border-radius:999px;background:#F3E8FA;color:var(--cp-vio);font-size:14px;font-weight:700}

/* ⑤ 電子の特徴 */
.cp-tbl--2{margin-top:24px}
.cp-feats{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:12px}
.cp-feats li{display:grid;grid-template-columns:40px 1fr;column-gap:14px;background:#fff;border:1px solid var(--cp-line);border-radius:10px;padding:18px}
.cp-feats .cp-ic{grid-row:span 2}
.cp-feats h3{margin:0;font-size:16px;font-weight:900;color:var(--cp-ink);line-height:1.5}
.cp-feats p{margin:6px 0 0;font-size:14px;line-height:1.85;color:var(--cp-txt)}

/* ⑥ 第一想起 */
.cp-recall{display:grid;grid-template-columns:minmax(0,1fr);background:#22284A;color:#fff}
.cp-recall-ph img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}
.cp-recall-tx{padding:34px 22px 40px}
.cp-pill{display:inline-block;margin:0;padding:5px 14px;border-radius:999px;background:#7B3FB0;font-size:13px;font-weight:700}
.cp-recall h2{margin:14px 0 18px;font-size:clamp(21px,5.6vw,30px);font-weight:900;line-height:1.55}
.cp-recall p{margin:0 0 12px;font-size:15px;line-height:1.95;color:rgba(255,255,255,.9)}
.cp-recall .cp-pill{color:#fff}
.sub--corp .cp-recall strong{color:#FFB3E0}
.cp-voices--d{margin:0 0 18px}
.cp-voices--d li{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff;text-align:left}

/* ⑦ 対象別 */
.cp-tgs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}
.cp-tgs li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:start;background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 16px rgba(46,26,61,.07)}
.cp-tg-ph img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:10px;display:block}
.cp-tgs .cp-tg-lb{display:inline-block;margin:0;padding:3px 12px;border-radius:999px;background:#F3E8FA;color:var(--cp-vio);font-size:13px;font-weight:700}
.cp-tgs h3{margin:8px 0 0;font-size:16px;font-weight:900;color:var(--cp-ink);line-height:1.5}
.cp-tgs p{margin:6px 0 0;font-size:14px;line-height:1.8;color:var(--cp-txt)}

/* ⑧ 依頼する価値 */
.cp-qs{list-style:none;margin:0 auto 22px;padding:0;max-width:780px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cp-qs li{background:var(--cp-tint);border-radius:8px;padding:10px 12px;text-align:center;font-size:14px;font-weight:700;color:var(--cp-vio)}
.cp-vals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:14px}
.cp-vals li{position:relative;background:#fff;border:1px solid var(--cp-line);border-radius:12px;padding:22px 20px 20px}
.cp-val-n{position:absolute;right:16px;top:12px;font-size:28px;font-weight:900;color:#EBDDF5;line-height:1}
.cp-vals h3{margin:10px 0 0;font-size:17px;font-weight:900;color:var(--cp-ink);line-height:1.5}
.cp-vals p{margin:8px 0 0;font-size:14px;line-height:1.85;color:var(--cp-txt)}

/* ⑨ 掲載内容の例 */
.cp-exs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cp-exs li{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(46,26,61,.07);padding-bottom:14px}
.cp-ex-ph img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.cp-exs h3{margin:12px 12px 0;font-size:15px;font-weight:900;color:var(--cp-ink);line-height:1.5}
.cp-exs p{margin:6px 12px 0;font-size:13px;line-height:1.75;color:var(--cp-txt)}

/* ⑩ 流れ */
.cp-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:12px}
.cp-flow li{position:relative;display:grid;grid-template-columns:36px 1fr;column-gap:14px;background:#fff;border:1px solid var(--cp-line);border-radius:10px;padding:16px 18px}
.cp-fl-n{grid-column:1 / -1;margin-bottom:8px;justify-self:start;padding:3px 12px;border-radius:999px;background:linear-gradient(90deg,#7B3FB0,#9E4CC0);color:#fff;font-size:12px;font-weight:900;letter-spacing:.06em}
.cp-flow .cp-ic{grid-row:span 2}
.cp-flow h3{margin:0;font-size:16px;font-weight:900;color:var(--cp-ink);line-height:1.5}
.cp-flow p{margin:6px 0 0;font-size:14px;line-height:1.8;color:var(--cp-txt)}

/* ⑪ お問い合わせ */
.cp-cta{background:linear-gradient(120deg,#FBF4FE 0%,#F1E3F9 100%);padding:52px 20px;text-align:center}
.cp-cta-in{max-width:820px;margin:0 auto}
.cp-cta-h{margin:0 0 18px;font-size:clamp(22px,6vw,34px);font-weight:900;line-height:1.5;color:var(--cp-ink)}
.cp-cta-l{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:6px}
.cp-cta-l li{font-size:16px;font-weight:700;color:var(--cp-vio)}
.cp-cta p{margin:0 0 10px;font-size:15px;line-height:1.9;color:var(--cp-txt)}
.cp-cta .cp-cta-q{margin-top:16px;font-size:17px;font-weight:900;color:var(--cp-ink)}

@media (max-width:767px){
  .cp-btn{width:100%;min-width:0;padding:15px 18px;font-size:15px}
  .cp-tbl{border-spacing:4px;font-size:13px}
  .cp-tbl th,.cp-tbl td{padding:10px 8px}
  .cp-tbl col.c1{width:6.2em}
  .cp-tbl tbody th{white-space:normal}
  .cp-txt p,.cp-split-tx p,.cp-box p,.cp-intro p{font-size:14px}
  .cp-intro{text-align:left}
  .cp-band{font-size:15px}
}
@media (min-width:768px){
  .cp-wrap{padding:0 32px}
  .cp-sec{padding:76px 0}
  .cp-hd{margin-bottom:34px}
  .cp-hero-in{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
  .cp-hero-tx{padding:56px 20px 56px 40px}
  .cp-vs{grid-template-columns:1fr 1.35fr}
  .cp-voices{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cp-pains{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .cp-chk{grid-template-columns:1fr 1fr}
  .cp-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px}
  .cp-split--rev .cp-split-ph{order:-1}
  .cp-feats{grid-template-columns:1fr 1fr;gap:16px}
  .cp-recall{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  .cp-recall-tx{padding:56px 48px}
  .cp-voices--d{grid-template-columns:1fr}
  .cp-tgs{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .cp-tgs li{grid-template-columns:1fr;padding:18px}
  .cp-qs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cp-vals{grid-template-columns:1fr 1fr;gap:18px}
  .cp-exs{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .cp-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .cp-cta{padding:72px 32px}
}
@media (min-width:1101px){
  .cp-vals{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cp-exs{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
  .cp-flow{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cp-flow li{grid-template-columns:1fr}
  .cp-flow .cp-ic{grid-row:auto;margin-bottom:8px}
}
/* PCの細かい調整: 6枚並びは3枚×2段に、流れと強みのカードは中身の高さを横でそろえる */
@media (min-width:1101px){
  .cp-exs{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .cp-exs h3{font-size:16px}
  .cp-exs p{font-size:14px}
  .cp-flow{grid-template-rows:auto;align-items:stretch}
  .cp-flow li{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;align-content:start}
  .cp-flow li > *{align-self:start}
  .cp-fl-n{grid-column:auto}
  .cp-vals li{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
  .cp-vals .cp-ic,.cp-vals h3,.cp-vals p{align-self:start}
}
.cp-vals p,.cp-flow p,.cp-exs p,.cp-feats p,.cp-tgs p{word-break:normal;line-break:strict;text-wrap:pretty}
@media (max-width:360px){
  .cp-tbl{font-size:12px;border-spacing:3px}
  .cp-tbl th,.cp-tbl td{padding:8px 5px}
  .cp-tbl col.c1{width:5em}
  .cp-tbl thead th{font-size:13px}
}
.cp-tbl{table-layout:fixed}
.cp-tbl td,.cp-tbl th{word-break:normal;overflow-wrap:anywhere}
/* 「誰に届けるのか。」などの箱: 文字を上下左右の真ん中に */
.cp-qs li{display:flex;align-items:center;justify-content:center;min-height:58px;line-height:1.5}
/* v112: 文字だけが続く3か所に写真を足す */
.cp-auds{list-style:none;margin:18px auto 26px;padding:0;max-width:780px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cp-auds li{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(46,26,61,.12)}
.cp-auds img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}
.cp-auds span{position:absolute;left:0;right:0;bottom:0;padding:22px 6px 10px;text-align:center;color:#fff;font-size:15px;font-weight:900;
  background:linear-gradient(transparent,rgba(94,42,134,.85))}
.cp-cmp-ph{margin:0 auto 26px;max-width:820px}
.cp-cmp-ph img{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 10px 26px rgba(46,26,61,.12)}
.cp-cmp-ph figcaption{margin-top:10px;text-align:center;font-size:13px;color:var(--cp-txt)}
.cp-cta{background:linear-gradient(90deg,rgba(251,244,254,.96) 0%,rgba(246,236,251,.9) 55%,rgba(241,227,249,.55) 100%),url("img/nl_ctabg.webp?v=1") center/cover no-repeat}
@media (max-width:767px){
  .cp-auds{gap:8px}
  .cp-auds span{font-size:13px;padding:18px 4px 8px}
  .cp-cta{background:linear-gradient(rgba(251,244,254,.93),rgba(246,236,251,.93)),url("img/nl_ctabg.webp?v=1") center/cover no-repeat}
}

/* v114: ヘッダーを先方見本の形に(濃い紫の地に白い太字、「自社の資産を」だけピンクの帯で大きく、右に冊子の写真) */
.cp-hero{position:relative;background:#2A0E3C;color:#fff;overflow:hidden}
.cp-hero-in{max-width:none;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
.cp-hero-tx{position:relative;z-index:2;padding:30px 20px 34px;background:linear-gradient(135deg,#2A0E3C 0%,#4A1458 60%,#5E1666 100%)}
.cp-hero .cp-eyebrow{display:inline-block;font-size:14px;font-weight:900;color:#fff;letter-spacing:.02em;padding-bottom:4px;border-bottom:2px solid #FF4FA8}
.cp-hero .cp-partner{margin-top:14px;color:#fff}
.cp-hero .cp-partner b{font-size:clamp(17px,4.8vw,24px);color:#fff}
.cp-hero .cp-partner i{color:#FF4FA8}
.cp-hero .cp-partner span{color:rgba(255,255,255,.9);font-size:13px}
.cp-hero h1{margin:16px 0 0;font-weight:900;line-height:1.2;color:#fff;letter-spacing:0}
.cp-hero h1 span{display:block}
.cp-hero .h1a,.cp-hero .h1c{font-size:clamp(25px,7.4vw,46px)}
.cp-hero .h1b{position:relative;display:inline-block;margin:10px 0 10px -6px;padding:4px 18px 6px 10px;font-size:clamp(36px,11vw,72px);line-height:1.15;color:#fff;z-index:0;
  text-shadow:0 3px 0 rgba(120,10,70,.35)}
.cp-hero .h1b::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#E8237F,#FF4FA8);transform:skewX(-10deg);box-shadow:0 8px 22px rgba(232,35,127,.45)}
.cp-hero .cp-catch{margin-top:16px;color:#fff;font-size:clamp(14px,4vw,18px);font-weight:700;line-height:1.75}
.cp-hero .cp-btn{background:linear-gradient(90deg,#E8237F,#FF4FA8);box-shadow:0 8px 22px rgba(232,35,127,.4)}
.cp-hero-ph{position:relative;background:#F6EEF4}
.cp-hero-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
@media (min-width:900px){
  .cp-hero-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:560px}
  .cp-hero-tx{padding:52px 70px 52px max(40px,calc((100vw - 1180px)/2 + 40px));clip-path:polygon(0 0,100% 0,88% 100%,0 100%);margin-right:-12%}
  .cp-hero-tx::after{content:"";position:absolute;top:0;bottom:0;right:0;width:26px;background:linear-gradient(180deg,#FF4FA8,#E8237F);clip-path:polygon(55% 0,100% 0,45% 100%,0 100%);transform:translateX(-62%)}
  .cp-hero-ph{z-index:1}
}
@media (max-width:899px){
  .cp-hero-ph img{aspect-ratio:4/3;height:auto}
  .cp-hero .cp-btn{width:100%;min-width:0}
}
/* 導入の文章 */
.cp-intro-h{text-align:center}
.cp-intro-txt p{font-size:15px}
.cp-pts{display:grid;grid-template-columns:1fr;gap:14px;margin:26px auto 0;max-width:980px}
.cp-pt{background:#fff;border:1px solid var(--cp-line);border-radius:12px;padding:22px 20px;box-shadow:0 4px 16px rgba(46,26,61,.05)}
.cp-pt h3{margin:10px 0 10px;font-size:18px;font-weight:900;line-height:1.5;color:var(--cp-vio)}
.cp-pt p{margin:0 0 10px;font-size:14px;line-height:1.9;color:var(--cp-txt)}
@media (min-width:768px){.cp-pts{grid-template-columns:1fr 1fr;gap:18px}}
@media (min-width:900px){
  .cp-hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
  .cp-hero-tx{margin-right:-6%;clip-path:polygon(0 0,100% 0,90% 100%,0 100%);padding-right:9%}
  .cp-hero-ph{padding-left:7vw;background:linear-gradient(90deg,#4A1458 0,#F6EEF4 7vw)}
  .cp-hero-ph img{object-position:0% 50%}
}
.cp-hero h1 span,.cp-hero .cp-partner b{white-space:nowrap}
@media (min-width:900px){
  .cp-hero .h1a,.cp-hero .h1c{font-size:clamp(28px,3.2vw,48px)}
  .cp-hero .h1b{font-size:clamp(40px,4.8vw,74px)}
  .cp-hero .cp-partner b{font-size:clamp(17px,1.7vw,24px)}
  .cp-hero .cp-catch{font-size:clamp(14px,1.3vw,18px)}
  .cp-hero-tx{padding-left:max(32px,calc((100vw - 1240px)/2 + 32px))}
  .cp-hero .cp-btn{min-width:0;white-space:nowrap}
}
@media (max-width:360px){.cp-hero .h1a,.cp-hero .h1c{font-size:23px}.cp-hero .h1b{font-size:34px}.cp-hero .cp-partner b{font-size:16px}}
.cp-intro .cp-band{margin-top:22px}
.cp-pt{text-align:left}
@media (min-width:768px){.cp-pt{text-align:center}.cp-pt p{text-align:left}}
.cp-intro .cp-band{margin-left:auto;margin-right:auto}

/* ===== v115: オリジナルミニ雑誌(/mini-magazine/)。先方見本の誌面と同じ、ベージュ×ワインの上品な配色 ===== */
.sub--mag{--cp-ink:#2E1F24;--cp-vio:#7A2742;--cp-vio2:#9A3556;--cp-pink:#B03A62;--cp-tint:#F8F2EF;--cp-line:#EADBD8;--cp-txt:#4D4044}
.sub--mag .cp-hero{background:#3A1424}
.sub--mag .cp-hero-tx{background:linear-gradient(135deg,#341020 0%,#5A1C33 60%,#6E2440 100%)}
.sub--mag .cp-hero .cp-eyebrow{border-bottom-color:#E89AB2}
.sub--mag .cp-hero .cp-partner i{color:#E89AB2}
.sub--mag .cp-hero .h1b::before{background:linear-gradient(90deg,#B03A62,#D9668B);box-shadow:0 8px 22px rgba(176,58,98,.45)}
.sub--mag .cp-hero .cp-btn,.sub--mag .cp-btn{background:linear-gradient(90deg,#8E2C4E,#C04A73);box-shadow:0 8px 20px rgba(142,44,78,.32)}
@media (min-width:900px){
  .sub--mag .cp-hero-tx::after{background:linear-gradient(180deg,#D9668B,#B03A62)}
  .sub--mag .cp-hero-ph{background:linear-gradient(90deg,#5A1C33 0,#F3E9E4 7vw)}
}
.sub--mag .cp-h::after{background:linear-gradient(90deg,#C04A73,#D9A07A)}
.sub--mag .cp-ic{stroke:var(--cp-vio2)}
.sub--mag .cp-tbl thead th.cp-hl,.sub--mag .cp-vs-c--nl .cp-vs-lb,.sub--mag .cp-fl-n,.sub--mag .cp-pill{background:linear-gradient(90deg,#7A2742,#A8406A)}
.sub--mag .cp-tbl tbody td.cp-hl{background:#F7E8EC;color:var(--cp-vio)}
.sub--mag .cp-chk li::before{background:linear-gradient(135deg,#9A3556,#C9708F)}
.sub--mag .cp-band{background:linear-gradient(90deg,#F6E7EB,#F8EFE7)}
.sub--mag .cp-sec--tint .cp-band{background:#fff}
.sub--mag .cp-vs-c--nl{border-color:#E3C3CE;background:#FDF8F9}
.sub--mag .cp-tags li,.sub--mag .cp-tg-lb{background:#F7E8EC;color:var(--cp-vio)}
.sub--mag .cp-val-n{color:#F0DDE3}
.sub--mag .cp-recall{background:#3A1424}
.sub--mag .cp-recall strong{color:#F2B5C8}
.sub--mag .cp-cta{background:linear-gradient(90deg,rgba(250,244,241,.96) 0%,rgba(247,238,234,.9) 55%,rgba(243,232,228,.5) 100%),url("img/mg_ctabg.webp?v=1") center/cover no-repeat}
@media (max-width:767px){.sub--mag .cp-cta{background:linear-gradient(rgba(250,244,241,.93),rgba(247,238,234,.93)),url("img/mg_ctabg.webp?v=1") center/cover no-repeat}}
/* 号を重ねる流れ */
.mg-iss{list-style:none;margin:6px auto 0;padding:0;max-width:880px;display:grid;grid-template-columns:1fr;gap:10px}
.mg-iss li{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--cp-line);border-radius:12px;padding:14px 18px}
.mg-iss-n{flex:none;min-width:5.5em;text-align:center;padding:6px 10px;border-radius:999px;background:linear-gradient(90deg,#7A2742,#A8406A);color:#fff;font-size:14px;font-weight:900}
.mg-iss p{margin:0;font-size:15px;font-weight:700;color:var(--cp-ink)}
.mg-tags{justify-content:center;margin:20px 0 0}
@media (min-width:768px){.mg-iss{grid-template-columns:repeat(3,minmax(0,1fr))}.mg-iss li{flex-direction:column;text-align:center;padding:18px 14px}}
/* 誌面サンプル */
.mg-sample{margin:36px auto 0;max-width:1000px;display:grid;grid-template-columns:1fr;gap:20px;align-items:center;background:#fff;border-radius:16px;padding:22px;box-shadow:0 8px 26px rgba(58,20,36,.08)}
.mg-sample h3{margin:12px 0 10px;font-size:20px;font-weight:900;line-height:1.5;color:var(--cp-ink)}
.mg-sample p{margin:0 0 6px;font-size:14px;line-height:1.85;color:var(--cp-txt)}
.mg-sample-ph img{width:100%;height:auto;display:block;border-radius:12px}
.mg-sample .cp-pill{color:#fff}
.cp-btn--sub{margin-top:16px}
@media (min-width:768px){.mg-sample{grid-template-columns:1fr 1fr;gap:32px;padding:30px}}
/* その他 */
.mg-joins li{text-align:center}
@media (min-width:768px){.mg-joins{grid-template-columns:1fr 1fr!important}}
.mg-flow3{grid-template-columns:1fr}
@media (min-width:768px){.mg-flow3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.mg-note{margin:14px 0 0;font-size:13px;color:var(--cp-txt)}
.mg-note--c{text-align:center}
.cp-center{text-align:center;margin:18px 0 0}
.mg-tbl{min-width:640px}
@media (max-width:767px){.mg-tbl{table-layout:auto;font-size:12.5px}.mg-tbl col.c1{width:5.2em}}
.sub--mag .cp-tbl tbody th{background:#F3EAE7}
.sub--mag .cp-sec--tint .cp-tbl tbody th{background:#F1E6E2}
.cp-tgs li{align-content:start}
/* v116: ミニ雑誌のメイン画像を先方支給の 3:2 画像に。スマホは切らずに全体を見せる */
@media (max-width:899px){.sub--mag .cp-hero-ph img{aspect-ratio:3/2}}
@media (min-width:900px){.sub--mag .cp-hero-ph img{object-position:20% 50%}}
/* v117: ミニ雑誌に「経営上の目的」「読む→行動の設計」「反応を次号に活かす」を追加(先方 2026-10-09) */
.mg-goal{max-width:900px;margin:0 auto 34px;padding:22px 18px 20px;border-radius:14px;background:#fff;border:2px solid var(--cp-vio2);box-shadow:0 8px 24px rgba(122,39,66,.10);text-align:center}
.mg-goal-lb{display:inline-block;margin:0 0 14px;padding:5px 16px;border-radius:999px;background:linear-gradient(90deg,#7A2742,#A8406A);color:#fff;font-size:14px;font-weight:700;letter-spacing:.06em}
.mg-goal-ls{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mg-goal-ls li{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px;border-radius:10px;background:#F7E8EC}
.mg-goal-ls .cp-ic{width:30px;height:30px}
.mg-goal-ls span{font-size:13px;font-weight:700;line-height:1.5;color:var(--cp-ink)}
.mg-goal-tx{margin:16px 0 0;font-size:16px;font-weight:700;line-height:1.75;color:var(--cp-ink)}
.mg-goal-tx b{color:var(--cp-pink);background:linear-gradient(transparent 62%,#F6D3DE 62%)}
@media (min-width:768px){
  .mg-goal{padding:28px 32px 26px}
  .mg-goal-ls{gap:14px}
  .mg-goal-ls li{flex-direction:row;justify-content:center;gap:12px;padding:16px 10px}
  .mg-goal-ls span{font-size:15px;text-align:left}
  .mg-goal-tx{font-size:19px}
}
.mg-act{list-style:none;margin:26px auto 0;padding:0;max-width:1000px;display:grid;grid-template-columns:1fr;gap:12px}
.mg-act li{position:relative;background:#fff;border:1px solid var(--cp-line);border-radius:12px;padding:18px 18px 16px;box-shadow:0 4px 16px rgba(46,26,61,.05)}
.mg-act-r{margin:0 0 12px;display:flex;align-items:center;gap:10px;font-size:17px;font-weight:900;color:var(--cp-vio)}
.mg-act-r span{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#7A2742,#A8406A);color:#fff;font-size:13px;font-weight:700}
.mg-act dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center}
.mg-act dt{font-size:12px;font-weight:700;color:var(--cp-txt);white-space:nowrap}
.mg-act dd{margin:0;font-size:14px;line-height:1.7;color:var(--cp-ink)}
.mg-act dd.mg-act-go{justify-self:start;padding:4px 12px;border-radius:999px;background:#F7E8EC;color:var(--cp-vio);font-weight:700}
@media (max-width:899px){.mg-act li:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:-11px;width:14px;height:10px;transform:translateX(-50%);background:var(--cp-vio2);clip-path:polygon(0 0,100% 0,50% 100%);z-index:1}}
@media (min-width:900px){
  .mg-act{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  .mg-act li{padding:22px 20px 20px}
  .mg-act li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-17px;width:12px;height:16px;transform:translateY(-50%);background:var(--cp-vio2);clip-path:polygon(0 0,100% 50%,0 100%);z-index:1}
  .mg-act dl{grid-template-columns:1fr}
  .mg-act dt{margin-top:4px}
}
.mg-cyc{list-style:none;margin:26px auto 0;padding:0;max-width:1000px;display:grid;grid-template-columns:1fr;gap:12px;counter-reset:cy}
.mg-cyc li{display:grid;grid-template-columns:40px 1fr;column-gap:14px;background:#fff;border:1px solid var(--cp-line);border-radius:12px;padding:16px 18px}
.mg-cyc .cp-ic{grid-row:span 2;width:34px;height:34px}
.mg-cyc h3{margin:0;font-size:16px;font-weight:900;line-height:1.5;color:var(--cp-ink)}
.mg-cyc p{margin:6px 0 0;font-size:14px;line-height:1.8;color:var(--cp-txt)}
@media (min-width:900px){
  .mg-cyc{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  .mg-cyc li{grid-template-columns:1fr;text-align:center;padding:24px 20px}
  .mg-cyc .cp-ic{grid-row:auto;margin:0 auto 10px;width:40px;height:40px}
}
.mg-goal .mg-goal-lb{color:#fff}
.mg-goal .mg-goal-tx{margin:18px 0 0}
.mg-act dd.mg-act-go{border-radius:10px}
@media (min-width:768px){.cp-txt.mg-c{text-align:center}}
/* v118: 悩みリストは隣のカードと高さがそろうので、文字を上下中央に / ミニ雑誌の見出し1行目が広い画面で斜めの帯に隠れるので縮める */
.cp-chk li{display:flex;align-items:center}
@media (min-width:900px){.sub--mag .cp-hero .h1a,.sub--mag .cp-hero .h1c{font-size:clamp(28px,2.75vw,44px)}}
/* v119: 見直しで見つけたずれ。高さのそろうピル・カードは中身を上下中央に、反応カードは上詰め、濃い色の段の文章は上下中央 */
.cp-voices li{display:flex;align-items:center;justify-content:center}

.mg-cyc li{align-content:start}
.cp-recall-tx{align-self:center}
/* 語の途中で折らない(main.js が文節の頭に改行位置を入れて html.jw を付けたときだけ) */
/* keep-all だと長い平仮名の連なりがはみ出し、overflow-wrap:anywhere で「。」「、」が行頭に落ちる。
   auto-phrase は語の区切りで折り、入りきらないときだけ禁則を守って普通に折る */
html.jw .cp-sec :is(p,li,h3,td,th,dd),html.jw .cp-recall :is(p,li),html.jw .cp-cta p{word-break:auto-phrase;overflow-wrap:normal;line-break:strict}
/* v120: スマホの比較表は1列目の項目名を1行に(「比較項|目」「読み返|し方」で割れていた) */
@media (max-width:767px){.mg-tbl col.c1{width:6.2em}.mg-tbl th{white-space:nowrap}}
@media (max-width:767px){.mg-tbl tbody th,.mg-tbl thead th{white-space:nowrap}}
/* 2列の短い問いかけは語の区切りより自然な折り返しを優先(「。」だけが次の行に落ちていた) */
/* スマホの「行動までの設計」は、項目名の下に中身を置いて横幅を使う(ピルが2行に割れていた) */
@media (max-width:899px){.mg-act dl{grid-template-columns:1fr;gap:2px}.mg-act dd{margin-bottom:8px}.mg-act dd.mg-act-go{margin-bottom:0}}
.mg-goal-ls span{word-break:keep-all}
/* 見出しと短い項目は行の長さをそろえる(最後の行に2文字だけ残らないように) */
.cp-exs h3,.cp-voices li,.mg-goal-ls span,.cp-tags li,.mg-act-go{text-wrap:balance}
/* スマホの3列の比較表: 見出しは語の途中で割らない(「ニュースレ|ター」「タイミン|グ」) */
html.jw .cp-sec .cp-tbl th{word-break:keep-all;overflow-wrap:normal}
@media (max-width:767px){
  .cp-tbl:not(.mg-tbl) col.c1{width:6.4em}
  .cp-tbl:not(.mg-tbl) thead th{font-size:12.5px;letter-spacing:0}
  .cp-tbl:not(.mg-tbl) tbody th{font-size:12.5px;letter-spacing:0}
}
@media (max-width:360px){.cp-tbl:not(.mg-tbl) col.c1{width:6.2em}.cp-tbl:not(.mg-tbl) th{font-size:12px}}
.cp-sec p,.cp-chk li,.cp-recall p,.cp-cta p{text-wrap:pretty}
/* v121: ミニ雑誌の「読者を参加するファンへ」は横長の誌面写真。1200px 未満で横並びにすると縦長に切り抜かれて表紙が切れるので、写真を上に全体表示 */
@media (min-width:768px) and (max-width:1199px){
  .sub--mag .cp-recall{grid-template-columns:minmax(0,1fr)}
  .sub--mag .cp-recall-ph img{height:auto;aspect-ratio:1448/1086}
  .sub--mag .cp-recall-tx{padding:44px max(32px,calc((100% - 760px) / 2)) 52px}
  .sub--mag .cp-voices--d{grid-template-columns:1fr 1fr}
}
@media (min-width:1200px){.sub--mag .cp-recall-ph img{object-position:30% 50%}}
