/* エリアガイド記事の末尾に自動で置く導線。記事本体より控えめにする */
.oll-sd-outro{
	margin:34px 0 8px;
	padding:18px 20px;
	background:#f6f3ec;
	border-radius:8px;
	border-left:4px solid #4e8e8b;
}
.oll-sd-outro-lead{
	margin:0 0 6px;
	font-family:"Hiragino Mincho ProN","Yu Mincho",serif;
	font-size:1.05em;
	color:#22384a;
}
.oll-sd-outro-body{
	margin:0 0 12px;
	font-size:.9em;
	color:#5d6771;
	line-height:1.75;
}
.oll-sd-outro-cta{margin:0;}
.oll-sd-outro-cta a{
	display:inline-block;
	background:#4e8e8b;
	color:#fff !important;
	text-decoration:none;
	font-weight:700;
	font-size:.92em;
	padding:11px 22px;
	border-radius:6px;
	transition:opacity .15s ease;
}
.oll-sd-outro-cta a:hover{opacity:.9;}

/* OnsenLand 温泉地診断 — 既存の宿カード(oll-card.css)と同じ色・角丸・影の設計に揃える */

.oll-shindan{
	border:1px solid #e2dccd;
	border-radius:10px;
	background:#fffdf8;
	padding:26px 22px;
	margin:28px 0;
	box-shadow:0 4px 14px rgba(34,56,74,.07);
}

