/* Hasegawa Seminar Manager — 関連ページへの「次回の開催」案内カード
 *
 * 本文の中に差し込むため、ページ側の CSS（例：.akfl.akfl-v3 div { font-size: inherit; … }）に
 * 上書きされないよう、セレクターは .hsm-promo.hsm-promo で始めて詳細度を上げている。
 */

.hsm-promo.hsm-promo.hsm-promo {
	--hsm-ink: #2b2b2b;
	--hsm-text: #333;
	--hsm-brown: #9b7d5a;
	--hsm-brown-dark: #7a5c3e;
	--hsm-pink: #c97a8e;
	--hsm-pink-dark: #b6647a;
	--hsm-cream: #fdf9f5;
	--hsm-line: #e8e0d5;
	box-sizing: border-box;
	display: block;
	width: auto;
	max-width: 760px;
	margin: 32px auto 40px;
	padding: 18px 18px 20px;
	background: var(--hsm-cream);
	border: 1px solid var(--hsm-line);
	border-top: 4px solid var(--hsm-pink);
	border-radius: 8px;
	color: var(--hsm-text);
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
	font-size: 15px;
	font-weight: normal;
	line-height: 1.7;
	letter-spacing: normal;
	text-align: left;
}
.hsm-promo.hsm-promo *,
.hsm-promo.hsm-promo *::before,
.hsm-promo.hsm-promo *::after { box-sizing: border-box; }

.hsm-promo.hsm-promo p,
.hsm-promo.hsm-promo div,
.hsm-promo.hsm-promo span,
.hsm-promo.hsm-promo small,
.hsm-promo.hsm-promo a {
	font-family: inherit;
	letter-spacing: normal;
}
.hsm-promo.hsm-promo p { margin: 0; padding: 0; }
.hsm-promo.hsm-promo p::before,
.hsm-promo.hsm-promo p::after { content: none !important; }

.hsm-promo.hsm-promo .hsm-promo__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; font-size: 12px; line-height: 1.7; }
.hsm-promo.hsm-promo .hsm-promo__chip {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--hsm-pink);
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: .06em;
	line-height: 1.7;
}
.hsm-promo.hsm-promo .hsm-promo__chip--clinic { background: #fff; color: var(--hsm-brown-dark); border: 1px solid var(--hsm-line); }

.hsm-promo.hsm-promo .hsm-promo__media { display: block; margin: 0 0 14px; border-radius: 6px; overflow: hidden; line-height: 0; }
.hsm-promo.hsm-promo .hsm-promo__img { display: block; width: 100%; height: auto; max-width: 100%; margin: 0; border: 0; }

.hsm-promo.hsm-promo .hsm-promo__body { font-size: 15px; line-height: 1.7; text-align: left; }
.hsm-promo.hsm-promo .hsm-promo__title { margin: 0 0 6px; color: var(--hsm-ink); font-size: 17px; font-weight: bold; line-height: 1.55; }
.hsm-promo.hsm-promo .hsm-promo__title a,
.hsm-promo.hsm-promo .hsm-promo__title a:visited { color: var(--hsm-ink); font-size: inherit; font-weight: inherit; line-height: inherit; text-decoration: none; }
.hsm-promo.hsm-promo .hsm-promo__title a:hover { text-decoration: underline; }

.hsm-promo.hsm-promo .hsm-promo__meta { margin: 0 0 8px; color: var(--hsm-brown-dark); font-size: 14px; font-weight: bold; line-height: 1.6; }
.hsm-promo.hsm-promo .hsm-promo__summary { margin: 0 0 4px; color: var(--hsm-text); font-size: 14px; font-weight: normal; line-height: 1.75; }

.hsm-promo.hsm-promo .hsm-promo__action { margin: 14px 0 0; text-align: center; }
.hsm-promo.hsm-promo a.hsm-promo__btn,
.hsm-promo.hsm-promo a.hsm-promo__btn:visited {
	display: block;
	width: 100%;
	margin: 0;
	padding: 14px 16px;
	border-radius: 999px;
	background: var(--hsm-pink);
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	letter-spacing: .04em;
	box-shadow: 0 3px 0 var(--hsm-pink-dark);
}
.hsm-promo.hsm-promo a.hsm-promo__btn:hover { opacity: .9; color: #fff; }
.hsm-promo.hsm-promo .hsm-promo__rest { display: block; margin: 2px 0 0; color: #fff; font-size: 12.5px; font-weight: normal; line-height: 1.4; letter-spacing: .04em; text-align: center; opacity: .95; }

.hsm-promo.hsm-promo .hsm-promo__note { margin: 10px 0 0; color: #666; font-size: 12.5px; font-weight: normal; line-height: 1.6; text-align: center; }

@media screen and (min-width: 770px) {
	.hsm-promo.hsm-promo.hsm-promo {
		display: grid;
		grid-template-columns: 42% 1fr;
		column-gap: 22px;
		align-items: start;
		padding: 20px 22px 22px;
	}
	.hsm-promo.hsm-promo .hsm-promo__chips { grid-column: 1 / -1; }
	.hsm-promo.hsm-promo .hsm-promo__media { grid-column: 1; margin: 0; }
	.hsm-promo.hsm-promo .hsm-promo__body { grid-column: 2; }
	.hsm-promo.hsm-promo:not(:has(.hsm-promo__media)) .hsm-promo__body { grid-column: 1 / -1; }
	.hsm-promo.hsm-promo .hsm-promo__title { font-size: 16px; }
	.hsm-promo.hsm-promo .hsm-promo__summary { font-size: 13.5px; }
	.hsm-promo.hsm-promo .hsm-promo__action { margin-top: 12px; }
	.hsm-promo.hsm-promo a.hsm-promo__btn { padding: 11px 14px; font-size: 15px; }
}
