/* 恋人未満診断（2026-09-03）
 * 物書き診断（css/monokaki-shindan.css）の骨格に、夜の藍と月の金を差す。
 */
.kz{padding:0 0 60px}

/* ---- はじめの画面 ---- */
.kz-top__grid{display:block}
.kz-top__art{display:block;width:100%;height:auto;border-radius:22px;margin:0 0 22px;box-shadow:0 18px 44px rgba(72,63,140,.18)}
.kz-top__visual{margin:4px 0 0}
.kz-top__visual picture{display:block}
.kz-top__visual .kz-top__art{max-height:46vh;object-fit:cover;object-position:center 30%;margin:0}
@media (min-width:860px){
	.kz-top__grid{display:grid;grid-template-columns:1fr .82fr;gap:34px;align-items:center;margin:0 0 6px}
	.kz-top__head,.kz-top__eyebrow,.kz-top__h1,.kz-top__sub,.kz-top__btnwrap,.kz-top__note{text-align:left}
	.kz-top__facts{justify-content:flex-start}
	.kz-top__visual{margin:0}
	.kz-top__visual .kz-top__art{max-height:none;object-fit:contain}
	.kz-top__lead{max-width:none}
}
.kz-top__eyebrow{margin:0 0 8px;text-align:center;font:800 11px Poppins,sans-serif;letter-spacing:.18em;color:#8a6a1f}
.kz-top__h1{margin:0 0 8px;text-align:center;font-size:clamp(26px,6.4vw,38px);line-height:1.25;color:#2f2a55}
.kz-top__sub{margin:0 0 18px;text-align:center;font-size:15px;font-weight:800;color:#6f5fb0}
.kz-top__lead{margin:0 0 18px;font-size:14px;line-height:2.05;color:#544766}
.kz-top__lead strong{color:#3a4a86;font-weight:900}
.kz-top__facts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 22px;padding:0;list-style:none}
.kz-top__facts li{padding:7px 13px;border-radius:99px;background:#fbf6ea;border:1px solid #efdcb0;font-size:12px;font-weight:800;color:#3a4a86}
.kz-top__btnwrap{margin:0 0 14px;text-align:center}
.kz-top__btn{display:inline-block;min-height:56px;padding:17px 44px;border:0;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,#2a3567,#d4a72c);color:#fff;font-family:inherit;font-size:16px;font-weight:900;letter-spacing:.06em;box-shadow:0 12px 30px rgba(42,53,103,.34);-webkit-tap-highlight-color:transparent}
.kz-top__note{margin:0;text-align:center;font-size:11px;line-height:1.8;color:#6f6680}

body.kz-running .ms-header__cta,body.kz-running .ms-header__quickcta,body.kz-running .ms-nav-cta-top,body.kz-running .ms-nav-cta-pc,body.kz-running .ms-header__hamburger,body.kz-running .ms-header__nav,body.kz-running #msBottomNav{display:none !important}
body.kz-running .kz{padding-bottom:24px}

/* ---- 設問 ---- */
.kz-stage.has-bg{background:var(--kz-qbg) center/cover no-repeat;border-radius:22px;padding:22px 18px}
.kz-prog{margin:0 0 20px}
.kz-prog__t{margin:0 0 7px;font:900 12px Poppins,sans-serif;color:#8a6a1f;text-align:center}
.kz-prog__bar{height:7px;border-radius:9px;background:#e9e9f5;overflow:hidden}
.kz-prog__bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#2a3567,#d4a72c);transition:width .32s ease}
.kz-scene{margin:0 0 8px;font-size:12.5px;font-weight:900;color:#8a6a1f;letter-spacing:.04em}
.kz-q{margin:0 0 22px;font-size:19px;line-height:1.65;color:#2f2348}
.kz-opts{display:flex;flex-direction:column;gap:11px}
.kz-opt{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;width:100%;min-height:58px;padding:15px 17px;border-radius:16px;cursor:pointer;background:#fff;border:1.5px solid #e4e2f0;color:#3a2f52;font-family:inherit;font-size:14.5px;line-height:1.75;text-align:left;-webkit-tap-highlight-color:transparent;transition:border-color .16s,background .16s}
.kz-opt span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fbf6ea;font:900 12px Poppins,sans-serif;color:#3a4a86}
.kz-opt b{font-weight:700}
.kz-opt:hover,.kz-opt:focus{border-color:#e0c98a;background:#fdfaf2}
.kz-opt.is-on{border-color:#2a3567;background:#fbf6ea}
.kz-back{margin:18px 0 0;text-align:center}
.kz-back button{border:0;background:none;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:800;color:#6c6284;text-decoration:underline}

/* ---- 判定中 ---- */
.kz-loading{padding:40px 20px 56px;text-align:center}
.kz-loading__art{display:block;width:min(260px,60vw);height:auto;margin:0 auto 14px;border-radius:50%}
.kz-loading i{display:block;width:46px;height:46px;margin:0 auto 18px;border-radius:50%;border:3px solid #e4e2f0;border-top-color:#2a3567;animation:kzSpin .9s linear infinite}
@keyframes kzSpin{to{transform:rotate(360deg)}}
.kz-loading p{margin:0 0 6px;font-size:15px;font-weight:900;color:#2f2a55}
.kz-loading small{font-size:12px;color:#6c6284}

/* ---- 結果 ---- */
.kz-res{text-align:center;margin:0 0 18px}
.kz-res__eyebrow{margin:0 0 10px;font:800 11px Poppins,sans-serif;letter-spacing:.18em;color:#8a6a1f}
.kz-res__art{margin:0 auto 14px;width:min(340px,78vw)}
.kz-res__art img{display:block;width:100%;height:auto;border-radius:28px;box-shadow:0 18px 44px rgba(72,63,140,.2)}
.kz-res__name{margin:0 0 6px;font-size:clamp(24px,6vw,34px);line-height:1.3;color:#2f2a55}
.kz-res__code{margin:0 0 10px;font:900 15px Poppins,sans-serif;letter-spacing:.18em;color:#2a3567}
.kz-res__code span{display:block;font-size:11px;letter-spacing:.1em;color:#8a86a8;margin-top:3px}
.kz-res__catch{margin:0 0 8px;font-size:16px;font-weight:800;line-height:1.7;color:#3a2f52}
.kz-res__axes{margin:0;display:inline-block;padding:6px 14px;border-radius:99px;background:#fbf6ea;font-size:12.5px;font-weight:800;color:#3a4a86}

.kz-share{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 22px}
.kz-share a,.kz-share button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border-radius:999px;border:0;cursor:pointer;font-family:inherit;font-size:14px;font-weight:900;text-decoration:none;-webkit-tap-highlight-color:transparent}
.kz-share__x{background:#111;color:#fff}
.kz-share__line{background:#06c755;color:#fff}
.kz-share__copy{background:#fff;color:#3a4a86;border:1.5px solid #efdcb0 !important}
.kz-landed{text-align:center;margin:0 0 26px}

.kz-panel{margin:0 0 18px;padding:20px 18px;border-radius:20px;background:#fff;border:1px solid #ebe7f3;box-shadow:0 8px 24px rgba(72,63,140,.06)}
.kz-panel h3{margin:0 0 12px;font-size:17px;color:#2f2a55}
.kz-panel h4{margin:0 0 6px;font-size:13px;color:#8a6a1f}
.kz-panel p{margin:0 0 10px;font-size:14px;line-height:1.95;color:#3f3552}
.kz-axes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.kz-axis{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:13px;font-weight:800;color:#8a86a8}
.kz-axis__l.is-on,.kz-axis__r.is-on{color:#3a4a86}
.kz-axis__bar{position:relative;height:10px;border-radius:9px;background:#e9e9f5;overflow:hidden}
.kz-axis__bar i{position:absolute;top:0;height:100%;border-radius:9px;background:linear-gradient(90deg,#2a3567,#d4a72c)}
.kz-axis.is-left .kz-axis__bar i{left:0}
.kz-axis.is-right .kz-axis__bar i{right:0;background:linear-gradient(90deg,#d4a72c,#b8477f)}
.kz-axis__note{grid-column:1/-1;font-size:11.5px;font-weight:600;font-style:normal;color:#6c6284}
.kz-sw{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 12px}
.kz-sw ul{margin:0;padding:0 0 0 1.2em;font-size:13px;line-height:1.9;color:#3f3552}
.kz-tip{padding:12px 14px;border-radius:14px;background:#f5f2fb;font-size:13.5px !important}
.kz-tip b{display:block;margin:0 0 4px;color:#8a6a1f;font-size:12px}

.kz-att{border-color:#e8d6ef;background:linear-gradient(180deg,#fdf8ff,#fff)}
.kz-att__eyebrow{margin:0 0 4px !important;font:800 11px Poppins,sans-serif;letter-spacing:.14em;color:#a8517f}
.kz-att h3 small{display:block;margin-top:4px;font-size:13px;font-weight:800;color:#8b5fa8}
.kz-att__go a{font-weight:900;color:#b8477f}

.kz-mate__c{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;text-decoration:none;color:inherit}
.kz-mate__c img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.kz-mate__c b{display:block;font-size:15px;color:#2f2a55}
.kz-mate__c em{display:block;font:900 11px Poppins,sans-serif;letter-spacing:.14em;color:#2a3567;font-style:normal}
.kz-mate__c span{display:block;font-size:12.5px;line-height:1.7;color:#6c6284;margin-top:4px}

.kz-next{display:block;margin:0 0 22px;border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;background:#fff;border:1px solid #ebe7f3;box-shadow:0 12px 30px rgba(72,63,140,.12)}
.kz-next__img{display:block;width:100%;height:auto}
.kz-next__body{display:block;padding:16px 18px 18px}
.kz-next__label{display:block;font:800 10px Poppins,sans-serif;letter-spacing:.18em;color:#a8517f;margin:0 0 6px}
.kz-next__body b{display:block;font-size:17px;line-height:1.5;color:#2f2a55;margin:0 0 8px}
.kz-next__lead{display:block;font-size:12.5px;line-height:1.85;color:#544766;margin:0 0 12px}
.kz-next__btn{display:inline-block;padding:11px 22px;border-radius:999px;background:linear-gradient(135deg,#b8477f,#d4a72c);color:#fff;font-size:13px;font-weight:900}

.kz-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:640px){.kz-grid{grid-template-columns:repeat(4,1fr)}}
.kz-grid__c a{display:block;padding:10px 8px;border-radius:14px;background:#faf9fd;border:1px solid #ebe7f3;text-align:center;text-decoration:none;color:inherit}
.kz-grid__c img{display:block;width:64px;height:64px;margin:0 auto 6px;border-radius:50%;object-fit:cover}
.kz-grid__c b{display:block;font-size:12.5px;line-height:1.4;color:#2f2a55}
.kz-grid__c em{display:block;font:900 10px Poppins,sans-serif;letter-spacing:.14em;color:#8a86a8;font-style:normal;margin-top:3px}
.kz-grid__c.is-me a{border-color:#2a3567;background:#fbf6ea}
.kz-grid__more{margin:12px 0 0;text-align:center;font-size:13px;font-weight:800}
.kz-retry{text-align:center;margin:0}
.kz-retry button{border:0;background:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:800;color:#6c6284;text-decoration:underline}

/* ---- 説明（検索向け） ---- */
.kz-about{margin:40px 0 0;padding:26px 18px;border-radius:22px;background:#fff;border:1px solid #ebe7f3}
.kz-about h2{margin:0 0 12px;font-size:19px;color:#2f2a55}
.kz-about h2+p,.kz-about p{font-size:14px;line-height:2;color:#3f3552;margin:0 0 14px}
.kz-about h3{margin:22px 0 8px;font-size:15.5px;color:#3a4a86}
.kz-about__list{margin:0 0 16px;padding:0 0 0 1.2em;font-size:14px;line-height:2;color:#3f3552}
.kz-about__go{font-weight:900}
.kz-about__go a{color:#b8477f}
.kz-faq dt{font-weight:900;color:#2f2a55;margin:14px 0 4px;font-size:14.5px}
.kz-faq dd{margin:0;font-size:13.5px;line-height:1.95;color:#3f3552}

/* ---- 図鑑ページ ---- */
.kz-book{padding:0 0 60px}
.kz-book__h1{margin:0 0 10px;text-align:center;font-size:clamp(24px,6vw,34px);color:#2f2a55}
.kz-book__lead{margin:0 0 22px;text-align:center;font-size:14px;line-height:2;color:#544766}
.kz-book__go{text-align:center;margin:0 0 26px}
.kz-book__card{margin:0 0 16px;padding:18px;border-radius:20px;background:#fff;border:1px solid #ebe7f3;display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}
.kz-book__card img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.kz-book__card h2{margin:0 0 2px;font-size:17px;color:#2f2a55}
.kz-book__card em{display:block;font:900 11px Poppins,sans-serif;letter-spacing:.16em;color:#2a3567;font-style:normal;margin:0 0 6px}
.kz-book__card p{margin:0 0 8px;font-size:13.5px;line-height:1.9;color:#3f3552}
.kz-book__card .kz-book__catch{font-weight:800;color:#3a2f52}
.kz-book__card .kz-book__meta{font-size:12px;color:#6c6284}
.kz-book__card .kz-book__try{font-size:13px;font-weight:900}
.kz-book__card .kz-book__try a{color:#b8477f}
@media (max-width:480px){.kz-book__card{grid-template-columns:72px 1fr}.kz-book__card img{width:72px;height:72px}}

/* ---- 距離の型の様式 ---- */
.kz-res__moon{display:inline-flex;align-items:center;gap:8px;margin:12px 0 0;padding:8px 16px 8px 10px;border-radius:999px;background:#1b2350;color:#fff4b8;font-size:14px;font-weight:900}
.kz-res__moon img{width:30px;height:30px;border-radius:50%}
.kz-res__moon i{display:inline-block;width:22px;height:22px;border-radius:50%;background:#f6cf49}
.kz-res__moon--a i{box-shadow:inset -8px 0 0 0 #1b2350}
.kz-res__moon--v i{background:#1b2350;border:2px solid #8b93b8;box-sizing:border-box}
.kz-res__moon--f i{background:linear-gradient(90deg,#f6cf49 55%,#b39ddb 55%)}
.kz-res__moon span{color:#cfd3ea;font-weight:700}
.kz-food p{font-size:14.5px !important;font-weight:700;color:#5a4a30 !important}
.kz-att{border-color:#efdcb0;background:linear-gradient(180deg,#fdfaf2,#fff)}
.kz-att__eyebrow{color:#8a6a1f !important}
.kz-att h3 small{color:#8a6a1f}
.kz-att--a{border-color:#f3c6d9}.kz-att--v{border-color:#cfd3ea}.kz-att--f{border-color:#d9c8ef}
.kz-top__eyebrow,.kz-prog__t,.kz-scene,.kz-res__eyebrow{color:#8a6a1f}
.kz-top__sub{color:#3a4a86}
.kz-disclaimer{margin:14px 0 0;font-size:11px;line-height:1.8;color:#8a7f9d}
.kz-book__moon{margin:26px 0 16px;padding:18px;border-radius:20px;background:#1b2350;color:#eee8f6}
.kz-book__moon h2{margin:0 0 8px;font-size:17px;color:#fff4b8}
.kz-book__moon p{margin:0 0 6px;font-size:13.5px;line-height:1.9;color:#dfe3f5}
.kz-book__moon b{color:#f6cf49}

/* ---- 恋人未満だけの様式 ---- */
.kz-book{display:block;margin:0 0 18px;padding:18px 20px;border-radius:20px;background:linear-gradient(135deg,#fff,#fdeaf3);border:2px solid #f0c8de;text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(184,71,127,.10)}
.kz-book__label{display:block;font:800 10px Poppins,sans-serif;letter-spacing:.18em;color:#b8477f;margin:0 0 6px}
.kz-book b{display:block;font-size:16px;line-height:1.5;color:#2f2348;margin:0 0 6px}
.kz-book__why{display:block;font-size:12.5px;line-height:1.85;color:#544766;margin:0 0 10px}
.kz-book__go{display:inline-block;padding:9px 18px;border-radius:999px;background:linear-gradient(135deg,#e0619a,#9b5fc7);color:#fff;font-size:12.5px;font-weight:900}
.kz-res__moon{background:#1b2350}
/* ---- クズ度診断だけの様式: 五角形のレーダー・掲示板とコラム ---- */
.kz-radar{margin:14px auto 6px;max-width:400px;text-align:center}
.kz-radar canvas{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
.kz-radar__l{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0 0;padding:0}
.kz-radar__i{display:inline-flex;align-items:baseline;gap:4px;font-size:11.5px;font-weight:800;color:#5b4a7a;background:#fff;border:1.5px solid #f4d3e3;border-radius:999px;padding:4px 10px}
.kz-radar__i b{font-size:14px;color:#c0418a}.kz-radar__i small{font-size:10px;color:#a093b5;margin-left:1px}
.kz-radar__i--3 b,.kz-radar__i--4 b{color:#2f9e77}
.kz-cols{margin:18px 0 6px;background:#fff;border:1.5px solid #f4d3e3;border-radius:16px;padding:14px 14px 10px}
.kz-cols h3{font-size:13.5px;font-weight:900;color:#3a2a55;margin:0 0 10px}
.kz-cols__board{display:block;background:linear-gradient(135deg,#fff5fa,#fff);border:1.5px solid #f4d3e3;border-radius:14px;padding:12px 14px;text-decoration:none;margin:0 0 10px}
.kz-cols__board b{display:block;font-size:10.5px;font-weight:900;letter-spacing:.14em;color:#c0418a;margin:0 0 4px}
.kz-cols__board span{display:block;font-size:12.5px;line-height:1.8;color:#3a2a55}
.kz-cols__l{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.kz-cols__l a{display:block;font-size:12.5px;font-weight:800;color:#8b6cc1;text-decoration:none;padding:6px 0;border-top:1px dashed #f2dcea}

/* 総合クズ度（2026-09-05） */
.kz-score{margin:10px auto 4px;max-width:400px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:'l n' 'r n' 'bar bar' 'note note';align-items:center;column-gap:14px;padding:14px 18px;border-radius:18px;background:#fff;border:2px solid #f4d3e3;text-align:left}
.kz-score__l{grid-area:l;font-size:12px;font-weight:900;letter-spacing:.08em;color:#c0418a}
.kz-score__r{grid-area:r;font-size:15px;font-weight:900;color:#3a2a55}
.kz-score__n{grid-area:n;justify-self:end;font-size:52px;line-height:1;font-weight:900;color:#c0418a;letter-spacing:-.02em}.kz-score__n small{font-size:16px;margin-left:2px;color:#a093b5}
.kz-score__bar{grid-area:bar;display:block;height:10px;border-radius:99px;background:#fbeef4;overflow:hidden;margin-top:8px}.kz-score__bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#f6cf49,#d65c9a,#8b6cc1)}
.kz-score__note{grid-area:note;font-size:11.5px;color:#8a7a9a;line-height:1.6;margin-top:6px}
.kz-score--hi .kz-score__n{color:#a12b6f}.kz-score--lo .kz-score__n{color:#2f9e77}
.kz-next--top{margin:12px 0 18px}.kz-next--top .kz-next__body{padding:12px 16px 14px}.kz-next--top b{font-size:15px;margin:0 0 8px}

/* ==== cute v2（2026-09-05）: キャラの絵柄に合わせたパステルのステッカー調。上の定義を上書きする ==== */
.kz{background:linear-gradient(180deg,#fff6fb 0%,#f3f0ff 60%,#fff 100%);padding:0 0 64px}
.kz-stage.kz-top{position:relative;padding:20px 14px 26px;border-radius:30px;background:#fff;border:3px solid #ffd3e4;box-shadow:0 16px 40px rgba(226,73,127,.10);overflow:hidden}
.kz-stage.kz-top::before{content:'🐾';position:absolute;right:-6px;top:-10px;font-size:84px;opacity:.10;transform:rotate(-14deg);pointer-events:none}
.kz-stage.kz-top::after{content:'💗';position:absolute;left:-8px;bottom:-14px;font-size:72px;opacity:.10;transform:rotate(12deg);pointer-events:none}
.kz-top__eyebrow{display:inline-block;margin:0 auto 10px;padding:6px 14px;border-radius:999px;background:#fff0f6;border:2px solid #ffd3e4;color:#e2497f;font:900 10.5px Poppins,sans-serif;letter-spacing:.16em}
.kz-top__head{text-align:center}
.kz-top__h1{font-weight:900;color:#3a2a55;text-shadow:0 4px 0 #ffd3e4;letter-spacing:.01em}
.kz-top__sub{color:#e2497f;font-weight:900}
.kz-top__facts li{background:#fff;border:2px solid #efe6ff;color:#3a2a55;font-weight:900;box-shadow:0 3px 0 #efe6ff}
.kz-top__facts li:nth-child(2n){border-color:#ffd3e4;box-shadow:0 3px 0 #ffd3e4}
.kz-top__btn{background:linear-gradient(135deg,#ff6fa5,#e2497f);border:3px solid #fff;box-shadow:0 10px 0 #ffd3e4,0 18px 34px rgba(226,73,127,.28);font-size:17px;transition:transform .15s,box-shadow .15s}
.kz-top__btn:hover,.kz-top__btn:focus{transform:translateY(3px);box-shadow:0 7px 0 #ffd3e4,0 12px 26px rgba(226,73,127,.26)}
.kz-top__art,.kz-top__visual .kz-top__art{border-radius:26px;border:4px solid #fff;box-shadow:0 14px 34px rgba(124,92,196,.18)}
.kz-top__note{color:#6e5f86}
.kz-top__lead{margin:18px 0 0;padding:14px 16px;border-radius:18px;background:#fff6fb;border:2px dashed #ffd3e4;color:#3a2a55}
.kz-top__lead strong{color:#e2497f}
@media (min-width:860px){.kz-stage.kz-top{padding:30px 30px 34px}.kz-top__head{text-align:left}.kz-top__lead{margin-top:22px}}

/* 設問 */
.kz-stage.has-bg{background:linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.88)),var(--kz-qbg) center/cover no-repeat;border:3px solid #efe6ff;border-radius:30px;padding:22px 16px 24px}
#kzStage:not(.has-bg){background:#fff;border:3px solid #efe6ff;border-radius:30px;padding:22px 16px 24px}
.kz-prog__t{color:#e2497f;font-size:13px}
.kz-prog__bar{height:12px;border-radius:99px;background:#efe6ff;border:2px solid #fff;box-shadow:inset 0 0 0 1px #efe6ff}
.kz-prog__bar i{background:linear-gradient(90deg,#ff6fa5,#7c5cc4)}
.kz-scene{display:inline-block;padding:5px 12px;border-radius:999px;background:#fff0f6;border:2px solid #ffd3e4;color:#e2497f;font-size:12px}
.kz-q{font-weight:900;color:#3a2a55;font-size:19.5px}
.kz-opt{border:2px solid #efe6ff;border-radius:20px;background:#fff;box-shadow:0 4px 0 #efe6ff;transition:transform .12s,border-color .12s,background .12s,box-shadow .12s}
.kz-opt span{width:32px;height:32px;background:linear-gradient(135deg,#fff0f6,#fff0f6);color:#e2497f;border:2px solid #ffd3e4;font-size:13px}
.kz-opt:hover,.kz-opt:focus{border-color:#ff6fa5;background:#fff0f6;transform:translateY(2px);box-shadow:0 2px 0 #ffd3e4}
.kz-opt.is-on{border-color:#e2497f;background:#fff0f6;box-shadow:0 4px 0 #ffd3e4}
.kz-back button{color:#6e5f86}

/* 判定中 */
.kz-loading i{border-color:#efe6ff;border-top-color:#e2497f}
.kz-loading__art{border:4px solid #fff;box-shadow:0 12px 30px rgba(226,73,127,.18)}
.kz-loading p{color:#3a2a55}

/* 結果 */
#kzResult{padding:22px 14px 8px;border-radius:30px;background:#fff;border:3px solid #ffd3e4}
@media (min-width:860px){#kzResult{padding:30px 30px 14px}}
.kz-res__eyebrow{display:inline-block;padding:5px 14px;border-radius:999px;background:#fff0f6;border:2px solid #ffd3e4;color:#e2497f;font-size:10.5px}
.kz-res__art{width:min(320px,74vw)}
.kz-res__art img{border-radius:32px;border:5px solid #fff;box-shadow:0 18px 44px rgba(124,92,196,.20);background:linear-gradient(180deg,#fff6fb,#f3f0ff)}
.kz-res__name{font-weight:900;color:#3a2a55;text-shadow:0 4px 0 #ffd3e4;font-size:clamp(28px,7vw,40px)}
.kz-res__code{color:#e2497f}
.kz-res__code span{color:#6e5f86}
.kz-res__catch{color:#3a2a55}
.kz-res__axes{background:#fff0f6;border:2px solid #ffd3e4;color:#e2497f}
.kz-radar__i{border:2px solid #efe6ff;color:#3a2a55;box-shadow:0 2px 0 #efe6ff}
.kz-radar__i b{color:#e2497f}
.kz-radar__i.is-top{border-color:#e2497f;background:#fff0f6}
.kz-score{background:linear-gradient(135deg,#fff,#fff0f6);border:3px solid #ffd3e4;border-radius:24px;box-shadow:0 6px 0 #ffd3e4}
.kz-score__l{color:#e2497f}
.kz-score__n{color:#e2497f}
.kz-score__bar{background:#fff;border:2px solid #efe6ff}
.kz-score__bar i{background:linear-gradient(90deg,#7fd6c2,#ff6fa5,#7c5cc4)}
.kz-res__moon{background:linear-gradient(135deg,#7c5cc4,#ff6fa5);color:#fff;border:3px solid #fff;box-shadow:0 8px 20px rgba(124,92,196,.25)}
.kz-res__moon span{color:#fff;opacity:.9}
.kz-share a,.kz-share button{border:3px solid #fff !important;box-shadow:0 6px 18px rgba(58,42,85,.14)}
.kz-share__copy{color:#e2497f;background:#fff0f6}
.kz-landed .kz-top__btn{font-size:15px}

/* 板 */
.kz-panel{border:2px solid #efe6ff;border-radius:24px;box-shadow:0 6px 0 #efe6ff}
.kz-panel h3{display:flex;align-items:center;gap:8px;color:#3a2a55;font-weight:900}
.kz-panel h3::before{content:'';width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#ff6fa5,#7c5cc4);flex:none}
.kz-panel h4{color:#e2497f}
.kz-axis__bar{background:#efe6ff}
.kz-axis__bar i{background:linear-gradient(90deg,#ff6fa5,#7c5cc4)}
.kz-axis.is-right .kz-axis__bar i{background:linear-gradient(90deg,#8ec5ff,#7fd6c2)}
.kz-axis__l.is-on,.kz-axis__r.is-on{color:#e2497f}
.kz-tip{background:#fff6fb;border-left:5px solid #ff6fa5;border-radius:0 16px 16px 0}
.kz-tip b{color:#e2497f}
.kz-food p{color:#3a2a55 !important}
.kz-att,.kz-att--a,.kz-att--v,.kz-att--f{border-color:#ffd3e4;background:linear-gradient(180deg,#fff6fb,#fff)}
.kz-att__eyebrow{color:#e2497f !important}
.kz-att h3 small{color:#7c5cc4}
.kz-att__go a{color:#e2497f}
.kz-cols{border:2px solid #efe6ff;border-radius:20px;box-shadow:0 4px 0 #efe6ff}
.kz-cols__board{background:linear-gradient(135deg,#fff0f6,#fff);border:2px solid #ffd3e4}
.kz-cols__board b{color:#e2497f}
.kz-cols__l a{color:#7c5cc4;border-top-color:#efe6ff}
.kz-mate__c img{border-radius:20px;border:3px solid #efe6ff;background:#fff6fb;object-fit:contain}
.kz-mate__c em{color:#e2497f}
.kz-next{border:3px solid #ffd3e4;border-radius:26px;box-shadow:0 8px 0 #ffd3e4,0 18px 34px rgba(226,73,127,.12)}
.kz-next__label{color:#e2497f}
.kz-next__btn{background:linear-gradient(135deg,#ff6fa5,#7c5cc4);border:2px solid #fff}
.kz-grid__c a{background:#fff;border:2px solid #efe6ff;border-radius:20px;box-shadow:0 4px 0 #efe6ff}
.kz-grid__c img{width:72px;height:72px;border-radius:18px;object-fit:contain;background:#fff6fb}
.kz-grid__c.is-me a{border-color:#e2497f;background:#fff0f6;box-shadow:0 4px 0 #ffd3e4}
.kz-grid__c em{color:#e2497f}
.kz-grid__more a,.kz-about__go a,.kz-book__card .kz-book__try a{color:#e2497f}
.kz-retry button{color:#6e5f86}
.kz-disclaimer{color:#6e5f86}

/* 説明・図鑑 */
.kz-about{border:2px solid #efe6ff;border-radius:26px}
.kz-about h2{padding:0 0 8px;border-bottom:3px solid #ffd3e4;color:#3a2a55}
.kz-about h3{color:#e2497f}
.kz-faq dt{color:#3a2a55}
.kz-book__h1{color:#3a2a55;text-shadow:0 4px 0 #ffd3e4}
.kz-book__card{border:2px solid #efe6ff;border-radius:24px;box-shadow:0 5px 0 #efe6ff}
.kz-book__card img{border-radius:20px;object-fit:contain;background:#fff6fb;border:3px solid #efe6ff}
.kz-book__card em{color:#e2497f}
.kz-book__moon{background:linear-gradient(135deg,#7c5cc4,#ff6fa5);color:#fff;border-radius:24px}
.kz-book__moon h2{color:#fff}
.kz-book__moon p{color:#fff;opacity:.92}
.kz-book__moon b{color:#fff}
.kz-top__eyebrow,.kz-prog__t,.kz-scene,.kz-res__eyebrow{color:#e2497f}
.kz-top__sub{color:#e2497f}

/* 図鑑のラベルをチップに（2026-09-05） */
.kz-book__meta b{display:inline-block;padding:2px 9px;border-radius:999px;background:#fff0f6;border:1.5px solid #ffd3e4;color:#e2497f;font-size:11.5px;margin:0 6px 2px 0;vertical-align:middle}

/* ==== noir v3（2026-09-05）: 絵柄の世界観（黒×差し色）。cute v2 の上に重ねる ==== */
.kz,.kz-book{background:linear-gradient(180deg,#1a1519 0%,#2e1a25 55%,#1a1519 100%)}
.kz-stage.kz-top{border:3px solid #3a2a30;box-shadow:0 18px 44px rgba(0,0,0,.35)}
.kz-stage.kz-top::before{content:'';color:#e07a95;opacity:.35}
.kz-stage.kz-top::after{content:'';color:#e07a95;opacity:.25}
.kz-top__eyebrow,.kz-res__eyebrow,.kz-scene{background:#fff5f7;border-color:#eadfe4;color:#c0415f}
.kz-top__h1,.kz-res__name{text-shadow:0 4px 0 #eadfe4}
.kz-book__h1{color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.45)}
.kz-top__sub,.kz-res__code,.kz-top__lead strong,.kz-prog__t,.kz-radar__i b,.kz-score__l,.kz-score__n,.kz-panel h4,.kz-tip b,.kz-att__eyebrow,.kz-att__go a,.kz-cols__board b,.kz-mate__c em,.kz-next__label,.kz-grid__c em,.kz-grid__more a,.kz-about__go a,.kz-book__card .kz-book__try a,.kz-about h3,.kz-book__card em,.kz-book__meta b,.kz-share__copy{color:#c0415f}
.kz-top__facts li{border-color:#eadfe4;box-shadow:0 3px 0 #eadfe4}
.kz-top__facts li:nth-child(2n){border-color:#e07a95;box-shadow:0 3px 0 #e07a95}
.kz-top__btn{background:linear-gradient(135deg,#2e1a25,#c0415f);box-shadow:0 10px 0 #c0415f,0 18px 34px rgba(0,0,0,.35)}
.kz-top__btn:hover,.kz-top__btn:focus{box-shadow:0 6px 0 #c0415f,0 12px 26px rgba(0,0,0,.3)}
.kz-top__art,.kz-top__visual .kz-top__art{border-color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.25)}
.kz-top__lead{background:#fff5f7;border:2px solid #eadfe4}
.kz-top__note{color:#6e5f86}
.kz-stage.has-bg,#kzStage:not(.has-bg){border:3px solid #3a2a30;background:#fff}
.kz-stage.has-bg{background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),var(--kz-qbg) center/cover no-repeat}
.kz-prog__bar{background:#eadfe4;box-shadow:inset 0 0 0 1px #eadfe4}
.kz-prog__bar i{background:linear-gradient(90deg,#e07a95,#c0415f)}
.kz-opt{border-color:#eadfe4;box-shadow:0 4px 0 #eadfe4}
.kz-opt span{background:#fff5f7;border-color:#eadfe4;color:#c0415f}
.kz-opt:hover,.kz-opt:focus{border-color:#e07a95;background:#fff5f7;box-shadow:0 2px 0 #eadfe4}
.kz-opt.is-on{border-color:#c0415f;background:#fff5f7;box-shadow:0 4px 0 #eadfe4}
.kz-loading{color:#fff}
.kz-loading p{color:#fff}
.kz-loading small{color:#d9cfd6}
.kz-loading i{border-color:rgba(255,255,255,.25);border-top-color:#e07a95}
#kzResult{border:3px solid #3a2a30;box-shadow:0 18px 44px rgba(0,0,0,.35)}
.kz-res__art img{border-color:#fff;background:#f4f0f2;box-shadow:0 18px 44px rgba(0,0,0,.25)}
.kz-res__axes{background:#fff5f7;border-color:#eadfe4;color:#c0415f}
.kz-radar__i{border-color:#eadfe4;box-shadow:0 2px 0 #eadfe4}
.kz-radar__i.is-top{border-color:#c0415f;background:#fff5f7}
.kz-score{background:linear-gradient(135deg,#fff,#fff5f7);border-color:#eadfe4;box-shadow:0 6px 0 #eadfe4}
.kz-score__bar{border-color:#eadfe4}
.kz-score__bar i{background:linear-gradient(90deg,#e07a95,#c0415f,#2e1a25)}
.kz-res__moon{background:linear-gradient(135deg,#2e1a25,#c0415f);box-shadow:0 8px 20px rgba(0,0,0,.3)}
.kz-panel,.kz-cols,.kz-about,.kz-book__card{border-color:#eadfe4;box-shadow:0 6px 0 #eadfe4}
.kz-panel h3::before{background:linear-gradient(135deg,#e07a95,#c0415f)}
.kz-axis__bar{background:#eadfe4}
.kz-axis__bar i{background:linear-gradient(90deg,#e07a95,#c0415f)}
.kz-axis.is-right .kz-axis__bar i{background:linear-gradient(90deg,#2e1a25,#e07a95)}
.kz-axis__l.is-on,.kz-axis__r.is-on{color:#c0415f}
.kz-tip{background:#fff5f7;border-left-color:#c0415f}
.kz-att,.kz-att--a,.kz-att--v,.kz-att--f{border-color:#eadfe4;background:linear-gradient(180deg,#fff5f7,#fff)}
.kz-att h3 small{color:#c0415f}
.kz-cols__board{background:linear-gradient(135deg,#fff5f7,#fff);border-color:#eadfe4}
.kz-cols__l a{color:#c0415f;border-top-color:#eadfe4}
.kz-mate__c img{border-color:#eadfe4;background:#fff5f7}
.kz-next{border-color:#3a2a30;box-shadow:0 8px 0 #3a2a30,0 18px 34px rgba(0,0,0,.3)}
.kz-next__btn{background:linear-gradient(135deg,#e07a95,#c0415f)}
.kz-grid__c a{border-color:#eadfe4;box-shadow:0 4px 0 #eadfe4}
.kz-grid__c img{background:#fff5f7}
.kz-grid__c.is-me a{border-color:#c0415f;background:#fff5f7;box-shadow:0 4px 0 #eadfe4}
.kz-about h2{border-bottom-color:#eadfe4}
.kz-book__h1{color:#fff}
.kz-book__lead{color:#d9cfd6}
.kz-book .kz-disclaimer,.kz-book__go+.kz-disclaimer{color:#d9cfd6}
.kz-book__card img{border-color:#eadfe4;background:#fff5f7}
.kz-book__moon{background:linear-gradient(135deg,#2e1a25,#c0415f)}
.kz-book__meta b{background:#fff5f7;border-color:#eadfe4;color:#c0415f}
.kz-retry button,.kz-back button{color:#6e5f86}

/* 回避型の売れ筋導線・ティーザー（2026-09-05） */
.kz-kaihi{border-color:#c0415f !important}
.kz-kaihi>p{font-size:13.5px;color:#3f3552;margin:0 0 10px}
.kz-kaihi .kz-cols__l{margin:0 0 12px}
.kz-tz{margin:14px 0 0;border-top:1px dashed #eadfe4;padding-top:12px}
.kz-tz__in{font-size:12.5px;font-weight:900;color:#c0415f;margin:0 0 6px}
.kz-tz__p{font-size:13px;line-height:2;color:#463c52;margin:0 0 2px}
.kz-tz__blur{filter:blur(3.5px);user-select:none;pointer-events:none}
.kz-tz__go{margin:10px 0 0;text-align:right}
.kz-tz__go a{font-size:13px;font-weight:900;color:#c0415f;text-decoration:none}

/* クズ男っち（彼氏を育てるゲーム）への入口（2026-09-06） */
.kz-pet{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px 16px;border-radius:22px;border:2px solid #eadfe4;background:linear-gradient(135deg,#fff5f7,#fff);text-decoration:none;color:#3a2a55;box-shadow:0 6px 0 #eadfe4}
.kz-pet__art{flex:0 0 76px;width:76px;height:76px;border-radius:18px;background-color:#fff5f7;background-repeat:no-repeat;background-size:400% 300%;background-position:66.6667% 0;image-rendering:pixelated}
.kz-pet__art--e{display:flex;align-items:center;justify-content:center;font-size:40px}
.kz-pet__b{display:block;min-width:0}
.kz-pet__b em{display:block;font-style:normal;font-size:10.5px;font-weight:900;letter-spacing:.14em;color:#c0415f;margin:0 0 4px}
.kz-pet__b b{display:block;font-size:14.5px;line-height:1.5;color:#3a2a55;margin:0 0 4px}
.kz-pet__b span{display:block;font-size:12px;line-height:1.75;color:#5b4a7a}
.kz-pet__b i{display:inline-block;margin-top:8px;padding:7px 14px;border-radius:999px;background:linear-gradient(135deg,#e07a95,#c0415f);color:#fff;font-style:normal;font-size:12px;font-weight:900;border:2px solid #fff}
@media (max-width:359px){.kz-pet{gap:10px;padding:12px}.kz-pet__art{flex-basis:60px;width:60px;height:60px}}
