@charset "UTF-8";
/* ==========================================================================
   代表プロフィール（/author-kawana/）・メディア掲載・実績（/media-achievements/）・
   MEOチェックリスト（/checklist/）
   会社概要ページの表・カードと同じ作り（design-rules.md：白い大枠カード PC30 / SP20、線 1px）
   ========================================================================== */

.p-about { margin-top: 60px; }
.p-about--after { margin-top: 0; }
.p-about-sec { margin-top: var(--section-gap); }
.p-about-sec .c-hl + * { margin-top: 32px; }

.p-about-text { font-size: 16px; line-height: 1.9; }
.p-about-text p + p { margin-top: 1.2em; }
.p-about-text a,
.p-about-table a,
.p-about-links a { color: var(--c-main); text-decoration: underline; text-underline-offset: 3px; }
.p-about-text a:hover,
.p-about-table a:hover,
.p-about-links a:hover { text-decoration: none; }
.p-about-text--after { margin-top: 20px; }
.p-about-note { margin-top: 12px; font-size: 13px; color: #555; }
.p-about-more { margin-top: 32px; }

/* 表（会社概要の会社情報と同じ見た目：白地・角丸・行ごとの下線） */
.p-about-table {
	width: 100%;
	padding: 16px 48px;
	background: #fff;
	border: 1px solid var(--c-main-40);
	border-radius: 30px;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 16px;
	line-height: 1.8;
}
.p-about-table th,
.p-about-table td { padding: 18px 0; border-bottom: 1px solid var(--c-main-40); text-align: left; vertical-align: top; }
.p-about-table tr:last-child > * { border-bottom: 0; }
.p-about-table thead th { padding-block: 12px; font-size: 13px; font-weight: 500; color: #555; }
.p-about-table tbody th { width: 180px; padding-right: 24px; font-weight: 500; color: var(--c-main); }
.p-about-table ul { margin-top: 6px; padding-left: 1.2em; list-style: disc; }
.p-about-table li::marker { color: var(--c-main); }

/* グレーの囲み（なぜ〜／他の資料と違うところ） */
.p-about-box {
	margin-top: 24px;
	padding: 32px 40px;
	background: var(--c-bg-gray);
	border-radius: 30px;
	font-size: 15px;
	line-height: 1.9;
}
.p-about-box p + p { margin-top: 1em; }
.p-about-box__title {
	margin-bottom: 12px;
	font-family: var(--ff-serif);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: var(--c-main);
}

/* 自社運営の店舗など（紫の枠のチップ） */
.p-about-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 20px; }
.p-about-chips li {
	padding: 8px 18px;
	border: 1px solid var(--c-main);
	border-radius: 100px;
	font-size: 14px;
	color: var(--c-main);
}

/* 数字（300社以上 など） */
.p-about-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; }
.p-about-stats > li {
	display: grid;
	align-content: start;
	gap: 6px;
	padding: 28px 24px;
	border: 1px solid var(--c-main-40);
	border-radius: 30px;
	text-align: center;
}
.p-about-stats__label { font-size: 13px; font-weight: 500; color: var(--c-main); }
.p-about-stats__num {
	font-family: var(--ff-num);
	font-size: 44px;
	font-weight: 300;
	line-height: 1.2;
	color: var(--c-main);
}
.p-about-stats__num span { margin-left: 4px; font-family: var(--ff-sans); font-size: 16px; font-weight: 500; }
.p-about-stats__num--sm { font-size: 34px; }
.p-about-stats__note { font-size: 13px; line-height: 1.6; color: #555; }
.p-about-sec .p-about-stats { margin-top: 32px; }

/* リンクの一覧（メディア掲載） */
.p-about-links { border-top: 1px solid var(--c-main-40); }
.p-about-links li { display: block; padding: 16px 0; border-bottom: 1px solid var(--c-main-40); font-size: 15px; line-height: 1.7; }
.p-about-links a { display: block; }
.p-about-links__date { display: inline-block; min-width: 7em; margin-right: 12px; font-size: 13px; color: #555; }

/* CTA（[miloku_cta]） */
.p-about-cta { margin-top: var(--section-gap); font-size: 16px; }
.p-about-cta .c-entry-cta { margin: 0; }

/* ---------- プロフィール：冒頭 ---------- */
.p-profile-intro {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 48px;
	align-items: start;
	padding: 40px 48px;
	border: 1px solid var(--c-main);
	border-radius: 30px;
}
.p-profile-intro__photo { aspect-ratio: 9 / 11; overflow: hidden; background: var(--c-bg-gray); }
.p-profile-intro__photo img { width: 100%; height: 100%; object-fit: cover; }
.p-profile-intro__role { font-size: 14px; font-weight: 500; color: var(--c-main); }
.p-profile-intro__name {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 8px;
	font-family: var(--ff-serif);
	font-size: 32px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
.p-profile-intro__name span { font-family: var(--ff-en); font-size: 16px; letter-spacing: 0.1em; color: var(--c-main); }
.p-profile-intro__note { margin-top: 24px; padding: 20px 24px; background: var(--c-bg-gray); border-radius: 20px; font-size: 15px; line-height: 1.9; }
.p-profile-intro__note-title { margin-bottom: 6px; font-weight: 500; color: var(--c-main); }

/* ---------- チェックリスト ---------- */
.p-checklist-intro { display: grid; grid-template-columns: 280px 1fr; gap: 48px; align-items: start; }
.p-checklist-intro__cover { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); }
.p-checklist-intro__cover img { width: 100%; height: auto; }
.p-checklist-intro__title {
	font-family: var(--ff-serif);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: var(--c-main);
}
.p-checklist-intro__body { font-size: 16px; line-height: 1.9; }
.p-checklist-intro__body p { margin-top: 1em; }
.p-checklist-intro__body a:not(.c-btn) { color: var(--c-main); text-decoration: underline; text-underline-offset: 3px; }
.p-checklist-intro__btn { margin-top: 28px; }
.p-checklist-dl .p-about-text { margin-top: 24px; }
.p-checklist-opt {
	display: inline-grid;
	place-items: center;
	height: 20px;
	padding: 0 8px;
	background: var(--c-bg-gray);
	border-radius: 4px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	color: #555;
}
.p-checklist-done {
	display: grid;
	justify-items: center;
	gap: 16px;
	margin-top: 32px;
	padding: 48px 40px;
	background: #fff;
	border-radius: 30px;
	text-align: center;
	font-size: 15px;
	line-height: 1.9;
}
.p-checklist-done__title { font-family: var(--ff-serif); font-size: 22px; font-weight: 600; color: var(--c-main); }

/* よくあるご質問 */
.p-about-faq { display: grid; gap: 12px; }
.p-about-faq__item { border: 1px solid var(--c-main-40); border-radius: 20px; background: #fff; }
.p-about-faq__q {
	position: relative;
	padding: 20px 56px 20px 24px;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	list-style: none;
}
.p-about-faq__q::-webkit-details-marker { display: none; }
.p-about-faq__q::before { content: "Q."; margin-right: 10px; font-family: var(--ff-en); color: var(--c-main); }
.p-about-faq__q::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 24px;
	width: 10px;
	height: 10px;
	border-right: 1px solid var(--c-main);
	border-bottom: 1px solid var(--c-main);
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.3s;
}
.p-about-faq__item[open] .p-about-faq__q::after { transform: translateY(-30%) rotate(-135deg); }
.p-about-faq__a { padding: 0 24px 22px 52px; font-size: 15px; line-height: 1.9; }
.p-about-faq__a a { color: var(--c-main); text-decoration: underline; }

/* ================= SP ================= */
@media (max-width: 767px) {
	.p-about { margin-top: 40px; }
	.p-about-sec .c-hl + * { margin-top: 24px; }
	.p-about-text,
	.p-checklist-intro__body { font-size: 14px; }
	.p-about-table { padding: 8px 20px; border-radius: 20px; font-size: 14px; }
	.p-about-table thead { display: none; }
	.p-about-table tr { display: block; padding: 14px 0; border-bottom: 1px solid var(--c-main-40); }
	.p-about-table tr:last-child { border-bottom: 0; }
	.p-about-table th,
	.p-about-table td { display: block; width: auto !important; padding: 0; border: 0; }
	.p-about-table tbody th { margin-bottom: 4px; font-size: 13px; }
	.p-about-table tbody th:empty { display: none; }
	.p-about-box { padding: 24px 20px; border-radius: 20px; font-size: 14px; }
	.p-about-box__title { font-size: 17px; }
	.p-about-stats { grid-template-columns: 1fr; gap: 12px; margin-top: 32px; }
	.p-about-stats > li { padding: 20px; border-radius: 20px; }
	.p-about-stats__num { font-size: 36px; }
	.p-about-stats__num--sm { font-size: 28px; }
	.p-about-links li { font-size: 14px; }
	.p-about-links__date { display: block; }
	.p-profile-intro { grid-template-columns: 1fr; gap: 24px; padding: 28px 20px; border-radius: 20px; }
	.p-profile-intro__photo { width: 60%; margin-inline: auto; }
	.p-profile-intro__name { font-size: 26px; }
	.p-profile-intro__note { font-size: 14px; }
	.p-checklist-intro { grid-template-columns: 1fr; gap: 24px; }
	.p-checklist-intro__cover { width: 60%; margin-inline: auto; }
	.p-checklist-intro__title { font-size: 20px; }
	.p-checklist-intro__btn { display: flex; margin-inline: auto; }
	.p-checklist-done { padding: 32px 20px; border-radius: 20px; }
	.p-about-faq__q { padding: 16px 48px 16px 18px; font-size: 15px; }
	.p-about-faq__a { padding: 0 18px 18px 40px; font-size: 14px; }
}
