@charset "UTF-8";

body:has(.taishi-faq-page) .p-breadcrumb {
	display: none;
}

body:has(.taishi-faq-page) .l-content,
body:has(.taishi-faq-page) .l-container,
body:has(.taishi-faq-page) .post_content,
body:has(.taishi-faq-page) .c-postContent {
	width: 100%;
	max-width: none;
	padding-right: 0;
	padding-left: 0;
	margin-top: 0;
}

.taishi-faq-page {
	--taishi-ink: #1f2f35;
	--taishi-muted: #6c716e;
	--taishi-paper: #f8f4ec;
	--taishi-white: #fffdf8;
	--taishi-line: #e4ddd1;
	--taishi-teal: #2f807f;
	--taishi-teal-light: #5bb6af;
	--taishi-gold: #b9985d;
	min-height: 100vh;
	color: var(--taishi-ink);
	background: var(--taishi-white);
	font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
	line-height: 1.9;
}

.taishi-faq-page *,
.taishi-faq-page *::before,
.taishi-faq-page *::after {
	box-sizing: border-box;
}

.taishi-faq-page a {
	color: inherit;
	text-decoration: none;
}

.taishi-faq-hero {
	padding: 74px 20px 48px;
	border-bottom: 1px solid var(--taishi-line);
	background:
		linear-gradient(180deg, rgba(255, 253, 248, 0.88), rgba(248, 244, 236, 0.94)),
		repeating-linear-gradient(90deg, transparent 0 42px, rgba(47, 128, 127, 0.045) 42px 43px);
	text-align: center;
}

.taishi-faq-hero__mark {
	display: inline-grid;
	grid-auto-flow: column;
	gap: 9px;
	align-items: end;
	justify-content: center;
	margin-bottom: 20px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(48px, 7vw, 76px);
	font-weight: 700;
	line-height: 0.9;
	letter-spacing: 0;
}

.taishi-faq-hero__mark span:nth-child(1) {
	color: #2f807f;
}

.taishi-faq-hero__mark span:nth-child(2) {
	color: #5aa7b5;
}

.taishi-faq-hero__mark span:nth-child(3) {
	color: #b9985d;
}

.taishi-faq-hero__mark i {
	display: block;
	width: 30px;
	height: 30px;
	margin-bottom: 4px;
	border-radius: 50%;
	background: #d9a2b3;
}

.taishi-faq-hero__eyebrow {
	margin: 0 0 8px;
	color: var(--taishi-teal);
	font-size: 13px;
	letter-spacing: 0.08em;
}

.taishi-faq-hero h1 {
	margin: 0;
	color: #172428;
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0;
}

.taishi-faq-hero p:last-child {
	max-width: 640px;
	margin: 14px auto 0;
	color: var(--taishi-muted);
	font-size: 15px;
	line-height: 2;
}

.taishi-faq-hero__lead-pc {
	display: inline;
}

.taishi-faq-hero__lead-sp {
	display: none;
}

.taishi-faq-list {
	width: min(720px, calc(100% - 36px));
	margin: 0 auto;
	padding: 38px 0 72px;
}

.taishi-faq-group {
	border-bottom: 1px solid var(--taishi-line);
}

.taishi-faq-group:first-child {
	border-top: 1px solid var(--taishi-line);
}

.taishi-faq-group > summary {
	position: relative;
	display: block;
	padding: 19px 42px 19px 8px;
	color: #221c17;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.6;
	cursor: pointer;
	list-style: none;
}

.taishi-faq-group > summary::-webkit-details-marker,
.taishi-faq-item > summary::-webkit-details-marker {
	display: none;
}

.taishi-faq-group > summary::after {
	position: absolute;
	top: 50%;
	right: 10px;
	content: "⌄";
	color: #9d8d7c;
	font-size: 18px;
	transform: translateY(-50%);
	transition: transform 180ms ease;
}

.taishi-faq-group[open] > summary::after {
	transform: translateY(-50%) rotate(180deg);
}

.taishi-faq-group__body {
	padding: 0 8px 16px;
	border-left: 2px solid rgba(47, 128, 127, 0.18);
}

.taishi-faq-item {
	border-bottom: 1px solid rgba(228, 221, 209, 0.82);
}

.taishi-faq-item:last-child {
	border-bottom: 0;
}

.taishi-faq-item > summary {
	position: relative;
	display: grid;
	grid-template-columns: 28px 1fr 20px;
	gap: 10px;
	align-items: baseline;
	padding: 15px 4px 15px 18px;
	color: #2a221c;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.65;
	cursor: pointer;
	list-style: none;
}

.taishi-faq-item > summary span {
	color: var(--taishi-gold);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 16px;
}

.taishi-faq-item > summary::after {
	content: "+";
	color: #9d8d7c;
	font-size: 16px;
	font-weight: 400;
}

.taishi-faq-item[open] > summary::after {
	content: "−";
}

.taishi-faq-item p {
	margin: 0;
	padding: 0 20px 12px 56px;
	color: var(--taishi-muted);
	font-size: 14px;
	line-height: 2;
}

.taishi-faq-item p:last-child {
	padding-bottom: 18px;
}

.taishi-faq-item strong {
	color: #18282d;
	font-weight: 700;
	background: linear-gradient(transparent 63%, rgba(47, 128, 127, 0.16) 63%);
}

.taishi-faq-cta {
	display: grid;
	gap: 12px;
	justify-items: center;
	padding: 46px 20px 58px;
	border-top: 1px solid var(--taishi-line);
	background: var(--taishi-paper);
	text-align: center;
}

.taishi-faq-cta p {
	margin: 0 0 8px;
	color: #8a7b6b;
	font-size: 14px;
}

.taishi-faq-cta a {
	display: inline-flex;
	min-width: 160px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 11px 22px;
	border: 1px solid var(--taishi-teal);
	border-radius: 4px;
	background: var(--taishi-teal);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.taishi-faq-cta a:hover {
	box-shadow: 0 12px 28px rgba(47, 128, 127, 0.18);
	transform: translateY(-1px);
}

.taishi-faq-cta .taishi-faq-cta__secondary {
	background: #3c2c21;
	border-color: #3c2c21;
}

@media (max-width: 640px) {
	.taishi-faq-hero {
		padding: 54px 18px 38px;
	}

	.taishi-faq-hero__lead-pc {
		display: none;
	}

	.taishi-faq-hero__lead-sp {
		display: inline-block;
	}

	.taishi-faq-hero__mark {
		gap: 6px;
		margin-bottom: 16px;
	}

	.taishi-faq-hero__mark i {
		width: 22px;
		height: 22px;
	}

	.taishi-faq-list {
		width: min(100% - 28px, 720px);
		padding: 28px 0 58px;
	}

	.taishi-faq-group > summary {
		padding: 17px 36px 17px 4px;
		font-size: 16px;
	}

	.taishi-faq-group__body {
		padding-right: 0;
		padding-left: 0;
	}

	.taishi-faq-item > summary {
		grid-template-columns: 24px 1fr 18px;
		gap: 8px;
		padding: 14px 0 14px 14px;
		font-size: 14px;
	}

	.taishi-faq-item p {
		padding: 0 6px 16px 46px;
		font-size: 13px;
	}
}