/* 導入 */
.oll-sd-lead{
	margin:0 0 16px;
	font-size:1.02em;
	line-height:1.8;
	color:#22384a;
}
.oll-sd-lead strong{color:#4e8e8b;}
.oll-sd-start{
	display:block;
	width:100%;
	max-width:320px;
	margin:0 auto;
	background:#4e8e8b;
	color:#fff;
	border:none;
	border-radius:6px;
	padding:14px 20px;
	font-size:1.05em;
	font-weight:700;
	letter-spacing:.04em;
	cursor:pointer;
	transition:opacity .15s ease;
}
.oll-sd-start:hover{opacity:.9;}
.oll-sd-note{
	text-align:center;
	font-size:.78em;
	color:#8b8578;
	margin:10px 0 0;
}

/* 進捗 */
.oll-sd-progress{
	height:4px;
	background:#eee8db;
	border-radius:99px;
	overflow:hidden;
	margin:0 0 16px;
}
.oll-sd-progress span{
	display:block;
	height:100%;
	background:#4e8e8b;
	transition:width .3s ease;
}
.oll-sd-progress.done span{background:#a9805b;}

.oll-sd-step{
	font-size:.78em;
	color:#8b8578;
	margin:0 0 6px;
	letter-spacing:.06em;
}
.oll-sd-q{
	font-family:"Hiragino Mincho ProN","Yu Mincho",serif;
	font-size:1.25em;
	color:#22384a;
	margin:0 0 18px;
	padding:0;
	border:none;
	background:none;
	line-height:1.6;
}

/* 選択肢 */
.oll-sd-options{
	display:grid;
	gap:10px;
	margin:0 0 14px;
}
.oll-sd-opt{
	display:block;
	width:100%;
	text-align:left;
	background:#fff;
	border:1px solid #e2dccd;
	border-radius:8px;
	padding:14px 16px;
	cursor:pointer;
	transition:border-color .15s ease, transform .1s ease, box-shadow .15s ease;
}
.oll-sd-opt:hover{
	border-color:#4e8e8b;
	transform:translateY(-1px);
	box-shadow:0 4px 12px rgba(34,56,74,.10);
}
.oll-sd-opt-label{
	display:block;
	font-weight:700;
	color:#22384a;
	font-size:1.02em;
}
.oll-sd-opt-sub{
	display:block;
	font-size:.82em;
	color:#8b8578;
	margin-top:3px;
}
.oll-sd-back{
	background:none;
	border:none;
	color:#8b8578;
	font-size:.85em;
	cursor:pointer;
	padding:6px 0;
}
.oll-sd-back:hover{color:#4e8e8b;}

/* 複数選択の質問 */
.oll-sd-hint{
	font-size:.82em;
	color:#8b8578;
	margin:-10px 0 14px;
}
.oll-sd-options.is-multi .oll-sd-opt{
	padding-left:44px;
	position:relative;
}
/* チェックボックス風の目印。選べることが見て分かるようにする */
.oll-sd-options.is-multi .oll-sd-opt::before{
	content:"";
	position:absolute;
	left:16px;
	top:50%;
	transform:translateY(-50%);
	width:18px;
	height:18px;
	border:1.5px solid #cfc7b6;
	border-radius:4px;
	background:#fff;
	transition:background .12s ease, border-color .12s ease;
}
.oll-sd-options.is-multi .oll-sd-opt.is-on{
	border-color:#4e8e8b;
	background:#f2f7f6;
}
.oll-sd-options.is-multi .oll-sd-opt.is-on::before{
	background:#4e8e8b;
	border-color:#4e8e8b;
}
.oll-sd-options.is-multi .oll-sd-opt.is-on::after{
	content:"";
	position:absolute;
	left:22px;
	top:50%;
	width:5px;
	height:10px;
	border:solid #fff;
	border-width:0 2px 2px 0;
	transform:translateY(-65%) rotate(45deg);
}

.oll-sd-next{
	display:block;
	width:100%;
	background:#4e8e8b;
	color:#fff;
	border:none;
	border-radius:6px;
	padding:13px 20px;
	font-size:1em;
	font-weight:700;
	letter-spacing:.03em;
	cursor:pointer;
	margin:4px 0 10px;
	transition:opacity .15s ease;
}
.oll-sd-next:hover:not(:disabled){opacity:.9;}
.oll-sd-next:disabled{
	background:#ded8cb;
	color:#fffdf8;
	cursor:default;
}

/* 結果 */
.oll-sd-hit-label{
	font-size:.82em;
	color:#8b8578;
	margin:0 0 4px;
	letter-spacing:.08em;
}
.oll-sd-hit-name{
	font-family:"Hiragino Mincho ProN","Yu Mincho",serif;
	font-size:1.7em;
	color:#22384a;
	margin:0 0 8px;
	padding:0;
	border:none;
	background:none;
	line-height:1.4;
}
.oll-sd-hit-pref{
	font-size:.5em;
	color:#8b8578;
	margin-left:10px;
	font-weight:400;
	letter-spacing:.06em;
}
.oll-sd-hit-catch{
	font-size:1.02em;
	color:#4e8e8b;
	margin:0 0 16px;
	line-height:1.7;
}
.oll-sd-reasons{
	list-style:none;
	padding:14px 16px;
	margin:0 0 18px;
	background:#f6f3ec;
	border-radius:8px;
}
.oll-sd-reasons li{
	position:relative;
	padding-left:1.2em;
	margin:0 0 8px;
	font-size:.92em;
	line-height:1.75;
	color:#3d4a55;
}
.oll-sd-reasons li:last-child{margin-bottom:0;}
.oll-sd-reasons li::before{
	content:"♨";
	position:absolute;
	left:0;
	color:#4e8e8b;
}
.oll-sd-card{margin:0 0 16px;}

.oll-sd-cta{margin:0 0 22px;}
.oll-sd-cta-btn{
	display:block;
	text-align:center;
	background:#22384a;
	color:#fff !important;
	padding:14px;
	border-radius:6px;
	text-decoration:none;
	font-weight:700;
	letter-spacing:.02em;
	transition:opacity .15s ease;
}
.oll-sd-cta-btn:hover{opacity:.9;}

/* 次点 */
.oll-sd-also h4{
	font-size:.95em;
	color:#22384a;
	margin:0 0 10px;
	padding:0 0 6px;
	border:none;
	border-bottom:1px solid #e2dccd;
	background:none;
}
.oll-sd-runners{
	list-style:none;
	padding:0;
	margin:0 0 18px;
	display:grid;
	gap:8px;
}
.oll-sd-runner a{
	display:block;
	background:#fff;
	border:1px solid #e2dccd;
	border-radius:8px;
	padding:12px 14px;
	text-decoration:none;
	transition:border-color .15s ease;
}
.oll-sd-runner a:hover{border-color:#4e8e8b;}
.oll-sd-runner-name{
	font-weight:700;
	color:#22384a;
	margin-right:8px;
}
.oll-sd-runner-pref{
	font-size:.78em;
	color:#8b8578;
}
.oll-sd-runner-catch{
	display:block;
	font-size:.84em;
	color:#5d6771;
	margin-top:4px;
	line-height:1.6;
}

.oll-sd-relaxed{
	font-size:.82em;
	color:#8b8578;
	margin:0 0 14px;
}
.oll-sd-actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin:0 0 12px;
}
.oll-sd-again,
.oll-sd-map{
	flex:1 1 auto;
	text-align:center;
	background:#fff;
	border:1px solid #4e8e8b;
	color:#4e8e8b !important;
	border-radius:6px;
	padding:11px 14px;
	font-size:.92em;
	font-weight:700;
	text-decoration:none;
	cursor:pointer;
	transition:background .15s ease;
}
.oll-sd-again:hover,
.oll-sd-map:hover{background:#f0f5f4;}

.oll-sd-disclaimer{
	font-size:.75em;
	color:#8b8578;
	line-height:1.7;
	margin:0;
}

@media (max-width:600px){
	.oll-shindan{padding:20px 16px;}
	.oll-sd-hit-name{font-size:1.45em;}
	.oll-sd-hit-pref{display:block;margin:4px 0 0;font-size:.55em;}
}
