/* IROHA「1万人の声 PROJECT」／「IROHAのピンクリボン運動」共通スタイル（subpage.css の上に重ねる） */
.vc-page{--vc-pink:#b3456a;--vc-pink-soft:#fff0f4;--vc-pink-line:#eedde2;--vc-deep:#724354;--vc-ink:#3f3338;background:#fffaf8}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vc-eyebrow{margin:0;color:var(--vc-pink);font-family:var(--sans);font-size:.78rem;font-weight:800;letter-spacing:.16em}

/* ヒーロー（画像に文字が入っているため、画像全体を見せて上に文字を重ねない） */
.vc-hero{padding:24px 0 0}
.vc-hero__img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:0 24px 50px -34px rgba(104,63,78,.45)}
.vc-hero__copy{max-width:780px;margin:40px auto 0;text-align:center}
.vc-intro--text{padding:56px 0 8px;background:linear-gradient(170deg,#fff6f8,#fff 55%,#eef9f6)}
.vc-intro--text .vc-hero__copy{margin-top:0}
.vc-hero__copy h1{margin:.3em 0 .6em;font-family:var(--serif);font-weight:500;color:var(--vc-deep);font-size:clamp(1.55rem,4vw,2.4rem);line-height:1.5}
.vc-lead{color:#5f5a5c;font-size:1rem;line-height:2.05}
.vc-strong-copy{margin:28px auto;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,#fff,var(--vc-pink-soft));border:1px solid var(--vc-pink-line);font-family:var(--serif);color:var(--vc-deep);font-size:clamp(1.15rem,2.8vw,1.5rem);line-height:1.75;text-align:center}
.vc-sub-copy{font-family:var(--serif);color:var(--vc-pink);font-size:1.05rem;line-height:1.9;text-align:center}

/* セクション */
.vc-section{padding:64px 0;border-top:1px solid var(--vc-pink-line)}
.vc-section--soft{background:linear-gradient(180deg,#fff,#fff6f8)}
.vc-head{max-width:760px;margin:0 auto 32px;text-align:center}
.vc-head h2{margin:.35em 0 .5em;font-family:var(--serif);font-weight:500;color:var(--vc-deep);font-size:clamp(1.4rem,3.4vw,2rem);line-height:1.5}
.vc-head p{margin:0;color:#5f6c69;font-size:.92rem;line-height:2}
.vc-num{display:inline-block;margin-right:.5em;color:var(--vc-pink);font-family:var(--sans);font-size:.76rem;font-weight:800;letter-spacing:.14em}

/* 情報カード（リンク） */
.vc-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vc-link{display:flex;flex-direction:column;gap:6px;min-height:100%;padding:18px 20px;border:1px solid var(--vc-pink-line);border-radius:18px;background:#fff;color:inherit;box-shadow:0 12px 30px -24px rgba(104,63,78,.35);transition:transform .2s,box-shadow .2s}
.vc-link:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(104,63,78,.4)}
.vc-link:focus-visible,.vc-card__more:focus-visible,.vc-cta a:focus-visible{outline:3px solid var(--vc-pink);outline-offset:3px}
.vc-link strong{color:var(--vc-deep);font-family:var(--serif);font-size:1.02rem;font-weight:600;line-height:1.55}
.vc-link span{color:#5f6c69;font-size:.82rem;line-height:1.8}
.vc-link b{margin-top:auto;padding-top:4px;color:var(--vc-pink);font-size:.8rem}
.vc-link--ext b:after{content:"（外部サイト）";font-weight:400;color:#8a7d82;font-size:.72rem;margin-left:.3em}
.vc-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.vc-points li{padding:18px 20px;border-radius:18px;background:#fff;border:1px solid var(--vc-pink-line);font-size:.9rem;line-height:1.9;color:var(--vc-ink)}
.vc-points li b{display:block;color:var(--vc-deep);font-size:1rem;margin-bottom:.2em}
.vc-caution{max-width:820px;margin:20px auto 0;padding:14px 18px;border-left:4px solid var(--vc-pink);border-radius:0 14px 14px 0;background:#fff;font-size:.84rem;line-height:1.9;color:#5f5a5c}
.vc-section--focus{background:linear-gradient(160deg,#fff4f7,#fff 60%)}
.vc-section--focus .vc-head h2{font-size:clamp(1.55rem,3.8vw,2.25rem)}

/* カウンター・葉 */
.vc-counter{max-width:760px;margin:0 auto;padding:26px 24px;border-radius:24px;background:#fff;border:1px solid var(--vc-pink-line);text-align:center;box-shadow:0 18px 40px -30px rgba(104,63,78,.4)}
.vc-counter__label{margin:0;color:var(--vc-pink);font-family:var(--sans);font-size:.78rem;font-weight:800;letter-spacing:.18em}
.vc-counter__num{margin:.2em 0;font-family:var(--serif);color:var(--vc-deep);font-size:clamp(2rem,6vw,3rem);line-height:1.2}
.vc-counter__num small{font-size:.42em;color:#8a7d82;margin-left:.3em}
.vc-progress{height:12px;margin:12px 0 6px;border-radius:99px;background:var(--vc-pink-soft);overflow:hidden}
.vc-progress span{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#f0a3bb,var(--vc-pink));transition:width 1s ease}
.vc-counter__note{margin:0;font-size:.78rem;color:#8a7d82}
.vc-leaves{margin-top:18px}
.vc-leaves__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.vc-leaf{width:14px;height:20px;border-radius:0 100% 0 100%;background:#9fd3bd;transform:rotate(-20deg)}
[data-voices-leaves="breast"] .vc-leaf{background:#f0a3bb}
.vc-leaves__more{font-size:.78rem;color:#8a7d82;align-self:center}
.vc-leaves__caption,.vc-leaves__empty{margin:10px 0 0;font-size:.86rem;color:#5f5a5c;text-align:center}

/* 声のカード */
.vc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vc-card{display:flex;flex-direction:column;gap:10px;padding:20px 20px 18px;border-radius:20px;background:#fff;border:1px solid var(--vc-pink-line);box-shadow:0 14px 34px -26px rgba(104,63,78,.4)}
.vc-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.vc-card__meta span{padding:2px 10px;border-radius:99px;background:var(--vc-pink-soft);color:var(--vc-deep);font-size:.74rem;font-weight:700}
.vc-card__quote{margin:0;font-family:var(--serif);color:var(--vc-ink);font-size:1.02rem;line-height:1.85}
.vc-card__treat{margin:0;font-size:.82rem;color:#5f6c69}
.vc-card__by{margin:0;font-size:.78rem;color:#8a7d82}
.vc-card__more{margin-top:auto;align-self:flex-start;padding:8px 0;color:var(--vc-pink);font-weight:700;font-size:.86rem}
.vc-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.vc-tags li{font-size:.76rem;color:#4f6656}
.vc-empty{max-width:640px;margin:0 auto;padding:30px 24px;border:1px dashed #e3c3cf;border-radius:20px;background:#fff;text-align:center;color:#5f5a5c;font-size:.9rem;line-height:1.9}
.vc-empty__title{margin:0 0 .4em;font-family:var(--serif);color:var(--vc-deep);font-size:1.1rem}
.vc-empty .btn{margin-top:12px}
.vc-loading{text-align:center;color:#8a7d82}

/* 絞り込み */
.vc-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin:0 auto 22px;max-width:960px}
.vc-filters label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:700;color:var(--vc-deep)}
.vc-filters select{min-height:46px;padding:0 12px;border:1px solid var(--vc-pink-line);border-radius:12px;background:#fff;font-size:.92rem;color:var(--vc-ink)}
.vc-filters button{min-height:46px;padding:0 16px;border:1px solid var(--vc-pink-line);border-radius:12px;background:#fff;color:var(--vc-deep);font-weight:700;cursor:pointer}
.vc-filter-status{text-align:center;font-size:.82rem;color:#8a7d82;margin:-8px 0 18px}

/* 5つの質問 */
.vc-questions{max-width:820px;margin:0 auto;padding:0;list-style:none;counter-reset:q}
.vc-questions li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;margin-bottom:10px;border-radius:16px;background:#fff;border:1px solid var(--vc-pink-line);font-size:.95rem;line-height:1.8;color:var(--vc-ink)}
.vc-questions li:before{counter-increment:q;content:"Q" counter(q);flex-shrink:0;padding:2px 10px;border-radius:99px;background:var(--vc-pink);color:#fff;font-family:var(--sans);font-size:.78rem;font-weight:800}

/* CTA */
.vc-cta{max-width:960px;margin:0 auto;padding:34px 28px;border-radius:26px;background:linear-gradient(135deg,#fff,#ffe9f0);border:1px solid var(--vc-pink-line);text-align:center}
.vc-cta h2{margin:0 0 .4em;font-family:var(--serif);font-weight:500;color:var(--vc-deep);font-size:clamp(1.35rem,3.4vw,1.9rem);line-height:1.5}
.vc-cta p{margin:0 auto 18px;max-width:640px;color:#5f5a5c;line-height:1.95}
.vc-cta__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.vc-cta__btns .btn{min-height:50px;padding-left:26px;padding-right:26px}
.vc-btn-pink{background:var(--vc-pink)!important;border-color:var(--vc-pink)!important;color:#fff!important}

/* レポート枠 */
.vc-report{max-width:820px;margin:0 auto;padding:26px 24px;border-radius:22px;background:#fff;border:1px solid var(--vc-pink-line)}
.vc-report ul{margin:.6em 0 0;padding-left:1.3em;line-height:2;color:var(--vc-ink)}
.vc-soon{display:inline-block;padding:2px 12px;border-radius:99px;background:#f3eef0;color:#7c6870;font-size:.74rem;font-weight:800;letter-spacing:.08em}

/* 投稿フォーム */
.vc-form{max-width:820px;margin:0 auto;padding:28px 26px;border-radius:24px;background:#fff;border:1px solid var(--vc-pink-line)}
.vc-form.is-preparing{opacity:.78}
.vc-form fieldset{margin:0 0 22px;padding:0;border:0}
.vc-form legend{margin-bottom:10px;font-family:var(--serif);color:var(--vc-deep);font-size:1.08rem}
.vc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.vc-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.vc-field label{font-size:.86rem;font-weight:700;color:var(--vc-ink);line-height:1.6}
.vc-field small{color:#8a7d82;font-size:.76rem}
.vc-field input,.vc-field select,.vc-field textarea{min-height:46px;padding:10px 12px;border:1px solid #e4d6db;border-radius:12px;font-size:16px;font-family:inherit;color:var(--vc-ink);background:#fff}
.vc-field textarea{min-height:110px;line-height:1.8}
.vc-qnum{display:inline-block;margin-right:.5em;padding:0 8px;border-radius:99px;background:var(--vc-pink);color:#fff;font-size:.74rem}
.vc-checks{display:flex;flex-wrap:wrap;gap:8px}
.vc-check{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;border:1px solid #e4d6db;border-radius:99px;font-size:.84rem;cursor:pointer}
.vc-check input{width:18px;height:18px}
.vc-notice{padding:14px 16px;border-radius:14px;background:#fff8e6;border:1px solid #e9cf86;font-size:.84rem;line-height:1.85;color:#5c4a1a;margin-bottom:16px}
.vc-consent{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;line-height:1.8;margin:6px 0 16px}
.vc-consent input{width:20px;height:20px;margin-top:3px;flex-shrink:0}
.vc-form [type=submit]{width:100%;min-height:54px;font-size:1rem}
.vc-form-message{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:var(--vc-pink-soft);color:var(--vc-deep);font-size:.88rem;line-height:1.8}

/* 一人ひとりの声 */
.vc-detail{max-width:820px;margin:0 auto}
.vc-detail__head h1{margin:.3em 0 .4em;font-family:var(--serif);font-weight:500;color:var(--vc-deep);font-size:clamp(1.5rem,4vw,2.1rem)}
.vc-detail__quote{font-family:var(--serif);font-size:1.15rem;line-height:1.9;color:var(--vc-ink)}
.vc-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.vc-profile div{padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--vc-pink-line)}
.vc-profile dt{font-size:.74rem;color:#8a7d82}
.vc-profile dd{margin:2px 0 0;color:var(--vc-ink);font-weight:700}
.vc-note{margin:18px 0;padding:12px 16px;border-radius:14px;background:#f6f3f4;font-size:.82rem;line-height:1.85;color:#5f5a5c}
.vc-answer{margin:22px 0;padding:20px 22px;border-radius:20px;background:#fff;border:1px solid var(--vc-pink-line)}
.vc-answer h2{display:flex;gap:10px;align-items:flex-start;margin:0 0 .6em;font-family:var(--serif);font-weight:500;color:var(--vc-deep);font-size:1.05rem;line-height:1.6}
.vc-answer h2 span{flex-shrink:0;padding:2px 10px;border-radius:99px;background:var(--vc-pink);color:#fff;font-family:var(--sans);font-size:.74rem;font-weight:800}
.vc-answer p{margin:0;line-height:2;color:var(--vc-ink)}

@media(max-width:900px){.vc-links,.vc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .vc-hero{padding-top:12px}.vc-hero__img{border-radius:14px}
  .vc-section{padding:48px 0}
  .vc-links,.vc-grid,.vc-points,.vc-form-grid,.vc-profile{grid-template-columns:1fr}
  .vc-filters{grid-template-columns:1fr}
  .vc-form{padding:22px 16px}
  .vc-lead{font-size:.95rem}
  .vc-cta{padding:28px 18px}
  .vc-cta__btns .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.vc-link,.vc-progress span{transition:none}.vc-link:hover{transform:none}}

/* 表示確認モード（?preview=1）のサンプル表示 */
.vc-preview-bar{position:sticky;top:0;z-index:200;padding:10px 16px;background:#fff8e6;border-bottom:1px solid #e9cf86;color:#5c4a1a;font-size:.84rem;font-weight:700;text-align:center}
.vc-sample-badge{display:inline-block;align-self:flex-start;margin:0;padding:2px 10px;border-radius:99px;background:#fff8e6;border:1px solid #e9cf86;color:#7a5a12;font-size:.72rem;font-weight:700}
.vc-card.is-sample{border-style:dashed}

/* ── 声のカード：かわいい吹き出しデザイン ── */
.vc-card{gap:0;padding:0;border:0;background:transparent;box-shadow:none}
.vc-card.is-sample{border:0}
.vc-card .vc-sample-badge{margin-bottom:10px}
.vc-bubble{position:relative;padding:20px 20px 16px;border-radius:26px;background:linear-gradient(160deg,#ffffff 0%,#f0faf6 100%);border:2px solid #cfe9dd;box-shadow:0 14px 30px -22px rgba(35,80,70,.45)}
.vc-card.is-pink .vc-bubble,.vc-detail .vc-bubble.is-pink{background:linear-gradient(160deg,#ffffff 0%,#fff0f5 100%);border-color:#f6cfdc;box-shadow:0 14px 30px -22px rgba(179,69,106,.45)}
.vc-card.is-sample .vc-bubble{border-style:dashed}
/* しっぽ（外側の線＋内側の塗りの2枚重ね） */
.vc-bubble:before,.vc-bubble:after{content:"";position:absolute;left:30px;width:0;height:0;border-style:solid}
.vc-bubble:before{bottom:-17px;border-width:17px 14px 0 0;border-color:#cfe9dd transparent transparent transparent}
.vc-bubble:after{bottom:-12px;left:32px;border-width:13px 10px 0 0;border-color:#f0faf6 transparent transparent transparent}
.vc-card.is-pink .vc-bubble:before{border-top-color:#f6cfdc}
.vc-card.is-pink .vc-bubble:after{border-top-color:#fff0f5}
.vc-bubble__text{margin:0;font-family:"Hiragino Maru Gothic ProN","Hiragino Sans",var(--sans);font-size:1rem;font-weight:500;line-height:1.85;color:var(--vc-ink)}
.vc-bubble__text:before{content:"“";display:block;height:.9em;margin-bottom:2px;font-family:Georgia,serif;font-size:2rem;line-height:1;color:#9fd3bd}
.vc-card.is-pink .vc-bubble__text:before{color:#f0a3bb}
.vc-bubble .vc-tags{margin-top:12px}
.vc-bubble .vc-tags li{padding:2px 10px;border-radius:99px;background:rgba(255,255,255,.85);border:1px solid #e3efe9;color:#4f6656;font-size:.72rem}
.vc-card.is-pink .vc-bubble .vc-tags li{border-color:#f6dbe4;color:var(--vc-deep)}
.vc-speaker{display:flex;align-items:center;gap:10px;margin:22px 0 0 8px}
.vc-avatar{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e9f6f0;color:#5fae8c;box-shadow:0 0 0 3px #fff,0 6px 14px -8px rgba(35,80,70,.5)}
.vc-avatar.is-pink{background:#ffe6ee;color:#e07c9c}
.vc-speaker__info{min-width:0}
.vc-speaker__name{margin:0;font-weight:700;color:var(--vc-ink);font-size:.9rem}
.vc-speaker__meta{margin:0;color:#8a7d82;font-size:.76rem;line-height:1.6}
.vc-card__more{margin:12px 0 0 8px;padding:9px 16px;border-radius:99px;background:#fff;border:1px solid var(--vc-pink-line);font-size:.82rem;transition:background .2s}
.vc-card__more:hover{background:var(--vc-pink-soft)}
.vc-bubble--lg{margin-top:12px}
.vc-bubble--lg .vc-bubble__text{font-size:clamp(1.05rem,2.6vw,1.25rem)}
.vc-detail .vc-bubble{background:linear-gradient(160deg,#ffffff 0%,#fff0f5 100%);border-color:#f6cfdc}
.vc-detail .vc-bubble:before{border-top-color:#f6cfdc}
.vc-detail .vc-bubble:after{border-top-color:#fff0f5}
.vc-detail .vc-bubble__text:before{color:#f0a3bb}
@media(prefers-reduced-motion:reduce){.vc-card__more{transition:none}}
