/* ============================================================
   PR Direct LP - partner.css
   カスタム投稿タイプ「PRパートナー」専用スタイル
   single-partner.php / archive-partner.php でのみ読み込み
   （テーマカラー変数は assets/lp.css の :root を継承）
   ============================================================ */

/* ============================================================
   個別ページ：ヒーロー
   ============================================================ */
.partner-hero{
	position:relative;
	padding:140px 0 64px;
	background:
		radial-gradient(circle at 18% 22%, rgba(255,255,255,.85), transparent 38%),
		linear-gradient(120deg, var(--body-bg) 0%, var(--bg-soft) 50%, var(--bg-faint) 100%);
	overflow:hidden;
}
.partner-hero__inner{
	display:flex;align-items:center;gap:44px;flex-wrap:wrap;
}
.partner-hero__photo{
	flex:0 0 200px;width:200px;height:200px;border-radius:50%;overflow:hidden;
	box-shadow:0 16px 40px rgba(var(--pink-rgb),.18);
	background:var(--white);
}
.partner-hero__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.partner-hero__photo--blank{
	width:100%;height:100%;
	background:linear-gradient(135deg, var(--bg-soft) 0%, var(--pink-deep) 55%, var(--pink-bright) 100%);
}
.partner-hero__body{flex:1 1 360px;min-width:0;}
.partner-hero__name{
	font-family:var(--sans);font-weight:700;
	font-size:clamp(26px,3.6vw,38px);line-height:1.4;color:var(--ink);
	margin:0 0 8px;
}
.partner-hero__title{
	font-size:15px;font-weight:600;letter-spacing:.04em;color:var(--pink);margin:0 0 16px;
}

