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

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

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

.page-tuition-support .tsupport-kv__image {
	width: 100%;
	line-height: 0;
}

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

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

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

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

.page-tuition-support .tsupport-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-tuition-support .tsupport-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-tuition-support .tsupport-kv__title-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 4px;
	width: fit-content;
	max-width: 100%;
}

/* 5文字目から次の行へ（4文字目の直後に挿入） */
.page-tuition-support .tsupport-kv__title-inner .tsupport-kv__title-linebreak {
	flex-basis: 100%;
	width: 0;
	height: 0;
	overflow: hidden;
	padding: 0;
	margin: 0;
	border: 0;
	pointer-events: none;
}

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

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

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

	.page-tuition-support .tsupport-kv__title-inner .title-contact-text:nth-child(-n + 4) {
		display: block;
		height: 100%;
		min-height: 0;
		min-width: 0;
		max-width: calc((100% - 4px * 3) / 4);
	}

	.page-tuition-support .tsupport-kv__title-inner .title-contact-text:nth-child(n + 6) {
		display: block;
		height: 100%;
		min-height: 0;
		min-width: 0;
		max-width: calc((100% - 4px * 5) / 6);
	}

	.page-tuition-support .tsupport-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-tuition-support .tsupport-kv__text {
		height: auto;
		padding: 3.1875rem var(--container-padding-x-sp, 1.5rem);
	}

	.page-tuition-support .tsupport-kv__title-inner {
		height: auto;
		min-height: 32px;
		gap: 4px 4px;
	}

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

/* 4文字目の SVG のみ高さ固定（各ブレークポイントの .mask-text 指定より優先） */
.page-tuition-support .tsupport-kv__title-inner .title-contact-text:nth-child(4) .mask-text {
	height: 12px;
	width: auto;
	object-fit: contain;
}

/* ----- パンくず（page-circle と同構成・tuition-support 専用クラス） ----- */
.page-tuition-support .tsupport-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0 8px;
	padding: 12px 2em;
	margin-bottom: 0;
	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-tuition-support .tsupport-breadcrumb {
		margin-bottom: 0;
	}
}

/* ----- 学費サポート制度セクション ----- */
.page-tuition-support .tsupport-support {
	position: relative;
	width: 100%;
	margin-bottom: 100px;
	overflow: hidden;
}

.page-tuition-support .tsupport-support__image {
	width: 100%;
	line-height: 0;
}

.page-tuition-support .tsupport-support__image img {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: bottom;
}

@media (max-width: 1440px) {
	.page-tuition-support .tsupport-support__image {
		height: 320px;
		overflow: hidden;
	}

	.page-tuition-support .tsupport-support__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
}

@media (max-width: 768px) {
	.page-tuition-support .tsupport-support {
		margin-bottom: 40px;
		position: relative;
		overflow: visible;
		margin-top: 70px;
	}

	.page-tuition-support .tsupport-support__image {
		position: relative;
		z-index: 0;
	}
}

.page-tuition-support .tsupport-support__badge {
	position: absolute;
	top: 50%;
	left: 5.5556%;
	transform: translateY(-50%);
	width: 38.1944%;
	max-width: 550px;
	min-width: 280px;
	aspect-ratio: 550 / 71;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.page-tuition-support .tsupport-support__badge-shape {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.page-tuition-support .tsupport-support__badge-text {
	position: relative;
	font-family: var(--font-family-primary);
	font-size: var(--font-size-2xl);
	font-weight: var(--font-weight-bold);
	line-height: 1;
	letter-spacing: 0.1em;
	color: var(--color-black);
	white-space: nowrap;
	text-align: center;
}

.page-tuition-support .tsupport-support__badge-br {
	display: none;
}

@media (max-width: 1200px) {

	.page-tuition-support .tsupport-support__badge-text {
		font-size: var(--font-size-xl);
		letter-spacing: 0.08em;
	}
}

@media (max-width: 768px) {
	/* セクションは画像のみがフロー内＝高さは画像ブロック。絶対配置で画像の上下左右中央に重ねる */
	.page-tuition-support .tsupport-support__badge {
		position: absolute;
		top: 0;
		left: 50%;
		right: auto;
		transform: translate(-50%, -50%);
		z-index: 1;
		width: calc(100% - 32px);
		min-width: 0;
		aspect-ratio: unset;
		min-height: 72px;
	}

	.page-tuition-support .tsupport-support__badge-br {
		display: block;
	}

	.page-tuition-support .tsupport-support__badge-text {
		font-size: var(--font-size-md);
		letter-spacing: 0.05em;
		line-height: 1.25;
	}

	.page-tuition-support .tsupport-support__badge-shape path {
		stroke-width: 2px;
	}
}

.page-tuition-support .tsupport-breadcrumb::-webkit-scrollbar {
	display: none;
}

.page-tuition-support .tsupport-breadcrumb a,
.page-tuition-support .tsupport-breadcrumb span {
	white-space: nowrap;
}

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

.page-tuition-support .tsupport-breadcrumb a:hover {
	text-decoration: underline;
}

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

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

.page-tuition-support .tsupport-body {
	padding: 0 24px 100px;
}

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

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

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

.page-tuition-support .tsupport-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-tuition-support .tsupport-section__content {
	line-height: var(--line-height-loose);
}

.page-tuition-support .tsupport-section__content p {
	margin: 0 0 16px;
}

/* --- サブタイトル --- */
.page-tuition-support .tsupport-subtitle {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	margin: 32px 0 16px;
	padding-left: 12px;
	border-left: 4px solid var(--color-primary);
}

/* --- テーブル --- */
.tsupport-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 16px;
}

.tsupport-table th,
.tsupport-table td {
	padding: 12px 16px;
	border: 1px solid var(--color-border, #e0e0e0);
	text-align: center;
	vertical-align: middle;
	line-height: var(--line-height-normal);
}

.tsupport-table thead th {
	background-color: var(--color-primary);
	color: var(--color-white);
	font-weight: var(--font-weight-bold);
}

.tsupport-table tbody td:first-child {
	font-weight: var(--font-weight-bold);
	text-align: left;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.tsupport-table {
		font-size: var(--font-size-sm);
	}
	.tsupport-table th,
	.tsupport-table td {
		padding: 8px;
	}
	.tsupport-table tbody td:first-child {
		white-space: normal;
	}
}

/* --- 注釈 --- */
.tsupport-notes {
	background-color: #f8f8f8;
	border-radius: var(--border-radius-md);
	padding: 16px 20px;
	margin: 16px 0;
}

.tsupport-notes p {
	margin: 0 0 8px;
	font-size: var(--font-size-sm);
	color: var(--color-gray);
}
.tsupport-notes p:last-child { margin-bottom: 0; }

/* --- カード --- */
.tsupport-card {
	padding: 24px;
	background-color: #f8f8f8;
	border-radius: var(--border-radius-md);
	border-left: 4px solid var(--color-primary);
	margin-bottom: 16px;
}

.tsupport-card p {
	margin: 0;
	line-height: var(--line-height-loose);
}

/* --- リスト --- */
.tsupport-list {
	padding-left: 1.5em;
	margin: 0 0 16px;
}

.tsupport-list li {
	margin-bottom: 6px;
	line-height: var(--line-height-normal);
}

/* --- FAQ --- */
.tsupport-faq {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.tsupport-faq__item {
	padding: 20px;
	background-color: #f8f8f8;
	border-radius: var(--border-radius-md);
}

.tsupport-faq__question {
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-bold);
	color: var(--color-primary);
	margin: 0 0 8px;
}

.tsupport-faq__question::before {
	content: "Q. ";
}

.tsupport-faq__answer {
	margin: 0;
	line-height: var(--line-height-loose);
}

.tsupport-faq__answer::before {
	content: "A. ";
	font-weight: var(--font-weight-bold);
	color: var(--color-primary);
}

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

/* ===== 特待生制度基準 セクション ===== */
.page-tuition-support .tsupport-scholarship {
	--tsupport-yellow: #ffd02f;
	--tsupport-green-bg: #ecffda;
	--tsupport-pink: #f62190;
	--tsupport-blue: #009dff;
	position: relative;
	padding: 24px clamp(16px, 2.78vw, 40px) clamp(48px, 5.56vw, 80px);
}

.page-tuition-support .tsupport-scholarship__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, 72px) clamp(20px, 2.78vw, 40px) clamp(40px, 4.44vw, 64px);
	box-sizing: border-box;
}

