@charset "UTF-8";
/* CSS Document */

html {
	scroll-behavior: smooth;
	/* スムーススクロール */
}

@media screen and (min-width: 768px) and (max-width: 1399px) {
	html {
		font-size: calc(100vw * 10 / 1400);
		text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
	}

}

@media screen and (min-width: 1400px) {
	html {
		font-size: 62.5%;
		font-size: 10px;
	}
}

@media screen and (max-width: 767px) {
	html {
		font-size: 62.5%;
		font-size: 10px;
	}
}


html.is-fixed {
	height: 100%;
	overflow: hidden;
}

body {
	font-family: 'Noto Sans JP', sans-serif, 'Raleway', sans-serif, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MSPゴシック', 'MS PGothic', sans-serif;
	font-weight: 300;
	line-height: 1.0;
	letter-spacing: 0;
	color: var(--text-color);
	font-size: 0;
	background-color: #ffffff;
	overflow-x: hidden;
}


/**************************************************
 usually
**************************************************/
.clearFix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	_zoom: 1;
}

*:first-child+html .clearFix:after {
	zoom: 1;
}

/* IE7 */

/* align */
.flexbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}

/* inner */
.inner {
	max-width: 1200px;
	margin-inline: auto;
}

/* a img input */
a,
a img,
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="image"] {
	-webkit-transition: 0.2s ease-out;
	-moz-transition: 0.2s ease-out;
	-o-transition: 0.2s ease-out;
	-ms-transition: 0.2s ease-out;
}

a img:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="image"]:hover {
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

/**************************************************
 common
**************************************************/

ul li {
	/*margin: 0 0 0 20px;*/
	/*list-style: disc;*/
	list-style: none;
}

a {
	color: #000;
	text-decoration: none;
	outline: none;
	font-weight: 400;
}

a:hover {
	color: #000;
}

img {
	max-width: 100%;
	height: auto;
}

:root {
	--main-color: #f2bb28;
	--sub-color: #6fce7c;
	--text-color: #222222;
	--base-color: #f8f8ed;
	--btn-color: #6fce7c;
	--max: 120rem;
	--font-bold: 700;
}

h1 {
	width: 22rem;
	font-size: 1.6rem;
	align-items: end;
	font-weight: 400;
}


@media screen and (max-width: 767px) {
	h1 {
		width: 14.4rem;
		font-size: 1.6rem;
		align-items: end;
		font-weight: 400;
	}
}


h2 {
	position: relative;
	font-size: 10rem;
	color: var(--text-color);
	font-weight: bold;
	margin-block-end: 4rem;
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
	h2 {
		position: relative;
		font-size: 5rem;
		margin-block-end: 2rem;
		line-height: 1.4;
	}
}

h3 {
	display: block;
	font-size: 3rem;
	text-align: left;
	font-weight: bold;
	margin-block-end: 3rem;
}

h3 span {
	font-family: "Jost", sans-serif;
	font-size: 3rem;
	text-align: left;
	color: #c3ced4;
	font-weight: normal;
	margin-inline-start: 2rem;
}

@media screen and (max-width: 767px) {
	h3 {
		display: block;
		font-size: 2rem;
		text-align: left;
		font-weight: bold;
		margin-block-end: 2rem;
	}
}


@media screen and (max-width: 767px) {
	h3 span {
		font-size: 1.5rem;
		margin-inline-start: 0;
		display: block;
		margin-block-start: 1rem;
	}
}


p {
	font-size: 1.6rem;
	text-align: left;
	padding-block-start: 0;
	line-height: 1.8;
	font-weight: normal;
}

@media screen and (max-width: 767px) {
	p {
		font-size: 1.3rem;
		text-align: left;
		padding-block-start: 0;
		line-height: 1.8;
	}
}

.re {
	flex-direction: row-reverse;
}

.pc-block {
	display: block;
}

@media screen and (max-width: 767px) {
	.pc-block {
		display: none;
	}
}

.sp-block {
	display: none;
}

@media screen and (max-width: 767px) {
	.sp-block {
		display: block;
	}
}

.br-sp {
	display: none;
}

@media screen and (max-width: 1080px) {
	.br-pc {
		display: none;
	}

	.br-sp {
		display: inline-block;
	}
}

/**************************************************
スクロールでふわっと表示
**************************************************/
.fade-up {
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.8s ease-out;
}

.fade-up.in-view {
	opacity: 1;
	transform: translateY(0);
}

/**************************************************
wrapper
**************************************************/

.wrapper {
	position: relative;
	display: block;
	background-color: #ffffff;
	padding-block-end: 18rem;
}

/**************************************************
 header
**************************************************/

header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 8rem;
	background-color: transparent;
	align-items: center;
	padding-inline: 1.6rem;
	padding-block-start: 1.6rem;
	z-index: 1000;
}

