@charset "UTF-8";



/****************************************************
 * アコーディオンデザイン｜シングル
 ****************************************************/

.accordionSingle {
	max-width: 100%;
	margin: 0 auto 3em;
}
.accordionSingle-item {
	margin-bottom: 12px;
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
	background: #F7FAFD;
	overflow: hidden;
	transition: box-shadow 0.3s ease;
}
.accordionSingle-item:hover {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.accordionSingle-detail {
	width: 100%;
	transition: all 0.3s ease;
	background: transparent;
}
.accordionSingle-question {
	list-style: none;
	cursor: pointer;
	padding: 20px;
	position: relative;
	font-size: 17px;
	font-weight: 600;
	color: #2F3E4D;
	background-color: transparent;
}
.accordionSingle-question::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 20px;
	font-size: 20px;
	color: #5C738A;
	transition: transform 0.3s ease;
}
.accordionSingle-detail[open] .accordionSingle-question {
	border-bottom: 1px solid #C3D2E0;
}
.accordionSingle-detail[open] .accordionSingle-question::after {
	content: "−";
	transform: rotate(0deg);
}
.accordionSingle-answer {
	max-height: 0;
	overflow: hidden;
	padding: 0 20px;
	color: #4A4A4A;
	font-size: 15px;
	line-height: 1.6;
	background-color: #FFF;
	transition: max-height 0.4s ease, padding 0.4s ease;
}
.accordionSingle-answer b {
	color: #0077CC;
}
.accordionSingle-answer ul,
.accordionSingle-answer ol,
.accordionSingle-answer table {
	margin-bottom: 0;
}
.accordionSingle-detail[open] .accordionSingle-answer {
	max-height: 100%;
	padding: 20px;
}
.accordionSingle-detail[open] .accordionSingle-answer p {
	font-size: 90%;
	margin-bottom: 1.5em;
}
/* ▼ レスポンシブ調整 */
@media screen and (max-width: 600px) {
	.accordionSingle-question {
		font-size: 16px;
		padding: 18px 30px 16px 16px;
	}
	.accordionSingle-question::before {
		left: 12px;
		top: 16px;
		font-size: 14px;
		padding: 3px 8px;
	}
	.accordionSingle-question::after {
		right: 10px;
		top: 16px;
		font-size: 18px;
	}
	.accordionSingle-answer {
		font-size: 14px;
		padding: 0 16px;
	}
	.accordionSingle-detail[open] .accordionSingle-answer {
		padding: 16px;
	}
}




/****************************************************
 * 共通｜アコーディオン
 ****************************************************/

.accordion {
	max-width: 100%;
	margin: 0 auto 1.8em;
	counter-reset: question;
}
.accordion-item {
	margin-bottom: 12px;
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
	background: #f7fafd;
	overflow: hidden;
	transition: box-shadow 0.3s ease;
}
.accordion-item:hover {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.accordion-detail {
	width: 100%;
	transition: all 0.3s ease;
	background: transparent;
}
.accordion-question {
	list-style: none;
	cursor: pointer;
	padding: 23px 20px 20px 80px;
	position: relative;
	font-size: 17px;
	font-weight: 600;
	color: #2f3e4d;
	background-color: transparent;
}
.accordion-question::before {
	counter-increment: question;
	content: "Q" counter(question);
	position: absolute;
	left: 20px;
	top: 20px;
	color: #5c738a;
	font-weight: bold;
	font-size: 15px;
	background: #e2ebf7;
	padding: 4px 10px;
	border-radius: 12px;
}
.accordion-question::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 20px;
	font-size: 20px;
	color: #5c738a;
	transition: transform 0.3s ease;
}
.accordion-detail[open] .accordion-question {
	border-bottom: 1px solid #c3d2e0;
}
.accordion-detail[open] .accordion-question::after {
	content: "−";
	transform: rotate(0deg);
}
.accordion-answer {
	max-height: 0;
	overflow: hidden;
	padding: 0 20px;
	color: #4a4a4a;
	font-size: 15px;
	line-height: 1.6;
	background-color: #ffffff;
	transition: max-height 0.4s ease, padding 0.4s ease;
}
.accordion-answer b {
	color: #0077CC;
}
.accordion-answer ul,
.accordion-answer ol,
.accordion-answer table {
	margin-bottom: 0;
}
.accordion-detail[open] .accordion-answer {
	max-height: 100%;
	padding: 20px;
}
/* ▼ レスポンシブ調整 */
@media screen and (max-width: 600px) {
	.accordion-question {
		font-size: 16px;
		padding: 18px 30px 16px 60px;
	}
	.accordion-question::before {
		left: 12px;
		top: 16px;
		font-size: 14px;
		padding: 3px 8px;
	}
	.accordion-question::after {
		right: 10px;
		top: 16px;
		font-size: 18px;
	}
	.accordion-answer {
		font-size: 14px;
		padding: 0 16px;
	}
	.accordion-detail[open] .accordion-answer {
		padding: 16px;
	}
}




/****************************************************
 * アコーディオンデザイン｜注意事項＆更新情報
 ****************************************************/

.accordionWarnings summary {
	position: relative;
	cursor: pointer;
	padding: 14px 16px 14px 32px; /* 左にスペースを作る */
	color: #999;
	background-color: #FFF;
	font-size: 70%;
	font-weight: bold;
	list-style: none;
}
.accordionWarnings summary::before {
	content: "▶";
	position: absolute;
	top: 50%;
	left: 12px;
	transform: translateY(-50%);
	transition: transform 0.2s ease;
}
.accordionWarnings[open] summary::before {
	content: "▼";
}
.accordionWarnings-content {
	padding: 16px;
	color: #999;
	background-color: #FFF;
	font-size: 70%;
}
/* 当該デザインの背景色など変更用 */
.law {
	font-size: 90%;
	margin-bottom: -2em;
}
.law summary {
	background: repeating-linear-gradient(-45deg, #F7F9FB 0 2px, transparent 2px 4px);
}
#affiliateNotice { display: none; } /* 投稿ページ以外では非表示 */
body.single #affiliateNotice { display: block; } /* 投稿ページのみ表示 */


