/* ============================================
   基本設定
============================================ */

.fs-about-page,
.fs-about-page *,
.fs-about-page *::before,
.fs-about-page *::after {
	box-sizing: border-box;
}

.fs-about-page {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}


/* ============================================
   SWELL 上部余白削除
============================================ */

#content.l-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}


/* ============================================
   パンくず
============================================ */

.fs-about-breadcrumb {
	position: relative;
	z-index: 20;

	width: 100vw;

	margin: -27px 0 0;
	margin-left: calc(50% - 50vw);

	padding: 0;
}

.fs-about-breadcrumb__inner {
	display: flex;
	align-items: center;

	width: fit-content;

	height: 54px;
	min-height: 54px;

	margin: 0;
	padding: 0 50px;

	background-color: #ff1200;

	color: #ffffff;

	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;

	white-space: nowrap;
}

.fs-about-breadcrumb__link {
	color: #ffffff;
	text-decoration: none;
}

.fs-about-breadcrumb__link:hover,
.fs-about-breadcrumb__link:focus-visible {
	color: #ffffff;
	opacity: 0.8;
	text-decoration: none;
}

.fs-about-breadcrumb__separator {
	margin: 0 8px;
	color: #ffffff;
}

.fs-about-breadcrumb__current {
	color: #ffffff;
}


/* ============================================
   ABOUT CONTENT
============================================ */

.fs-about-content {
	width: 100%;
	margin: 0;
	padding: 0;
}


/* ============================================
   SP専用改行
============================================ */

.fs-sp-break {
	display: none;
}


/* ============================================
   CONCEPT
============================================ */

.fs-about-concept {
	width: 100%;

	margin: 0;
	padding:
		88px
		20px
		94px;

	background-color: #ffffff;
}

.fs-about-concept__inner {
	width: 100%;
	max-width: 1140px;

	margin: 0 auto;
	padding: 0 20px;
}

.fs-about-concept__header {
	text-align: center;
}

.fs-about-concept__en {
	margin: 0 0 15px;
	padding: 0;

	color: #ff1200;

	font-family: "Bebas Neue", sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.20em;
}

.fs-about-concept__title {
	margin: 0;
	padding: 0;

	color: #222222;

	font-size: 38px;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.07em;

	text-align: center;
	white-space: nowrap;
}

.fs-about-concept__line {
	display: block;

	width: 34px;
	height: 2px;

	margin: 28px auto 0;

	background-color: #ff1200;
}

.fs-about-concept__text {
	width: 100%;
	max-width: 1060px;

	margin: 38px auto 0;
	padding: 0;

	color: #333333;

	font-size: 16px;
	font-weight: 600;
	line-height: 1.9;
	letter-spacing: 0.025em;

	text-align: center;
}

.fs-about-concept__text p {
	margin: 0;
	padding: 0;
}

.fs-about-concept__text p + p {
	margin-top: 4px;
}


/* ============================================
   FEATURE
   背景フルワイド
============================================ */

.fs-about-feature {
	width: 100vw;

	margin: 0 0 0 calc(50% - 50vw);

	padding:
		92px
		0
		108px;

	background-color: #faf3f1;
}

.fs-about-feature__inner {
	width: 100%;
	max-width: 1140px;

	margin: 0 auto;
	padding: 0 20px;
}


/* ============================================
   FEATURE HEADER
============================================ */

.fs-about-feature__header {
	width: 100%;

	margin: 0;
	padding: 0;

	text-align: center;
}

.fs-about-feature__en {
	margin: 0 0 14px;
	padding: 0;

	color: #ff1200;

	font-family: "Bebas Neue", sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.20em;
}