/******header************/
@media screen and (max-width: 767px) {
	header {
		height: 6.4rem;
		padding-inline: 1.6rem;
		padding-block-start: 0rem;
	}
}

/**************************************************
 mainVisual
**************************************************/
.mainvisual {
	overflow: hidden;
	z-index: 1;
}

.mainvisual .mainvisual-wrap {
	position: relative;
	max-width: 1920px;
	margin: 0 auto;
	overflow: hidden;
	max-height: 900px;
}

@media screen and (max-width: 1920px) {
	.mainvisual .mainvisual-wrap {
		width: 100%;
		height: 100%;
	}
}

.mainvisual .ttl {
	position: absolute;
	width: 45%;
	height: 50%;
	z-index: 0;
	bottom: 13rem;
	left: 6rem;
}

.mainvisual .ttl .ttl-1 {
	width: 48%;
	position: absolute;
	top: 0;
}

.mainvisual .ttl .ttl-2 {
	width: 60%;
	position: absolute;
	top: 20%;
	left: 11%;
}

.mainvisual .ttl .ttl-3 {
	width: 40%;
	position: absolute;
	left: 38%;
	bottom: 29%;
}

.mainvisual .ttl .ttl-4 {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}

.mainvisual .visual {
	width: 100%;
	z-index: 0;
	height: 100%;
}

.fade-item {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-item.show {
	opacity: 1;
	transform: translateY(0);
}


/**************************************************
スクロールダウンの指定
**************************************************/
.scrollDown {
	width: 100%;
	position: absolute;
	bottom: 0;
}

.scrollDown .txt {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-optical-sizing: auto;
	font-size: 1.4rem;
	color: #ffffff;
	letter-spacing: 0.02em;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.scrollDown .txt {
		font-size: 1rem;
	}
}

.scrollDown .line {
	position: relative;
	width: 2px;
	height: 20px;
	margin: 10px auto 0
}

.scrollDown .line::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: #ffffff;
	top: 0;
	left: 0;
	-webkit-animation-duration: 1.8s;
	animation-duration: 1.8s;
	-webkit-animation-timing-function: ease;
	animation-timing-function: ease;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-name: line;
	animation-name: line
}

@-webkit-keyframes line {
	0% {
		height: 0
	}

	to {
		height: 100%
	}
}

@keyframes line {
	0% {
		height: 0
	}

	to {
		height: 100%
	}
}


/**************************************************
.anime-up
**************************************************/
.anime-up {
	font-size: 30rem;
	text-align: left;
	font-family: "Jost", sans-serif;
	font-weight: normal;
	color: #ebf0f3;
	position: absolute;
	margin-block-end: 0;
	margin-block-start: -17rem;
	overflow: hidden;
	white-space: nowrap;
	margin-inline-start: 3rem;
}

.anime-up span {
	display: inline-block;
	overflow: hidden;
}

.anime-up span span {
	display: inline-block;
	transform: translateY(100%);
	opacity: 0;
}

/* 上にシュッと上がるシンプルなアニメーション */
@keyframes slideUp {
	0% {
		transform: translateY(100%);
		opacity: 0;
	}

	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

.anime-up.displayed span span {
	animation: slideUp 0.87s ease-out forwards;
	display: inline-block;
}

/**************************************************
#about
**************************************************/

#about {
	max-width: 100%;
	margin-inline: auto;
	background-color: #fff;
}

