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

/* ---- はじめの画面 ---- */
.cf-top__grid{display:block}
.cf-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)}
.cf-top__visual{margin:4px 0 0}
.cf-top__visual picture{display:block}
.cf-top__visual .cf-top__art{max-height:46vh;object-fit:cover;object-position:center 30%;margin:0}
@media (min-width:860px){
	.cf-top__grid{display:grid;grid-template-columns:1fr .82fr;gap:34px;align-items:center;margin:0 0 6px}
	.cf-top__head,.cf-top__eyebrow,.cf-top__h1,.cf-top__sub,.cf-top__btnwrap,.cf-top__note{text-align:left}
	.cf-top__facts{justify-content:flex-start}
	.cf-top__visual{margin:0}
	.cf-top__visual .cf-top__art{max-height:none;object-fit:contain}
	.cf-top__lead{max-width:none}
}
.cf-top__eyebrow{margin:0 0 8px;text-align:center;font:800 11px Poppins,sans-serif;letter-spacing:.18em;color:#8a6a1f}
.cf-top__h1{margin:0 0 8px;text-align:center;font-size:clamp(26px,6.4vw,38px);line-height:1.25;color:#2f2a55}
.cf-top__sub{margin:0 0 18px;text-align:center;font-size:15px;font-weight:800;color:#6f5fb0}
.cf-top__lead{margin:0 0 18px;font-size:14px;line-height:2.05;color:#544766}
.cf-top__lead strong{color:#3a4a86;font-weight:900}
.cf-top__facts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 22px;padding:0;list-style:none}
.cf-top__facts li{padding:7px 13px;border-radius:99px;background:#fbf6ea;border:1px solid #efdcb0;font-size:12px;font-weight:800;color:#3a4a86}
.cf-top__btnwrap{margin:0 0 14px;text-align:center}
.cf-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}
.cf-top__note{margin:0;text-align:center;font-size:11px;line-height:1.8;color:#6f6680}

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

/* ---- 設問 ---- */
.cf-stage.has-bg{background:var(--cf-qbg) center/cover no-repeat;border-radius:22px;padding:22px 18px}
.cf-prog{margin:0 0 20px}
.cf-prog__t{margin:0 0 7px;font:900 12px Poppins,sans-serif;color:#8a6a1f;text-align:center}
.cf-prog__bar{height:7px;border-radius:9px;background:#e9e9f5;overflow:hidden}
.cf-prog__bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#2a3567,#d4a72c);transition:width .32s ease}
.cf-scene{margin:0 0 8px;font-size:12.5px;font-weight:900;color:#8a6a1f;letter-spacing:.04em}
.cf-q{margin:0 0 22px;font-size:19px;line-height:1.65;color:#2f2348}
.cf-opts{display:flex;flex-direction:column;gap:11px}
.cf-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}
.cf-opt span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fbf6ea;font:900 12px Poppins,sans-serif;color:#3a4a86}
.cf-opt b{font-weight:700}
.cf-opt:hover,.cf-opt:focus{border-color:#e0c98a;background:#fdfaf2}
.cf-opt.is-on{border-color:#2a3567;background:#fbf6ea}
.cf-back{margin:18px 0 0;text-align:center}
.cf-back button{border:0;background:none;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:800;color:#6c6284;text-decoration:underline}

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

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

.cf-share{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 22px}
.cf-share a,.cf-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}
.cf-share__x{background:#111;color:#fff}
.cf-share__line{background:#06c755;color:#fff}
.cf-share__copy{background:#fff;color:#3a4a86;border:1.5px solid #efdcb0 !important}
.cf-landed{text-align:center;margin:0 0 26px}

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

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

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

.cf-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)}
.cf-next__img{display:block;width:100%;height:auto}
.cf-next__body{display:block;padding:16px 18px 18px}
.cf-next__label{display:block;font:800 10px Poppins,sans-serif;letter-spacing:.18em;color:#a8517f;margin:0 0 6px}
.cf-next__body b{display:block;font-size:17px;line-height:1.5;color:#2f2a55;margin:0 0 8px}
.cf-next__lead{display:block;font-size:12.5px;line-height:1.85;color:#544766;margin:0 0 12px}
.cf-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}

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

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

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

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

/* ---- 恋人未満だけの様式 ---- */
.cf-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)}
.cf-book__label{display:block;font:800 10px Poppins,sans-serif;letter-spacing:.18em;color:#b8477f;margin:0 0 6px}
.cf-book b{display:block;font-size:16px;line-height:1.5;color:#2f2348;margin:0 0 6px}
.cf-book__why{display:block;font-size:12.5px;line-height:1.85;color:#544766;margin:0 0 10px}
.cf-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}
.cf-res__moon{background:#1b2350}
