/* 次世代女性リーダー育成プログラム（/women-leadership-program/）専用スタイル。
   レイアウトの土台は common.css に依存し、ここでは本プログラム特有の構成要素
   (1) 開催概要テーブル (2) 開催背景ハイライト (3) 3つのリーダー像カード
   (4) 全体カリキュラム（Day1-4 × AM/PM）表 (5) 担当講師カード
   (6) 対象者・参加資格カード (7) お申込み／お問い合わせカード
   を補う。rem は common.css の独自設計に合わせている。ブレークポイントは
   common.css に合わせて max-width: 860px。 */

:root {
	--hc-navy: #11589d;
	--hc-navy-d: #0d4478;
	--hc-blue: #5b9bd5;
	--hc-blue-l: #cddceb;
	--hc-blue-bg: #eef4f9;
	--hc-gray: #6b7280;
	--hc-line: #d5dee7;
	--hc-accent-bg: #fbe4c8;
	--hc-accent-d: #8a5a1a;
}

/* ============================================================
   0. 本ページ専用の余白ユーティリティ（common.css の u-mt-*/u-mb-*/u-pt-*
      は限られた刻み幅しか持たないため、本ページで必要な値のみ補う）
   ============================================================ */
.wlp-pt-40 { padding-top: 40rem; }
.wlp-pt-28 { padding-top: 28rem; }
.wlp-mt-40 { margin-top: 40rem; }
.wlp-mt-14 { margin-top: 14rem; }
.wlp-mb-26 { margin-bottom: 26rem; }
.wlp-mb-32 { margin-bottom: 32rem; }
.wlp-mb-44 { margin-bottom: 44rem; }
.wlp-mb-48 { margin-bottom: 48rem; }

/* ============================================================
   共通：情報カードの外枠／見出しバー
   ============================================================ */
.c-wlp-box {
	background: #fff;
	border: 1rem solid var(--hc-line);
	border-radius: 8rem;
	overflow: hidden;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.c-wlp-box__head {
	background: var(--hc-navy);
	color: #fff;
	font-size: 18rem;
	font-weight: bold;
	text-align: center;
	padding: 14rem 16rem;
}

/* ============================================================
   1. NEWS バー
   ============================================================ */
.c-wlp-news {
	background: var(--hc-navy);
	color: #fff;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.c-wlp-news__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16rem;
	padding: 18rem 0;
}
.c-wlp-news__badge {
	display: inline-block;
	background: #fff;
	color: var(--hc-navy);
	padding: 2rem 20rem;
	border-radius: 5rem;
	font-weight: bold;
	font-size: 13rem;
}
.c-wlp-news__text {
	margin: 0;
	font-size: 16rem;
	line-height: 28rem;
	font-weight: bold;
	text-align: center;
}

/* ============================================================
   2. 開催概要テーブル
   ============================================================ */
.c-wlp-overview__grid {
	display: grid;
	grid-template-columns: 180rem 1fr 180rem 1fr;
}
.c-wlp-overview__label {
	padding: 18rem 22rem;
	background: var(--hc-blue-bg);
	border-bottom: 1rem solid var(--hc-line);
	font-size: 14rem;
	font-weight: bold;
	color: var(--hc-navy);
}
.c-wlp-overview__value {
	padding: 18rem 22rem;
	border-bottom: 1rem solid var(--hc-line);
	border-right: 1rem solid var(--hc-line);
	font-size: 14rem;
	line-height: 26rem;
}
.c-wlp-overview__grid > :nth-last-child(-n+2) {
	border-bottom: none;
}

/* ============================================================
   3. 開催背景ハイライト
   ============================================================ */
.c-wlp-highlight {
	background: var(--hc-blue-bg);
	border: 2rem solid var(--hc-navy);
	border-radius: 6rem;
	padding: 24rem 28rem;
	text-align: center;
}
.c-wlp-highlight p {
	margin: 0;
	font-size: 15rem;
	line-height: 30rem;
	font-weight: bold;
	color: var(--hc-navy);
}

/* ============================================================
   4. 番号バッジ／リスト（3つのリーダー像・対象者・参加資格・目的で共用）
   ============================================================ */
.c-wlp-num-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 14rem;
}
.c-wlp-num-list li {
	display: flex;
	gap: 12rem;
	font-size: 14rem;
	line-height: 24rem;
	color: #333;
}
.c-wlp-num {
	width: 22rem;
	height: 22rem;
	flex: none;
	background: var(--hc-blue-l);
	color: var(--hc-navy);
	border-radius: 50%;
	font-size: 12rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 1rem;
}