.fs-about-feature__title {
	margin: 0;
	padding: 0;

	color: #222222;

	font-size: 36px;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.fs-about-feature__line {
	display: block;

	width: 32px;
	height: 2px;

	margin: 24px auto 0;

	background-color: #ff1200;
}

.fs-about-feature__intro {
	width: 100%;
	max-width: 920px;
	margin: 32px auto 0;
	padding: 0;
	color: #333333;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.9;
	letter-spacing: 0.025em;

	text-align: center;
}

.fs-about-feature__intro p {
	margin: 0;
	padding: 0;
}

.fs-about-feature__intro p + p {
	margin-top: 2px;
}


/* ============================================
   FEATURE LIST
============================================ */

.fs-about-feature__list {
	width: 100%;

	margin: 64px 0 0;
	padding: 0;
}


/* ============================================
   FEATURE ITEM
============================================ */

.fs-about-feature__item {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(0, 1fr);

	align-items: center;

	column-gap: 64px;

	width: 100%;

	margin: 0;
	padding: 0;
}

.fs-about-feature__item + .fs-about-feature__item {
	margin-top: 72px;
}


/* 偶数だけ左右反転 */

.fs-about-feature__item:nth-child(even) .fs-about-feature__media {
	order: 2;
}

.fs-about-feature__item:nth-child(even) .fs-about-feature__content {
	order: 1;
}


/* ============================================
   FEATURE IMAGE
============================================ */

.fs-about-feature__media {
	width: 100%;

	margin: 0;
	padding: 0;
}

.fs-about-feature__image {
	display: block;

	width: 100%;
	max-width: 100%;
	height: auto;

	margin: 0;
	padding: 0;
}


/* ============================================
   FEATURE CONTENT
============================================ */

.fs-about-feature__content {
	width: 100%;

	margin: 0;
	padding: 0;
}


/* ============================================
   PC
   FEATURE番号 + タイトル

   PCは
   FEATURE
   01 /
   タイトル

   の縦並び
============================================ */

.fs-about-feature__head {
	display: block;

	width: 100%;

	margin: 0 0 24px;
	padding: 0;
}


/* ============================================
   FEATURE番号
============================================ */

.fs-about-feature__number {
	width: fit-content;

	margin: 0;
	padding: 0;
}

.fs-about-feature__number-label {
	display: block;

	margin: 0 0 4px;
	padding: 0;

	color: #ff1200;

	font-family: "Bebas Neue", sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.16em;
}

.fs-about-feature__number-row {
	display: flex;
	align-items: flex-end;

	margin: 0;
	padding: 0;
}

.fs-about-feature__number-value {
	display: block;

	margin: 0;
	padding: 0;

	color: #ff1200;

	font-family: "Bebas Neue", sans-serif;
	font-size: 52px;
	font-weight: 400;
	line-height: 0.82;
	letter-spacing: 0;
}


/* ============================================
   PC スラッシュ
   CSSで描画
============================================ */

.fs-about-feature__number-slash {
	position: relative;

	display: block;

	flex: 0 0 22px;

	width: 22px;
	height: 42px;

	margin:
		0
		0
		-1px
		2px;

	padding: 0;

	font-size: 0;
	line-height: 0;
}

.fs-about-feature__number-slash::before {
	position: absolute;

	left: 10px;

	display: block;

	width: 1.3px;
	height: 40px;

	content: "";

	background-color: #ff1200;

	transform: rotate(24deg);
	transform-origin: center center;
}


/* ============================================
   PC FEATURE ITEM TITLE
   番号の下
============================================ */

.fs-about-feature__item-title {
	margin: 20px 0 0;
	padding: 0;

	color: #222222;

	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.04em;
}


/* ============================================
   FEATURE TEXT
============================================ */

.fs-about-feature__text {
	margin: 0;
	padding: 0;

	color: #333333;

	font-size: 16px;
	font-weight: 600;
	line-height: 1.9;
	letter-spacing: 0.02em;
}

.fs-about-feature__text p {
	margin: 0;
	padding: 0;
}


/* ============================================
   1200px以下
============================================ */

@media (max-width: 1200px) {

	.fs-about-concept__title {
		font-size: 35px;
	}

	.fs-about-feature__item {
		column-gap: 48px;
	}

}


/* ============================================
   スマートフォン
============================================ */

@media (max-width: 767px) {

	/* ========================================
	   パンくず
	======================================== */

	.fs-about-breadcrumb {
		margin-top: -25px;
	}

	.fs-about-breadcrumb__inner {
		height: 50px;
		min-height: 50px;

		padding:
			0
			32px
			0
			20px;

		font-size: 12px;
	}

	.fs-about-breadcrumb__separator {
		margin: 0 5px;
	}


	/* ========================================
	   SP専用改行
	======================================== */

	.fs-sp-break {
		display: block;
	}


	/* ========================================
	   CONCEPT
	======================================== */

	.fs-about-concept__inner {
		width: 100%;
		max-width: none;
		margin: 0 auto;
		padding: 0 16px;
	}

	.fs-about-concept {
		padding:
			74px
			0
			74px;
	}

	.fs-about-concept__en {
		margin-bottom: 18px;

		font-size: 20px;
	}

	.fs-about-concept__title {
		max-width: 340px;

		margin: 0 auto;

		font-size: 28px;
		line-height: 1.45;
		letter-spacing: 0.04em;

		white-space: normal;
	}

	.fs-about-concept__line {
		width: 32px;

		margin-top: 28px;
	}

	.fs-about-concept__text {
		width: 100%;
		max-width: none;

		margin: 44px 0 0;
		padding: 0;

		font-size: 16px;
		line-height: 1.9;
		letter-spacing: 0.02em;

		text-align: left;
	}

	.fs-about-concept__text p + p {
		margin-top: 12px;
	}


	/* ========================================
	   FEATURE
	======================================== */

	.fs-about-feature {
		width: 100vw;

		margin-left: calc(50% - 50vw);

		padding:
			72px
			0
			82px;
	}


	/* ========================================
	   FEATURE 左右余白
	======================================== */

	.fs-about-feature__inner {
		width: 100%;
		max-width: none;

		margin: 0 auto;

		padding:
			0
			16px;
	}


	/* ========================================
	   FEATURE HEADER
	======================================== */

	.fs-about-feature__header {
		padding: 0;
	}

	.fs-about-feature__en {
		margin-bottom: 16px;

		font-size: 20px;
		letter-spacing: 0.18em;
	}

	.fs-about-feature__title {
		font-size: 27px;
		line-height: 1.45;
		letter-spacing: 0.06em;
	}

	.fs-about-feature__line {
		width: 28px;

		margin-top: 22px;
	}

	.fs-about-feature__intro {
		width: 100%;
		max-width: none;

		margin: 30px 0 0;
		padding: 0;

		font-size: 16px;
		font-weight: 600;
		line-height: 1.9;
		letter-spacing: 0.015em;

		text-align: left;
	}


	/* ========================================
	   FEATURE LIST
	======================================== */

	.fs-about-feature__list {
		margin-top: 52px;
	}


	/* ========================================
	   FEATURE ITEM
	======================================== */

	.fs-about-feature__item {
		display: flex;
		flex-direction: column;

		width: 100%;

		margin: 0;
		padding: 0;
	}

	.fs-about-feature__item + .fs-about-feature__item {
		margin-top: 58px;
	}


	/* SPでは文章 → 画像 */

	.fs-about-feature__content {
		order: 1;
	}

	.fs-about-feature__media {
		order: 2;

		margin-top: 28px;
	}


	/* ========================================
	   SP
	   01/ + タイトル横並び
	======================================== */

	.fs-about-feature__head {
		display: flex;
		align-items: flex-end;

		gap: 14px;

		width: 100%;

		margin: 0 0 26px;
		padding: 0;
	}


	/* ========================================
	   SP 番号
	======================================== */

	.fs-about-feature__number {
		flex: 0 0 auto;

		width: 86px;

		margin: 0;
		padding: 0;
	}

	.fs-about-feature__number-label {
		margin-bottom: 3px;

		font-size: 10px;
		letter-spacing: 0.15em;
	}

	.fs-about-feature__number-value {
		font-size: 52px;
		line-height: 0.82;
	}


	/* ========================================
	   SP スラッシュ
	======================================== */

	.fs-about-feature__number-slash {
		flex: 0 0 24px;

		width: 24px;
		height: 46px;

		margin:
			0
			0
			-2px
			2px;

		font-size: 0;
		line-height: 0;
	}

	.fs-about-feature__number-slash::before {
		top: 1px;
		left: 10px;

		width: 1.3px;
		height: 44px;

		background-color: #ff1200;

		transform: rotate(27deg);
	}


	/* ========================================
	   SP ITEM TITLE
	   番号と横並び
	======================================== */

	.fs-about-feature__item-title {
		flex: 1 1 auto;

		margin: 0;
		padding: 0 0 2px;

		font-size: 20px;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.02em;
	}


	/* ========================================
	   SP ITEM TEXT
	======================================== */

	.fs-about-feature__text {
		font-size: 16px;
		line-height: 2;
		letter-spacing: 0.02em;
	}


	/* ========================================
	   IMAGE
	======================================== */

	.fs-about-feature__media {
		width: 100%;
	}

	.fs-about-feature__image {
		width: 100%;
		height: auto;
	}

}


/* ============================================
   390px以下
============================================ */

@media (max-width: 390px) {

	.fs-about-feature__number {
		width: 82px;
	}

	.fs-about-feature__number-value {
		font-size: 50px;
	}

	.fs-about-feature__number-slash {
		width: 23px;
		height: 44px;
	}

	.fs-about-feature__number-slash::before {
		height: 42px;

		transform: rotate(27deg);
	}

	.fs-about-feature__item-title {
		font-size: 19px;
	}



}


/* ============================================
   375px以下
============================================ */

@media (max-width: 375px) {

	.fs-about-breadcrumb {
		margin-top: -20px;
	}

	.fs-about-breadcrumb__inner {
		height: 40px;
		min-height: 40px;

		font-size: 9px;
	}


	/* ========================================
	   CONCEPT
	======================================== */

	.fs-about-concept {
		padding:
			68px
			0
			68px;
	}

	.fs-about-concept__title {
		max-width: 320px;

		font-size: 26px;
	}

	.fs-about-concept__text {
		margin-top: 38px;
	}


	/* ========================================
	   FEATURE
	======================================== */

	.fs-about-feature {
		padding-top: 66px;
		padding-bottom: 76px;
	}
	.fs-about-feature__title {
		font-size: 25px;
	}



	.fs-about-feature__number {
		width: 80px;
	}

	.fs-about-feature__number-value {
		font-size: 48px;
	}

	.fs-about-feature__number-slash {
		width: 22px;
		height: 43px;
	}

	.fs-about-feature__number-slash::before {
		left: 9px;

		width: 1.3px;
		height: 41px;

		transform: rotate(27deg);
	}

	.fs-about-feature__item-title {
		font-size: 18px;
	}



}

/* ============================================
   FLAGSHIP ABOUT
   COURSE SECTION
   中学生・小学生 共通
============================================ */


/* ============================================
   セクション全体
============================================ */

.fs-about-course {
	position: relative;

	width: 100vw;

	margin:
		0
		0
		0
		calc(50% - 50vw);

	padding:
		92px
		0
		108px;

	background-color: #ffffff;
}


/* ============================================
   小学生コース
   薄いメインカラー
============================================ */

.fs-about-course--elementary {
	background-color: #faf3f1;
}


/* ============================================
   共通box-sizing
============================================ */

.fs-about-course,
.fs-about-course *,
.fs-about-course *::before,
.fs-about-course *::after {
	box-sizing: border-box;
}


/* ============================================
   インナー
============================================ */

.fs-about-course__inner {
	width: 100%;
	max-width: 1140px;

	margin: 0 auto;
	padding: 0 20px;
}


/* ============================================
   HEADER
============================================ */

.fs-about-course__header {
	width: 100%;

	margin: 0;
	padding: 0;

	text-align: center;
}


/* ============================================
   英字タイトル
   FEATUREと同じ
============================================ */

.fs-about-course__en {
	margin: 0 0 14px;
	padding: 0;

	color: #ff1200;

	font-family: "Bebas Neue", sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.20em;

	text-align: center;
}


/* ============================================
   日本語タイトル
   FEATUREと同じ
============================================ */

.fs-about-course__title {
	margin: 0;
	padding: 0;

	color: #222222;

	font-size: 36px;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.08em;

	text-align: center;
}


/* ============================================
   赤ライン
   FEATUREと同じ
============================================ */

.fs-about-course__line {
	display: block;

	width: 32px;
	height: 2px;

	margin: 24px auto 0;
	padding: 0;

	background-color: #ff1200;
}


/* ============================================
   説明文
   FEATUREと同じ
============================================ */

.fs-about-course__lead {
	width: 100%;
	max-width: 1140px;

	margin: 32px auto 0;
	padding: 0;

	color: #333333;

	font-size: 16px;
	font-weight: 600;
	line-height: 1.9;
	letter-spacing: 0.025em;

	text-align: center;
}

.fs-about-course__lead p {
	margin: 0;
	padding: 0;
}

.fs-about-course__lead p + p {
	margin-top: 2px;
}


/* ============================================
   テーブル
============================================ */

.fs-about-course__table-wrap {
	width: 100%;

	margin: 58px 0 0;
	padding: 0;
}

.fs-about-course__table {
	width: 100%;

	margin: 0;
	padding: 0;

	border-collapse: collapse;
	border-spacing: 0;

	table-layout: fixed;

	background-color: #ffffff;

	border: 1px solid #d9d9d9;
}


/* ============================================
   セル共通
============================================ */

.fs-about-course__table th,
.fs-about-course__table td {
	border: 1px solid #d9d9d9;
	vertical-align: middle;
}


/* ============================================
   テーブル左列
============================================ */

.fs-about-course__table th {
	width: 26%;
	padding:
		26px
		22px;
	background-color: #f8f8f8;
	color: #222222;
	font-size: 18px;
	font-weight: 400;
	-webkit-text-stroke: 1.5px #222222;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-align: left;
	white-space: nowrap;
}


/* ============================================
   テーブル右列
============================================ */

.fs-about-course__table td {
	padding:
		26px
		24px;

	background-color: #ffffff;

	color: #333333;

	font-size: 17px;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.025em;

	text-align: left;
}


/* ============================================
   1200px以下
============================================ */

@media (max-width: 1200px) {

}


/* ============================================
   スマートフォン
============================================ */

@media (max-width: 767px) {

	.fs-about-course {
		width: 100vw;

		margin-left: calc(50% - 50vw);

		padding:
			72px
			0
			82px;
	}


	/* ========================================
	   インナー
	======================================== */

	.fs-about-course__inner {
		width: 100%;
		max-width: none;

		margin: 0 auto;

		padding:
			0
			16px;
	}


	/* ========================================
	   英字タイトル
	   FEATUREと同じ
	======================================== */

	.fs-about-course__en {
		margin-bottom: 16px;

		font-size: 20px;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.18em;
	}


	/* ========================================
	   日本語タイトル
	   FEATUREと同じ
	======================================== */

	.fs-about-course__title {
		font-size: 27px;
		font-weight: 900;
		line-height: 1.45;
		letter-spacing: 0.06em;
	}


	/* ========================================
	   赤ライン
	======================================== */

	.fs-about-course__line {
		width: 28px;
		height: 2px;

		margin-top: 22px;
	}


	/* ========================================
	   説明文
	======================================== */

	.fs-about-course__lead {
		width: 100%;
		max-width: none;

		margin: 30px 0 0;
		padding: 0;

		font-size: 16px;
		line-height: 1.9;
		letter-spacing: 0.015em;

		text-align: left;
	}

	.fs-about-course__lead p + p {
		margin-top: 0;
	}


	/* ========================================
	   テーブル
	======================================== */

	.fs-about-course__table-wrap {
		margin-top: 32px;
	}


	/* ========================================
	   テーブル左列
	======================================== */

	.fs-about-course__table th {
		width: 36%;

		padding:
			16px
			12px;

		font-size: 16px;
		font-weight: 400;
		line-height: 1.3;
		letter-spacing: 0.10em;
	}


	/* ========================================
	   テーブル右列
	======================================== */

	.fs-about-course__table td {
		padding:
			16px
			12px;

		font-size: 16px;
		font-weight: 600;
		line-height: 1.7;
		letter-spacing: 0.01em;
	}

}


/* ============================================
   390px以下
============================================ */

@media (max-width: 390px) {

}


/* ============================================
   375px以下
============================================ */

@media (max-width: 375px) {

	.fs-about-course {
		padding-top: 66px;
		padding-bottom: 76px;
	}
	.fs-about-course__title {
		font-size: 25px;
	}



	.fs-about-course__table th {
		padding:
			14px
			10px;
	}

	.fs-about-course__table td {
		padding:
			14px
			10px;
	}

}