.about_inner {
	width: 120rem;
	text-align: center;
	margin-inline: auto;
	margin-block-start: 15rem;
	margin-block-end: 25rem;
	position: relative;
	overflow: visible;
}

.about_inner::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80rem;
	height: 80rem;
	background-color: #ebf0f3;
	border-radius: 50%;
	z-index: -1;
}

.about_intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.about_text {
	width: 50%;
	padding-inline-end: 5rem;
}

.about_text h2 {
	font-size: 3.6rem;
	text-align: left;
}

.about_intro img {
	width: 50%;
}

.about_inner ul {
	margin-block-start: 4rem;
	margin-inline: auto;
}

.about_inner ul li {
	width: calc(100% / 2 - 2rem);
	position: relative;
	border-radius: 4px;
	background: linear-gradient(180deg, #f5c048, #f08906);
	padding-block: 4rem;
	padding-inline-start: 4rem;
}

.about_inner ul li::before {
	content: '';
	width: calc(100% - 12px);
	height: calc(100% - 12px);
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 0;
}

.about_inner ul li:nth-child(1)::after {
	content: 'Systematic Value\A Creation in Business';
	white-space: pre;
	display: block;
	font-size: 4rem;
	text-align: left;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: normal;
	color: #ebf0f3;
	position: absolute;
	bottom: 2rem;
	right: 2rem;
	background: none;
	transition: none;
	z-index: 0;
}

.about_inner ul li:nth-child(2):after {
	content: 'Regional Innovation';
	white-space: pre;
	display: block;
	font-size: 4rem;
	text-align: left;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: normal;
	color: #ebf0f3;
	position: absolute;
	bottom: 2rem;
	right: 2rem;
	background: none;
	transition: none;
	z-index: 0;
}

.about_inner ul li h3,
.about_inner ul li p {
	z-index: 1;
	position: relative;
}


.about_inner ul li h3 {
	width: calc(100% - 12rem);
	font-size: 2.6rem;
	text-align: left;
	color: #ec6c00;
	margin-block-end: 3rem;
}

.about_inner ul li p {
	width: calc(100% - 12rem);
	text-align: left;
	line-height: 1.8;
}

.about_inner ul li img {
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	height: 10.5rem;
	z-index: 1;
}

/**************************************************
#course
**************************************************/

#course {
	position: relative;
	width: 100%;
	background-image: url(../img/course-bg.jpg);
	background-size: cover;
	background-position: center;
	padding-block-end: 10rem;
}

.course_inner {
	width: 120rem;
	height: 1000px;
	margin-inline: auto;
	position: relative;
	overflow: visible;
	padding-block-start: 20rem;
	text-align: left;
}

.course_inner span {
	display: block;
	font-size: 3.6rem;
	text-align: left;
	color: #ffffff;
	font-weight: bold;
	margin-block-end: 4rem;
}

.course_inner p {
	text-align: left;
	color: #ffffff;
}

.course_inner ul {
	margin-block-start: 4rem;
}


.course_inner ul li {
	position: relative;
	width: calc(100% / 2 - 2rem);
	border-radius: 4px;
	padding: 4rem;
	margin-bottom: 4rem;
	background-color: #ffffff;
}

.course_inner ul li:nth-child(2),
.course_inner ul li:nth-child(4) {
	position: relative;
	top: 4rem;
}

.course_inner ul li h3 {
	font-size: 2.6rem;
	font-weight: bold;
	color: #333333;
	line-height: 1.5;
	margin-block-end: 2rem;
}

.course_inner ul li p {
	color: #333333;
	line-height: 1.8;
}

.course_inner ul li::before {
	position: absolute;
	font-size: 30rem;
	font-weight: normal;
	font-style: italic;
	right: 2rem;
	bottom: -4rem;
	z-index: 0;
	font-family: "Jost", sans-serif;
	pointer-events: none;
	user-select: none;
	background: linear-gradient(-90deg, rgba(245, 192, 72, 0.15), rgba(240, 137, 6, 0.15));
	background: -webkit-linear-gradient(-90deg, rgba(245, 192, 72, 0.15), rgba(240, 137, 6, 0.15));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}

