/**
 * 固定ページ: course 専用スタイル
 * URL: /course
 * page-course.php
 */

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.page-course {
	margin-top: -16px;
	color: var(--color-black);
	font-family: var(--font-family-primary);
}

/* ----- KV（page-day_top / page-qualification と同構成・course 専用クラス） ----- */
.page-course .course-kv {
	position: relative;
	width: 100%;
}

.page-course .course-kv__image {
	width: 100%;
	line-height: 0;
}

.page-course .course-kv__image img {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: bottom;
}

@media (max-width: 1440px) {
	.page-course .course-kv__image {
		height: 270px;
		overflow: hidden;
	}

	.page-course .course-kv__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
}

@media (max-width: 768px) {
	.page-course .course-kv__image {
		height: 160px;
	}
}

.page-course .course-kv__text {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 4.8125rem;
	box-sizing: border-box;
}

.page-course .course-kv__title {
	margin: 0;
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	color: var(--color-black);
}

.page-course .course-kv__title-inner {
	display: flex;
	align-items: center;
	gap: 4px;
	width: fit-content;
	max-width: 100%;
}

.page-course .course-kv__title-inner .title-contact-text {
	display: flex;
	align-items: center;
	line-height: 0;
}

.page-course .course-kv__title-inner .mask-text {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: bottom;
}

/* 1440px〜768px：4文字 SVG 用 */
@media (max-width: 1440px) and (min-width: 769px) {
	.page-course .course-kv__title-inner {
		height: auto;
		width: 100%;
		max-width: 40vw;
	}

	.page-course .course-kv__title-inner .title-contact-text {
		display: block;
		height: 100%;
		min-height: 0;
		min-width: 0;
		flex: 1 1 0;
		max-width: calc((100% - 4px * 3) / 4);
	}

	.page-course .course-kv__title-inner .mask-text {
		height: calc(2.5rem * (0.46 + 54vw / 1440));
		width: auto;
		max-width: 100%;
		object-fit: contain;
		display: block;
	}
}

@media (max-width: 768px) {
	.page-course .course-kv__text {
		height: auto;
		padding: 4.1875rem var(--container-padding-x-sp, 1.5rem);
	}

	.page-course .course-kv__title-inner {
		height: 32px;
	}

	.page-course .course-kv__title-inner .mask-text {
		height: 32px;
		width: auto;
		object-fit: contain;
	}
}

/* ----- パンくず（page-circle と同構成・course 専用クラス） ----- */
.page-course .course-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0 8px;
	padding: 12px 2em;
	margin-bottom: 64px;
	background-color: var(--color-gray-bg);
	font-family: var(--font-family-primary);
	font-size: var(--font-size-xs);
	line-height: var(--line-height-normal);
	font-weight: var(--font-weight-bold);
	color: var(--color-gray-dark);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

@media (max-width: 768px) {
	.page-course .course-breadcrumb {
		margin-bottom: 64px;
	}
}

.page-course .course-breadcrumb::-webkit-scrollbar {
	display: none;
}

.page-course .course-breadcrumb a,
.page-course .course-breadcrumb span {
	white-space: nowrap;
}

.page-course .course-breadcrumb a {
	color: var(--color-gray-dark);
	text-decoration: none;
}

.page-course .course-breadcrumb a:hover {
	text-decoration: underline;
}

.page-course .course-breadcrumb__sep,
.page-course .course-breadcrumb__current {
	color: var(--color-gray-dark);
	user-select: none;
}

/* ----- コンテナ / 本文 ----- */
.page-course .container {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	padding: 0 24px;
}

.page-course .course-body {
	padding: 0 24px 100px;
}

@media (max-width: 768px) {
	.page-course .course-body {
		padding: 32px 24px 64px;
	}
}

.page-course .course-wp-content {
	max-width: 960px;
	margin: 48px auto 0;
	line-height: var(--line-height-loose);
}

/* --- セクション --- */
.page-course .course-section {
	margin-bottom: 48px;
}
.page-course .course-section:last-child { margin-bottom: 0; }

.page-course .course-section__title {
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 3px solid var(--color-primary);
}

.page-course .course-section__content {
	line-height: var(--line-height-loose);
}

.page-course .course-section__content p {
	margin: 0 0 16px;
}

/* --- 子ページリンク --- */
.page-course .course-links {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.page-course .course-links__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	background-color: #f8f8f8;
	border-radius: var(--border-radius-md);
	text-decoration: none;
	color: var(--color-black);
	transition: background-color 0.3s ease;
	border-left: 4px solid var(--color-primary);
}

.page-course .course-links__item:hover {
	background-color: #f0f0f0;
}

.page-course .course-links__label {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
}

.page-course .course-links__arrow {
	font-size: var(--font-size-lg);
	color: var(--color-primary);
	font-weight: var(--font-weight-bold);
}

/* ----- 特長セクション（理学療法士×スポーツ） ----- */
.page-course .course-feature {
	position: relative;
	padding: 64px 24px;
}

.page-course .course-feature__inner {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	background-color: var(--color-white);
	border: 4px solid var(--color-black);
	border-radius: 10px;
	padding: 56px 40px 32px;
	box-sizing: border-box;
}

/* 上部のヘックスタイトル */
.page-course .course-feature__title {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(437px, 90%);
	height: 71px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	--feature-hex-border: 4px;
}

.page-course .course-feature__title::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--color-black);
	clip-path: polygon(7.3% 2.8%, 92.7% 2.8%, 99.3% 50%, 92.7% 97.2%, 7.3% 97.2%, 0.7% 50%);
	z-index: 1;
}

.page-course .course-feature__title::after {
	content: '';
	position: absolute;
	inset: var(--feature-hex-border);
	background-color: var(--color-white);
	clip-path: polygon(7.3% 2.8%, 92.7% 2.8%, 99.3% 50%, 92.7% 97.2%, 7.3% 97.2%, 0.7% 50%);
	z-index: 2;
}