/* --- 中央ヘックスタイトル「特待生制度基準」 --- */
.page-tuition-support .tsupport-scholarship__hex {
	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-tuition-support .tsupport-scholarship__hex::before,
.page-tuition-support .tsupport-scholarship__hex::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-tuition-support .tsupport-scholarship__hex::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

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

.page-tuition-support .tsupport-scholarship__hex-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.1em;
	line-height: 1;
	white-space: nowrap;
}

/* --- リード（heading + 説明） --- */
.page-tuition-support .tsupport-scholarship__heading {
	font-size: clamp(18px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	margin: 0 0 clamp(8px, 1.67vw, 16px);
	line-height: 1.5;
}

.page-tuition-support .tsupport-scholarship__lead {
	margin: 0 0 clamp(16px, 3.33vw, 24px);
}

.page-tuition-support .tsupport-scholarship__lead p {
	font-size: clamp(14px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.75;
	margin: 0;
}

/* --- テーブル外枠 --- */
.page-tuition-support .tsupport-scholarship__table-wrap {
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	overflow: hidden;
}

.page-tuition-support .tsupport-scholarship__table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	margin: 0;
}

.page-tuition-support .tsupport-scholarship__table th,
.page-tuition-support .tsupport-scholarship__table td {
	padding:8px 12px;
	border-right: 1px solid var(--color-black);
	border-bottom: 1px solid var(--color-black);
	font-size: clamp(13px, 1.11vw, 16px);
	font-weight: var(--font-weight-normal);
	color: var(--color-black);
	line-height: 1.5;
	text-align: left;
	vertical-align: middle;
	background-color: var(--color-white);
}

.page-tuition-support .tsupport-scholarship__table th:last-child,
.page-tuition-support .tsupport-scholarship__table td:last-child {
	border-right: none;
}

.page-tuition-support .tsupport-scholarship__table tbody tr:last-child th,
.page-tuition-support .tsupport-scholarship__table tbody tr:last-child td {
	border-bottom: none;
}

.page-tuition-support .tsupport-scholarship__table thead th {
	background-color: var(--tsupport-yellow);
	font-weight: var(--font-weight-bold);
	text-align: center;
}

.page-tuition-support .tsupport-scholarship__table tbody th {
	font-weight: var(--font-weight-normal);
}

.page-tuition-support .tsupport-scholarship__col-cat {
	width: 20%;
}

.page-tuition-support .tsupport-scholarship__col-cond {
	width: 40%;
}

.page-tuition-support .tsupport-scholarship__col-benefit {
	width: 28%;
}

.page-tuition-support .tsupport-scholarship__col-quota {
	width: 12%;
}

.page-tuition-support .tsupport-scholarship__table td.tsupport-scholarship__col-quota {
	text-align: right;
}

/* --- FAQ カード --- */
.page-tuition-support .tsupport-scholarship__faq {
	position: relative;
	margin-top: clamp(64px, 6.67vw, 96px);
	background-color: var(--tsupport-green-bg);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(6px, 0.7vw, 10px);
	padding: clamp(48px, 5vw, 72px) clamp(24px, 3.13vw, 40px) clamp(40px, 4.17vw, 60px);
}

.page-tuition-support .tsupport-scholarship__faq-hex {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(254px, 70%);
	height: clamp(40px, 3.54vw, 51px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-tuition-support .tsupport-scholarship__faq-hex::before,
.page-tuition-support .tsupport-scholarship__faq-hex::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-tuition-support .tsupport-scholarship__faq-hex::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-tuition-support .tsupport-scholarship__faq-hex::after {
	inset: clamp(2px, 0.28vw, 4px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-tuition-support .tsupport-scholarship__faq-hex-text {
	position: relative;
	z-index: 3;
	font-size: clamp(15px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.06em;
	line-height: 1;
	white-space: nowrap;
}

.page-tuition-support .tsupport-scholarship__faq-list {
	display: flex;
	flex-direction: column;
}

.page-tuition-support .tsupport-scholarship__faq-item {
	display: flex;
	flex-direction: column;
}

.page-tuition-support .tsupport-scholarship__faq-row {
	position: relative;
	display: flex;
	align-items: center;
	gap: clamp(8px, 1.11vw, 16px);
	min-height: clamp(96px, 8.26vw, 119px);
	background-color: var(--color-white);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	padding: clamp(16px, 1.67vw, 24px) clamp(20px, 2.43vw, 35px);
}

.page-tuition-support .tsupport-scholarship__faq-row--q {
	padding-right: clamp(56px, 5.56vw, 80px);
}

.page-tuition-support .tsupport-scholarship__faq-item.is-open .tsupport-scholarship__faq-row--q {
	border-radius: clamp(6px, 0.7vw, 10px) clamp(6px, 0.7vw, 10px) 0 0;
	border-bottom-width: 0;
}

.page-tuition-support .tsupport-scholarship__faq-item:not(.is-open) .tsupport-scholarship__faq-row--q {
	border-radius: clamp(6px, 0.7vw, 10px);
	border-bottom-width: clamp(2px, 0.28vw, 4px);
}

.page-tuition-support .tsupport-scholarship__faq-trigger {
	appearance: none;
	width: 100%;
	margin: 0;
	font: inherit;
	color: inherit;
	text-align: left;
	cursor: pointer;
}

.page-tuition-support .tsupport-scholarship__faq-trigger:focus-visible {
	outline: 2px solid var(--tsupport-blue, #009dff);
	outline-offset: 2px;
}

.page-tuition-support .tsupport-scholarship__faq-panel {
	margin: 0;
	padding: 0;
}

.page-tuition-support .tsupport-scholarship__faq-row--a {
	border-radius: 0 0 clamp(6px, 0.7vw, 10px) clamp(6px, 0.7vw, 10px);
}

.page-tuition-support .tsupport-scholarship__faq-label {
	flex-shrink: 0;
	font-family: var(--font-family-primary);
	font-size: clamp(24px, 2.22vw, 32px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.06em;
	line-height: 1;
}

.page-tuition-support .tsupport-scholarship__faq-label--q {
	color: var(--tsupport-pink);
}

.page-tuition-support .tsupport-scholarship__faq-label--a {
	color: var(--tsupport-blue);
}

.page-tuition-support .tsupport-scholarship__faq-text {
	flex: 1 1 auto;
	font-size: clamp(14px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.06em;
	line-height: 1.75;
	margin: 0;
}

.page-tuition-support .tsupport-scholarship__faq-arrow {
	position: absolute;
	right: clamp(16px, 1.94vw, 28px);
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
	transition: transform 0.25s ease;
	width: clamp(28px, 2.6vw, 38px);
	height: clamp(28px, 2.6vw, 38px);
	display: block;
	line-height: 0;
}

.page-tuition-support .tsupport-scholarship__faq-item.is-open .tsupport-scholarship__faq-arrow {
	transform: translateY(-50%) rotate(0deg);
}

.page-tuition-support .tsupport-scholarship__faq-arrow svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* ----- レスポンシブ：1024px以下（テーブル横スクロール） ----- */
@media (max-width: 1024px) {
	.page-tuition-support .tsupport-scholarship__table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.page-tuition-support .tsupport-scholarship__table {
		min-width: 880px;
	}
}

/* ----- レスポンシブ：SP（768px以下） ----- */
@media (max-width: 768px) {
	.page-tuition-support .tsupport-scholarship {
		padding: 40px 16px 56px;
	}

	.page-tuition-support .tsupport-scholarship__inner {
		padding: 56px 16px 32px;
		border-width: 2px;
		border-radius: 4px;
	}

	.page-tuition-support .tsupport-scholarship__hex {
		width: calc(100% - 32px);
		max-width: 296px;
		height: 60px;
	}

	.page-tuition-support .tsupport-scholarship__hex::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-scholarship__hex-text {
		font-size: 20px;
		letter-spacing: 0.08em;
	}

	.page-tuition-support .tsupport-scholarship__heading {
		font-size: 20px;
		margin-bottom: 16px;
	}

	.page-tuition-support .tsupport-scholarship__lead {
		margin-bottom: 32px;
	}

	.page-tuition-support .tsupport-scholarship__lead p {
		font-size: 14px;
		line-height: 1.7;
	}

	.page-tuition-support .tsupport-scholarship__table-wrap {
		border-width: 2px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.page-tuition-support .tsupport-scholarship__table {
		min-width: 1200px;
		table-layout: fixed;
	}

	.page-tuition-support .tsupport-scholarship__col-cat {
		width: 240px;
	}

	.page-tuition-support .tsupport-scholarship__col-cond {
		width: 480px;
	}

	.page-tuition-support .tsupport-scholarship__col-benefit {
		width: auto;
	}

	.page-tuition-support .tsupport-scholarship__col-quota {
		width: 140px;
	}

	.page-tuition-support .tsupport-scholarship__table th,
	.page-tuition-support .tsupport-scholarship__table td {
		font-size: 16px;
		line-height: 1.5;
	}

	/* table-cell では min-height が効かないことがあるため、上下パディングで 64px 相当を確保（16px×1.5 行＋20+20） */
	.page-tuition-support .tsupport-scholarship__table th {
		box-sizing: border-box;
		min-height: 64px;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.page-tuition-support .tsupport-scholarship__faq {
		margin-top: 48px;
		padding: 56px 16px 32px;
		border-width: 2px;
		border-radius: 7px;
	}

	.page-tuition-support .tsupport-scholarship__faq-hex {
		width: calc(100% - 32px);
		max-width: 266px;
		height: 60px;
	}

	.page-tuition-support .tsupport-scholarship__faq-hex::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-scholarship__faq-hex-text {
		font-size: 20px;
	}

	.page-tuition-support .tsupport-scholarship__faq-row {
		min-height: 0;
		padding: 16px;
		gap: 4px;
		border-width: 2px;
	}

	.page-tuition-support .tsupport-scholarship__faq-row--q {
		min-height: 76px;
		padding-right: 42px;
		align-items: center;
	}

	.page-tuition-support .tsupport-scholarship__faq-item.is-open .tsupport-scholarship__faq-row--q {
		border-bottom-width: 0;
		border-radius: 8px 8px 0 0;
	}

	.page-tuition-support .tsupport-scholarship__faq-item:not(.is-open) .tsupport-scholarship__faq-row--q {
		border-bottom-width: 2px;
		border-radius: 8px;
	}

	.page-tuition-support .tsupport-scholarship__faq-row--a {
		border-radius: 0 0 8px 8px;
	}

	.page-tuition-support .tsupport-scholarship__faq-label {
		font-size: 24px;
	}

	.page-tuition-support .tsupport-scholarship__faq-text {
		font-size: 16px;
		line-height: 1.5;
	}

	.page-tuition-support .tsupport-scholarship__faq-arrow {
		right: 12px;
		width: 20px;
		height: 20px;
	}
}

/* ===== サポート病院制度 セクション ===== */
.page-tuition-support .tsupport-hospital {
	--tsupport-hospital-card: #daf8ff;
	--tsupport-hospital-contact: #ffebef;
	position: relative;
	padding: clamp(48px, 5.56vw, 80px) clamp(16px, 2.78vw, 40px);
}

.page-tuition-support .tsupport-hospital__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(56px, 6.11vw, 88px) clamp(20px, 2.78vw, 40px) clamp(48px, 5vw, 72px);
	box-sizing: border-box;
}

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

@media screen and (min-width: 1492px) {
	.page-tuition-support .tsupport-hospital__hex {
		width: min(1020px, 92%);
	}
}

.page-tuition-support .tsupport-hospital__hex::before,
.page-tuition-support .tsupport-hospital__hex::after {
	content: '';
	position: absolute;
	clip-path: polygon(2.7% 2.8%, 97.3% 2.8%, 99.7% 50%, 97.3% 97.2%, 2.7% 97.2%, 0.3% 50%);
}

.page-tuition-support .tsupport-hospital__hex::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

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

.page-tuition-support .tsupport-hospital__hex-text {
	position: relative;
	z-index: 3;
	padding: 0 clamp(20px, 2.78vw, 40px);
	font-size: clamp(18px, 1.6vw, 28px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.05em;
	line-height: 1.3;
	text-align: center;
}

.page-tuition-support .tsupport-hospital__hex-br {
	display: none;
}

/* --- リード文 --- */
.page-tuition-support .tsupport-hospital__lead {
	font-size: clamp(16px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	text-align: center;
	margin: 0 0 clamp(8px, 0.83vw, 12px);
	line-height: 1.5;
}

.page-tuition-support .tsupport-hospital__title {
	font-size: clamp(22px, 2.22vw, 32px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	text-align: center;
	margin: 0 0 clamp(24px, 2.78vw, 40px);
	line-height: 1.4;
}

/* --- イラスト --- */
.page-tuition-support .tsupport-hospital__illust {
	width: 100%;
	max-width: min(760px, 100%);
	margin: 0 auto clamp(48px, 5.28vw, 76px);
}

.page-tuition-support .tsupport-hospital__illust img {
	display: block;
	width: 100%;
	height: auto;
}

/* --- 特徴セクション --- */
.page-tuition-support .tsupport-hospital__features-title {
	font-size: clamp(16px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	text-align: center;
	margin: 0 0 clamp(20px, 2.22vw, 32px);
	line-height: 1.5;
}

.page-tuition-support .tsupport-hospital__features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2.22vw, 32px);
	list-style: none;
	padding: 0;
	margin: 0 0 clamp(40px, 4.44vw, 64px);
}

.page-tuition-support .tsupport-hospital__feature-card {
	position: relative;
	background-color: var(--tsupport-hospital-card);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(10px, 1.11vw, 16px);
	padding: clamp(64px, 7.5vw, 108px) clamp(20px, 2.64vw, 38px) clamp(24px, 2.78vw, 40px);
	min-height: clamp(220px, 18vw, 259px);
	box-sizing: border-box;
}

.page-tuition-support .tsupport-hospital__feature-num {
	position: absolute;
	top: clamp(16px, 2.22vw, 32px);
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(46px, 4vw, 58px);
	height: clamp(48px, 4.17vw, 60px);
	border-radius: 9999px;
	background-color: var(--color-black);
	color: var(--color-white);
	font-family: 'DIN', var(--font-family-primary);
	font-size: clamp(22px, 2.22vw, 32px);
	font-weight: var(--font-weight-bold);
	line-height: 1;
	letter-spacing: 0.04em;
}

.page-tuition-support .tsupport-hospital__feature-title {
	font-size: clamp(20px, 2.22vw, 32px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	text-align: center;
	margin: 0 0 8px;
	line-height: 1.3;
}

.page-tuition-support .tsupport-hospital__feature-text {
	font-size: clamp(14px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 22px;
	margin: 0;
}

/* --- コンタクトセクション --- */
.page-tuition-support .tsupport-hospital__contact-title {
	font-size: clamp(16px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	text-align: center;
	margin: 0 0 clamp(28px, 3.26vw, 47px);
	line-height: 1.5;
}

.page-tuition-support .tsupport-hospital__contacts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 2.78vw, 40px);
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-tuition-support .tsupport-hospital__contact-card {
	position: relative;
	background-color: var(--tsupport-hospital-contact);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(10px, 1.11vw, 16px);
	padding: clamp(40px, 5.56vw, 52px) clamp(20px, 2.78vw, 40px) clamp(32px, 3.13vw, 40px);
	min-height: clamp(140px, 11vw, 158px);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
}

.page-tuition-support .tsupport-hospital__contact-tag {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(246px, 60%);
	height: clamp(40px, 3.54vw, 51px);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-tuition-support .tsupport-hospital__contact-tag::before,
.page-tuition-support .tsupport-hospital__contact-tag::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-tuition-support .tsupport-hospital__contact-tag::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-tuition-support .tsupport-hospital__contact-tag::after {
	inset: clamp(2px, 0.28vw, 4px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-tuition-support .tsupport-hospital__contact-tag-text {
	position: relative;
	z-index: 3;
	font-size: clamp(15px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.06em;
	line-height: 1;
}

.page-tuition-support .tsupport-hospital__contact-text {
	font-size: clamp(15px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	text-align: left;
	line-height: 1.5;
	margin: 0;
}

/* ----- レスポンシブ：1024px以下 ----- */
@media (max-width: 1024px) {
	.page-tuition-support .tsupport-hospital__features {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.page-tuition-support .tsupport-hospital__feature-card {
		min-height: 0;
	}

	.page-tuition-support .tsupport-hospital__contacts {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

/* ----- レスポンシブ：SP（768px以下） ----- */
@media (max-width: 768px) {
	.page-tuition-support .tsupport-hospital {
		padding: 40px 16px 56px;
	}

	.page-tuition-support .tsupport-hospital__inner {
		padding: 72px 16px 40px;
		border-width: 2px;
		border-radius: 7px;
	}

	.page-tuition-support .tsupport-hospital__hex {
		width: calc(100% - 32px);
		max-width: 296px;
		height: 96px;
	}

	/* 縦長ボックスでは既定の % 六角だと左右の尖りが鈍く見えるため、SP だけ頂点を立たせる */
	.page-tuition-support .tsupport-hospital__hex::before,
	.page-tuition-support .tsupport-hospital__hex::after {
		clip-path: polygon(6% 2.8%, 94% 2.8%, 99.4% 50%, 94% 97.2%, 6% 97.2%, 0.6% 50%);
	}

	.page-tuition-support .tsupport-hospital__hex::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-hospital__hex-text {
		font-size: 20px;
		padding: 0 20px;
		letter-spacing: -0.02em;
		line-height: 1.2;
	}

	.page-tuition-support .tsupport-hospital__hex-br {
		display: block;
	}

	.page-tuition-support .tsupport-hospital__lead {
		font-size: 20px;
		text-align: left;
		line-height: 1.4;
		margin-bottom: 16px;
	}

	.page-tuition-support .tsupport-hospital__title {
		font-size: 24px;
		text-align: left;
		line-height: 1.3;
		margin-bottom: 24px;
	}

	.page-tuition-support .tsupport-hospital__illust {
		margin-bottom: 32px;
	}

	.page-tuition-support .tsupport-hospital__features-title {
		font-size: 20px;
		text-align: left;
		line-height: 1.3;
		margin-bottom: 24px;
	}

	.page-tuition-support .tsupport-hospital__features {
		gap: 24px;
	}

	.page-tuition-support .tsupport-hospital__feature-card {
		padding: 80px 24px 24px;
		border-width: 3px;
		border-radius: 12px;
		min-height: 0;
	}

	.page-tuition-support .tsupport-hospital__feature-num {
		top: 24px;
		width: 45px;
		height: 47px;
		font-size: 25px;
	}

	.page-tuition-support .tsupport-hospital__feature-title {
		font-size: 25px;
		text-align: center;
		margin-bottom: 12px;
	}

	.page-tuition-support .tsupport-hospital__feature-text {
		font-size: 13px;
		line-height: 1.6;
	}

	.page-tuition-support .tsupport-hospital__contact-title {
		font-size: 20px;
		margin-bottom: 44px;
	}

	.page-tuition-support .tsupport-hospital__contacts {
		gap: 44px;
	}

	.page-tuition-support .tsupport-hospital__contact-card {
		padding: 48px 24px 24px;
		min-height: 0;
		border-width: 2px;
		border-radius: 16px;
		justify-content: flex-start;
	}

	.page-tuition-support .tsupport-hospital__contact-tag {
		width: min(206px, 70%);
		height: 51px;
	}

	.page-tuition-support .tsupport-hospital__contact-tag::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-hospital__contact-tag-text {
		font-size: 18px;
	}

	.page-tuition-support .tsupport-hospital__contact-text {
		font-size: 20px;
		text-align: left;
		line-height: 1.4;
	}
}

/* ===== サポート病院カード一覧セクション ===== */
.page-tuition-support .tsupport-hospitals {
	--tsupport-hospitals-card-bg: #fff4d0;
	position: relative;
	padding: clamp(48px, 5.56vw, 80px) clamp(16px, 2.78vw, 40px);
}

.page-tuition-support .tsupport-hospitals__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(56px, 6.11vw, 88px) clamp(20px, 2.78vw, 40px) clamp(40px, 4.44vw, 64px);
	box-sizing: border-box;
}

/* --- 中央ヘックスタイトル --- */
.page-tuition-support .tsupport-hospitals__hex {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(880px, 92%);
	height: clamp(54px, 4.93vw, 71px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-tuition-support .tsupport-hospitals__hex::before,
.page-tuition-support .tsupport-hospitals__hex::after {
	content: '';
	position: absolute;
	clip-path: polygon(2.7% 2.8%, 97.3% 2.8%, 99.7% 50%, 97.3% 97.2%, 2.7% 97.2%, 0.3% 50%);
}

.page-tuition-support .tsupport-hospitals__hex::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

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

.page-tuition-support .tsupport-hospitals__hex-text {
	position: relative;
	z-index: 3;
	padding: 0 clamp(20px, 2.78vw, 40px);
	font-size: clamp(14px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.05em;
	line-height: 1.3;
	text-align: center;
}

.page-tuition-support .tsupport-hospitals__hex-br {
	display: none;
}

/* --- リード文 --- */
.page-tuition-support .tsupport-hospitals__lead {
	font-size: clamp(16px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	text-align: center;
	margin: 0 0 clamp(28px, 3.13vw, 45px);
	line-height: 1.5;
}

/* --- カードグリッド --- */
.page-tuition-support .tsupport-hospitals__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 2.78vw, 40px);
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-tuition-support .tsupport-hospitals__card {
	position: relative;
	background-color: var(--tsupport-hospitals-card-bg);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: 14px;
	min-height: clamp(260px, 22.78vw, 328px);
	padding: clamp(64px, 6.94vw, 100px) clamp(16px, 2.43vw, 35px) clamp(24px, 2.78vw, 40px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* --- 左上タブ（病院名） --- */
.page-tuition-support .tsupport-hospitals__card-tab {
	position: absolute;
	top: 0;
	left: 0;
	max-width: calc(100% - clamp(12px, 1.39vw, 20px));
	background-color: var(--color-black);
	color: var(--color-white);
	font-size: clamp(13px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	letter-spacing: 0.04em;
	padding: clamp(6px, 0.83vw, 12px) clamp(12px, 1.39vw, 20px);
	border-top-left-radius: 8px;
	text-align: left;
}

/* --- 地域 --- */
.page-tuition-support .tsupport-hospitals__card-area {
	font-size: clamp(16px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.3;
	margin: 0 0 clamp(12px, 1.39vw, 20px);
}

/* --- 詳細（貸与額・免除） --- */
.page-tuition-support .tsupport-hospitals__card-detail {
	margin: 0 0 auto;
}

.page-tuition-support .tsupport-hospitals__card-detail p {
	font-size: clamp(13px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.6;
	margin: 0;
}

/* --- HP リンクピル --- */
.page-tuition-support .tsupport-hospitals__card-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: clamp(8px, 0.97vw, 14px);
	min-width: clamp(220px, 21.67vw, 312px);
	height: clamp(48px, 4.44vw, 64px);
	margin-top: clamp(16px, 1.67vw, 24px);
	padding: 0 clamp(20px, 2.22vw, 32px);
	background-color: var(--color-white);
	border: clamp(2px, 0.21vw, 3px) solid var(--color-black);
	border-radius: 9999px;
	color: var(--color-black);
	font-size: clamp(14px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	letter-spacing: -0.04em;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

/* 矢印アイコン（非ホバー：黒い円・白い矢印） */
.page-tuition-support .tsupport-hospitals__card-link .tsupport-hospitals__card-link-icon svg circle {
	fill: var(--color-black);
	stroke: var(--color-black);
}

.page-tuition-support .tsupport-hospitals__card-link .tsupport-hospitals__card-link-icon svg path {
	stroke: var(--color-white);
}

.page-tuition-support .tsupport-hospitals__card-link:hover {
	background-color: var(--color-black);
	color: var(--color-white);
}

.page-tuition-support .tsupport-hospitals__card-link:hover .tsupport-hospitals__card-link-icon svg circle {
	fill: var(--color-white);
	stroke: var(--color-black);
}

.page-tuition-support .tsupport-hospitals__card-link:hover .tsupport-hospitals__card-link-icon svg path {
	stroke: var(--color-black);
}

.page-tuition-support .tsupport-hospitals__card-link-text {
	display: inline-block;
}

.page-tuition-support .tsupport-hospitals__card-link-icon {
	display: inline-flex;
	width: clamp(20px, 1.81vw, 26px);
	height: clamp(20px, 1.81vw, 26px);
	flex-shrink: 0;
}

.page-tuition-support .tsupport-hospitals__card-link-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.page-tuition-support .tsupport-hospitals__card-link-icon svg circle,
.page-tuition-support .tsupport-hospitals__card-link-icon svg path {
	transition: fill 0.2s ease, stroke 0.2s ease;
}

/* ----- レスポンシブ：900px以下（カードを1列） ----- */
@media (max-width: 900px) {
	.page-tuition-support .tsupport-hospitals__grid {
		grid-template-columns: 1fr;
	}

	.page-tuition-support .tsupport-hospitals__card {
		min-height: 0;
	}
}

/* ----- レスポンシブ：SP（768px以下） ----- */
@media (max-width: 768px) {
	.page-tuition-support .tsupport-hospitals {
		padding: 56px 16px 64px;
	}

	.page-tuition-support .tsupport-hospitals__inner {
		padding: 56px 16px 40px;
		border-width: 2px;
	}

	.page-tuition-support .tsupport-hospitals__hex {
		width: min(320px, 92%);
		height: auto;
		min-height: 48px;
	}

	/* 縦長・可変高のボックスでは既定の % 六角だと左右の尖りが鈍く見えるため、SP だけ頂点を立たせる */
	.page-tuition-support .tsupport-hospitals__hex::before,
	.page-tuition-support .tsupport-hospitals__hex::after {
		clip-path: polygon(6% 2.8%, 94% 2.8%, 99.4% 50%, 94% 97.2%, 6% 97.2%, 0.6% 50%);
	}

	.page-tuition-support .tsupport-hospitals__hex::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-hospitals__hex-text {
		font-size: 20px;
		padding: 8px 16px;
		letter-spacing: -0.02em;
		line-height: 24px;
	}

	.page-tuition-support .tsupport-hospitals__hex-br {
		display: block;
	}

	.page-tuition-support .tsupport-hospitals__lead {
		font-size: 14px;
		margin-bottom: 24px;
	}

	.page-tuition-support .tsupport-hospitals__grid {
		gap: 20px;
	}

	.page-tuition-support .tsupport-hospitals__card {
		padding: 56px 16px 24px;
		border-width: 2px;
	}

	.page-tuition-support .tsupport-hospitals__card-tab {
		font-size: 12px;
		padding: 6px 10px;
	}

	.page-tuition-support .tsupport-hospitals__card-area {
		font-size: 16px;
		margin-bottom: 12px;
	}

	.page-tuition-support .tsupport-hospitals__card-detail p {
		font-size: 13px;
	}

	.page-tuition-support .tsupport-hospitals__card-link {
		min-width: 0;
		width: 100%;
		max-width: 260px;
		height: 48px;
		font-size: 14px;
		padding: 0 20px;
		margin-top: 16px;
		border-width: 2px;
	}

	.page-tuition-support .tsupport-hospitals__card-link-icon {
		width: 20px;
		height: 20px;
	}
}

/* ===== よくあるご質問（全体FAQ）セクション ===== */
.page-tuition-support .tsupport-qa {
	--tsupport-qa-bg: #daf8ff;
	--tsupport-qa-pink: #f62190;
	--tsupport-qa-blue: #009dff;
	position: relative;
	padding: clamp(48px, 5.56vw, 80px) clamp(16px, 2.78vw, 40px);
}

.page-tuition-support .tsupport-qa__inner {
	position: relative;
	max-width: min(1280px, 100%);
	margin: 0 auto;
	background-color: var(--tsupport-qa-bg);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(5px, 0.49vw, 7px);
	padding: clamp(56px, 6.46vw, 93px) clamp(16px, 2.78vw, 40px) clamp(40px, 4.44vw, 64px);
	box-sizing: border-box;
}

/* --- ヘックスタイトル --- */
.page-tuition-support .tsupport-qa__hex {
	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-tuition-support .tsupport-qa__hex::before,
.page-tuition-support .tsupport-qa__hex::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-tuition-support .tsupport-qa__hex::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

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

.page-tuition-support .tsupport-qa__hex-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.1em;
	line-height: 1;
	white-space: nowrap;
}

/* --- リスト --- */
.page-tuition-support .tsupport-qa__list {
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 1.67vw, 24px);
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-tuition-support .tsupport-qa__item {
	display: flex;
	flex-direction: column;
}

.page-tuition-support .tsupport-qa__row {
	position: relative;
	display: flex;
	align-items: center;
	gap: clamp(8px, 1.11vw, 16px);
	min-height: clamp(80px, 8.26vw, 119px);
	background-color: var(--color-white);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	padding: clamp(16px, 1.67vw, 24px) clamp(20px, 2.57vw, 37px);
}

.page-tuition-support .tsupport-qa__row--q {
	padding-right: clamp(56px, 5.56vw, 80px);
}

.page-tuition-support .tsupport-qa__item.is-open .tsupport-qa__row--q {
	border-radius: clamp(6px, 0.7vw, 10px) clamp(6px, 0.7vw, 10px) 0 0;
	border-bottom-width: 0;
}

.page-tuition-support .tsupport-qa__item:not(.is-open) .tsupport-qa__row--q {
	border-radius: clamp(6px, 0.7vw, 10px);
	border-bottom-width: clamp(2px, 0.28vw, 4px);
}

/* Q 行を button にしたときのリセット（見た目は .tsupport-qa__row に任せる） */
.page-tuition-support .tsupport-qa__trigger {
	appearance: none;
	width: 100%;
	margin: 0;
	font: inherit;
	color: inherit;
	text-align: left;
	cursor: pointer;
}

.page-tuition-support .tsupport-qa__trigger:focus-visible {
	outline: 2px solid var(--tsupport-qa-blue, #009dff);
	outline-offset: 2px;
}

.page-tuition-support .tsupport-qa__panel {
	margin: 0;
	padding: 0;
}

.page-tuition-support .tsupport-qa__row--a {
	border-radius: 0 0 clamp(6px, 0.7vw, 10px) clamp(6px, 0.7vw, 10px);
}

.page-tuition-support .tsupport-qa__label {
	flex-shrink: 0;
	font-family: var(--font-family-primary);
	font-size: clamp(24px, 2.22vw, 32px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.06em;
	line-height: 1;
}

.page-tuition-support .tsupport-qa__label--q {
	color: var(--tsupport-qa-pink);
}

.page-tuition-support .tsupport-qa__label--a {
	color: var(--tsupport-qa-blue);
}

.page-tuition-support .tsupport-qa__text {
	flex: 1 1 auto;
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.06em;
	line-height: 1.75;
	margin: 0;
}

/* 質問文（タイトル） */
.page-tuition-support .tsupport-qa__trigger .tsupport-qa__text {
	font-size: clamp(18px, 2.11vw, 20px);
}

/* 回答本文 */
.page-tuition-support .tsupport-qa__row--a .tsupport-qa__text {
	font-size: clamp(16px, 2.11vw, 18px);
}

.page-tuition-support .tsupport-qa__arrow {
	position: absolute;
	right: clamp(16px, 1.94vw, 28px);
	top: 50%;
	/* SVG がデフォルトで上向きに見えるため、閉じ＝下・開き＝上になるよう 180deg / 0deg にする */
	transform: translateY(-50%) rotate(180deg);
	transition: transform 0.25s ease;
	width: clamp(28px, 2.69vw, 38px);
	height: clamp(28px, 2.69vw, 38px);
	display: block;
	line-height: 0;
}

.page-tuition-support .tsupport-qa__item.is-open .tsupport-qa__arrow {
	transform: translateY(-50%) rotate(0deg);
}

.page-tuition-support .tsupport-qa__arrow svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* ----- レスポンシブ：SP（768px以下） ----- */
@media (max-width: 768px) {
	.page-tuition-support .tsupport-qa {
		padding: 40px 16px 56px;
	}

	.page-tuition-support .tsupport-qa__inner {
		padding: 56px 24px 32px;
		border-width: 2px;
		border-radius: 7px;
	}

	.page-tuition-support .tsupport-qa__hex {
		width: calc(100% - 32px);
		max-width: 296px;
		height: 60px;
	}

	.page-tuition-support .tsupport-qa__hex::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-qa__hex-text {
		font-size: 20px;
		letter-spacing: 0.08em;
	}

	.page-tuition-support .tsupport-qa__list {
		gap: 24px;
	}

	.page-tuition-support .tsupport-qa__row {
		min-height: 0;
		padding: 16px;
		gap: 4px;
		border-width: 2px;
		align-items: flex-start;
	}

	.page-tuition-support .tsupport-qa__row--q {
		min-height: 76px;
		padding-right: 42px;
		align-items: center;
	}

	.page-tuition-support .tsupport-qa__item.is-open .tsupport-qa__row--q {
		border-bottom-width: 0;
		border-radius: 8px 8px 0 0;
	}

	.page-tuition-support .tsupport-qa__item:not(.is-open) .tsupport-qa__row--q {
		border-bottom-width: 2px;
		border-radius: 8px;
	}

	.page-tuition-support .tsupport-qa__row--a {
		border-radius: 0 0 8px 8px;
	}

	.page-tuition-support .tsupport-qa__label {
		font-size: 24px;
	}

	.page-tuition-support .tsupport-qa__trigger .tsupport-qa__text {
		font-size: 16px;
		line-height: 1.5;
	}

	.page-tuition-support .tsupport-qa__row--a .tsupport-qa__text {
		font-size: 18px;
		line-height: 1.5;
	}

	.page-tuition-support .tsupport-qa__arrow {
		right: 12px;
		width: 20px;
		height: 20px;
	}
}

/* ===== 奨学金（日本学生支援機構）セクション ===== */
.page-tuition-support .tsupport-jasso {
	--tsupport-jasso-card: #ecffda;
	position: relative;
	padding: clamp(48px, 5.56vw, 80px) clamp(16px, 2.78vw, 40px);
}

.page-tuition-support .tsupport-jasso__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(80px, 6.46vw, 100px) clamp(32px, 2.78vw, 40px) clamp(32px, 4.44vw, 40px);
	box-sizing: border-box;
}

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

.page-tuition-support .tsupport-jasso__hex::before,
.page-tuition-support .tsupport-jasso__hex::after {
	content: '';
	position: absolute;
	clip-path: polygon(6% 2.8%, 94% 2.8%, 99.4% 50%, 94% 97.2%, 6% 97.2%, 0.6% 50%);
}

.page-tuition-support .tsupport-jasso__hex::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

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

.page-tuition-support .tsupport-jasso__hex-text {
	position: relative;
	z-index: 3;
	padding: 0 clamp(16px, 2.22vw, 32px);
	font-size: clamp(18px, 1.94vw, 28px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.08em;
	line-height: 1;
	white-space: nowrap;
}

/* --- 緑カード（内側） --- */
.page-tuition-support .tsupport-jasso__card {
	position: relative;
	background-color: var(--tsupport-jasso-card);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(6px, 0.7vw, 10px);
	padding: clamp(40px, 5.83vw, 48px) clamp(32px, 2.78vw, 40px) clamp(32px, 3.47vw, 40px);
}

/* --- サブヘックスタイトル「制度の概要」 --- */
.page-tuition-support .tsupport-jasso__sub-hex {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(254px, 70%);
	height: clamp(40px, 3.54vw, 51px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-tuition-support .tsupport-jasso__sub-hex::before,
.page-tuition-support .tsupport-jasso__sub-hex::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-tuition-support .tsupport-jasso__sub-hex::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-tuition-support .tsupport-jasso__sub-hex::after {
	inset: clamp(2px, 0.28vw, 4px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-tuition-support .tsupport-jasso__sub-hex-text {
	position: relative;
	z-index: 3;
	font-size: clamp(15px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.06em;
	line-height: 1;
	white-space: nowrap;
}

/* --- 本文 --- */
.page-tuition-support .tsupport-jasso__body {
	margin: 0 0 clamp(20px, 2.22vw, 32px);
}

.page-tuition-support .tsupport-jasso__body p {
	font-size: clamp(14px, 1.25vw, 18px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.7;
	margin: 0;
}

/* --- 参考資料 --- */
.page-tuition-support .tsupport-jasso__refs-title {
	font-size: clamp(14px, 1.25vw, 18px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.7;
	margin: 0 0 clamp(12px, 1.39vw, 16px);
}

.page-tuition-support .tsupport-jasso__refs {
	display: grid;
	grid-template-columns: max-content max-content;
	gap: clamp(64px, 2.78vw, 112px);
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-tuition-support .tsupport-jasso__ref {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.page-tuition-support .tsupport-jasso__ref-title p {
	font-size: clamp(13px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.5;
	letter-spacing: 0.06em;
	margin: 0;
}

/* --- くわしく見るピル --- */
.page-tuition-support .tsupport-jasso__ref-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: clamp(8px, 0.97vw, 14px);
	width: clamp(200px, 16.67vw, 240px);
	height: clamp(44px, 3.33vw, 48px);
	padding: 0 clamp(16px, 2.22vw, 32px);
	background-color: var(--color-white);
	border: clamp(2px, 0.21vw, 3px) solid var(--color-black);
	border-radius: 9999px;
	color: var(--color-black);
	font-size: clamp(14px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.06em;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.page-tuition-support .tsupport-jasso__ref-link:hover {
	background-color: var(--color-black);
	color: var(--color-white);
}

.page-tuition-support .tsupport-jasso__ref-link:hover .tsupport-jasso__ref-link-icon svg circle {
	fill: var(--color-white);
}

.page-tuition-support .tsupport-jasso__ref-link:hover .tsupport-jasso__ref-link-icon svg path {
	stroke: var(--color-black);
}

.page-tuition-support .tsupport-jasso__ref-link-text {
	display: inline-block;
}

.page-tuition-support .tsupport-jasso__ref-link-icon {
	display: inline-flex;
	width: clamp(16px, 1.39vw, 20px);
	height: clamp(16px, 1.39vw, 20px);
	flex-shrink: 0;
}

.page-tuition-support .tsupport-jasso__ref-link-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* ----- レスポンシブ：SP（768px以下） ----- */
@media (max-width: 768px) {
	.page-tuition-support .tsupport-jasso {
		padding: 40px 16px 56px;
	}

	.page-tuition-support .tsupport-jasso__inner {
		padding: 74px 16px 32px;
		border-width: 2px;
		border-radius: 8px;
	}

	.page-tuition-support .tsupport-jasso__hex {
		width: calc(100% - 32px);
		max-width: 296px;
		height: 60px;
	}

	.page-tuition-support .tsupport-jasso__hex::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-jasso__hex-text {
		font-size: 20px;
		padding: 0 16px;
		letter-spacing: 0.04em;
	}

	.page-tuition-support .tsupport-jasso__card {
		padding: 56px 24px 32px;
		border-width: 2px;
		border-radius: 8px;
	}

	.page-tuition-support .tsupport-jasso__sub-hex {
		width: min(206px, 80%);
		height: 52px;
	}

	.page-tuition-support .tsupport-jasso__sub-hex::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-jasso__sub-hex-text {
		font-size: 18px;
	}

	.page-tuition-support .tsupport-jasso__body p {
		font-size: 16px;
		line-height: 1.6;
	}

	.page-tuition-support .tsupport-jasso__refs-title {
		font-size: 16px;
	}

	.page-tuition-support .tsupport-jasso__refs {
		gap: 16px;
		grid-template-columns:1fr;
	}

	.page-tuition-support .tsupport-jasso__ref {
		gap: 12px;
	}

	.page-tuition-support .tsupport-jasso__ref-title p {
		font-size: 16px;
		line-height: 1.5;
		display: inline;
	}

	.page-tuition-support .tsupport-jasso__ref-link {
		width: 100%;
		max-width: 247px;
		height: 48px;
		font-size: 14px;
		border-width: 2px;
	}

	.page-tuition-support .tsupport-jasso__ref-link-icon {
		width: 20px;
		height: 20px;
	}
}

/* ===== 高等教育の修学支援新制度 セクション ===== */
.page-tuition-support .tsupport-shien {
	--tsupport-shien-card: #ecffda;
	position: relative;
	padding: clamp(48px, 5.56vw, 80px) clamp(16px, 2.78vw, 40px);
}

.page-tuition-support .tsupport-shien__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(56px, 6.46vw, 93px) clamp(16px, 2.78vw, 40px) clamp(40px, 4.44vw, 64px);
	box-sizing: border-box;
}

/* --- 中央ヘックスタイトル（外側・幅広） --- */
.page-tuition-support .tsupport-shien__hex {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(920px, 94%);
	height: clamp(54px, 4.93vw, 71px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-tuition-support .tsupport-shien__hex::before,
.page-tuition-support .tsupport-shien__hex::after {
	content: '';
	position: absolute;
	clip-path: polygon(2.7% 2.8%, 97.3% 2.8%, 99.7% 50%, 97.3% 97.2%, 2.7% 97.2%, 0.3% 50%);
}

.page-tuition-support .tsupport-shien__hex::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

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

.page-tuition-support .tsupport-shien__hex-text {
	position: relative;
	z-index: 3;
	padding: 0 clamp(20px, 2.78vw, 40px);
	font-size: clamp(20px, 1.39vw, 28px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.05em;
	line-height: 1.3;
	text-align: center;
}

.page-tuition-support .tsupport-shien__hex-br {
	display: none;
}

/* --- 導入文（カード外） --- */
.page-tuition-support .tsupport-shien__intro {
	font-size: clamp(14px, 1.25vw, 18px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.7;
	margin: 0 0 clamp(24px, 2.78vw, 40px);
}

/* --- 緑カード --- */
.page-tuition-support .tsupport-shien__card {
	position: relative;
	background-color: var(--tsupport-shien-card);
	border: clamp(2px, 0.28vw, 4px) solid var(--color-black);
	border-radius: clamp(6px, 0.7vw, 10px);
	padding: clamp(56px, 5.83vw, 84px) clamp(20px, 2.78vw, 40px) clamp(32px, 3.47vw, 50px);
}

/* --- サブヘックス「制度の概要」 --- */
.page-tuition-support .tsupport-shien__sub-hex {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(254px, 70%);
	height: clamp(40px, 3.54vw, 51px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-tuition-support .tsupport-shien__sub-hex::before,
.page-tuition-support .tsupport-shien__sub-hex::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-tuition-support .tsupport-shien__sub-hex::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-tuition-support .tsupport-shien__sub-hex::after {
	inset: clamp(2px, 0.28vw, 4px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-tuition-support .tsupport-shien__sub-hex-text {
	position: relative;
	z-index: 3;
	font-size: clamp(15px, 1.39vw, 20px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.06em;
	line-height: 1;
	white-space: nowrap;
}

/* --- 本文 --- */
.page-tuition-support .tsupport-shien__body {
	margin: 0 0 clamp(20px, 2.22vw, 32px);
}

.page-tuition-support .tsupport-shien__body p {
	font-size: clamp(14px, 1.25vw, 18px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.7;
	margin: 0 0 clamp(8px, 1.11vw, 16px);
}

.page-tuition-support .tsupport-shien__body p:last-child {
	margin-bottom: 0;
}

/* --- 参考資料見出し --- */
.page-tuition-support .tsupport-shien__refs-title {
	font-size: clamp(14px, 1.25vw, 18px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.7;
	margin: clamp(24px, 2.78vw, 40px) 0 clamp(12px, 1.39vw, 20px);
}

/* --- リンクリスト共通 --- */
.page-tuition-support .tsupport-shien__links {
	display: grid;
	gap: clamp(20px, 2.43vw, 35px) clamp(64px, 2.43vw, 112px);
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-tuition-support .tsupport-shien__links--3col {
	grid-template-columns: repeat(3, max-content);
}

.page-tuition-support .tsupport-shien__links--2col {
	grid-template-columns: repeat(2, max-content);
}

.page-tuition-support .tsupport-shien__link-item {
	display: flex;
	flex-direction: column;
	gap: clamp(10px, 1.11vw, 16px);
}

.page-tuition-support .tsupport-shien__link-title p {
	font-size: clamp(13px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.5;
	letter-spacing: 0.06em;
	margin: 0;
}

/* --- くわしく見るピル --- */
.page-tuition-support .tsupport-shien__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: clamp(8px, 0.97vw, 14px);
	width: clamp(200px, 16.67vw, 240px);
	height: clamp(44px, 3.33vw, 48px);
	padding: 0 clamp(16px, 2.22vw, 32px);
	background-color: var(--color-white);
	border: clamp(2px, 0.21vw, 3px) solid var(--color-black);
	border-radius: 9999px;
	color: var(--color-black);
	font-size: clamp(14px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.06em;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.page-tuition-support .tsupport-shien__link:hover {
	background-color: var(--color-black);
	color: var(--color-white);
}

.page-tuition-support .tsupport-shien__link:hover .tsupport-shien__link-icon svg circle {
	fill: var(--color-white);
}

.page-tuition-support .tsupport-shien__link:hover .tsupport-shien__link-icon svg path {
	stroke: var(--color-black);
}

.page-tuition-support .tsupport-shien__link-text {
	display: inline-block;
}

.page-tuition-support .tsupport-shien__link-icon {
	display: inline-flex;
	width: clamp(16px, 1.39vw, 20px);
	height: clamp(16px, 1.39vw, 20px);
	flex-shrink: 0;
}

.page-tuition-support .tsupport-shien__link-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* --- 対象者 --- */
.page-tuition-support .tsupport-shien__target-title {
	font-size: clamp(18px, 1.67vw, 24px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.3;
	margin: clamp(28px, 3.13vw, 45px) 0 clamp(12px, 1.11vw, 16px);
}

.page-tuition-support .tsupport-shien__target-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-tuition-support .tsupport-shien__target-list li {
	position: relative;
	font-size: clamp(14px, 1.25vw, 18px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.7;
	padding-left: 1.2em;
}

.page-tuition-support .tsupport-shien__target-list li::before {
	content: "・";
	position: absolute;
	left: 0;
}

/* ----- レスポンシブ：1024px以下 ----- */
@media (max-width: 1024px) {
	.page-tuition-support .tsupport-shien__links--3col {
		grid-template-columns: repeat(2, max-content);
	}
}

/* ----- レスポンシブ：SP（768px以下） ----- */
@media (max-width: 768px) {
	.page-tuition-support .tsupport-shien {
		padding: 40px 16px 56px;
	}

	.page-tuition-support .tsupport-shien__inner {
		padding: 72px 16px 32px;
		border-width: 2px;
		border-radius: 8px;
	}

	.page-tuition-support .tsupport-shien__hex {
		width: calc(100% - 32px);
		max-width: 296px;
		height: 96px;
	}

	/* 縦長ボックスでは既定の % 六角だと左右の尖りが鈍く見えるため、SP だけ頂点を立たせる */
	.page-tuition-support .tsupport-shien__hex::before,
	.page-tuition-support .tsupport-shien__hex::after {
		clip-path: polygon(6% 2.8%, 94% 2.8%, 99.4% 50%, 94% 97.2%, 6% 97.2%, 0.6% 50%);
	}

	.page-tuition-support .tsupport-shien__hex::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-shien__hex-text {
		font-size: 20px;
		padding: 0 16px;
		letter-spacing: -0.02em;
		line-height: 1.2;
	}

	.page-tuition-support .tsupport-shien__hex-br {
		display: block;
	}

	.page-tuition-support .tsupport-shien__intro {
		font-size: 18px;
		line-height: 1.4;
		letter-spacing: -0.04em;
		margin-bottom: 48px;
	}

	.page-tuition-support .tsupport-shien__card {
		padding: 56px 24px 32px;
		border-width: 2px;
		border-radius: 8px;
	}

	.page-tuition-support .tsupport-shien__sub-hex {
		width: min(206px, 80%);
		height: 52px;
	}

	.page-tuition-support .tsupport-shien__sub-hex::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-shien__sub-hex-text {
		font-size: 18px;
	}

	.page-tuition-support .tsupport-shien__body p {
		font-size: 16px;
		line-height: 1.6;
	}

	.page-tuition-support .tsupport-shien__refs-title {
		font-size: 16px;
	}

	.page-tuition-support .tsupport-shien__links {
		gap: 24px;
	}

	.page-tuition-support .tsupport-shien__links--3col,
	.page-tuition-support .tsupport-shien__links--2col {
		grid-template-columns: 1fr;
	}

	.page-tuition-support .tsupport-shien__link-item {
		gap: 12px;
	}

	.page-tuition-support .tsupport-shien__link-title p {
		font-size: 16px;
		line-height: 1.5;
	}

	/* 参照リンク見出し（2行の <p>）を SP では改行なしの1行に */
	.page-tuition-support .tsupport-shien__link-item .tsupport-shien__link-title p {
		display: inline;
	}

	.page-tuition-support .tsupport-shien__link {
		width: 100%;
		max-width: 247px;
		height: 48px;
		font-size: 14px;
		border-width: 2px;
	}

	.page-tuition-support .tsupport-shien__link-icon {
		width: 20px;
		height: 20px;
	}

	.page-tuition-support .tsupport-shien__target-title {
		font-size: 20px;
		margin-top: 32px;
	}

	.page-tuition-support .tsupport-shien__target-list li {
		font-size: 16px;
		line-height: 1.6;
	}
}

/* ===== 理学療法学科における支援金額 セクション ===== */
.page-tuition-support .tsupport-pt-amount {
	--tsupport-pt-amount-yellow: #ffd02f;
	position: relative;
	padding: clamp(48px, 5.56vw, 80px) clamp(16px, 2.78vw, 40px);
}

.page-tuition-support .tsupport-pt-amount__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(56px, 6.46vw, 93px) clamp(20px, 2.78vw, 40px) clamp(32px, 3.47vw, 50px);
	box-sizing: border-box;
}

/* --- 中央ヘックスタイトル --- */
.page-tuition-support .tsupport-pt-amount__hex {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(520px, 86%);
	height: clamp(54px, 4.93vw, 71px);
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.page-tuition-support .tsupport-pt-amount__hex::before,
.page-tuition-support .tsupport-pt-amount__hex::after {
	content: '';
	position: absolute;
	clip-path: polygon(6% 2.8%, 94% 2.8%, 99.4% 50%, 94% 97.2%, 6% 97.2%, 0.6% 50%);
}

.page-tuition-support .tsupport-pt-amount__hex::before {
	inset: 0;
	background-color: var(--color-black);
	z-index: 1;
}

.page-tuition-support .tsupport-pt-amount__hex::after {
	inset: clamp(2px, 0.28vw, 4px);
	background-color: var(--color-white);
	z-index: 2;
}

.page-tuition-support .tsupport-pt-amount__hex-text {
	position: relative;
	z-index: 3;
	padding: 0 clamp(16px, 2.22vw, 32px);
	font-size: clamp(18px, 1.94vw, 28px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	letter-spacing: 0.08em;
	line-height: 1;
	white-space: nowrap;
}

.page-tuition-support .tsupport-pt-amount__hex-br {
	display: none;
}

/* --- テーブル外枠 --- */
.page-tuition-support .tsupport-pt-amount__table-wrap {
	border: 4px solid var(--color-black);
	overflow: hidden;
	box-sizing: border-box;
}

.page-tuition-support .tsupport-pt-amount__table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	margin: 0;
}

.page-tuition-support .tsupport-pt-amount__table th {
	padding: 16px;
	border-right: 1px solid var(--color-black);
	border-bottom: 1px solid var(--color-black);
	font-size: 16px;
	font-weight: var(--font-weight-normal);
	color: var(--color-black);
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	background-color: var(--color-white);
	box-sizing: border-box;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.page-tuition-support .tsupport-pt-amount__table td{
	padding: 6px 16px;
	border-right: 1px solid var(--color-black);
	border-bottom: 1px solid var(--color-black);
	font-size: 16px;
	font-weight: var(--font-weight-normal);
	color: var(--color-black);
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	background-color: var(--color-white);
	box-sizing: border-box;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.page-tuition-support .tsupport-pt-amount__table td{
	text-align: right;
}

.page-tuition-support .tsupport-pt-amount__table thead tr:first-child th:last-child,
.page-tuition-support .tsupport-pt-amount__table tbody td:last-child {
	border-right: none;
}

.page-tuition-support .tsupport-pt-amount__table tbody tr:last-child th,
.page-tuition-support .tsupport-pt-amount__table tbody tr:last-child td {
	border-bottom: none;
}

.page-tuition-support .tsupport-pt-amount__table thead th {
	background-color: var(--tsupport-pt-amount-yellow);
	font-weight: var(--font-weight-bold);
}

.page-tuition-support .tsupport-pt-amount__table tbody tr {
	height: 90px;
}

.page-tuition-support .tsupport-pt-amount__table tbody th {
	font-weight: var(--font-weight-normal);
	text-align: left;
	padding-left: 22px;
	padding-right: 22px;
}

.page-tuition-support .tsupport-pt-amount__cell--num {
	text-align: right;
	padding-left: 8px;
	padding-right: 8px;
}

/* --- カラム幅（Figma: 区分180 / 入学金255 / 授業料295 / 給付型235×2 = 1200px） --- */
.page-tuition-support .tsupport-pt-amount__col-cat {
	width: 15%; /* 180/1200 */
}

.page-tuition-support .tsupport-pt-amount__table thead tr:first-child th:nth-child(2) {
	width: 21.25%; /* 255/1200 */
}

.page-tuition-support .tsupport-pt-amount__table thead tr:first-child th:nth-child(3) {
	width: 24.58%; /* 295/1200 */
}

.page-tuition-support .tsupport-pt-amount__table thead tr:first-child th:nth-child(4),
.page-tuition-support .tsupport-pt-amount__table thead tr:first-child th:nth-child(5) {
	width: 19.58%; /* 235/1200 */
}

/* --- 注釈 --- */
.page-tuition-support .tsupport-pt-amount__notes {
	margin: clamp(16px, 2.08vw, 30px) 0 0;
}

.page-tuition-support .tsupport-pt-amount__notes p {
	font-size: clamp(13px, 1.11vw, 16px);
	font-weight: var(--font-weight-bold);
	color: var(--color-black);
	line-height: 1.7;
	margin: 0;
}

/* ----- レスポンシブ：1024px以下（テーブル横スクロール） ----- */
@media (max-width: 1024px) {
	.page-tuition-support .tsupport-pt-amount__table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.page-tuition-support .tsupport-pt-amount__table {
		min-width: 1200px;
	}
}

/* ----- レスポンシブ：SP（768px以下） ----- */
@media (max-width: 768px) {
	.page-tuition-support .tsupport-pt-amount {
		padding: 40px 16px 56px;
	}

	.page-tuition-support .tsupport-pt-amount__inner {
		padding: 56px 16px 32px;
		border-width: 2px;
		border-radius: 4px;
	}

	.page-tuition-support .tsupport-pt-amount__hex {
		width: calc(100% - 32px);
		max-width: 296px;
		height: 76px;
	}

	.page-tuition-support .tsupport-pt-amount__hex::after {
		inset: 2px;
	}

	.page-tuition-support .tsupport-pt-amount__hex-text {
		font-size: 20px;
		padding: 0 16px;
		letter-spacing: -0.02em;
		line-height: 1.4;
		white-space: normal;
		text-align: center;
	}

	.page-tuition-support .tsupport-pt-amount__hex-br {
		display: block;
	}

	.page-tuition-support .tsupport-pt-amount__table-wrap {
		border-width: 2px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.page-tuition-support .tsupport-pt-amount__table {
		min-width: 1200px;
	}

	.page-tuition-support .tsupport-pt-amount__table th,
	.page-tuition-support .tsupport-pt-amount__table td {
		padding: 8px 12px;
		font-size: 16px;
		line-height: 1.5;
	}

	.page-tuition-support .tsupport-pt-amount__notes {
		margin-top: 24px;
	}

	.page-tuition-support .tsupport-pt-amount__notes p {
		font-size: 14px;
		line-height: 1.6;
	}
}