/* ============================================================
   5. 3つのリーダー像カード
   ============================================================ */
.c-wlp-leaders {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24rem;
}
.c-wlp-leaders .c-wlp-box {
	display: flex;
	flex-direction: column;
}
.c-wlp-leaders__body {
	padding: 22rem 24rem 0;
}
.c-wlp-leaders__body > p {
	margin: 0 0 20rem;
	font-size: 14rem;
	line-height: 26rem;
	color: #444;
}
.c-wlp-leaders__body .c-wlp-num-list {
	margin-bottom: 22rem;
}
.c-wlp-leaders__foot {
	margin-top: auto;
	background: var(--hc-blue-bg);
	border-top: 1rem solid var(--hc-line);
	padding: 18rem 24rem;
}
.c-wlp-leaders__foot p {
	margin: 0 0 10rem;
	font-size: 12rem;
	font-weight: bold;
	color: var(--hc-gray);
	letter-spacing: 1rem;
}
.c-wlp-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8rem;
}
.c-wlp-tags span {
	background: var(--hc-accent-bg);
	color: var(--hc-accent-d);
	font-size: 13rem;
	font-weight: bold;
	border-radius: 4rem;
	padding: 8rem 16rem;
}

/* ============================================================
   6. ご参加者上司向けオープニング・セッション
   ============================================================ */
.c-wlp-box__head.--blue {
	background: var(--hc-blue);
}
.c-wlp-session__body {
	padding: 26rem 30rem;
	display: grid;
	grid-template-columns: 300rem 1fr;
	gap: 40rem;
}
.c-wlp-session__info {
	margin: 0;
	font-size: 14rem;
	line-height: 28rem;
}
.c-wlp-session__info strong {
	font-weight: bold;
	color: var(--hc-navy);
}
.c-wlp-session__purpose-title {
	margin: 0 0 14rem;
	font-size: 14rem;
	font-weight: bold;
	color: var(--hc-navy);
}

/* ============================================================
   7. 全体カリキュラム（Day1-4 × AM/PM）
   ============================================================ */
.c-wlp-curriculum__head {
	background: var(--hc-navy-d);
	color: #fff;
	font-size: 18rem;
	font-weight: bold;
	text-align: center;
	padding: 12rem;
	border-radius: 4rem;
	margin-bottom: 16rem;
}
.c-wlp-curriculum__note {
	margin: 0 0 20rem;
	text-align: right;
	font-size: 12rem;
	color: var(--hc-gray);
}
.c-wlp-curriculum__grid {
	display: grid;
	grid-template-columns: 48rem repeat(4, 1fr);
	gap: 12rem;
}
.c-wlp-curriculum__day {
	background: var(--hc-navy);
	color: #fff;
	text-align: center;
	font-size: 18rem;
	font-weight: bold;
	font-family: "Oswald", sans-serif;
	padding: 10rem 0;
	border-radius: 4rem 4rem 0 0;
}
.c-wlp-curriculum__theme {
	background: #fff;
	border: 1rem solid var(--hc-line);
	border-top: none;
	text-align: center;
	font-size: 15rem;
	font-weight: bold;
	color: var(--hc-navy);
	padding: 11rem 0;
}
.c-wlp-curriculum__date {
	text-align: center;
	padding: 12rem 0 4rem;
}
.c-wlp-curriculum__date span {
	font-size: 14rem;
	font-weight: bold;
	border-bottom: 2rem solid var(--hc-blue);
	padding-bottom: 6rem;
}
.c-wlp-curriculum__slot {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--hc-blue-l);
	color: var(--hc-navy);
	font-size: 13rem;
	font-weight: bold;
	border-radius: 4rem;
}
.c-wlp-curriculum__cell {
	background: #fff;
	border: 1rem solid var(--hc-line);
	border-top: 4rem solid var(--hc-navy);
	border-radius: 4rem;
	padding: 20rem 18rem;
	min-height: 210rem;
	text-align: center;
}
.c-wlp-curriculum__cell.--pm {
	border-top-color: var(--hc-blue);
	min-height: 180rem;
}
.c-wlp-curriculum__cell-title {
	margin: 0 0 4rem;
	font-size: 14rem;
	font-weight: bold;
	line-height: 24rem;
	color: var(--hc-navy);
}
.c-wlp-curriculum__cell-speaker {
	margin: 0 0 16rem;
	font-size: 15rem;
	font-weight: bold;
	color: #222;
}
.c-wlp-curriculum__cell-desc {
	margin: 0;
	font-size: 13rem;
	line-height: 24rem;
	color: var(--hc-gray);
}
.c-wlp-curriculum__cell-desc .--arrow {
	color: var(--hc-navy);
}
.c-wlp-curriculum__cell-desc .--tight {
	display: inline-block;
	margin: 0 -10rem;
	white-space: nowrap;
	font-size: 12.5rem;
	letter-spacing: -0.3rem;
}