.page-course .course-feature__title-text {
	position: relative;
	z-index: 3;
	font-family: var(--font-family-primary);
	font-size: 32px;
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.02em;
	line-height: 1;
	white-space: nowrap;
}

/* カードリスト（2x2 グリッド） */
.page-course .course-feature__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.page-course .course-feature__card {
	background-color: #feefda;
	border: 4px solid var(--color-black);
	border-radius: 4px;
	min-height: 192px;
	padding: 32px 24px 32px 88px;
	display: flex;
	align-items: center;
	gap: 24px;
	box-sizing: border-box;
}

.page-course .course-feature__num {
	font-family: 'DIN 2014', var(--font-family-primary);
	font-weight: var(--font-weight-bold);
	font-size: 40px;
	line-height: 1;
	color: var(--color-black);
	flex: 0 0 auto;
}

.page-course .course-feature__text {
	margin: 0;
	font-size: 24px;
	font-weight: var(--font-weight-bold);
	line-height: 40px;
	color: var(--color-black);
}

@media (max-width: 1024px) {
	.page-course .course-feature__card {
		padding: 24px 20px;
		min-height: 0;
	}

	.page-course .course-feature__num {
		font-size: 32px;
	}

	.page-course .course-feature__text {
		font-size: 18px;
		line-height: 32px;
	}
}

@media (max-width: 768px) {
	.page-course .course-feature {
		padding: 0 23px 48px;
	}

	.page-course .course-feature__inner {
		padding: 56px 21px 24px;
		border-width: 3px;
		border-radius: 4px;
	}

	.page-course .course-feature__title {
		width: min(296px, 90%);
		height: 60px;
		--feature-hex-border: 3px;
	}

	.page-course .course-feature__title-text {
		font-family: var(--font-family-primary);
		font-size: 20px;
		letter-spacing: 0.02em;
	}

	.page-course .course-feature__list {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.page-course .course-feature__card {
		padding: 18px 16px;
		border-width: 3px;
		border-radius: 4px;
		gap: 23px;
		min-height: 92px;
		align-items: center;
	}

	.page-course .course-feature__num {
		font-family: 'DIN 2014', var(--font-family-primary);
		font-size: 28px;
		line-height: 40px;
		min-width: 22px;
		text-align: center;
	}

	.page-course .course-feature__text {
		font-size: 18px;
		line-height: 28px;
	}
}

/* ----- 学科紹介セクション（front-page .bg-department から複製・course 用に再設計） ----- */
.page-course .course-department {
	position: relative;
	width: 100%;
	margin-top: 9.625rem; /* ヘッダーが上にはみ出す分のスペース */
	padding: 5.25rem 0 5.0625rem;
	background: var(--gradient-department-bg, linear-gradient(107deg, #9DFF00 15.06%, #FFF04D 100.55%));
	text-align: center;
}

.page-course .course-department__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	box-sizing: content-box;
}

/* 上部ヘッダー（緑エリア外にせり出すカード） */
.page-course .course-department__header {
	position: absolute;
	top: -10.625rem;
	width: calc(100% - 48px);
	max-width: 774px;
	padding: 3.75rem 2.375rem 2.0625rem;
	border: var(--border-width-lg, 4px) solid var(--color-black);
	border-radius: var(--border-radius-lg, 16px);
	background: var(--color-white);
	z-index: var(--z-index-overlay, 5);
	box-sizing: border-box;

}

.page-course .course-department__header .hexagon-title {
	position: absolute;
	top: -2.375rem;
	left: 50%;
	transform: translateX(-50%);
}

.page-course .course-department__description {
	font-size: clamp(1rem, 1.5vw, 1.125rem);
	line-height: var(--line-height-loose);
	color: var(--color-black);
	font-weight: var(--font-weight-bold);
	text-align: center;
	margin: 0;
}

/* 課程グリッド（昼間 / 夜間） */
.page-course .course-department__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--spacing-5, 1.25rem);
	width: 100%;
	padding: 4.5rem 2.5rem 2.75rem;
	background: var(--color-white);
	box-sizing: border-box;
	align-items: stretch;
	grid-auto-rows: 1fr;
}

.page-course .course-department__item {
	position: relative;
	border-radius: var(--border-radius-md, 12px);
	color: var(--color-black);
	font-weight: var(--font-weight-bold);
	text-align: left;
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* メディア（画像）部分 */
.page-course .course-department__media {
	position: relative;
	width: 100%;
	line-height: 0;
	background: var(--color-black);
	border-radius: var(--border-radius-md, 12px) var(--border-radius-md, 12px) 0 0;
	flex: 0 0 auto;
}

.page-course .course-department__media::before {
	content: '';
	position: absolute;
	inset: 0;
	border: var(--border-width-lg, 4px) solid var(--color-black);
	border-bottom: none;
	border-radius: var(--border-radius-md, 12px) var(--border-radius-md, 12px) 0 0;
	z-index: -1;
}

.page-course .course-department__media-bg {
	width: 100%;
	height: 100%;
	display: block;
}

.page-course .course-department__media-text {
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	height: auto;
}

.page-course .course-department__media-human-sp {
	display: none;
}

.page-course .course-department__item--daytime .course-department__media-human {
	position: absolute;
	bottom: -40%;
	right: 0;
	width: 70%;
}

/* 昼間課程：人物画像の右側はみ出しを縦線で隠す */
.page-course .course-department__item--daytime .course-department__media::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: var(--border-width-lg, 4px);
	height: 100%;
	background: var(--color-black);
	border-radius: 0 var(--border-radius-md, 12px) 0 0;
}

.page-course .course-department__item--nighttime .course-department__media-human {
	position: absolute;
	bottom: -10%;
	right: -7%;
	width: 74%;
}

