/**
 * ====================================================================
 * こんな時どうなる!? - スタイルシート
 * ====================================================================
 * アコーディオン式Q&Aページ専用スタイル
 * オリジナルデザインに基づく実装
 */

/* ====================================================================
   1. アコーディオンリスト（#hap）
   ==================================================================== */
#hap {
	list-style: none;
	padding: 0;
	margin: 0;
}

#hap li {
	margin-bottom: 8px;
}

/* ====================================================================
   2. 質問ボタン（.q）
   ==================================================================== */
#hap .q {
	display: block;
	background-color: #3a6e88;
	color: #ffffff;
	padding: 12px 15px;
	text-decoration: none;
	border-radius: 5px;
	cursor: pointer;
	transition: background-color 0.3s ease;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.5;
	position: relative;
}

#hap .q:hover {
	background-color: #2d6c8e;
}

#hap .q.this {
	background-color: #2d6c8e;
	border-radius: 5px 5px 0 0;
}

/* ====================================================================
   3. 番号バッジ（.no）
   ==================================================================== */
#hap .q .no {
	background-color: #4a7a94;
	color: #ffffff;
	font-weight: bold;
	font-size: 16px;
	display: inline-block;
	width: 34px;
	height: 34px;
	line-height: 34px;
	text-align: center;
	border-radius: 4px;
	margin-right: 12px;
	vertical-align: middle;
}

/* ====================================================================
   4. 回答コンテンツ（.a）
   ==================================================================== */
#hap .a {
	background-color: #ffffff;
	padding: 20px 25px;
	border: 1px solid #e0e0e0;
	border-top: none;
	border-radius: 0 0 5px 5px;
}

/* ====================================================================
   5. コンテンツ内の要素スタイル
   ==================================================================== */
#hap .a p {
	color: #333333;
	line-height: 1.8;
	margin-bottom: 15px;
	font-size: 14px;
}

#hap .a ul {
	margin: 10px 0 15px 20px;
	line-height: 1.8;
	list-style-type: disc;
}

#hap .a ul li {
	margin-bottom: 10px;
	font-size: 14px;
	color: #333333;
	list-style-position: outside;
}

#hap .a ul li span {
	display: block;
	line-height: 1.7;
}

/* ポイントリスト（.poi） */
#hap .a ul.poi {
	list-style-type: none;
	margin-left: 0;
	padding-left: 0;
}

#hap .a ul.poi li {
	position: relative;
	padding-left: 20px;
}

#hap .a ul.poi li:before {
	content: "・";
	position: absolute;
	left: 0;
	color: #3a6e88;
}

/* ====================================================================
   6. 定義リスト（dl, dt, dd）
   ==================================================================== */
#hap .a dl {
	margin: 15px 0;
}

#hap .a dt {
	font-weight: bold;
	font-size: 15px;
	color: #2d6c8e;
	margin-top: 20px;
	margin-bottom: 10px;
	padding-bottom: 5px;
}

#hap .a dd {
	margin-left: 0;
	margin-bottom: 15px;
	line-height: 1.8;
}

#hap .a dd p {
	margin-bottom: 12px;
}

#hap .a dd ul {
	margin-top: 8px;
	margin-bottom: 12px;
}

/* ====================================================================
   7. 画像
   ==================================================================== */
#hap .a img {
	max-width: 100%;
	height: auto;
	margin: 10px 0;
}

#hap .a img[style*="float:right"] {
	margin-left: 15px;
	margin-bottom: 10px;
}

/* ====================================================================
   8. テーブル（該当する場合）
   ==================================================================== */
#hap .a table {
	width: 100%;
	border-collapse: collapse;
	margin: 15px 0;
	font-size: 14px;
}

#hap .a table th,
#hap .a table td {
	border: 1px solid #d0d0d0;
	padding: 10px;
	text-align: left;
}

#hap .a table th {
	background-color: #3a6e88;
	color: #ffffff;
	font-weight: bold;
}

#hap .a table td {
	background-color: #ffffff;
}

#hap .a table tr:nth-child(even) td {
	background-color: #f8f8f8;
}

/* ====================================================================
   9. 強調とハイライト
   ==================================================================== */
#hap .a strong {
	font-weight: bold;
	color: #2d6c8e;
}

#hap .a em {
	font-style: normal;
	background-color: #fffaed;
	padding: 2px 4px;
}

/* ====================================================================
   10. レスポンシブデザイン
   ==================================================================== */

/* タブレット対応 */
@media (max-width: 768px) {
	#hap .q {
		font-size: 14px;
		padding: 10px 12px;
	}

	#hap .q .no {
		width: 30px;
		height: 30px;
		line-height: 30px;
		font-size: 15px;
		margin-right: 10px;
	}

	#hap .a {
		padding: 15px 18px;
	}

	#hap .a p,
	#hap .a li {
		font-size: 13px;
	}

	#hap .a dt {
		font-size: 14px;
	}

	#hap .a table {
		font-size: 12px;
	}

	#hap .a table th,
	#hap .a table td {
		padding: 8px 5px;
	}
}

/* スマートフォン対応 */
@media (max-width: 480px) {
	#hap .q {
		font-size: 13px;
		padding: 8px 10px;
	}

	#hap .q .no {
		width: 28px;
		height: 28px;
		line-height: 28px;
		font-size: 14px;
		margin-right: 8px;
	}

	#hap .a {
		padding: 12px 15px;
	}

	#hap .a p,
	#hap .a li {
		font-size: 12px;
		line-height: 1.7;
	}

	#hap .a dt {
		font-size: 13px;
		margin-top: 15px;
	}

	#hap .a ul {
		margin-left: 15px;
	}

	#hap .a table {
		font-size: 11px;
	}

	#hap .a table th,
	#hap .a table td {
		padding: 6px 3px;
	}

	#hap .a img[style*="float:right"] {
		float: none !important;
		display: block;
		margin: 10px auto;
	}
}

/* ====================================================================
   11. プリント対応
   ==================================================================== */
@media print {
	#hap .a {
		display: block !important;
		padding: 20px !important;
	}

	#hap .q {
		background-color: #f0f0f0 !important;
		color: #000000 !important;
		page-break-after: avoid;
	}

	#hap .q .no {
		background-color: #cccccc !important;
		color: #000000 !important;
	}

	#hap .a {
		page-break-inside: avoid;
	}
}