/* ============================================================
   8. 担当講師
   ============================================================ */
.c-wlp-faculty {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24rem;
}
.c-wlp-faculty__card {
	padding: 22rem 24rem;
	text-align: center;
}
.c-wlp-faculty__name {
	margin: 0 0 10rem;
	font-family: "Zen Old Mincho", serif;
	font-size: 20rem;
	font-weight: 600;
	color: var(--hc-navy);
}
.c-wlp-faculty__role {
	margin: 0;
	font-size: 13rem;
	line-height: 24rem;
	color: var(--hc-gray);
}

/* ============================================================
   9. 対象者・参加資格
   ============================================================ */
.c-wlp-audience {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24rem;
	align-items: start;
}
.c-wlp-audience .c-wlp-num-list {
	margin: 0;
	padding: 22rem 26rem;
}
.c-wlp-notes {
	margin-top: 24rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24rem;
}
.c-wlp-notes__box {
	background: var(--hc-blue-bg);
	border: 1rem solid var(--hc-line);
	border-radius: 8rem;
	padding: 22rem 26rem;
}
.c-wlp-notes__box p:first-child {
	margin: 0 0 10rem;
	font-size: 15rem;
	font-weight: bold;
	color: var(--hc-navy);
}
.c-wlp-notes__box p:last-child {
	margin: 0;
	font-size: 14rem;
	line-height: 26rem;
	color: #333;
}
.c-wlp-notes__box p:last-child span {
	font-size: 12rem;
	color: var(--hc-gray);
}

/* ============================================================
   10. お申込み／お問い合わせ
   ============================================================ */
.c-wlp-contact {
	max-width: 880rem;
	margin: 0 auto;
}
.c-wlp-contact__body {
	padding: 30rem 36rem;
}
.c-wlp-contact__grid {
	display: grid;
	grid-template-columns: 110rem 1fr;
}
.c-wlp-contact__grid > div {
	padding: 14rem 0;
	border-bottom: 1rem solid var(--hc-line);
}
.c-wlp-contact__grid > div:nth-last-child(-n+2) {
	border-bottom: none;
}
.c-wlp-contact__grid .--label {
	font-size: 14rem;
	font-weight: bold;
	color: var(--hc-navy);
}
.c-wlp-contact__grid .--value {
	font-size: 15rem;
}
.c-wlp-contact__grid .--tel {
	font-size: 24rem;
	line-height: 28rem;
	font-family: "Oswald", sans-serif;
}
.c-wlp-contact__note {
	font-size: 12rem;
	color: var(--hc-gray);
	margin-left: 12rem;
}

/* ============================================================
   レスポンシブ
   ============================================================ */
@media screen and (max-width: 860px) {
	.c-wlp-overview__grid {
		grid-template-columns: 140rem 1fr;
	}
	.c-wlp-leaders,
	.c-wlp-faculty,
	.c-wlp-audience,
	.c-wlp-notes {
		grid-template-columns: 1fr;
	}
	.c-wlp-session__body {
		grid-template-columns: 1fr;
		gap: 20rem;
	}
	.c-wlp-curriculum__grid {
		grid-template-columns: 1fr;
	}
	.c-wlp-curriculum__slot {
		padding: 8rem 0;
	}
	.c-wlp-contact__grid {
		grid-template-columns: 1fr;
	}
	.c-wlp-contact__grid .--label {
		padding-bottom: 4rem;
	}
}