/* 本文（説明 + ボタン） */
.page-course .course-department__body {
	position: relative;
	z-index: 1;
	margin-top: -0.25rem;
	padding: 2.5rem 2.5rem 2rem;
	border: var(--border-width-lg, 4px) solid var(--color-black);
	border-radius: 0 0 var(--border-radius-md, 12px) var(--border-radius-md, 12px);
	background: var(--color-white);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--spacing-6, 1.5rem);
	flex: 1 1 auto;
}

.page-course .course-department__body-desc {
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
	margin: 0;
	flex: 1 1 auto;
}

@media (max-width: 768px) {
	.page-course .course-department {
		margin-top: 7rem;
		padding: 1.875rem 0 2.5rem;
	}

	.page-course .course-department__inner {
		width: initial;
	}

	.page-course .hexagon-title-text {
		font-size: 18px;
	}

	.page-course .course-department__header {
		top: -6rem;
        width: calc(100% - 48px);
		max-width: 100%;
		padding: 2.5rem 24px 1.25rem;
		border-width: 2px;
		border-radius: 10px;
		box-sizing: border-box;
	}

	.page-course .course-department__header .hexagon-title {
		width: 80%;
		max-width: 17.5rem;
		height: 3.75rem;
		top: -1.875rem;
	}

	.page-course .course-department__description {
		font-size: 1rem;
		line-height: 1.4;
		letter-spacing: 0.06em;
		text-align: left;
	}

	.page-course .course-department__grid {
		grid-template-columns: 1fr;
		gap: 4.75rem;
		margin-top: -1.5rem;
		padding: 8.5rem 20px 2.75rem;
	}

	.page-course .course-department__item {
		margin: 0 auto;
		width: 100%;
		border-radius: 2px;
	}

	.page-course .course-department__media {
		border-width: 2px;
		border-radius: 2px 2px 0 0;
	}

	.page-course .course-department__media::before {
		border-width: 2px;
		border-radius: 2px 2px 0 0;
		left: 0;
		right: 0;
	}

	.page-course .course-department__media-human {
		display: none;
	}

	.page-course .course-department__media-human-sp {
		display: block;
		position: absolute;
	}

	.page-course .course-department__item--daytime .course-department__media-human-sp {
		bottom: -3.125rem;
		right: 0;
		width: 60%;
	}

	.page-course .course-department__item--daytime .course-department__media::after {
		width: 2px;
	}

	.page-course .course-department__item--nighttime .course-department__media-human-sp {
		bottom: 0;
		right: 0;
		width: 50%;
	}

	.page-course .course-department__body {
		border-width: 2px;
		border-radius: 0 0 2px 2px;
		padding: 1rem 1.25rem 1.25rem;
		margin-top: -0.125rem;
		gap: 1rem;
	}

	.page-course .course-department__body-desc {
		font-size: 0.875rem;
		line-height: 1.7142;
	}

	.page-course .course-department__body .btn-more {
		width: 100%;
		max-width: 15.4375rem; /* 247px */
		height: 3rem;
		border-width: 2px;
	}

	.page-course .course-department__body .btn-more-label {
		font-size: 1rem;
	}
}

@media (max-width: 480px) {
	.page-course .course-department__grid {
		padding: 6.5rem 20px 2.75rem;
	}

	.page-course .course-department__item--daytime .course-department__media-human-sp {
		bottom: -3.75rem;
	}
}

/* ----- 一日の流れセクション（page-daynight .daynight-schedule__card と同パターンで実装） ----- */
.page-course .course-schedule {
	--course-schedule-green: #74d33e;
	--course-schedule-yellow-light: #ffd02f;
	--course-schedule-orange: #ffa52f;
	--course-schedule-label-bg: #ecffda;
	--course-schedule-label-fg: #51a004;
	padding: clamp(120px, 8.56vw, 156px) clamp(16px, 2.78vw, 40px);
	position: relative;
}

.page-course .course-schedule__inner {
	position: relative;
	max-width: min(1280px, 100%);
	margin: 0 auto;
	background-color: var(--color-white);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(4px, 0.42vw, 6px);
	padding: clamp(48px, 5.56vw, 80px) clamp(20px, 2.78vw, 40px) clamp(40px, 4.44vw, 64px);
	box-sizing: border-box;
}