/* 各 li に個別の数字を指定 */
.course_inner ul li:nth-child(1)::before {
	content: '01';
}

.course_inner ul li:nth-child(2)::before {
	content: '02';
}

.course_inner ul li:nth-child(3)::before {
	content: '03';
}

.course_inner ul li:nth-child(4)::before {
	content: '04';
}

/**************************************************
#field
**************************************************/
#field {
	width: 100%;
	position: relative;
}

.field_inner {
	width: 120rem;
	margin-inline: auto;
	padding-block-start: 17rem;
	padding-block-end: 10rem;
	text-align: left;
}

.field_inner .flexbox {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}

.field_text {
	width: 50%;
	padding-inline-end: 5rem;
}

.field_text span {
	display: block;
	font-size: 3.6rem;
	text-align: left;
	font-weight: bold;
	margin-block-end: 4rem;
}

.pickup-curriculum {
	position: relative;
	margin-block-start: 10rem;
}

.curriculum_wrap {
	position: relative;
}

.curriculum_wrap::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 13vw;
	width: calc(100vw - 13vw);
	height: 40rem;
	background-color: #ebf0f3;
	z-index: 0;
	transform: translateY(-50%);
	border-radius: 4rem 0 0 4rem;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.curriculum_list {
	display: flex;
	gap: 3rem;
}

.curriculum_list li {
	position: relative;
	z-index: 0;
	flex: 1;
	background: linear-gradient(180deg, #fdd000, #f08719);
	border-radius: 8px;
}

.curriculum_list li::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 4px;
	right: -4px;
	bottom: -4px;
	background: linear-gradient(180deg, #fdd000, #f08719);
	border-radius: 8px;
	z-index: -1;
	filter: blur(0);
}

.curriculum_list li:nth-child(2) {
	position: relative;
	z-index: 0;
	background: linear-gradient(180deg, #bf78f0, #8262a8);
	border-radius: 8px;
}

.curriculum_list li:nth-child(2)::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 4px;
	right: -4px;
	bottom: -4px;
	background: linear-gradient(180deg, #bf78f0, #8262a8);
	border-radius: 8px;
	z-index: -1;
	filter: blur(0);
}


/* 中身に白背景を設定 */
.card-inner {
	position: relative;
	width: calc(100% - 3px);
	height: calc(100% - 3px);
	left: 2px;
	top: 2px;
	background: #fff;
	padding: 3rem;
	border-radius: 6px;
	z-index: 1;
}

.curriculum_list li h4 {
	display: block;
	font-size: 2rem;
	line-height: 1.5;
	text-align: left;
	font-weight: bold;
	margin-block-end: 1rem;
	margin-block-start: 2rem;
}



/**************************************************
#learning-process
**************************************************/
#learning-process {
	width: 100%;
	position: relative;
}

.learning-process_inner {
	width: 120rem;
	margin-inline: auto;
	padding-block-end: 10rem;
	text-align: left;
}

/**************************************************
#future-path
**************************************************/
#future-path {
	width: 100%;
	position: relative;
}

.future-path_inner {
	width: 120rem;
	margin-inline: auto;
	text-align: left;
}

.future-path_inner .flexbox {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}

.future-path_inner .flexbox img {
	width: 50%;
}

.future-path_text {
	width: 50%;
	padding-inline-end: 4rem;
}

.future-path_text p {
	text-align: left;
}

.future-path_inner ul {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
	margin-block-start: 7rem;
	margin-inline: auto;
}

