@charset "UTF-8";



/****************************************************
 * 診断｜大枠
 ****************************************************/

#diagnosis {
	min-width: 100%;
	margin: 0 auto;
	padding: 10px;
}



/****************************************************
 * 診断｜質問部分
 ****************************************************/

.diagnosisQuestionWrap {
	background: linear-gradient(180deg, #FFFDFB 0%, #FAF7F3 100%);
	padding: 3em 1em;
	border-radius: 12px;
	border: 1px solid #EDEDED;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}
.diagnosisQuestionWrap > p {
	display: none;
}
.diagnosisQuestion-count {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 8px;
    color: #666;
	text-align: center;
}
.question-count-number {
	color: #E67E22;
	font-size: 1.5em;
	font-weight: bold;
}

/* 質問エリア */
.diagnosisQuestion-title {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
}

.diagnosisQuestion-reply {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.diagnosisQuestion-button {
	color: #FFF;
	border: none;
	border-radius: 8px;
	width: 150px;
	padding: 10px 20px;
	font-size: 18px;
	font-weight: bold;
	cursor: pointer;
	transition: all .3s;
}
.diagnosisQuestion-button:hover {
	opacity: 0.7;
}
.diagnosisQuestion-buttonLeft	{ background: #1ABC9C; }
.diagnosisQuestion-buttonRight	{ background: #95A5A6; }



/****************************************************
 * 診断｜結果部分
 ****************************************************/

/* キャプション */
.diagnosisResult-caption {
	color: #777;
	text-align: center;
	font-size: 110%;
	font-weight: bold;
	padding-top: 3em;
	padding-bottom: 1em;
}

.diagnosisResult-card {
	background: #FFF;
	border-radius: 10px;
	border: 1px solid #E0E0E0;
	overflow: hidden;
	margin-top: 20px;
}

/* タイトル */
.result-head {
	background: repeating-linear-gradient(135deg, #57B0D8, #57B0D8 10px, #6DC2EA 10px, #6DC2EA 20px);
	padding: 12px 20px;
	text-align:center;
}

.result-head > p {
	display: none;
}

.result-rank {
	color: #FFF;
	font-size: 30px;
	font-weight: bold;
	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.4);
}

.result-main {
	display: flex;
	align-items: stretch;
	gap: 20px;
	padding: 20px;
}
@media (max-width: 768px) {
	.result-main {
		flex-direction: column;
	}
}

.result-image {
	width: 200px;
	flex-shrink: 0;
}
@media (max-width: 768px) {
	.result-image {
		width: 100%;
	}
}

.result-info {
	flex: 1;
}

.result-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	animation: imgBreath 3s ease-in-out infinite;
	transition: all 0.3s ease;
}
@media (max-width: 768px) {
	.result-image img {
		height: auto;
	}
}
@keyframes imgBreath {
	0%		{ transform: scale(1.00); }
	50%		{ transform: scale(1.01); }
	100%	{ transform: scale(1.00); }
}

.result-main br,
.result-main > p {
	display: none;
}

.result-info table {
	width: 100%!important;
	height: 100%;
	margin-bottom: 0!important;
	border-collapse: collapse;
}

.result-info td:first-child {
	background: #F6F6F6;
	font-weight: bold;
	width: 35%;
	padding: 8px;
}
.result-info td:last-child {
	background: #FFF;
	padding: 8px;
}

/* 特徴リスト */
.result-feature {
	padding: 20px;
}
.result-feature ul {
	list-style: none;
	padding: 0;
}
.result-feature li {
	margin-bottom: 8px;
	padding-left: 22px;
	background: url('https://cdn-icons-png.flaticon.com/512/1828/1828884.png') no-repeat left center / 16px;
}

/* おすすめメッセージ */
.result-recommend {
	padding: 20px 20px 0 20px;
	background: #F4F8FC;
	border-left: 4px solid #57B0D8;
}
.result-recommend p {
	margin: 0;
	padding-bottom: 20px;
	line-height: 1.7;
}

/* ボタン */
.result-btn-area {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 1em;
	padding: 20px;
}

.result-btn {
	flex: 1;
	color: #555;
	background: #EEE;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	border-radius: 30px;
	padding: 14px 0;
	transition: all 0.3s ease;
}

.result-btn:hover {
	opacity: 0.7;
}

/* ▼ 右ボタン（グラデ＋光るエフェクト） */
.result-btn.second {
	position: relative;
	overflow: hidden;
	color: #FFF;
	background: linear-gradient(135deg, #6BC7FF, #4A8DFF);
	box-shadow: 0 0 10px rgba(80,140,255,0.6);
}

/* ▼ 光るアニメーション */
.result-btn.second::before {
	content: "";
	position: absolute;
	top: 0;
	left: -75%;
	width: 50%;
	height: 100%;
	background: linear-gradient(
		120deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.35) 50%,
		rgba(255, 255, 255, 0) 100%
	);
	transform: skewX(-25deg);
	animation: result-btn-shine 3.2s ease-in-out infinite;
}
@keyframes result-btn-shine {
	0% { left: -75%; }
	100% { left: 125%; }
}

/* ▼ スマホ時（縦並び） */
@media (max-width: 768px) {
	.result-btn-area { flex-direction: column; }
	.result-btn-area > br { display: none; }
}

/* 最初に戻る */
.diagnosisResult-restartWrap {
	text-align: center;
	padding: 15px;
}
.diagnosisResult-restartWrap a {
	color: #999;
	text-decoration: underline;
	font-size:80%;
	cursor: pointer;
}
.diagnosisResult-restartWrap a:hover {
	opacity: 0.7;
}