/* セクションタイトル（中央ヘックス：「一日の流れ」） */
.page-course .course-schedule__title {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(362px, 80%);
	height: clamp(54px, 4.93vw, 71px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-course .course-schedule__title::before,
.page-course .course-schedule__title::after {
	content: '';
	position: absolute;
	clip-path: polygon(7.3% 2.8%, 92.7% 2.8%, 99.3% 50%, 92.7% 97.2%, 7.3% 97.2%, 0.7% 50%);
}

.page-course .course-schedule__title::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-course .course-schedule__title::after {
	inset: clamp(2px, 0.28vw, 4px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-course .course-schedule__title-text {
	position: relative;
	z-index: 3;
	font-size: clamp(20px, 1.94vw, 28px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.05em;
	line-height: 1;
	white-space: nowrap;
}

/* 内側カード（昼間 / 夜間） */
.page-course .course-schedule__card {
	position: relative;
	background-color: var(--color-white);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(4px, 0.42vw, 6px);
	padding: clamp(36px, 3.89vw, 56px) clamp(16px, 2.78vw, 40px) clamp(24px, 2.78vw, 40px);
	margin-top: clamp(36px, 3.89vw, 56px);
}

.page-course .course-schedule__card:first-of-type {
	margin-top: clamp(16px, 1.67vw, 24px);
}

/* カード左上の「昼間課程学生」/「夜間課程学生」バッジ */
.page-course .course-schedule__badge {
	position: absolute;
	top: clamp(-26px, -1.81vw, -20px);
	left: clamp(16px, 2.78vw, 40px);
	width: clamp(156px, 14.38vw, 207px);
	height: clamp(38px, 3.58vw, 51px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.page-course .course-schedule__badge::before,
.page-course .course-schedule__badge::after {
	content: '';
	position: absolute;
	clip-path: polygon(7.3% 2.8%, 92.7% 2.8%, 99.3% 50%, 92.7% 97.2%, 7.3% 97.2%, 0.7% 50%);
}

.page-course .course-schedule__badge::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-course .course-schedule__badge::after {
	inset: clamp(2px, 0.21vw, 3px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-course .course-schedule__badge-text {
	position: relative;
	z-index: 3;
	font-size: clamp(14px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.08em;
	line-height: 1;
	white-space: nowrap;
}

/* 昼間スケジュール（画像化） */
.page-course .course-schedule__figure {
	margin: 0;
	padding-top: clamp(28px, 2.5vw, 36px);
}

.page-course .course-schedule__figure-img {
	display: block;
	width: 100%;
	height: auto;
}

/* 見出し直下の画像（時刻帯は画像内に含むため上パディングなし） */
.page-course .course-schedule__sub .course-schedule__figure {
	padding-top: 0;
}

/* サブセクション（平日 / 土曜日） */
.page-course .course-schedule__divider {
	margin: clamp(24px, 2.22vw, 32px) 0;
	border: 0;
	border-top: 1px solid var(--color-black);
}

.page-course .course-schedule__sub-title {
	font-size: clamp(18px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.1em;
	margin: 0 0 clamp(12px, 1.11vw, 16px);
	line-height: 1;
}

.page-course .course-schedule__note {
	font-size: clamp(14px, 1.11vw, 16px);
	font-weight: var(--font-weight-normal);
	color: var(--color-black);
	margin: 0 0 clamp(12px, 1.11vw, 16px);
	line-height: 1.6;
}

/* ブロック行 */
.page-course .course-schedule__blocks {
	display: flex;
	align-items: stretch;
	gap: 0;
	padding-top: clamp(28px, 2.5vw, 36px); /* 上に出る時刻表示分 */
}

.page-course .course-schedule__block {
	position: relative;
	width: calc(var(--w, 100) / 14.4 * 1vw);
	min-width: calc(var(--w, 100) * 0.7px);
	max-width: calc(var(--w, 100) * 1px);
	min-height: clamp(120px, 11.46vw, 165px);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(6px, 0.56vw, 8px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: clamp(6px, 0.56vw, 8px) clamp(4px, 0.42vw, 6px);
	box-sizing: border-box;
	color: var(--color-black);
}

.page-course .course-schedule__block + .course-schedule__block {
	margin-left: calc(-1 * clamp(2px, 0.28vw, 4px)); /* 線を重ねる */
}

/* ブロック上に表示する時刻 */
.page-course .course-schedule__block::before {
	content: attr(data-time-start);
	position: absolute;
	bottom: calc(100% + clamp(6px, 0.56vw, 8px));
	left: 0;
	transform: translateX(-50%);
	font-family: 'Inter', var(--font-family-primary);
	font-size: clamp(14px, 1.25vw, 18px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	white-space: nowrap;
}

.page-course .course-schedule__block[data-time-end]::after {
	content: attr(data-time-end);
	position: absolute;
	bottom: calc(100% + clamp(6px, 0.56vw, 8px));
	right: 0;
	transform: translateX(50%);
	font-family: 'Inter', var(--font-family-primary);
	font-size: clamp(14px, 1.25vw, 18px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	white-space: nowrap;
}

/* ブロック色 */
.page-course .course-schedule__block--green { background: var(--course-schedule-green); }
.page-course .course-schedule__block--yellow { background: var(--course-schedule-yellow-light); }
.page-course .course-schedule__block--orange { background: var(--course-schedule-orange); }

/* 限ブロック内のテキスト */
.page-course .course-schedule__period {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	line-height: 1;
}

.page-course .course-schedule__period-num {
	font-family: 'Inter', var(--font-family-primary);
	font-size: clamp(24px, 2.22vw, 32px);
	font-weight: var(--font-weight-bold);
}

.page-course .course-schedule__period-unit {
	font-size: clamp(18px, 1.67vw, 24px);
	font-weight: var(--font-weight-normal);
}

.page-course .course-schedule__duration {
	margin-top: clamp(4px, 0.42vw, 6px);
	font-family: 'Inter', var(--font-family-primary);
	font-size: clamp(14px, 1.39vw, 20px);
	font-weight: var(--font-weight-normal);
	line-height: 1;
}

/* 休み時間／昼休みなど小さめテキスト */
.page-course .course-schedule__small {
	font-size: clamp(12px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
}

/* 仕事・バイト／学校で自習などの広めテキスト */
.page-course .course-schedule__big {
	font-size: clamp(12px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	line-height: 1.3;
}

/* 午前授業／午後授業／夜間授業の矢印帯 */
.page-course .course-schedule__labels {
	display: flex;
	margin-top: clamp(12px, 1.25vw, 18px);
	min-width: 0;
}

.page-course .course-schedule__label-spacer {
	width: calc(var(--w, 100) / 14.4 * 1vw);
	min-width: calc(var(--w, 100) * 0.7px);
	max-width: calc(var(--w, 100) * 1px);
	flex-shrink: 0;
}

.page-course .course-schedule__label {
	width: calc(var(--w, 100) / 14.4 * 1vw);
	min-width: calc(var(--w, 100) * 0.7px);
	max-width: calc(var(--w, 100) * 1px);
	flex-shrink: 0;
	height: clamp(28px, 2.5vw, 36px);
	background-color: var(--course-schedule-label-bg);
	color: var(--course-schedule-label-fg);
	clip-path: polygon(3% 0, 97% 0, 100% 50%, 97% 100%, 3% 100%, 0 50%);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(14px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.05em;
	line-height: 1.2;
	white-space: nowrap;
}

/* 送迎情報 */
.page-course .course-schedule__pickup {
	display: flex;
	justify-content: space-between;
	gap: clamp(16px, 1.67vw, 24px);
	margin-top: clamp(12px, 1.25vw, 18px);
}

.page-course .course-schedule__pickup-item {
	display: flex;
	align-items: center;
	gap: clamp(6px, 0.56vw, 8px);
	font-size: clamp(12px, 1.11vw, 16px);
	color: var(--color-black);
}

.page-course .course-schedule__pickup-item p {
	margin: 0;
}

.page-course .course-schedule__pickup-icon {
	width: clamp(20px, 1.67vw, 24px);
	height: clamp(20px, 1.67vw, 24px);
	flex: 0 0 clamp(20px, 1.67vw, 24px);
	color: var(--color-black);
}

/* タブレット〜モバイルでカードを横スクロール */
@media (max-width: 768px) {
	.page-course .course-schedule {
		padding:80px 24px 80px;
	}

	.page-course .course-schedule__inner {
		border-width: 2px;
		border-radius: 4px;
        padding: 64px 1rem 40px;
	}

	.page-course .course-schedule__title {
		width: min(296px, 90%);
		height: 60px;
	}

	.page-course .course-schedule__title::after {
		inset: 2px;
	}

	.page-course .course-schedule__title-text {
		font-size: 20px;
		letter-spacing: 0.05em;
	}

	.page-course .course-schedule__card {
		border-width: 2px;
		border-radius: 4px;
		padding: 2rem 0 1.25rem;
		margin-top: 2.5rem;
	}

	.page-course .course-schedule__scroll {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		/* pan-y だとタッチの横方向パンが無効になり、実機で横スクロールできない */
		touch-action: pan-x pan-y;
		padding: 0 1rem 1rem;
	}

	.page-course .course-schedule__card:first-of-type {
		margin-top: 1.25rem;
	}

	.page-course .course-schedule__badge {
		top: -1.625rem;
		left: 50%;
		transform: translateX(-50%);
		width: min(207px, 75%);
		height: 52px;
	}

	.page-course .course-schedule__badge::after {
		inset: 2px;
	}

	.page-course .course-schedule__badge-text {
		font-size: 18px;
		letter-spacing: 0.1em;
	}

	.page-course .course-schedule__sub-title {
		font-size: 18px;
		letter-spacing: 0.05em;
	}

	.page-course .course-schedule__sub,
	.page-course .course-schedule__blocks,
	.page-course .course-schedule__labels,
	.page-course .course-schedule__pickup,
	.page-course .course-schedule__figure {
		min-width: 760px;
	}

	.page-course .course-schedule__block,
	.page-course .course-schedule__label,
	.page-course .course-schedule__label-spacer {
		width: calc(var(--w, 100) * 0.7px);
		min-width: calc(var(--w, 100) * 0.7px);
		max-width: calc(var(--w, 100) * 0.7px);
	}

	.page-course .course-schedule__block {
		border-width: 2px;
	}

	.page-course .course-schedule__divider {
		margin: 1.5rem 0;
	}
}

/* ----- まずは特徴をご紹介！セクション（取得資格・卒後の姿・主な就職先） ----- */
.page-course .course-overview {
	--course-overview-qual-bg: #ecffda;
	--course-overview-qual-fg: #5ba612;

	padding: 0 clamp(16px, 2.78vw, 40px) clamp(80px, 8.56vw, 120px);
}

/* グループ＝外枠カード */
.page-course .course-overview__group {
	position: relative;
	max-width: min(1280px, 100%);
	margin: 0 auto;
	background-color: var(--color-white);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(6px, 0.69vw, 10px);
	padding: clamp(48px, 5.56vw, 80px) clamp(20px, 2.78vw, 40px) clamp(40px, 4.44vw, 56px);
	box-sizing: border-box;
}

.page-course .course-overview__group + .course-overview__group {
	margin-top: clamp(36px, 3.61vw, 52px);
}

.page-course .course-overview__group--full {
	max-width: min(1200px, 100%);
	padding: clamp(48px, 4.44vw, 64px) clamp(24px, 2.78vw, 40px) clamp(28px, 2.78vw, 40px);
}

/* メインタイトル（大ヘックス：まずは特徴をご紹介！） */
.page-course .course-overview__main-title {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(437px, 80%);
	height: clamp(54px, 4.93vw, 71px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-course .course-overview__main-title::before,
.page-course .course-overview__main-title::after {
	content: '';
	position: absolute;
	clip-path: polygon(7.3% 2.8%, 92.7% 2.8%, 99.3% 50%, 92.7% 97.2%, 7.3% 97.2%, 0.7% 50%);
}

.page-course .course-overview__main-title::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-course .course-overview__main-title::after {
	inset: clamp(2px, 0.28vw, 4px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-course .course-overview__main-title-text {
	position: relative;
	z-index: 3;
	font-size: clamp(20px, 2.22vw, 32px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.05em;
	line-height: 1;
	white-space: nowrap;
}

/* サブタイトル（小ヘックスバッジ：取得できる資格 / 卒後の姿 / 主な就職先） */
.page-course .course-overview__sub-title {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(254px, 80%);
	height: clamp(38px, 3.58vw, 51px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-course .course-overview__sub-title::before,
.page-course .course-overview__sub-title::after {
	content: '';
	position: absolute;
	clip-path: polygon(7.3% 2.8%, 92.7% 2.8%, 99.3% 50%, 92.7% 97.2%, 7.3% 97.2%, 0.7% 50%);
}

.page-course .course-overview__sub-title::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-course .course-overview__sub-title::after {
	inset: clamp(2px, 0.21vw, 3px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-course .course-overview__sub-title-text {
	position: relative;
	z-index: 3;
	font-size: clamp(14px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.05em;
	line-height: 1;
	white-space: nowrap;
}

/* 2カラムグリッド（取得できる資格 / 卒後の姿） */
.page-course .course-overview__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(16px, 1.67vw, 24px);
}

/* 内側カード */
.page-course .course-overview__card {
	position: relative;
	background-color: var(--color-white);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(6px, 0.56vw, 8px);
	padding: clamp(40px, 4.44vw, 56px) clamp(20px, 2.78vw, 40px) clamp(24px, 2.22vw, 32px);
	min-height: clamp(220px, 21.6vw, 311px);
	box-sizing: border-box;
}

/* 取得できる資格リスト（chevronシェイプ） */
.page-course .course-overview__quals {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.page-course .course-overview__qual {
	background: var(--course-overview-qual-bg);
	color: var(--course-overview-qual-fg);
	font-size: clamp(13px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	padding: clamp(8px, 0.83vw, 12px) clamp(20px, 2.22vw, 32px);
	clip-path: polygon(3% 0, 97% 0, 100% 50%, 97% 100%, 3% 100%, 0 50%);
	white-space: nowrap;
	text-align: center;
}

/* 一般テキスト（卒後の姿） */
.page-course .course-overview__text {
	margin: 0;
	font-size: clamp(16px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	line-height: 1.6;
	color: var(--color-black);
	display: flex;
    align-items: center;
    height: 100%;
}

/* 主な就職先テキスト（長文・行間広め） */
.page-course .course-overview__text--employment {
	font-size: clamp(14px, 1.25vw, 18px);
	line-height: 1.8;
}

@media (max-width: 768px) {
	.page-course .course-overview {
		padding: 3.75rem 1.5rem 3rem;
	}

	.page-course .course-overview__group {
		border-width: 2px;
		border-radius: 4px;
		padding: 64px 16px 32px;
	}

	.page-course .course-overview__group + .course-overview__group {
		margin-top:64px;
	}

	.page-course .course-overview__group--full {
		padding: 2.5rem 1.25rem 1.5rem;
	}

	.page-course .course-overview__main-title {
		width: min(296px, 90%);
		height: 60px;
	}

	.page-course .course-overview__main-title::after {
		inset: 2px;
	}

	.page-course .course-overview__main-title-text {
		font-size: 20px;
	}

	.page-course .course-overview__sub-title {
		width: min(207px, 80%);
		height: 52px;
	}

	.page-course .course-overview__sub-title::after {
		inset: 2px;
	}

	.page-course .course-overview__sub-title-text {
		font-size: 18px;
		letter-spacing: 0.1em;
	}

	.page-course .course-overview__grid {
		grid-template-columns: 1fr;
		gap:44px;
	}

	.page-course .course-overview__card {
		min-height: 0;
		border-width: 2px;
		border-radius: 4px;
		padding: 2.5rem 1.25rem 1.25rem;
	}

	.page-course .course-overview__quals {
		gap: 0.75rem;
	}

	.page-course .course-overview__qual {
		white-space: normal;
		font-size: 12px;
		font-weight: var(--font-weight-bold);
		line-height: 1.6;
		padding: 8px 16px;
		min-height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		clip-path: polygon(3% 0, 97% 0, 100% 50%, 97% 100%, 3% 100%, 0 50%);
	}

	.page-course .course-overview__text {
		font-size: 17px;
		line-height: 1.6;
	}

	.page-course .course-overview__text--employment {
		font-size: 14px;
		line-height: 1.7142;
	}
}

/* ----- それぞれどんな資格？セクション（黄色グラデ背景＋4つの資格詳細） ----- */
.page-course .course-licenses {
	position: relative;
	background: linear-gradient(96deg, #FDF24B 10.27%, #FFBF6B 101.47%);
	padding: clamp(80px, 9.72vw, 120px) clamp(16px, 2.78vw, 40px) clamp(80px, 8.33vw, 120px);
}

.page-course .course-licenses__inner {
	position: relative;
	max-width: min(1280px, 100%);
	margin: 0 auto;
	background-color: var(--color-white);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(2px, 0.28vw, 4px);
	padding: clamp(48px, 5.21vw, 75px) clamp(20px, 2.78vw, 40px) clamp(40px, 4.44vw, 56px);
	box-sizing: border-box;
}

/* タイトル（中央のヘックス） */
.page-course .course-licenses__title {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(362px, 80%);
	height: clamp(54px, 4.93vw, 71px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-course .course-licenses__title::before,
.page-course .course-licenses__title::after {
	content: '';
	position: absolute;
	clip-path: polygon(7.3% 2.8%, 92.7% 2.8%, 99.3% 50%, 92.7% 97.2%, 7.3% 97.2%, 0.7% 50%);
}

.page-course .course-licenses__title::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-course .course-licenses__title::after {
	inset: clamp(2px, 0.28vw, 4px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-course .course-licenses__title-text {
	position: relative;
	z-index: 3;
	font-size: clamp(20px, 1.94vw, 28px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.05em;
	line-height: 1;
	white-space: nowrap;
}

/* 資格リスト */
.page-course .course-licenses__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(40px, 4.44vw, 64px);
}

.page-course .course-licenses__item {
	display: grid;
	grid-template-columns: minmax(0, clamp(280px, 33.46vw, 482px)) 1fr;
	gap: clamp(24px, 2.78vw, 40px);
	align-items: start;
}

/* 画像 */
.page-course .course-licenses__media {
	width: 100%;
	aspect-ratio: 482 / 271;
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(6px, 0.56vw, 8px);
	overflow: hidden;
	box-sizing: border-box;
}

.page-course .course-licenses__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* 本文（タイトル + 説明 + ボタン） */
.page-course .course-licenses__body {
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 1.67vw, 24px);
}

.page-course .course-licenses__name {
	margin: 0;
	font-size: clamp(20px, 1.94vw, 28px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.4;
}

.page-course .course-licenses__desc {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.page-course .course-licenses__desc p {
	margin: 0;
	font-size: clamp(14px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	line-height: 1.6;
	color: var(--color-black);
}

/* 認定機関ボタン群 */
.page-course .course-licenses__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(12px, 1.67vw, 24px);
	margin-top: clamp(4px, 0.56vw, 8px);
}

.page-course .course-licenses__buttons .btn-more--kinesio-association .btn-more-label {
	letter-spacing: -0.08em;
}

/* 詳しくはこちらCTA */
.page-course .course-licenses__cta {
	display: flex;
	justify-content: center;
	margin-top: clamp(48px, 4.86vw, 70px);
}

@media (max-width: 768px) {
	.page-course .course-licenses {
		padding: 3.75rem 1.5rem 3rem;
	}

	.page-course .course-licenses__inner {
		border-width: 2px;
		border-radius: 4px;
		padding: 2.5rem 1.25rem 1.5rem;
	}

	.page-course .course-licenses__title {
		width: min(296px, 90%);
		height: 60px;
	}

	.page-course .course-licenses__title::after {
		inset: 2px;
	}

	.page-course .course-licenses__title-text {
		font-size: 20px;
		letter-spacing: 0.05em;
	}

	.page-course .course-licenses__list {
		gap: 1.5rem;
	}

	.page-course .course-licenses__item {
		grid-template-columns: 1fr;
		gap: 1.125rem;
	}

	.page-course .course-licenses__media {
		max-width: none;
		border-width: 2px;
		border-radius: 8px;
	}

	.page-course .course-licenses__body {
		gap: 0.75rem;
		align-items: center;
		text-align: left;
	}

	.page-course .course-licenses__name {
		font-size: 20px;
		line-height: 1.4;
		align-self: stretch;
	}

	.page-course .course-licenses__desc {
		align-self: stretch;
	}

	.page-course .course-licenses__desc p {
		font-size: 14px;
		line-height: 1.6;
	}

	.page-course .course-licenses__buttons {
		gap: 1.125rem;
		margin-top: 0.75rem;
		align-self: center;
		max-width: 243px;
        width: 100%;
	}

	.page-course .course-licenses__buttons .btn-more {
		width: 100%;
		height: 2.9375rem; /* 47px */
		border-width: 2px;
	}

	.page-course .course-licenses__buttons .btn-more-label {
		font-size: 1rem;
	}

	.page-course .course-licenses__cta {
		margin-top: 1.5rem;
	}

	.page-course .course-licenses__cta .btn-more {
		width: 100%;
		max-width: 16.25rem; /* 260px */
		height: 2.9375rem; /* 47px */
		border-width: 2px;
	}

	.page-course .course-licenses__cta .btn-more-label {
		font-size: 1rem;
	}
}

/* ----- 医学アカデミーの合格率と就職率セクション ----- */
.page-course .course-results {
	position: relative;
	padding: clamp(120px, 9.72vw, 156px) clamp(16px, 2.78vw, 40px) 0;
}

.page-course .course-results__inner {
	position: relative;
	max-width: min(1280px, 100%);
	margin: 0 auto;
	background-color: var(--color-white);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(6px, 0.69vw, 10px);
	padding: clamp(56px, 5.94vw, 86px) clamp(20px, 2.78vw, 40px) clamp(40px, 4.44vw, 56px);
	box-sizing: border-box;
}

/* ヘックスタイトル（広めのバナー：医学アカデミーの合格率と就職率） */
.page-course .course-results__title {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(597px, 90%);
	height: clamp(54px, 4.93vw, 71px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-course .course-results__title::before,
.page-course .course-results__title::after {
	content: '';
	position: absolute;
	clip-path: polygon(7.3% 2.8%, 92.7% 2.8%, 99.3% 50%, 92.7% 97.2%, 7.3% 97.2%, 0.7% 50%);
}

.page-course .course-results__title::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-course .course-results__title::after {
	inset: clamp(2px, 0.28vw, 4px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-course .course-results__title-text {
	position: relative;
	z-index: 3;
	font-size: clamp(18px, 2.22vw, 32px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.02em;
	line-height: 1;
	white-space: nowrap;
}

/* メイン画像（合格率／就職率の比較ビジュアル） */
.page-course .course-results__media {
	max-width: 1015px;
	margin: 0 auto;
}

.page-course .course-results__media img {
	width: 100%;
	height: auto;
	display: block;
}

@media (max-width: 768px) {
	.page-course .course-results {
		padding: 80px 16px 64px;
	}

	.page-course .course-results__inner {
		border-width: 2px;
		border-radius: 4px;
		padding: 3rem 1.25rem 1.5rem;
	}

	.page-course .course-results__title {
		width: min(296px, 90%);
		height: 60px;
	}

	.page-course .course-results__title::after {
		inset: 2px;
	}

	.page-course .course-results__title-text {
		font-size: 16px;
		letter-spacing: 0;
	}

	.page-course .course-results__media {
		max-width: 289px;
	}
}

/* ----- シンプルで計算されたカリキュラムセクション ----- */
.page-course .course-curriculum {
	position: relative;
    padding: clamp(120px, 9.72vw, 156px) clamp(16px, 2.78vw, 40px) 0;
}

.page-course .course-curriculum__inner {
	position: relative;
	max-width: min(1280px, 100%);
	margin: 0 auto;
	background-color: var(--color-white);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(2px, 0.28vw, 4px);
	padding: clamp(56px, 5.21vw, 75px) clamp(20px, 2.78vw, 40px) clamp(40px, 4.44vw, 56px);
	box-sizing: border-box;
}

/* ヘックスタイトル（広め：シンプルで計算されたカリキュラム） */
.page-course .course-curriculum__title {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(517px, 90%);
	height: clamp(54px, 4.93vw, 71px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-course .course-curriculum__title::before,
.page-course .course-curriculum__title::after {
	content: '';
	position: absolute;
	clip-path: polygon(7.3% 2.8%, 92.7% 2.8%, 99.3% 50%, 92.7% 97.2%, 7.3% 97.2%, 0.7% 50%);
}

.page-course .course-curriculum__title::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-course .course-curriculum__title::after {
	inset: clamp(2px, 0.28vw, 4px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-course .course-curriculum__title-text {
	position: relative;
	z-index: 3;
	font-size: clamp(18px, 1.94vw, 28px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.03em;
	line-height: 1;
	white-space: nowrap;
}

/* 3カラムリスト */
.page-course .course-curriculum__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 1.67vw, 24px);
}

.page-course .course-curriculum__item {
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 1.67vw, 24px);
}

/* 画像枠 */
.page-course .course-curriculum__media {
	position: relative;
	width: 100%;
	aspect-ratio: 376 / 251;
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(6px, 0.56vw, 8px);
	overflow: hidden;
	box-sizing: border-box;
}

.page-course .course-curriculum__media-main {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* 3カラム目の図解は contain（白背景に図を載せる） */
.page-course .course-curriculum__media--diagram {
	background: var(--color-white);
}

.page-course .course-curriculum__media--diagram .course-curriculum__media-main {
	object-fit: contain;
}

/* 認定バッジ（1カラム目用、画像左下にオーバーラップ） */
.page-course .course-curriculum__media-badge {
	position: absolute;
	bottom: 0;
	left: 6%;
	width: 19%;
	height: auto;
	display: block;
}

/* タイトル */
.page-course .course-curriculum__name {
	margin: 0;
	font-size: clamp(18px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.4;
}

/* 箇条書き */
.page-course .course-curriculum__bullets {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(4px, 0.56vw, 8px);
}

.page-course .course-curriculum__bullets li {
	position: relative;
	padding-left: 1em;
	font-size: clamp(13px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.6;
}

.page-course .course-curriculum__bullets li::before {
	content: '・';
	position: absolute;
	left: 0;
	top: 0;
}

/* 一般テキスト（3カラム目用） */
.page-course .course-curriculum__text {
	display: flex;
	flex-direction: column;
	gap: clamp(4px, 0.56vw, 8px);
}

.page-course .course-curriculum__text p {
	margin: 0;
	font-size: clamp(13px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.6;
}

@media (max-width: 768px) {
	.page-course .course-curriculum {
		padding: 24px 16px 64px;
	}

	.page-course .course-curriculum__inner {
		border-width: 2px;
		border-radius: 4px;
		padding: 3rem 1.25rem 1.5rem;
	}

	.page-course .course-curriculum__title {
		width: min(296px, 90%);
		height: 60px;
	}

	.page-course .course-curriculum__title::after {
		inset: 2px;
	}

	.page-course .course-curriculum__title-text {
		font-size: 16px;
		letter-spacing: 0;
	}

	.page-course .course-curriculum__list {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.page-course .course-curriculum__item {
		max-width: 480px;
		margin: 0 auto;
		width: 100%;
		gap: 1.5rem;
	}

	.page-course .course-curriculum__media {
		border-width: 2px;
		border-radius: 8px;
	}

	.page-course .course-curriculum__name {
		font-size: 20px;
		line-height: 1.4;
	}

	.page-course .course-curriculum__bullets {
		gap: 0;
	}

	.page-course .course-curriculum__bullets li {
		font-size: 14px;
		line-height: 1.6;
	}

	.page-course .course-curriculum__text p {
		font-size: 14px;
		line-height: 1.6;
	}
}

/* ----- 関連ページリンク（年間行事とカリキュラム / 実習について） ----- */
.page-course .course-info-links {
	padding: clamp(40px, 4.44vw, 64px) clamp(16px, 2.78vw, 40px) clamp(48px, 5.56vw, 80px);
}

@media (max-width: 768px) {
	.page-course .course-info-links {
		padding: 0 16px 0;
	}
}

.page-course .course-info-links__inner {
	max-width: min(1280px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(20px, 2.22vw, 32px);
}

.page-course .course-info-links__item {
	position: relative;
	display: block;
	height: clamp(180px, 17.78vw, 266px);
	background-color: #74d33e;
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(2px, 0.28vw, 4px);
	box-shadow: clamp(5px, 0.63vw, 9px) clamp(6px, 0.69vw, 10px) 0 0 #3a7e14;
	color: var(--color-white);
	overflow: hidden;
	min-height: 266px;
}

/* 右側のメディア（カレンダー画像 / 実習生画像） */
.page-course .course-info-links__media {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	pointer-events: none;
}

.page-course .course-info-links__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* 左側のテキスト＋ボタン */
.page-course .course-info-links__body {
	position: relative;
	z-index: 2;
	height: 100%;
	padding: clamp(20px, 2.36vw, 34px) clamp(16px, 2.5vw, 36px) clamp(20px, 2.36vw, 34px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	box-sizing: border-box;
	gap: 40px;
}

.page-course .course-info-links__title {
	margin: 0;
	line-height: 0;
}

.page-course .course-info-links__title-img {
	display: block;
	width: auto;
	max-width: min(100%, 355px);
	height: auto;
}

.page-course .course-info-links__btn-wrap {
	display: block;
	width: clamp(180px, 18.06vw, 260px);
	max-width: 100%;
}

.page-course .course-info-links__btn-wrap .btn-more {
	width: 100%;
	max-width: 100%;
	height: clamp(44px, 4.44vw, 64px);
}

@media (max-width: 768px) {
	.page-course .course-info-links__inner {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.page-course .course-info-links__item {
		height: clamp(160px, 38vw, 226px);
		border-width: 2px;
	}

	.page-course .course-info-links__title-img {
		max-width: 100%;
		height: auto;
	}

	.page-course .course-info-links__btn-wrap {
		width: 60%;
	}
}

/* --- fadeUp --- */
.page-course .fadeUp {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
.page-course .fadeUp.is-visible {
	opacity: 1;
	transform: translateY(0);
}