.future-path_inner ul li {
	width: calc(100% / 2 - 2rem);
	position: relative;
	border-radius: 4px;
	background: linear-gradient(180deg, #f5c048, #f08906);
	padding-block: 5rem;
	padding-inline: 5rem;
}

.future-path_inner ul li::before {
	content: '';
	width: calc(100% - 12px);
	height: calc(100% - 12px);
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 0;
}


.future-path_inner ul li h4,
.future-path_inner ul li p {
	z-index: 1;
	position: relative;
}


.future-path_inner ul li h4 {
	position: absolute;
	width: 40rem;
	font-size: 2.1rem;
	text-align: center;
	color: #fff;
	line-height: 5rem;
	background: linear-gradient(90deg, #f5c048, #f08906);
	top: -2.5rem;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 4px;
	margin-block-end: 3rem;
}

.future-path_inner ul li p {
	width: 100%;
	line-height: 1.8;
	margin-inline: auto;
}

.future-path_inner ul li:nth-child(2) p {
	text-align: center;
	margin-inline: auto;
}

.future-path_inner ul li img {
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	height: 10.5rem;
	z-index: 1;
}

/**************************************************
footer
**************************************************/

footer {
	position: relative;
	width: 100%;
	text-align: center;
	background: linear-gradient(90deg, #f4a601 0%, #ef7e00 50%, #ec6c00 100%);
	padding-block-start: 3rem;
	padding-block-end: 2rem;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: top center;
}

footer::before {
	content: "";
	position: absolute;
	width: 100%;
	text-align: center;
	background-image: url(../img/footer-bg.svg);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: top center;
	top: -8rem;
	left: 0;
	height: 10rem;
}

@media screen and (max-width: 1920px) {
	footer::before {
		content: "";
		position: absolute;
		width: 100%;
		text-align: center;
		background-image: url(../img/footer-bg.svg);
		background-size: 100% auto;
		background-repeat: no-repeat;
		background-position: top center;
		top: -6rem;
		left: 0;
		height: 10rem;
	}
}

footer .flexbox {
	position: relative;
	display: flex;
	margin-inline: auto;
	color: #ffffff;
	padding-block-end: 5rem;
	text-align: center;
	align-items: center;
	justify-content: center;
	align-content: center;
}

footer .logo {
	width: 23rem;
}

footer .txt {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	text-align: left;
	font-weight: 400;
}


footer .copy {
	width: 100%;
	display: block;
	color: #fff;
	line-height: 1;
}

footer .copy p {
	padding-block-start: 0;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	font-weight: normal;
	text-align: center;
}

/**************************************************
responsive
**************************************************/

@media screen and (max-width: 767px) {

	.wrapper {
		position: relative;
		display: block;
		background-color: #ffffff;
		padding-block-end: 6rem;
	}

	/* mainvisual */
	.mainvisual .mainvisual-wrap {
		width: 100%;
		height: 100%;
	}

	.mainvisual .ttl {
		width: 90%;
		left: 50%;
		transform: translateX(-50%);
		bottom: 6rem;
		height: 30rem;
	}

	.mainvisual .visual {
		width: 100%;
		height: auto;
	}

	.mainvisual .ttl .ttl-1 {
		width: 60%;
		position: absolute;
		top: 0;
	}

	.mainvisual .ttl .ttl-2 {
		width: 76%;
		position: absolute;
		left: 10%;
		top: 15%;
	}

	.mainvisual .ttl .ttl-3 {
		width: 51%;
		position: absolute;
		right: 0;
		bottom: 46%;
		left: auto;
	}

	.mainvisual .ttl .ttl-4 {
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
	}


	/* anime-up */
	.anime-up {
		font-size: 9rem;
		text-align: left;
		font-family: "Jost", sans-serif;
		font-weight: normal;
		color: #ebf0f3;
		position: absolute;
		margin-block-end: 0;
		margin-block-start: -5.6rem;
		overflow: hidden;
		white-space: nowrap;
		margin-inline-start: 1rem;
	}


	/* about */
	.about_inner {
		width: 90%;
		margin-inline: auto;
		margin-block-start: 6rem;
		margin-block-end: 8rem;
	}

	.about_inner::before {
		width: 100%;
		aspect-ratio: 1 / 1;
		height: auto;
		top: -3rem;
		left: 0;
		transform: none;
	}

	.about_intro {
		display: flex;
		flex-wrap: nowrap;
		flex-direction: column-reverse;
	}

	.about_text {
		width: 100%;
		padding-inline-end: 0;
	}

	.about_text h2 {
		font-size: 2.6rem;
		text-align: left;
		margin-block-start: 2rem;
	}

	.about_text p {
		text-align: left;
		line-height: 1.8;
	}

	.about_intro img {
		width: 94%;
	}

	.about_inner ul {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.about_inner ul li {
		width: 100%;
		position: relative;
		border-radius: 4px;
		background: linear-gradient(180deg, #f5c048, #f08906);
		padding-block: 2rem;
		padding-inline-start: 2rem;
		margin-block-end: 3rem;
	}


	.about_inner ul li::before {
		content: '';
		width: calc(100% - 8px);
		height: calc(100% - 8px);
		background: #fff;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		border-radius: 0;
	}

	.about_inner ul li:nth-child(1)::after {
		content: 'Systematic Value\A Creation in Business';
		white-space: pre;
		display: block;
		font-size: 3rem;
		text-align: left;
		font-family: "Jost", sans-serif;
		font-optical-sizing: auto;
		font-weight: normal;
		color: #ebf0f3;
		position: absolute;
		bottom: 2rem;
		right: 2rem;
		background: none;
		transition: none;
		z-index: 0;
	}

	.about_inner ul li:nth-child(2):after {
		content: 'Regional Innovation';
		white-space: pre;
		display: block;
		font-size: 3rem;
		text-align: left;
		font-family: "Jost", sans-serif;
		font-optical-sizing: auto;
		font-weight: normal;
		color: #ebf0f3;
		position: absolute;
		bottom: 2rem;
		right: 2rem;
		background: none;
		transition: none;
		z-index: 0;
	}

	.about_inner ul li h3 {
		width: 100%;
		text-align: left;
		color: #ec6c00;
		margin-block-end: 1rem;
		font-size: 1.6rem;
	}

	.about_inner ul li p {
		width: calc(100% - 9rem);
		text-align: left;
		line-height: 1.8;
	}

	.about_inner ul li:nth-child(2) p {
		width: calc(100% - 8rem);
		text-align: left;
		line-height: 1.8;
	}

	.about_inner ul li img {
		position: absolute;
		right: 1.5rem;
		bottom: 2rem;
		height: 6.7rem;
		z-index: 1;
	}


	/* course */

	#course {
		position: relative;
		width: 100%;
		background-image: url(../img/course-bg_sp.jpg);
		background-size: cover;
		background-position: center;
		padding-block-end: 10rem;
	}

	.course_inner {
		width: 90%;
		height: auto;
		margin-inline: auto;
		position: relative;
		overflow: visible;
		padding-block-start: 10rem;
		text-align: left;
	}


	.course_inner span {
		display: block;
		font-size: 2.7rem;
		text-align: left;
		color: #ffffff;
		font-weight: bold;
		margin-block-end: 2rem;
	}


	.course_inner ul {
		margin-block-start: 4rem;
	}

	.course_inner ul li {
		position: relative;
		width: 100%;
		border-radius: 4px;
		padding: 2rem 3rem;
		margin-block-end: 2rem;
		background-color: #ffffff;
	}

	.course_inner ul li:nth-child(2),
	.course_inner ul li:nth-child(4) {
		position: relative;
		top: 0rem;
	}

	.course_inner ul li:nth-child(4) {
		margin-block-end: 0rem;
	}


	.course_inner ul li h3 {
		font-size: 1.8rem;
		font-weight: bold;
		color: #333333;
		line-height: 1.5;
		margin-block-end: 1rem;
	}

	.course_inner ul li::before {
		position: absolute;
		font-size: 15rem;
		right: 1rem;
		bottom: -2rem;
	}

	/* field */
	.field_inner {
		width: 90%;
		height: auto;
		margin-inline: auto;
		position: relative;
		overflow: visible;
		padding-block-start: 10rem;
		padding-block-end: 2rem;
		text-align: left;
	}

	.field_inner .flexbox {
		display: flex;
		flex-direction: column;
	}

	.field_text {
		width: 100%;
		padding-inline-end: 0;
		margin-block-end: 3.5rem;
	}

	.field_text span {
		display: block;
		font-size: 2.7rem;
		text-align: left;
		font-weight: bold;
		margin-block-end: 2rem;
	}

	.curriculum_wrap::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 5%;
		width: calc(100vw - 5%);
		height: 90%;
		background-color: #ebf0f3;
		z-index: 0;
		transform: translateY(-50%);
		border-radius: 2rem 0 0 2rem;
	}

	.pickup-curriculum {
		margin-block-start: 6rem;
	}

	.curriculum_list {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

	.curriculum_list li h4 {
		display: block;
		font-size: 1.6rem;
		line-height: 1.5;
		text-align: left;
		font-weight: bold;
		margin-block-end: .8rem;
		margin-block-start: 1.5rem;
	}

	/* 中身に白背景を設定 */
	.card-inner {
		position: relative;
		width: calc(100% - 3px);
		height: calc(100% - 3px);
		left: 2px;
		top: 2px;
		background: #fff;
		padding: 2.5rem;
		border-radius: 6px 6px 6px 12px;
		z-index: 1;
	}


	/* learning-process */

	.learning-process_inner {
		width: 100%;
		padding-block-start: 5rem;
		padding-block-end: 5rem;
		text-align: left;
		padding-inline-start: 2rem;
	}

	.scroll-x {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		max-width: 100%;
	}

	.scroll-x img {
		width: 82.5rem;
		max-width: none;
		display: block;
	}



	/* future-path */
	.future-path_inner {
		width: 90%;
		margin-inline: auto;
		text-align: left;
	}


	.future-path_inner .flexbox {
		display: flex;
		flex-wrap: nowrap;
		flex-direction: column;
		align-items: center;
	}

	.future-path_inner .flexbox img {
		width: 100%;
	}

	.future-path_text {
		width: 100%;
		padding-inline-end: 0;
		margin-block-end: 2rem;
	}

	.future-path_inner ul {
		display: flex;
		flex-direction: column;
	}

	.future-path_inner ul li {
		width: 100%;
		position: relative;
		border-radius: 4px;
		background: linear-gradient(180deg, #f5c048, #f08906);
		padding-block: 3.5rem;
		padding-inline: 2.5rem;
		margin-block-end: 4rem;
	}

	.future-path_inner ul li::before {
		content: '';
		width: calc(100% - 8px);
		height: calc(100% - 8px);
		background: #fff;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		border-radius: 0;
	}


	.future-path_inner ul li h4 {
		position: absolute;
		width: 65%;
		font-size: 1.5rem;
		text-align: center;
		color: #fff;
		line-height: 3rem;
		background: linear-gradient(90deg, #f5c048, #f08906);
		top: -1.5rem;
		left: 50%;
		transform: translateX(-50%);
		border-radius: 4px;
		margin-block-end: 2rem;
	}

	.future-path_inner ul li p {
		width: 100%;
		text-align: left;
		line-height: 1.8;
		margin-inline: auto;
	}


	/* footer */
	footer {
		position: relative;
		width: 100%;
		text-align: center;
		background: linear-gradient(90deg, #f4a601 0%, #ef7e00 50%, #ec6c00 100%);
		padding-block-start: 4rem;
		padding-block-end: 2rem;
		background-size: 100% auto;
		background-repeat: no-repeat;
		background-position: top center;
	}

	footer::before {
		content: "";
		position: absolute;
		width: 100%;
		text-align: center;
		background-image: url(../img/footer-bg_sp.svg);
		background-size: 100% auto;
		background-repeat: no-repeat;
		background-position: top center;
		top: -3rem;
		left: 0;
		height: 5rem;
	}

	footer .flexbox {
		display: flex;
		flex-direction: column;
		padding-block-end: 2.5rem;
	}

	footer .logo {
		width: 16.8rem;
		padding-block-end: 2.5rem;
	}

	footer .txt {
		font-size: 1.2rem;
	}

	footer .copy p {
		padding-block-start: 0;
		font-size: 1rem;
		letter-spacing: 0.1em;
	}

}