/* トップページに置く診断トリガーカード（グラデーションのヒーロー型）。クリックでモーダルを開く */
.mgwc-diagnosis-teaser{position:relative;overflow:hidden;margin:20px 0 28px;padding:28px 26px 22px;background:linear-gradient(135deg,#171a20 0%,#5c1420 55%,#b51f2e 100%);border-radius:6px;color:#fff;text-align:center}
.mgwc-diagnosis-teaser:before{content:"";position:absolute;top:0;left:0;right:0;height:14px;background-image:radial-gradient(circle,rgba(255,255,255,.4) 1.5px,transparent 1.5px);background-size:22px 22px;background-position:11px 7px;opacity:.55}
.mgwc-diagnosis-teaser__kicker{margin:4px 0 10px!important;color:rgba(255,255,255,.7);font-size:11px;font-weight:900;letter-spacing:.2em}
.mgwc-diagnosis-teaser h2{margin:0 0 8px!important;color:#fff;font-size:21px;line-height:1.35;font-weight:900}
.mgwc-diagnosis-teaser__lead{max-width:420px;margin:0 auto 18px!important;color:rgba(255,255,255,.85);font-size:13px;line-height:1.65}
.mgwc-diagnosis-teaser__start{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border:0;border-radius:999px;background:#fff;color:var(--red,#b51f2e)!important;font-size:14.5px;font-weight:900;cursor:pointer;text-decoration:none!important;box-shadow:0 8px 18px rgba(0,0,0,.28);transition:transform .15s ease,box-shadow .15s ease}
.mgwc-diagnosis-teaser__start span{font-size:11px}
.mgwc-diagnosis-teaser__start:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(0,0,0,.32)}
.mgwc-diagnosis-teaser__meta{display:flex;justify-content:center;gap:14px;margin:14px 0 0!important;color:rgba(255,255,255,.75);font-size:11.5px;letter-spacing:.02em}
.mgwc-diagnosis-teaser__meta span{position:relative}
.mgwc-diagnosis-teaser__meta span+span:before{content:"•";position:absolute;left:-9px;color:rgba(255,255,255,.5)}
@media(max-width:520px){.mgwc-diagnosis-teaser{padding:24px 20px 18px}.mgwc-diagnosis-teaser h2{font-size:18px}.mgwc-diagnosis-teaser__meta{gap:10px;font-size:10.5px}}

/* 診断中のローディング表示 */
.mgwc-diagnosis__loading{padding:50px 0;text-align:center}
.mgwc-diagnosis__loading p{margin:16px 0 0!important;color:var(--muted,#6b7280);font-size:13.5px;font-weight:700}
.mgwc-diagnosis__spinner{display:inline-block;width:34px;height:34px;border:3px solid var(--line,#dfe3e8);border-top-color:var(--red,#b51f2e);border-radius:50%;animation:mgwc-diagnosis-spin .8s linear infinite}
@keyframes mgwc-diagnosis-spin{to{transform:rotate(360deg)}}

/* モーダル本体（PC・スマホとも画面中央に表示） */
.mgwc-diagnosis-modal{position:fixed;inset:0;z-index:99996;display:flex;align-items:center;justify-content:center;padding:16px}
.mgwc-diagnosis-modal[hidden]{display:none}
.mgwc-diagnosis-modal__backdrop{position:absolute;inset:0;background:rgba(11,11,13,.62)}
.mgwc-diagnosis-modal__panel{position:relative;z-index:1;width:100%;max-width:440px;max-height:88vh;overflow-y:auto;margin:0 auto;padding:30px 28px 26px;background:#fff;border-top:3px solid var(--red,#b51f2e);border-radius:6px;box-shadow:0 24px 60px rgba(15,17,20,.35)}
.mgwc-diagnosis-modal__close{position:absolute;top:16px;right:16px;width:30px;height:30px;border:0;border-radius:50%;background:var(--paper,#f4f5f7);color:var(--ink,#20242a);font-size:17px;line-height:1;cursor:pointer;transition:background-color .15s ease}
.mgwc-diagnosis-modal__close:hover{background:#e8eaed}
body.mgwc-diagnosis-modal-open{overflow:hidden}

/* 質問ステップ */
.mgwc-diagnosis__progress{margin:0 0 6px!important;color:var(--red,#b51f2e);font-size:11px;font-weight:900;letter-spacing:.1em}
.mgwc-diagnosis__step h3{margin:0 0 16px!important;padding-right:26px;font-size:19px;line-height:1.45}
.mgwc-diagnosis__options{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.mgwc-diagnosis__options button{display:flex;align-items:center;gap:12px;width:100%;padding:15px 16px;border:1px solid var(--line,#dfe3e8);border-radius:2px;background:var(--paper,#f4f5f7);color:var(--ink,#20242a);font-size:14.5px;font-weight:700;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.mgwc-diagnosis__options button span{font-size:19px;flex:none}
.mgwc-diagnosis__options button:hover,.mgwc-diagnosis__options button:focus-visible{border-color:var(--red,#b51f2e);background:#fff}
.mgwc-diagnosis__back{padding:0;border:0;background:none;color:var(--muted,#6b7280);font-size:12.5px;font-weight:700;cursor:pointer}
.mgwc-diagnosis__back:hover{color:var(--red,#b51f2e)}

/* 結果ステップ：作品を大きな画像カードで見せ、最後にVOD CTAを置く */
.mgwc-diagnosis__result-kicker{margin:0 0 4px!important;color:var(--red,#b51f2e);font-size:11px;font-weight:900;letter-spacing:.16em}
.mgwc-diagnosis__result h3{margin:0 0 12px!important;font-size:22px;line-height:1.4}
.mgwc-diagnosis__result h3 span{color:var(--red,#b51f2e)}
.mgwc-diagnosis__desc{margin:0 0 20px!important;color:var(--ink,#20242a);font-size:14px;line-height:1.75}
.mgwc-diagnosis__works-label{margin:0 0 12px!important;color:var(--ink,#20242a);font-size:12.5px;font-weight:800}
.mgwc-diagnosis__works{display:flex;flex-direction:column;gap:14px;margin:0 0 22px!important}
.mgwc-diagnosis__work{margin:0}
.mgwc-diagnosis__work-media{position:relative;overflow:hidden;border-radius:4px;background:#e9eaec}
.mgwc-diagnosis__work-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.mgwc-diagnosis__work-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,12,.82),rgba(10,10,12,0) 60%);pointer-events:none}
.mgwc-diagnosis__work-badge{position:absolute;top:10px;right:10px;z-index:1;padding:4px 10px;border-radius:999px;font-size:10.5px;font-weight:800;white-space:nowrap}
.mgwc-diagnosis__work-badge.is-available{background:var(--red,#b51f2e);color:#fff}
.mgwc-diagnosis__work-badge.is-unavailable{background:rgba(255,255,255,.94);color:#6b7280}
.mgwc-diagnosis__work-media figcaption{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;color:#fff;font-size:16px;font-weight:800;line-height:1.4;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.mgwc-diagnosis__vod{display:block;padding:16px 18px;margin-bottom:14px;border-radius:2px;background:var(--red,#b51f2e);color:#fff!important;font-size:15.5px;font-weight:800;text-align:center;text-decoration:none!important;box-shadow:0 6px 16px rgba(181,31,46,.28);transition:background-color .15s ease,transform .15s ease}
.mgwc-diagnosis__vod:hover{background:#8f1624;transform:translateY(-1px)}
.mgwc-diagnosis__note{margin:0 0 16px!important;color:var(--muted,#6b7280);font-size:10.5px;line-height:1.65;opacity:.9}
.mgwc-diagnosis__note a{color:var(--red,#b51f2e)!important;font-weight:700;text-decoration:underline}
.mgwc-diagnosis__note a:hover{color:#8f1624!important}
.mgwc-diagnosis__retry{padding:0;border:0;background:none;color:var(--muted,#6b7280);font-size:12.5px;font-weight:700;text-decoration:underline;cursor:pointer}
.mgwc-diagnosis__retry:hover{color:var(--red,#b51f2e)}
@media(max-width:520px){.mgwc-diagnosis-modal__panel{padding:26px 22px 22px}.mgwc-diagnosis__result h3{font-size:19px}.mgwc-diagnosis__work-media figcaption{font-size:15px}}