/* ---- タグ（得意分野・対応エリア） ---- */
.partner-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;}
.partner-tag{
	display:inline-flex;align-items:center;
	font-size:12px;font-weight:600;letter-spacing:.04em;
	padding:6px 14px;border-radius:999px;
	background:var(--bg-faint);color:var(--pink);
	border:1px solid var(--bg-soft);
}
.partner-tag--area{background:var(--white);color:#45403a;border-color:#ece3cd;}
.partner-tags--sm .partner-tag{font-size:11px;padding:4px 11px;}

/* ============================================================
   個別ページ：基本情報テーブル
   ============================================================ */
.partner-infotable{
	width:100%;border-collapse:collapse;margin:0 0 2.4em;font-size:14px;
	background:var(--white);box-shadow:var(--shadow-sm);border-radius:10px;overflow:hidden;
}
.partner-infotable th,.partner-infotable td{
	border-bottom:1px solid var(--bg-soft);padding:14px 20px;text-align:left;line-height:1.7;
}
.partner-infotable tr:last-child th,.partner-infotable tr:last-child td{border-bottom:none;}
.partner-infotable th{background:var(--bg-faint);color:var(--ink);font-weight:700;width:180px;white-space:nowrap;}
.partner-infotable td{color:#45403a;}

/* ============================================================
   個別ページ：セクション共通
   ============================================================ */
.partner-section{margin:0 0 2.6em;}
.partner-section:last-child{margin-bottom:0;}
.partner-section__title{
	position:relative;font-family:var(--serif);font-weight:700;
	font-size:clamp(20px,2.2vw,25px);line-height:1.5;color:var(--ink);
	margin:0 0 1em;padding-bottom:.5em;
}
.partner-section__title::after{
	content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;border-radius:999px;background:var(--pink);
}
.partner-section__text{font-size:15px;line-height:2;color:#45403a;margin:0;}

/* ---- メディア実績 ---- */
.partner-media{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.partner-media__item{
	background:var(--white);border:1px solid #ece3cd;border-radius:12px;
	padding:20px 22px;box-shadow:var(--shadow-sm);
}
.partner-media__label{
	font-family:var(--serif);font-size:13px;font-weight:700;letter-spacing:.08em;
	color:var(--pink);margin:0 0 10px;
}

/* ---- リスト共通（アプローチ中のメディア／おすすめ企業など） ---- */
.partner-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
.partner-list li{
	position:relative;padding-left:18px;font-size:14px;line-height:1.8;color:#45403a;
}
.partner-list li::before{
	content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--pink-bright);
}

/* ---- 対応可能な業務：チェックマーク付き ---- */
.partner-list--check li{padding-left:30px;font-weight:500;color:var(--ink);}
.partner-list--check li::before{
	content:"\2713";width:20px;height:20px;border-radius:50%;top:0;left:0;
	background:var(--pink);color:var(--white);font-size:11px;font-weight:700;
	display:flex;align-items:center;justify-content:center;
}

/* ---- 参考料金 ---- */
.partner-price{
	display:inline-block;font-family:var(--serif);font-size:26px;font-weight:700;color:var(--pink);
	background:var(--bg-faint);border-radius:10px;padding:14px 26px;margin:0;
}

/* ---- PR Directからのコメント ---- */
.partner-comment{
	position:relative;background:var(--bg-faint);border:1px dashed var(--bg-soft);
	border-radius:14px;padding:26px 28px;
}
.partner-comment__label{
	display:inline-block;font-family:var(--serif);font-size:12px;font-weight:700;letter-spacing:.1em;
	color:var(--pink);background:var(--white);border-radius:999px;padding:5px 16px;margin-bottom:14px;
	box-shadow:var(--shadow-sm);
}
.partner-comment__text{font-size:14.5px;line-height:1.95;color:#45403a;margin:0;}

/* ============================================================
   一覧ページ：絞り込みフォーム
   ============================================================ */
.partner-filter{
	background:var(--bg-faint);border-radius:14px;padding:24px 28px;margin:0 0 40px;
}
.partner-filter__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px;}
.partner-filter__field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink);min-width:180px;flex:1 1 180px;}
.partner-filter__label{font-weight:600;letter-spacing:.02em;}
.partner-filter__field select{
	padding:11px 14px;border:1px solid var(--bg-soft);border-radius:6px;
	background:var(--white);font-size:14px;color:var(--ink);
	appearance:auto;
}
.partner-filter__field select:focus{outline:2px solid var(--pink-bright);border-color:var(--pink-bright);}
.partner-filter__btn{flex:0 0 auto;}
.partner-filter__reset{
	font-size:13px;color:var(--pink);text-decoration:underline;text-underline-offset:2px;
	align-self:center;white-space:nowrap;
}
.partner-filter__reset:hover{color:var(--pink-deep);}

/* ============================================================
   一覧ページ：カードグリッド
   ============================================================ */
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.partner-card{
	display:flex;flex-direction:column;
	background:var(--white);border:1px solid #ece3cd;border-radius:14px;
	overflow:hidden;box-shadow:var(--shadow-sm);
	transition:transform .2s ease, box-shadow .2s ease;
}
.partner-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.partner-card__photo{width:100%;aspect-ratio:4 / 3;background:var(--bg-faint);}
.partner-card__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.partner-card__photo--blank{
	width:100%;height:100%;
	background:linear-gradient(135deg, var(--bg-soft) 0%, var(--pink-deep) 55%, var(--pink-bright) 100%);
}
.partner-card__body{padding:22px 22px 24px;}
.partner-card__name{font-size:17px;font-weight:700;line-height:1.5;color:var(--ink);margin:0 0 6px;}
.partner-card__title{font-size:12.5px;color:var(--pink);font-weight:600;margin:0 0 12px;}
.partner-card__years{font-size:12px;color:#8a7d6e;margin:12px 0 0;}

/* ============================================================
   レスポンシブ：タブレット 〜900px
   ============================================================ */
@media (max-width:900px){
	.partner-media{grid-template-columns:1fr;}
	.partner-grid{grid-template-columns:repeat(2,1fr);}
	.partner-hero{padding:112px 0 48px;}
	.partner-hero__inner{gap:28px;}
	.partner-hero__photo{flex-basis:140px;width:140px;height:140px;}
}

/* ============================================================
   レスポンシブ：スマホ 〜600px
   ============================================================ */
@media (max-width:600px){
	.partner-hero__inner{flex-direction:column;text-align:center;}
	.partner-tags{justify-content:center;}
	.partner-grid{grid-template-columns:1fr;}
	.partner-infotable th{width:auto;white-space:normal;}
	.partner-filter__row{flex-direction:column;align-items:stretch;}
	.partner-filter__reset{align-self:flex-start;}
}
