/* =========================================================
   Bloomy かんたんeSIM診断（X1）: 白ベース・淡ブルー・ネイビー文字
   ========================================================= */
.bloomy-diag {
	max-width: 680px; margin: 24px auto; padding: 22px 20px;
	background: #fff; border: 1px solid #e3ebf5; border-radius: 20px;
	box-shadow: 0 14px 36px -26px rgba(31, 42, 68, .35);
	color: #1f2a44;
}
.bloomy-diag__head { text-align: center; margin-bottom: 16px; }
.bloomy-diag__title { font-size: 1.15rem; font-weight: 800; margin: 0 0 6px; color: #16294d; }
.bloomy-diag__lead { font-size: .86rem; color: #5a6b8c; line-height: 1.6; margin: 0; }

.bloomy-diag__q { margin: 0 0 16px; }
.bloomy-diag__qlabel { display: flex; align-items: center; gap: 8px; font-size: .92rem; font-weight: 700; color: #16294d; margin: 0 0 9px; }
.bloomy-diag__qn { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: #1f7af0; color: #fff; font-size: .72rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.bloomy-diag__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.bloomy-diag__opt {
	appearance: none; cursor: pointer;
	padding: 9px 15px; border-radius: 999px;
	border: 1px solid #d7e6fb; background: #f4f9ff; color: #1f3b66;
	font-size: .85rem; font-weight: 700; line-height: 1.3;
	transition: background .15s ease, border-color .15s ease, transform .12s ease;
}
.bloomy-diag__opt:hover { background: #e8f1ff; border-color: #b9d4f5; }
.bloomy-diag__opt.is-selected { background: #1f7af0; border-color: #1f7af0; color: #fff; box-shadow: 0 6px 14px -8px rgba(31, 122, 240, .6); }
.bloomy-diag__opt:focus-visible { outline: 2px solid #1f7af0; outline-offset: 2px; }

.bloomy-diag__result {
	margin: 6px 0 14px; padding: 18px; text-align: center;
	background: linear-gradient(180deg, #f4f9ff 0%, #ffffff 100%);
	border: 1px solid #d7e6fb; border-radius: 16px;
	animation: bloomyDiagIn .3s ease both;
}
@keyframes bloomyDiagIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .bloomy-diag__result { animation: none; } }
.bloomy-diag__rtitle { font-size: .78rem; font-weight: 700; color: #5a6b8c; margin: 0 0 4px; }
.bloomy-diag__rgb { margin: 0 0 8px; }
.bloomy-diag__rgb-num { font-size: 1.6rem; font-weight: 800; color: #16294d; }
.bloomy-diag__rgb-sub { font-size: .9rem; font-weight: 700; color: #5a6b8c; }
.bloomy-diag__rnote { font-size: .8rem; color: #4f6088; line-height: 1.65; margin: 0 0 12px; text-align: left; }
.bloomy-diag__cta {
	display: inline-block; background: #1f7af0; color: #fff; font-weight: 800;
	padding: 12px 26px; border-radius: 999px; text-decoration: none; font-size: .9rem;
	box-shadow: 0 10px 22px -10px rgba(31, 122, 240, .6);
}
.bloomy-diag__cta:hover { background: #1a5fe0; }

.bloomy-diag__note { font-size: .72rem; color: #8a98b3; line-height: 1.6; margin: 6px 0 0; text-align: center; }
