/* リキッドレイアウト対応 */

body {
	color: #464646;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic", "メイリオ", Meiryo, "Yu Gothic", "游ゴシック体", "YuGothic", "游ゴシック", sans-serif;
}

body.no-scroll {
	overflow: hidden;
}

.u-desktop {
	display: none;
}

.inner {
	margin-inline: auto;
	max-width: 1240px;
	max-width: 77.5rem;
	padding-left: 40px;
	padding-left: 2.5rem;
	padding-right: 40px;
	padding-right: 2.5rem;
	width: 100%;
}

.wrapper {
	overflow-x: hidden;
}

.pagetop {
	bottom: 20px;
	bottom: 1.25rem;
	left: 20px;
	left: 1.25rem;
	max-width: 40px;
	max-width: 2.5rem;
	opacity: 0.7;
	position: fixed;
	width: 100%;
	z-index: 5;
}

.fixedText {
	overflow: hidden;
	position: fixed;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	white-space: nowrap;
	width: 100%;
	z-index: 0;
}

.fixedText__inner {
	-webkit-animation: marquee 40s linear infinite;
	animation: marquee 40s linear infinite;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -moz-max-content;
	width: -webkit-max-content;
	width: max-content;
}

.fixedText p {
	color: #fff;
	display: inline-block;
	font-size: 180px;
	font-size: 11.25rem;
	font-weight: 700;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	white-space: nowrap;
}

.fixedText p.is-active {
	color: rgba(78, 188, 255, .3);
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
	-webkit-filter: blur(10px);
	filter: blur(10px);
}

/* アニメーション定義 */

.top {
	position: absolute;
	z-index: -2;
}

html {
	font-size: 2.1333333333vw;
}

/* pcの電話番号発信対応 */

/* ホバー */

a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
	-webkit-filter: blur(10px);
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

.about-bottom {
	margin-top: 100px;
	margin-top: 6.25rem;
	position: relative;
}

.about-bottom__title {
	text-align: center;
}

.about-bottom__body {
	margin-top: 60px;
	margin-top: 3.75rem;
}

.about-bottom__wrapper {
	margin-top: 30px;
	margin-top: 1.875rem;
}

.about-bottom__subtitle {
	color: #1B6F93;
	font-size: 40px;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.333;
}

.about-bottom__text {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.555;
	margin-top: 20px;
	margin-top: 1.25rem;
}

.about-bottom__btn {
	margin-inline: auto;
	margin-top: 15px;
	margin-top: 0.9375rem;
}

.about-feature {
	padding-top: 92px;
	padding-top: 5.75rem;
	position: relative;
}

.about-feature__title {
	text-align: center;
}

.about-feature__item {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.about-item__wrapper {
	margin-top: 20px;
	margin-top: 1.25rem;
}

.about-item__title {
	color: #1B6F93;
	font-size: 40px;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.3333;
}

.about-item__text {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.555;
	margin-top: 20px;
	margin-top: 1.25rem;
}

.about {
	margin-top: 74px;
	margin-top: 4.625rem;
	position: relative;
}

.about__subtitle {
	text-align: center;
}

.about__title {
	text-align: center;
}

.about__text {
	color: #1B6F93;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.55;
	margin-top: 30px;
	margin-top: 1.875rem;
}

.about__arrow {
	bottom: 0;
	left: 22px;
	left: 1.375rem;
	max-width: 54px;
	max-width: 3.375rem;
	position: absolute;
	width: 100%;
}

.breadcrumb {
	gap: 3px;
	gap: 0.1875rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #1B6F93;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 20px;
	margin-top: 1.25rem;
}

.breadcrumb--fc {
	margin-top: 0px;
	margin-top: 0rem;
	padding-top: 20px;
	padding-top: 1.25rem;
}

.breadcrumb {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex; /* 横並び */
	overflow: hidden; /* はみ出し非表示 */
	text-overflow: ellipsis; /* 省略記号「…」 */
	white-space: nowrap; /* 改行させない */
}

.breadcrumb li {
	display: inline; /* 横並び */
}

.btn {
	max-width: 552px;
	max-width: 34.5rem;
	width: 100%;
}

.btn--l {
	max-width: 710px;
	max-width: 44.375rem;
}

.btn--class {
	max-width: none;
}

.btn > a {
	background-color: #F2DB2F;
	border: 1px solid #F2DB2F;
	border-radius: 5rem;
	display: block;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: bold;
	padding-bottom: 28px;
	padding-bottom: 1.75rem;
	padding-top: 29px;
	padding-top: 1.8125rem;
	position: relative;
	text-align: center;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.btn > p {
	background-color: #F2DB2F;
	border: 1px solid #F2DB2F;
	border-radius: 5rem;
	display: block;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: bold;
	padding-bottom: 28px;
	padding-bottom: 1.75rem;
	padding-top: 29px;
	padding-top: 1.8125rem;
	position: relative;
	text-align: center;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.btn--white > a {
	background-color: #fff;
	border: 1px solid #464646;
}

.btn > a:hover {
	background-color: #464646;
	color: #F2DB2F;
	opacity: 1;
}

.btn > p:hover {
	background-color: #464646;
	color: #F2DB2F;
	opacity: 1;
}

.btn--white > a:hover {
	color: #fff;
}

.btn a svg rect {
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.btn p svg rect {
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.btn a:hover svg rect {
	fill: #F2DB2F;
}

.btn p:hover svg rect {
	fill: #F2DB2F;
}

.btn--white a:hover svg rect {
	fill: #fff;
}

.btn--white p:hover svg rect {
	fill: #fff;
}

.btn--class a {
	background-color: #1B6F93;
	border: 1px solid #1B6F93;
	color: #fff;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.btn--class a:hover {
	background-color: #fff;
	color: #1B6F93;
}

.btn > a > img,
.btn > a > svg,
.btn > p > svg {
	max-width: 12px;
	max-width: 0.75rem;
	position: absolute;
	right: 35px;
	right: 2.1875rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
}

.btn--back > a > svg {
	left: 35px;
	left: 2.1875rem;
	right: auto;
}

.btn--class a:hover svg rect {
	fill: #1B6F93;
}

.class-item {
	cursor: pointer;
	display: block;
	position: relative;
}

.class-item__title {
	color: #1B6F93;
	font-size: 42px;
	font-size: 2.625rem;
	font-weight: 700;
}

.class-item__img {
	margin-top: 32px;
	margin-top: 2rem;
}

.class-item__name {
	color: #1B6F93;
	font-size: 40px;
	font-size: 2.5rem;
	font-weight: 700;
	margin-top: 15px;
	margin-top: 0.9375rem;
}

.class-item__text {
	gap: 5px;
	gap: 0.3125rem;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.555;
	margin-top: 8px;
	margin-top: 0.5rem;
}

.class-item__text img {
	margin-top: 4px;
	margin-top: 0.25rem;
	max-width: 32px;
	max-width: 2rem;
	width: 100%;
}

.class-item__btn {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #F2DB2F;
	border-radius: 50%;
	bottom: 20px;
	bottom: 1.25rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 40px;
	height: 2.5rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 40px;
	max-width: 2.5rem;
	position: absolute;
	right: 8px;
	right: 0.5rem;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 100%;
}

.class-item:hover .class-item__btn {
	background-color: #464646;
}

.class-item__btn svg {
	max-width: 10px;
	max-width: 0.625rem;
	width: 100%;
}

.class-item__btn svg rect {
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.class-item:hover svg rect {
	fill: #F2DB2F;
}

.class-top {
	margin-top: 100px;
	margin-top: 6.25rem;
}

.class-top__title {
	text-align: center;
}

.class-top__body {
	margin-top: 60px;
	margin-top: 3.75rem;
}

.class-top__wrapper {
	margin-top: 30px;
	margin-top: 1.875rem;
}

.class-top__access {
	color: #1B6F93;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
}

.class-top__name {
	color: #1B6F93;
	font-size: 43px;
	font-size: 2.6875rem;
	font-weight: 700;
}

.class-top__address {
	color: #1B6F93;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
}

.class-top__text {
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	font-weight: 500;
	margin-top: 14px;
	margin-top: 0.875rem;
}

.class-top__btns {
	gap: 26px;
	gap: 1.625rem;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 60px;
	margin-top: 3.75rem;
}

.class-top__btn > a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.class-top__btn > a {
	padding-bottom: 18px !important;
	padding-bottom: 1.125rem !important;
	padding-top: 18px !important;
	padding-top: 1.125rem !important;
}

.class-top__btn svg {
	right: 15px !important;
	right: 0.9375rem !important;
}

.class {
	background-color: #fff;
	background-image: url(../images/top/class_sp_bg.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-top: 76px;
	margin-top: 4.75rem;
	padding-bottom: 350px;
	padding-bottom: 21.875rem;
	padding-top: 75px;
	padding-top: 4.6875rem;
	position: relative;
}

.class__title {
	text-align: center;
}

.class__subtitle {
	text-align: center;
}

.class__block {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.class__block:first-child {
	margin-top: 0;
}

.class__pref {
	color: #fff;
	color: #1B6F93;
	font-size: 36px;
	font-size: 2.25rem;
	font-weight: 700;
}

.class__item {
	position: relative;
}

.class__item p {
	color: #1B6F93;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	margin-top: 40px;
	margin-top: 2.5rem;
}

.class__btn {
	font-size: 20px;
	font-size: 1.25rem;
	margin-top: 20px;
	margin-top: 1.25rem;
}

.class__bottomBtn {
	margin-top: 70px;
	margin-top: 4.375rem;
}

.class__caption {
	bottom: -60px;
	bottom: -3.75rem;
	position: absolute;
	right: 0;
}

.contact {
	background-color: #87CEFA;
	margin-bottom: 96px;
	margin-bottom: 6rem;
	margin-top: 98px;
	margin-top: 6.125rem;
	padding-bottom: 60px;
	padding-bottom: 3.75rem;
	padding-top: 60px;
	padding-top: 3.75rem;
	position: relative;
}

.contact__title {
	color: #1B6F93;
	font-size: 44px;
	font-size: 2.75rem;
	font-weight: bold;
	text-align: center;
}

.contact__text.section-title__ja {
	font-size: 24px;
	font-size: 1.5rem;
	margin-top: 30px;
	margin-top: 1.875rem;
	text-align: center;
}

.contact__btn {
	margin-inline: auto;
	margin-top: 46px;
	margin-top: 2.875rem;
}

.course {
	margin-top: 100px;
	margin-top: 6.25rem;
}

.course__title {
	text-align: center;
}

.course__body {
	background-color: #E5F1F7;
	border: 10px solid #7CBED9;
	border: 0.625rem solid #7CBED9;
	border-radius: 1.875rem;
	margin-top: 40px;
	margin-top: 2.5rem;
	padding-bottom: 60px;
	padding-bottom: 3.75rem;
	padding-left: 35px;
	padding-left: 2.1875rem;
	padding-right: 35px;
	padding-right: 2.1875rem;
	padding-top: 40px;
	padding-top: 2.5rem;
}

.course__wrapper--last {
	margin-top: 36px;
	margin-top: 2.25rem;
}

.course__subtitle {
	color: #1B6F93;
	font-size: 45px;
	font-size: 2.8125rem;
	font-weight: 700;
	text-align: center;
}

.course__list {
	gap: 20px;
	gap: 1.25rem;
	display: grid;
	grid-template-columns: 1fr;
	margin-top: 25px;
	margin-top: 1.5625rem;
}

.course__body span {
	display: block;
	font-size: 20px;
	font-size: 1.25rem;
	text-align: right;
}

.course__head {
	background-color: #ADD8E6;
	color: #1B6F93;
	font-size: 31px;
	font-size: 1.9375rem;
	font-weight: 700;
	padding-bottom: 2px;
	padding-bottom: 0.125rem;
	padding-top: 2px;
	padding-top: 0.125rem;
	text-align: center;
}

.course__text {
	font-size: 45px;
	font-size: 2.8125rem;
	font-weight: 500;
	margin-top: 20px;
	margin-top: 1.25rem;
	text-align: center;
}

.course__wrapper--last .course__head {
	background-color: #E6CF1E;
}

.course__wrapper--last .course__text {
	font-size: 69px;
	font-size: 4.3125rem;
	font-weight: 700;
}

.cta {
	position: relative;
}

.top-cta {
	margin-top: 110px;
	margin-top: 6.875rem;
}

.about-cta {
	margin-top: 80px;
	margin-top: 5rem;
}

.classDetail-cta {
	margin-top: 150px;
	margin-top: 9.375rem;
}

.company-cta {
	margin-bottom: 100px;
	margin-bottom: 6.25rem;
	margin-top: 100px;
	margin-top: 6.25rem;
}

.cta__item {
	background-color: #fff;
	border: 6px solid #1B6F93;
	border: 0.375rem solid #1B6F93;
	border-radius: 5rem;
	padding: 70px 46px 94px;
	padding: 4.375rem 2.875rem 5.875rem;
}

.cta__item:last-child {
	margin-top: 34px;
	margin-top: 2.125rem;
}

.cta__title {
	color: #1B6F93;
	font-size: 44px;
	font-size: 2.75rem;
	font-weight: 700;
}

.cta__text {
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 35px;
	margin-top: 2.1875rem;
}

.cta__btn {
	margin-inline: auto;
	margin-top: 86px;
	margin-top: 5.375rem;
}

.faq {
	margin-top: 102px;
	margin-top: 6.375rem;
	position: relative;
}

.faq__subtitle {
	color: #1B6F93;
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: 700;
	text-align: center;
}

.faq__title {
	margin-top: 13px;
	margin-top: 0.8125rem;
	text-align: center;
}

.faq__list {
	margin-top: 54px;
	margin-top: 3.375rem;
}

.faq__question {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #F2F2F2;
	border-radius: 0.75rem;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 24px;
	margin-top: 1.5rem;
	padding: 20px 28px;
	padding: 1.25rem 1.75rem;
}

.faq__question p {
	gap: 24px;
	gap: 1.5rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #1B6F93;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	width: 100%;
}

.faq__question p span {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #1B6F93;
	border-radius: 50%;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	height: 40px;
	height: 2.5rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 40px;
	max-width: 2.5rem;
	width: 100%;
}

.faq__icon {
	color: #1B6F93;
	font-size: 40px;
	font-size: 2.5rem;
	font-weight: 300;
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.faq__answer {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: none;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 24px 28px 0px 28px;
	padding: 1.5rem 1.75rem 0rem 1.75rem;
}

.faq__answer p {
	gap: 24px;
	gap: 1.5rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	width: 100%;
}

.faq__answer p span {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #FF9E2C;
	border-radius: 50%;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	height: 40px;
	height: 2.5rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 40px;
	max-width: 2.5rem;
	width: 100%;
}

.fc-block {
	background-color: #D9F0FF;
	border-radius: 0.75rem;
	padding: 80px 40px;
	padding: 5rem 2.5rem;
}

.fc-block__title {
	color: #1B6F93;
	font-size: 36px;
	font-size: 2.25rem;
	font-weight: 700;
	text-align: center;
}

.fc-block__text {
	color: #1B6F93;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.77;
	margin-top: 30px;
	margin-top: 1.875rem;
	text-align: center;
}

.fc-block__item {
	margin-top: 30px;
	margin-top: 1.875rem;
}

.fc-block__item:first-child {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.fc-item {
	gap: 50px;
	gap: 3.125rem;
	background-color: #fff;
	border-radius: 0.75rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
	padding: 36px;
	padding: 2.25rem;
}

.fc-item__img {
	margin-top: 30px;
	margin-top: 1.875rem;
}

.fc-item__wrapper {
	max-width: 540px;
	max-width: 33.75rem;
	padding-top: 10px;
	padding-top: 0.625rem;
	width: 100%;
}

.fc-item__number {
	background-color: #1B6F93;
	border-radius: 1.875rem;
	color: #fff;
	display: inline-block;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	padding: 4px 20px;
	padding: 0.25rem 1.25rem;
	text-align: center;
}

.fc-item__title {
	color: #1B6F93;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	margin-top: 8px;
	margin-top: 0.5rem;
}

.fc-item__subtitle {
	color: #1B6F93;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	margin-top: 20px;
	margin-top: 1.25rem;
}

.fc-item__text {
	border-top: 1px solid #1C7093;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 500;
	line-height: 1.77;
	margin-top: 6px;
	margin-top: 0.375rem;
	padding-top: 6px;
	padding-top: 0.375rem;
}

.fc__hero {
	background-image: url(../images/fc/fc-hero_bg.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 90px;
	padding-bottom: 5.625rem;
	padding-left: 40px;
	padding-left: 2.5rem;
	padding-right: 40px;
	padding-right: 2.5rem;
	position: relative;
}

.fc__heroTitle {
	color: #1B6F93;
	font-size: 44px;
	font-size: 2.75rem;
	font-weight: 700;
	line-height: 1.25;
	margin-top: 90px;
	margin-top: 5.625rem;
	text-align: center;
}

.fc__heroImg {
	margin-inline: auto;
	margin-top: 50px;
	margin-top: 3.125rem;
	max-width: 710px;
	max-width: 44.375rem;
	width: 100%;
}

.fc__heroText {
	color: #1B6F93;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.555;
	margin-top: 56px;
	margin-top: 3.5rem;
	text-align: center;
}

.fc__about {
	padding-bottom: 76px;
	padding-bottom: 4.75rem;
	padding-left: 40px;
	padding-left: 2.5rem;
	padding-right: 40px;
	padding-right: 2.5rem;
	padding-top: 85px;
	padding-top: 5.3125rem;
	position: relative;
}

.fc__aboutTitle {
	text-align: center;
}

.fc__aboutImg {
	margin-inline: auto;
	margin-top: 30px;
	margin-top: 1.875rem;
	max-width: 780px;
	max-width: 48.75rem;
	width: 100%;
}

.fc__aboutText {
	color: #1B6F93;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.555;
	margin-top: 50px;
	margin-top: 3.125rem;
	text-align: center;
}

.data {
	background-color: #D8F0FF;
	position: relative;
}

.data__inner {
	padding-bottom: 80px;
	padding-bottom: 5rem;
	padding-top: 80px;
	padding-top: 5rem;
}

.data__title {
	text-align: center;
}

.data__body {
	margin-top: 84px;
	margin-top: 5.25rem;
}

.data__item {
	background-color: #fff;
	border-radius: 1.875rem;
	min-height: 610px;
	min-height: 38.125rem;
	padding: 40px;
	padding: 2.5rem;
}

.data__item--bottom {
	margin-top: 60px;
	margin-top: 3.75rem;
}

.data__itemTitle {
	color: #1B6F93;
	font-size: 36px;
	font-size: 2.25rem;
	font-weight: 700;
	text-align: center;
}

.data__img {
	margin-top: 30px;
	margin-top: 1.875rem;
}

.data__item--bottom .data__img {
	max-width: 500px;
	max-width: 31.25rem;
}

.data__text {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.777;
	margin-top: 40px;
	margin-top: 2.5rem;
}

.fc__feature {
	margin-top: 102px;
	margin-top: 6.375rem;
	position: relative;
}

.fc__featureTitle {
	text-align: center;
}

.fc__featureBody {
	margin-top: 50px;
	margin-top: 3.125rem;
}

.map {
	margin-top: 102px;
	margin-top: 6.375rem;
	padding-left: 40px;
	padding-left: 2.5rem;
	padding-right: 40px;
	padding-right: 2.5rem;
	position: relative;
}

.map__title {
	text-align: center;
}

.map__text {
	color: #fff;
	color: #1B6F93;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.77;
	margin-top: 30px;
	margin-top: 1.875rem;
	text-align: center;
}

.map__img {
	margin-inline: auto;
	margin-top: 56px;
	margin-top: 3.5rem;
	max-width: 740px;
	max-width: 46.25rem;
	width: 100%;
}

.fc__flow {
	margin-top: 102px;
	margin-top: 6.375rem;
	padding-left: 40px;
	padding-left: 2.5rem;
	padding-right: 40px;
	padding-right: 2.5rem;
	position: relative;
}

.fc__flowTitle {
	text-align: center;
}

.fc__flowText {
	color: #1B6F93;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.355;
	margin-top: 60px;
	margin-top: 3.75rem;
	text-align: center;
}

.fc__flowWrapper {
	overflow: auto;
}

.fc__flowImg {
	margin-inline: auto;
	margin-top: 60px;
	margin-top: 3.75rem;
	width: 1080px;
	width: 67.5rem;
}

.fc__flowIcon {
	bottom: -70px;
	bottom: -4.375rem;
	max-width: 35px;
	max-width: 2.1875rem;
	position: absolute;
	right: 50px;
	right: 3.125rem;
	width: 100%;
}

.features-item {
	padding-top: 32px;
	padding-top: 2rem;
	position: relative;
}

.features-item__catch {
	-webkit-text-stroke: 2px #fff;
	color: transparent;
	font-size: 50px;
	font-size: 3.125rem;
	font-weight: 700;
	left: 50%;
	position: absolute;
	top: 32px;
	top: 2rem;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.features-item__title {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: 700;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	left: 50%;
	line-height: 1.8;
	position: absolute;
	text-orientation: upright;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.features {
	margin-top: 70px;
	margin-top: 4.375rem;
}

.features__body {
	background-color: #F2DB2F;
	margin-right: calc(50% - 50vw);
	margin-top: 43px;
	margin-top: 2.6875rem;
	padding-bottom: 50px;
	padding-bottom: 3.125rem;
	padding-left: 175px;
	padding-left: 10.9375rem;
	padding-top: 150px;
	padding-top: 9.375rem;
	position: relative;
}

.features__catch {
	-webkit-text-stroke: 2px #fff;
	color: transparent;
	font-size: 104px;
	font-size: 6.5rem;
	font-weight: 700;
	left: 0;
	position: absolute;
	top: 10px;
	top: 0.625rem;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.features__head {
	margin-top: 66px;
	margin-top: 4.125rem;
}

.features__title {
	text-align: center;
}

.features .swiper-button-next {
	max-width: 36px;
	max-width: 2.25rem;
	right: 50px;
	right: 3.125rem;
	top: 70px;
	top: 4.375rem;
	width: 100%;
	z-index: 1;
}

.features .swiper-button-prev {
	left: auto;
	max-width: 36px;
	max-width: 2.25rem;
	right: 120px;
	right: 7.5rem;
	top: 70px;
	top: 4.375rem;
	width: 100%;
	z-index: 1;
}

.footer {
	background-image: url(../images/common/footer_bg.png);
	background-repeat: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.footer__inner {
	padding-bottom: 44px;
	padding-bottom: 2.75rem;
	padding-top: 100px;
	padding-top: 6.25rem;
}

.footer__body {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

.footer__logo {
	margin-inline: auto;
	margin-top: 30px;
	margin-top: 1.875rem;
	max-width: 268px;
	max-width: 16.75rem;
	width: 100%;
}

.footer__link:first-child {
	margin-top: 40px;
	margin-top: 2.5rem;
	text-align: center;
}

.footer__link a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 500;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.footer__link a img {
	display: block;
	margin-left: 8px;
	margin-left: 0.5rem;
	max-width: 20px;
	max-width: 1.25rem;
	width: 100%;
}

.footer__link:last-child {
	margin-top: 16px;
	margin-top: 1rem;
}

.footer__list {
	-moz-column-gap: 3.125rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-column-gap: 3.125rem;
	column-gap: 3.125rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.footer__item {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0;
	margin-top: 28px;
	margin-top: 1.75rem;
	padding-left: 50px;
	padding-left: 3.125rem;
}

.footer__right {
	max-width: 256px;
	max-width: 16rem;
	width: 100%;
}

.footer__btn > a {
	color: #fff;
	display: block;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	padding-bottom: 23px;
	padding-bottom: 1.4375rem;
	padding-top: 23px;
	padding-top: 1.4375rem;
	text-align: center;
}

.footer__btn:first-child > a {
	background-color: #4A91DE;
}

.footer__btn:last-child {
	margin-top: 24px;
	margin-top: 1.5rem;
}

.footer__btn:last-child > a {
	background-color: #7AC2C9;
}

.footer__copyright {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 500;
	margin-top: 70px;
	margin-top: 4.375rem;
	text-align: center;
}

.form {
	margin-bottom: 100px;
	margin-bottom: 6.25rem;
	margin-top: 100px;
	margin-top: 6.25rem;
}

.form__item label {
	display: block;
	font-weight: bold;
	margin-top: 32px;
	margin-top: 2rem;
}

.form__textarea label {
	font-weight: bold;
}

.form__title {
	gap: 30px;
	gap: 1.875rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	width: 100%;
}

.must {
	background-color: #FD5656;
	border-radius: 0.25rem;
	color: #fff;
	display: inline-block;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
	padding: 10px;
	padding: 0.625rem;
}

.form__item .wpcf7-form-control-wrap {
	border: 1px solid #AAAAAA;
	border-radius: 0.5rem;
	display: block;
	font-size: 28px;
	font-size: 1.75rem;
	margin-top: 20px;
	margin-top: 1.25rem;
	padding: 6px;
	padding: 0.375rem;
	width: 100%;
}

.form__textarea {
	margin-top: 32px;
	margin-top: 2rem;
}

.form__textarea .wpcf7-form-control-wrap {
	font-size: 28px;
	font-size: 1.75rem;
	margin-top: 20px;
	margin-top: 1.25rem;
	width: 100%;
}

.form__textarea textarea {
	background-color: #fff;
	border: 1px solid #AAAAAA;
	border-radius: 0.5rem;
	display: block;
	font-weight: 700;
	margin-top: 20px;
	margin-top: 1.25rem;
	padding: 8px 8px;
	padding: 0.5rem 0.5rem;
	width: 100%;
}

.form__text {
	font-size: 22px;
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.28;
	margin-top: 55px;
	margin-top: 3.4375rem;
	text-align: center;
}

.form__check {
	font-size: 22px;
	font-size: 1.375rem;
}

.form__check label {
	gap: 16px;
	gap: 1rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.form__check a {
	color: #445EEB;
	text-decoration: underline;
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	bottom: -24px;
	bottom: -1.5rem;
	left: 0;
	position: absolute;
}

.form__btn {
	margin-inline: auto;
	margin-top: 40px;
	margin-top: 2.5rem;
	max-width: 400px;
	max-width: 25rem;
	width: 100%;
}

.form--confirm .form__btn {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.form__btn input,
.form__btn button {
	color: #464646;
	display: block;
	font-weight: bold;
	text-align: center;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 100%;
}

.form__btn:hover input {
	color: #F2DB2F;
}

.wpcf7-spinner {
	display: none;
}

.form__back {
	font-size: 32px;
	font-size: 2rem;
	font-weight: bold;
	margin-top: 20px;
	margin-top: 1.25rem;
	text-align: center;
}

.form__back input {
	text-decoration: underline;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.form__back input:hover {
	text-decoration: none;
}

.form--confirm .form__item label,
.form--confirm .form__textarea label {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

input[type=checkbox] {
	-webkit-appearance: auto !important;
	-moz-appearance: auto !important;
	appearance: auto !important;
	display: inline-block !important;
	opacity: 1 !important;
	position: relative !important;
}

.form__check {
	margin-top: 32px;
	margin-top: 2rem;
	text-align: center;
}

.form__radio {
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
}

.form__radio .wpcf7-list-item {
	margin: 0;
}

.form__radio input[type=radio] {
	opacity: 0;
	position: absolute;
	visibility: hidden;
}

.form__radio .wpcf7-list-item.first {
	margin-left: 0;
}

.form__radio span.wpcf7-list-item-label {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
}

.form__radio span.wpcf7-list-item-label::before {
	border: 1px solid #464646;
	border-radius: 50%;
	content: "";
	display: block;
	height: 23px;
	height: 1.4375rem;
	margin-right: 10px;
	width: 23px;
	width: 1.4375rem;
}

.form__radio span.wpcf7-list-item-label::after {
	background-color: #87CEFA;
	border-radius: 50%;
	content: "";
	display: block;
	display: none;
	height: 17px;
	height: 1.0625rem;
	left: 3px;
	left: 0.1875rem;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 17px;
	width: 1.0625rem;
}

.form__radio input[type=radio]:checked + span.wpcf7-list-item-label::after {
	display: block;
}

input[type=checkbox] {
	border: 1px solid #AAAAAA;
	border-radius: 0.25rem;
	height: 20px;
	height: 1.25rem;
	width: 20px;
	width: 1.25rem;
}

.form input {
	font-size: 24px;
	font-size: 1.5rem;
}

.form textarea {
	font-size: 24px;
	font-size: 1.5rem;
}

.wpcf7-not-valid-tip {
	bottom: -40px;
	bottom: -2.5rem;
}

.hamburger {
	background-color: #1B6F93;
	height: 92px;
	height: 5.75rem;
	position: relative;
	width: 100px;
	width: 6.25rem;
	z-index: 25000;
}

.hamburger.is-active {
	background-color: transparent;
}

.hamburger span {
	background-color: #fff;
	height: 6px;
	height: 0.375rem;
	left: 50%;
	position: absolute;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 68px;
	width: 4.25rem;
}

.hamburger span:nth-child(1) {
	top: 25px;
	top: 1.5625rem;
}

.hamburger span:nth-child(2) {
	top: 43px;
	top: 2.6875rem;
}

.hamburger span:nth-child(3) {
	bottom: 25px;
	bottom: 1.5625rem;
}

.hamburger.is-active span:nth-child(1) {
	background-color: #464646;
	height: 8px;
	height: 0.5rem;
	left: 20%;
	top: 45%;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 50px;
	width: 3.125rem;
}

.hamburger.is-active span:nth-child(2) {
	opacity: 0;
	top: 51%;
}

.hamburger.is-active span:nth-child(3) {
	background-color: #464646;
	height: 8px;
	height: 0.5rem;
	left: 20%;
	top: 45%;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 50px;
	width: 3.125rem;
}

.header {
	height: 92px;
	height: 5.75rem;
	left: 0;
	position: relative;
	position: fixed;
	right: 0;
	top: 0;
	-webkit-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
	width: 100%;
	z-index: 10;
}

.header__pc-nav {
	max-width: 830px;
	max-width: 51.875rem;
	width: 100%;
}

.header__inner {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: inherit;
	position: relative;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.header__title {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 274px;
	max-width: 17.125rem;
	width: 100%;
}

.header__logo {
	display: block;
	max-width: 230px;
	max-width: 14.375rem;
	position: relative;
	width: 100%;
	z-index: 5000;
}

.header__logo img {
	max-width: 230px;
	max-width: 14.375rem;
	width: 100%;
}

.header__drawer {
	position: fixed;
	right: 0px;
	right: 0rem;
	top: 0px;
	top: 0rem;
}

.history {
	margin-top: 100px;
	margin-top: 6.25rem;
}

.history__title {
	text-align: center;
}

.history__table {
	margin-inline: auto;
	max-width: 650px;
	max-width: 40.625rem;
	position: relative;
	width: 100%;
}

.history__table::after {
	background-image: url(../images/company/history_line.svg);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	height: 94%;
	left: 190px;
	left: 11.875rem;
	position: absolute;
	top: 4%;
	width: 0px;
	z-index: 1;
}

.history__table > dl {
	margin-top: 55px;
	margin-top: 3.4375rem;
}

.history__table > dl:first-child {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.history__table > dl > dt {
	color: #1B6F93;
	font-size: 40px;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0;
}

.history__table > dl > dd {
	margin-top: 20px;
	margin-top: 1.25rem;
	width: 100%;
}

.history__table > dl > dd > dl {
	gap: 100px;
	gap: 6.25rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	width: 100%;
}

.history__table > dl > dd > dl::before {
	border-radius: 50%;
	content: "";
	height: 24px;
	height: 1.5rem;
	left: 70px;
	left: 4.375rem;
	position: absolute;
	top: 15%;
	width: 24px;
	width: 1.5rem;
	z-index: 10;
}

.history__table > dl.blue > dd > dl::before {
	background-color: #7CBED9;
}

.history__table > dl > dd > dl.blue::before {
	background-color: #7CBED9;
}

.history__table > dl.yellow > dd > dl::before {
	background-color: #F2DB2F;
}

.history__table > dl > dd > dl.yellow::before {
	background-color: #F2DB2F;
}

.history__table > dl > dd > dl > dt {
	color: #1B6F93;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	width: 10%;
}

.history__table > dl > dd > dl > dd {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	width: 100%;
}

.instagram {
	margin-top: 280px;
	margin-top: 17.5rem;
}

.instagram__inner {
	position: relative;
}

.instagram__catch {
	-webkit-text-stroke: 2px #E6CF1E;
	color: transparent;
	font-size: 213px;
	font-size: 13.3125rem;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	right: 0;
	top: 0;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.instagram__top {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.instagram__img {
	max-width: 167px;
	max-width: 10.4375rem;
	position: relative;
	width: 100%;
	z-index: 5;
}

.instructor-item {
	gap: 10px;
	gap: 0.625rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: cover;
	border: 4px solid #1B6F93;
	border: 0.25rem solid #1B6F93;
	border-radius: 0.625rem;
	border-radius: 3.125rem;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.instructor-item__wrapper {
	max-width: 535px;
	max-width: 33.4375rem;
	padding-top: 6px;
	padding-top: 0.375rem;
	width: 100%;
}

.instructor-item__name {
	font-size: 32px;
	font-size: 2rem;
	font-weight: bold;
}

.instructor-item__kana {
	font-size: 32px;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
}

.instructor-item__text {
	-webkit-line-clamp: 2; /* ← 最大2行まで表示 */
	-webkit-box-orient: vertical;
	display: -webkit-box;
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.15;
	margin-top: 5px;
	margin-top: 0.3125rem;
	overflow: hidden;
	text-overflow: ellipsis;
}

.instructor-item__img {
	max-width: 134px;
	max-width: 8.375rem;
	position: relative;
	width: 100%;
}

.instructor-item__img::before {
	content: "";
	display: block;
	padding-top: 123.48434129%;
}

.instructor-item__img img {
	-o-object-fit: cover;
	-o-object-position: center;
	border-radius: 3.125rem 0 0 3.125rem;
	height: 100%;
	left: 50%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
}

#instructor-modal {
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}

#instructor-modal .modal-overlay {
	background: rgba(0, 0, 0, .7);
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

#instructor-modal .modal-content {
	background: #fff;
	border: 4px solid #1B6F93;
	border: 0.25rem solid #1B6F93;
	border-radius: 3.125rem;
	left: 50%;
	max-width: 700px;
	max-width: 43.75rem;
	padding: 60px 55px 65px;
	padding: 3.75rem 3.4375rem 4.0625rem;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 90%;
}

#instructor-modal .modal-close {
	cursor: pointer;
	font-size: 74px;
	font-size: 4.625rem;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	right: 36px;
	right: 2.25rem;
	top: 0px;
	top: 0rem;
}

.modal__head {
	gap: 40px;
	gap: 2.5rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.modal__img {
	max-width: 142px;
	max-width: 8.875rem;
	position: relative;
	width: 100%;
}

.modal__img::before {
	content: "";
	display: block;
	padding-top: 139.43661972%;
}

.modal__img img {
	-o-object-fit: cover;
	-o-object-position: center;
	height: 100%;
	left: 50%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
}

.modal__class {
	background-color: #1B6F93;
	color: #fff;
	display: inline-block;
	font-size: 19px;
	font-size: 1.1875rem;
	font-weight: 700;
	padding: 8px 18px;
	padding: 0.5rem 1.125rem;
	text-align: center;
}

.modal__name {
	font-size: 25px;
	font-size: 1.5625rem;
	font-weight: 700;
	margin-top: 48px;
	margin-top: 3rem;
}

.modal__kana {
	font-size: 25px;
	font-size: 1.5625rem;
	font-weight: 700;
}

.modal__hobby {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.94;
	margin-top: 30px;
	margin-top: 1.875rem;
}

.modal__policy {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.94;
}

.instructor {
	position: relative;
}

.instructor__inner {
	padding-bottom: 84px;
	padding-bottom: 5.25rem;
	padding-top: 214px;
	padding-top: 13.375rem;
}

.instructor__items {
	margin-top: 36px;
	margin-top: 2.25rem;
}

.instructor__item {
	margin-top: 20px;
	margin-top: 1.25rem;
}

.instructor__head {
	text-align: center;
}

.instructor__subtitle.section-title__ja {
	font-size: 28px;
	font-size: 1.75rem;
}

.instructor__attention {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 500;
	margin-top: 20px;
	margin-top: 1.25rem;
}

.introduction-item {
	background-color: #fff;
	border: 10px solid #1B6F93;
	border: 0.625rem solid #1B6F93;
	border-radius: 1.875rem;
	padding-bottom: 50px;
	padding-bottom: 3.125rem;
	padding-left: 26px;
	padding-left: 1.625rem;
	padding-right: 26px;
	padding-right: 1.625rem;
	padding-top: 135px;
	padding-top: 8.4375rem;
	position: relative;
}

.introduction-item__img {
	left: 50%;
	max-width: 200px;
	max-width: 12.5rem;
	position: absolute;
	top: -100px;
	top: -6.25rem;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100%;
}

.introduction-item__title {
	color: #1B6F93;
	font-size: 40px;
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
}

.introduction-item__year {
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 500;
	margin-top: 20px;
	margin-top: 1.25rem;
	text-align: center;
}

.introduction-item__text { /* 背景に線を繰り返す */
	background-image: repeating-linear-gradient(to bottom, #1B6F93, #1B6F93 1px, transparent 1px, transparent calc(2.44em - 1px));
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 500;
	line-height: 2.44;
	margin-top: 20px;
	margin-top: 1.25rem;
}

.introduction-item__ex {
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 500;
	margin-top: 20px;
	margin-top: 1.25rem;
	text-align: center;
}

.introduction__inner {
	padding-bottom: 100px;
	padding-bottom: 6.25rem;
	padding-top: 102px;
	padding-top: 6.375rem;
}

.introduction__title {
	text-align: center;
}

.introduction__list {
	margin-top: 120px;
	margin-top: 7.5rem;
}

.introduction__item {
	margin-top: 110px;
	margin-top: 6.875rem;
}

.lesson {
	background-image: url(../images/top/lesson_bg.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 266% 100%;
	margin-top: -280px;
	margin-top: -17.5rem;
	padding-bottom: 144px;
	padding-bottom: 9rem;
	padding-top: 160px;
	padding-top: 10rem;
	position: relative;
}

.lesson__inner {
	position: relative;
}

.lesson__title {
	text-align: center;
}

.lesson__movie {
	margin-inline: auto;
	margin-top: 42px;
	margin-top: 2.625rem;
	max-width: 864px;
	max-width: 54rem;
	width: 100%;
}

.lesson__movie video {
	border-radius: 1.875rem;
	display: block;
	height: auto;
	width: 100%;
}

.lesson__cta {
	background-color: #fff;
	border: 10px solid #7CBED9;
	border: 0.625rem solid #7CBED9;
	border-radius: 10.625rem;
	margin-top: 60px;
	margin-top: 3.75rem;
	padding: 75px 80px 65px;
	padding: 4.6875rem 5rem 4.0625rem;
}

.lesson__cta-title {
	color: #1B6F93;
	font-size: 44px;
	font-size: 2.75rem;
	font-weight: bold;
}

.lesson__cta-text {
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 10px;
	margin-top: 0.625rem;
}

.lesson__btn {
	margin-top: 36px;
	margin-top: 2.25rem;
}

.lesson__catch {
	-webkit-text-stroke: 2px #F2DB2F;
	bottom: 0;
	color: transparent;
	font-size: 46px;
	font-size: 2.875rem;
	font-weight: 700;
	left: 50%;
	line-height: 1.3;
	position: absolute;
	-webkit-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.line-cta {
	background-color: #87CEFA;
	margin-bottom: 102px;
	margin-bottom: 6.375rem;
	margin-top: 102px;
	margin-top: 6.375rem;
	padding-bottom: 75px;
	padding-bottom: 4.6875rem;
	padding-top: 48px;
	padding-top: 3rem;
	position: relative;
}

.line-cta__body {
	background-color: #fff;
	background-color: #fff;
	border: 10px solid #7CBED9;
	border: 0.625rem solid #7CBED9;
	border-radius: 7.5rem;
	padding: 40px 60px;
	padding: 2.5rem 3.75rem;
}

.line-cta__title {
	color: #1B6F93;
	font-size: 44px;
	font-size: 2.75rem;
	font-weight: 700;
}

.line-cta__text {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 5px;
	margin-top: 0.3125rem;
}

.line-cta__btn {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.btn--green a {
	background-color: #02B902;
	border: 1px solid #02B902;
	color: #fff;
}

.btn--green a:hover {
	background-color: #fff;
	color: #02B902;
}

.btn--green a:hover svg rect {
	fill: #02B902;
}

.mv {
	position: relative;
}

.mv::before {
	background-image: url(../images/top/mv_bg_sp_01.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	height: 1349px;
	height: 84.3125rem;
	left: -550px;
	left: -34.375rem;
	position: absolute;
	top: -865px;
	top: -54.0625rem;
	width: 1387px;
	width: 86.6875rem;
	z-index: -2;
}

.mv::after {
	background-image: url(../images/top/mv_bg_sp_02.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	height: 1349px;
	height: 84.3125rem;
	left: 0px;
	left: 0rem;
	position: absolute;
	top: 0px;
	top: 0rem;
	width: 1387px;
	width: 86.6875rem;
	width: 100%;
	z-index: -3;
}

.mv__inner {
	position: relative;
}

.mv__title {
	margin-left: auto;
	max-width: 700px;
	max-width: 43.75rem;
	padding-top: 400px;
	padding-top: 25rem;
	position: relative;
	width: 100%;
	z-index: 5;
}

.mv__item {
	position: absolute;
}

.mv__item--01 {
	left: -50px;
	left: -3.125rem;
	max-width: 250px;
	max-width: 15.625rem;
	top: 340px;
	top: 21.25rem;
	width: 100%;
	z-index: 2;
}

.mv__item--02 {
	left: 70px;
	left: 4.375rem;
	max-width: 300px;
	max-width: 18.75rem;
	top: 120px;
	top: 7.5rem;
	width: 100%;
	z-index: 1;
}

.mv__item--03 {
	max-width: 240px;
	max-width: 15rem;
	right: 170px;
	right: 10.625rem;
	top: 168px;
	top: 10.5rem;
	width: 100%;
}

.mv__item--04 {
	max-width: 260px;
	max-width: 16.25rem;
	right: -70px;
	right: -4.375rem;
	top: 145px;
	top: 9.0625rem;
	width: 100%;
}

.news {
	margin-top: 285px;
	margin-top: 17.8125rem;
	position: relative;
}

.news__title {
	text-align: center;
}

.news__list {
	border-bottom: 1px solid #707070;
	margin-top: 40px;
	margin-top: 2.5rem;
}

.news__link {
	margin-top: 30px;
	margin-top: 1.875rem;
}

.news__link a {
	gap: 10px;
	gap: 0.625rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #1B6F93;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.news__link img {
	max-width: 12px;
	max-width: 0.75rem;
	width: 100%;
}

.news-item {
	gap: 30px;
	gap: 1.875rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-top: 1px solid #707070;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-bottom: 20px;
	padding-bottom: 1.25rem;
	padding-top: 20px;
	padding-top: 1.25rem;
}

.news-item__date {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 500;
}

.news-item__cate {
	background-color: #1B6F93;
	border-radius: 1.875rem;
	color: #fff;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
	margin-top: 18px;
	margin-top: 1.125rem;
	padding: 3px 12px;
	padding: 0.1875rem 0.75rem;
	text-align: center;
}

.news-item__info {
	max-width: 144px;
	max-width: 9rem;
	width: 100%;
}

.news-item__title {
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 500;
}

.owner {
	margin-top: 102px;
	margin-top: 6.375rem;
	position: relative;
}

.owner__title {
	text-align: center;
}

.owner__img {
	margin-inline: auto;
	margin-top: 56px;
	margin-top: 3.5rem;
	max-width: 740px;
	max-width: 46.25rem;
	width: 100%;
}

.owner__img iframe {
	aspect-ratio: 740/423;
	height: auto;
}

.owner__btns {
	margin-top: 56px;
	margin-top: 3.5rem;
}

.owner__btn {
	margin-inline: auto;
	background-color: #fff;
	border: 6px solid #1B6F93;
	border: 0.375rem solid #1B6F93;
	border-radius: 5rem;
	padding: 32px 32px;
	padding: 2rem 2rem;
	width: 100%;
}

.owner__btn--note {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.owner__btn a {
	gap: 20px;
	gap: 1.25rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: space-evenly;
	-ms-flex-pack: space-evenly;
	justify-content: space-evenly;
}

.owner__btn--youtube img {
	max-width: 67px;
	max-width: 4.1875rem;
	width: 100%;
}

.owner__btn--note img {
	max-width: 100px;
	max-width: 6.25rem;
	width: 100%;
}

.owner__btn p {
	color: #1B6F93;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.5;
}

.owner__btn div {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #F2DB2F;
	border-radius: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 58px;
	height: 3.625rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 58px;
	max-width: 3.625rem;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 100%;
}

.owner__btn a:hover div {
	background-color: #464646;
}

.owner__btn div svg {
	max-width: 10px;
	max-width: 0.625rem;
	width: 100%;
}

.owner__btn a div svg rect {
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.owner__btn a:hover div svg rect {
	fill: #F2DB2F;
}

.pc-nav {
	display: none;
}

.pc-nav__link {
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 500;
	max-width: 180px;
	max-width: 11.25rem;
	width: 100%;
}

.pc-nav__link--last {
	font-size: 14px;
	font-size: 0.875rem;
	margin-left: 10px;
	margin-left: 0.625rem;
	margin-right: 10px;
	margin-right: 0.625rem;
	max-width: 110px;
	max-width: 6.875rem;
	width: 100%;
}

.pc-nav__link a {
	gap: 8px;
	gap: 0.5rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.pc-nav__link a img {
	max-width: 20px;
	max-width: 1.25rem;
	width: 100%;
}

.pc-nav__btn {
	background-color: #4A91DE;
	color: #fff;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	max-width: 230px;
	max-width: 14.375rem;
	text-align: center;
	width: 100%;
}

.pc-nav__btn a {
	display: block;
	padding-bottom: 6px;
	padding-bottom: 0.375rem;
	padding-top: 6px;
	padding-top: 0.375rem;
}

.pc-nav__btn:last-child {
	background-color: #7AC2C9;
}

.pc-nav__items {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.pc-nav__item a {
	cursor: pointer;
	display: block;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	padding-bottom: 16px;
	padding-bottom: 1rem;
	padding-top: 16px;
	padding-top: 1rem;
}

.pc-nav__top {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.pc-nav__bottom {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-left: 50px;
	padding-left: 3.125rem;
}

.price {
	background-color: #D8F0FF;
	position: relative;
}

.price__inner {
	padding-bottom: 100px;
	padding-bottom: 6.25rem;
	padding-top: 100px;
	padding-top: 6.25rem;
}

.price__title {
	text-align: center;
}

.price__table {
	margin-top: 30px;
	margin-top: 1.875rem;
	width: 100%;
}

.price__table tr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
}

.price__table td:first-child {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #1B6F93;
	border: 1px solid #fff;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 36px;
	font-size: 2.25rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-bottom: 30px;
	padding-bottom: 1.875rem;
	padding-top: 30px;
	padding-top: 1.875rem;
	text-align: center;
	width: 100%;
}

.price__table td:last-child {
	background-color: #fff;
	border: 1px solid #7CBED9;
	display: block;
	font-size: 30px;
	font-size: 1.875rem;
	padding-bottom: 30px;
	padding-bottom: 1.875rem;
	padding-left: 27px;
	padding-left: 1.6875rem;
	padding-right: 27px;
	padding-right: 1.6875rem;
	padding-top: 30px;
	padding-top: 1.875rem;
	width: 100%;
}

.price__table td span {
	font-weight: 700;
}

.privacy__inner {
	padding-bottom: 100px;
	padding-bottom: 6.25rem;
	padding-top: 250px;
	padding-top: 15.625rem;
}

.privacy__title {
	font-size: 48px;
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
}

.privacy__text {
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 500;
	line-height: 1.73;
	margin-top: 55px;
	margin-top: 3.4375rem;
}

.privacy__item {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.privacy__item h3 {
	font-size: 36px;
	font-size: 2.25rem;
	font-weight: 700;
}

.privacy__item p {
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 500;
	line-height: 1.73;
	margin-top: 18px;
	margin-top: 1.125rem;
}

.privacy__item ul li {
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 500;
	margin-top: 12px;
	margin-top: 0.75rem;
}

.privacy__info {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.privacy__info p {
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.73;
}

.privacy__link {
	margin-top: 80px;
	margin-top: 5rem;
	text-align: right;
}

.privacy__link a {
	color: #1B6F93;
	font-size: 36px;
	font-size: 2.25rem;
	font-weight: 700;
}

.profile {
	margin-top: 100px;
	margin-top: 6.25rem;
}

.profile__title {
	text-align: center;
}

.profile__table {
	margin-top: 8px;
	margin-top: 0.5rem;
}

.profile__table dl {
	border-bottom: 1px solid #A8D4E1;
	padding-bottom: 32px;
	padding-bottom: 2rem;
	padding-top: 32px;
	padding-top: 2rem;
}

.profile__table dt {
	color: #1B6F93;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	width: 100%;
}

.profile__table dd {
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	margin-top: 20px;
	margin-top: 1.25rem;
	width: 100%;
}

.program {
	background-color: #D8F0FF;
	margin-top: 120px;
	margin-top: 7.5rem;
	position: relative;
}

.program__inner {
	padding-bottom: 95px;
	padding-bottom: 5.9375rem;
	padding-top: 90px;
	padding-top: 5.625rem;
}

.program__title {
	text-align: center;
}

.program__body {
	gap: 74px;
	gap: 4.625rem;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	margin-top: 40px;
	margin-top: 2.5rem;
}

.program__itemTitle {
	color: #1B6F93;
	font-size: 40px;
	font-size: 2.5rem;
	font-weight: 700;
	margin-top: 38px;
	margin-top: 2.375rem;
}

.program__itemText {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.555;
	margin-top: 20px;
	margin-top: 1.25rem;
}

.program__itemText span {
	font-size: 24px;
	font-size: 1.5rem;
}

.schedule {
	background-color: #EFFAFF;
	margin-top: 100px;
	margin-top: 6.25rem;
}

.schedule__inner {
	padding-bottom: 100px;
	padding-bottom: 6.25rem;
	padding-top: 95px;
	padding-top: 5.9375rem;
}

.schedule__title {
	text-align: center;
}

.schedule__text {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 40px;
	margin-top: 2.5rem;
}

.schedule__tabWrapper {
	overflow: auto;
}

.schedule__tab {
	gap: 2px;
	gap: 0.125rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	margin-top: 40px;
	margin-top: 2.5rem;
	width: 1000px;
	width: 62.5rem;
}

.schedule__tab-btn {
	gap: 8px;
	gap: 0.5rem;
	background: #A8D4E1;
	border-radius: 1.875rem 1.875rem 0 0;
	cursor: pointer;
	padding: 12px 10px 12px 15px;
	padding: 0.75rem 0.625rem 0.75rem 0.9375rem;
}

.schedule__tab-btn.active {
	background: #F2DB2F;
}

.schedule__tab-img {
	margin-inline: auto;
	max-width: 78px;
	max-width: 4.875rem;
	width: 100%;
}

.schedule__tab-wrapper {
	margin-top: 10px;
	margin-top: 0.625rem;
}

.schedule__tab-title {
	color: #1B6F93;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	margin-top: 15px;
	margin-top: 0.9375rem;
	text-align: center;
}

.schedule__tab-title--small {
	font-size: 32px;
	font-size: 2rem;
}

.schedule__tab-text {
	color: #1B6F93;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	margin-top: 10px;
	margin-top: 0.625rem;
	text-align: center;
}

.schedule__panel {
	display: none;
}

.schedule__panel.active {
	display: block;
}

.schedule__table {
	overflow: auto;
}

.tablepress {
	border-collapse: separate !important;
	border-spacing: 18px !important;
	border-spacing: 1.125rem !important;
	width: 1000px !important;
	width: 62.5rem !important;
}

.tablepress > :where(thead,
tfoot) > tr > * {
	background-color: transparent !important;
}

.tablepress > :where(thead) + tbody > :where(:not(.child)) > *,
.tablepress > tbody > * ~ :where(:not(.child)) > *,
.tablepress > tfoot > :where(:first-child) > * {
	border: none !important;
}

.tablepress caption {
	display: none;
}

.tablepress .column-1 {
	background-color: transparent !important;
}

.tablepress th {
	color: #1B6F93 !important;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	text-align: center !important;
	width: 12.5%;
}

.tablepress td {
	background-color: #A8D4E1 !important;
	color: #1B6F93 !important;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	padding: 0 !important;
	text-align: center !important;
	width: 12.5%;
}

.tablepress .active {
	font-size: 24px;
	font-size: 1.5rem;
	height: inherit;
	position: relative;
	width: 100%;
}

.tablepress td:has(.active) {
	background-color: #F2DB2F !important;
}

.tablepress .other {
	color: #707070;
	display: inline;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 500;
	height: inherit;
	position: relative;
	width: 100%;
}

.tablepress td:has(.other) {
	background-color: #D8D8D8 !important;
}

.schedule__bottom {
	margin-top: 20px;
	margin-top: 1.25rem;
}

.schedule__bottomTitle {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
}

.schedule__bottomText {
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 500;
	line-height: 1.555;
}

.schedule__content {
	position: relative;
}

.schedule__icon.u-mobile {
	gap: 15px;
	gap: 0.9375rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: end;
	position: absolute;
	right: 0;
	top: -20px;
	top: -1.25rem;
	width: 100%;
}

.schedule__icon img {
	max-width: 20px;
	max-width: 1.25rem;
}

.section-title__en {
	color: #1B6F93;
	font-size: 50px;
	font-size: 3.125rem;
	font-weight: bold;
	position: relative;
}

.section-title__ja {
	color: #1B6F93;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: bold;
	position: relative;
}

.simu {
	background-color: #D9F0FF;
	margin-top: 102px;
	margin-top: 6.375rem;
	padding-bottom: 80px;
	padding-bottom: 5rem;
	padding-top: 80px;
	padding-top: 5rem;
	position: relative;
}

.simu__title {
	font-size: 44px;
	font-size: 2.75rem;
	text-align: center;
}

.simu__price {
	background-color: #fff;
	margin-top: 56px;
	margin-top: 3.5rem;
	padding: 30px 42px 27px;
	padding: 1.875rem 2.625rem 1.6875rem;
}

.simu__priceItem {
	margin-top: 30px;
	margin-top: 1.875rem;
}

.simu__price h3 {
	background-color: #7CBED9;
	color: #fff;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	padding-bottom: 10px;
	padding-bottom: 0.625rem;
	padding-top: 10px;
	padding-top: 0.625rem;
	text-align: center;
}

.simu__price p {
	color: #1B6F93;
	font-size: 36px;
	font-size: 2.25rem;
	font-weight: 700;
	margin-top: 23px;
	margin-top: 1.4375rem;
	text-align: center;
}

.simu__price p span {
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
}

.simu__subtitle {
	color: #1B6F93;
	font-size: 40px;
	font-size: 2.5rem;
	font-weight: 700;
	margin-top: 80px;
	margin-top: 5rem;
	position: relative;
	text-align: center;
}

.simu__subtitle::before {
	background-color: #F2DB2F;
	bottom: -6px;
	bottom: -0.375rem;
	content: "";
	height: 4px;
	height: 0.25rem;
	left: 50%;
	max-width: 160px;
	max-width: 10rem;
	position: absolute;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100%;
}

.simu__text {
	color: #1B6F93;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 56px;
	margin-bottom: 3.5rem;
	margin-top: 30px;
	margin-top: 1.875rem;
	text-align: center;
}

.simu__img {
	margin-inline: auto;
	margin-top: 40px;
	margin-top: 2.5rem;
	max-width: 960px;
	max-width: 60rem;
	width: 100%;
}

.simu__line {
	margin-top: 80px;
	margin-top: 5rem;
}

.single-news {
	margin-bottom: 100px;
	margin-bottom: 6.25rem;
	margin-top: 130px;
	margin-top: 8.125rem;
}

.single-news__item {
	margin-inline: auto;
	margin-top: 100px;
	margin-top: 6.25rem;
	max-width: 750px;
	max-width: 46.875rem;
	width: 100%;
}

.single-news__head {
	gap: 18px;
	gap: 1.125rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.single-news__date {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 500;
}

.single-news__cat {
	background-color: #1B6F93;
	border-radius: 1.875rem;
	color: #fff;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	padding: 14px;
	padding: 0.875rem;
	text-align: center;
}

.single-news__title {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 1.77;
	margin-top: 12px;
	margin-top: 0.75rem;
}

.single-news__img {
	border-radius: 1.875rem;
	margin-top: 15px;
	margin-top: 0.9375rem;
}

.single-news__img img {
	height: auto !important;
}

.single-news__text p {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.73;
	margin-top: 24px;
	margin-top: 1.5rem;
}

.single-news__text a {
	border-bottom: 1px solid #1B6F93;
	color: #1B6F93;
}

.single-news__btns {
	margin-inline: auto;
	margin-top: 72px;
	margin-top: 4.5rem;
	width: 100%;
}

.single-news__back {
	margin-inline: auto;
}

.single-news__link {
	color: #1B6F93;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 30px;
	margin-top: 1.875rem;
	text-align: center;
}

.sp-nav {
	background-color: #464646;
	display: none;
	height: 100vh;
	left: 0;
	overflow-x: hidden;
	overflow-y: auto;
	position: relative;
	right: 0;
	top: 92px;
	top: 5.75rem;
	width: 100%;
	z-index: 20000;
}

.sp-nav.is-active {
	display: block;
	position: fixed;
}

.sp-nav__items {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	border: 4px solid #7CBED9;
	border: 0.25rem solid #7CBED9;
	border-radius: 4.375rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	padding: 90px 0;
	padding: 5.625rem 0;
	z-index: 10;
}

.sp-nav__item {
	text-align: center;
	width: 100%;
}

.sp-nav__item a {
	color: #1B6F93;
	display: block;
	font-size: 47px;
	font-size: 2.9375rem;
	font-weight: bold;
	margin-bottom: 38px;
	margin-bottom: 2.375rem;
	text-align: center;
}

.sp-nav__btns.u-mobile {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	max-width: 377px;
	max-width: 23.5625rem;
	width: 100%;
}

.sp-nav__btn {
	height: 100%;
}

.sp-nav__btn > a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
}

.sp-nav__btn:first-child {
	max-width: 176px;
	max-width: 11rem;
	width: 100%;
}

.sp-nav__btn:first-child > a {
	background-color: #4A91DE;
}

.sp-nav__btn:last-child {
	max-width: 201px;
	max-width: 12.5625rem;
	width: 100%;
}

.sp-nav__btn:last-child > a {
	background-color: #7AC2C9;
}

.sp-nav__link {
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 500;
	margin-top: 26px;
	margin-top: 1.625rem;
	text-align: center;
}

.sp-nav__link:last-child a {
	gap: 12px;
	gap: 0.75rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.sp-nav__link img {
	max-width: 20px;
	max-width: 1.25rem;
	width: 100%;
}

.sub-class {
	padding-bottom: 100px;
	padding-bottom: 6.25rem;
	padding-top: 45px;
	padding-top: 2.8125rem;
}

.sub-class__pref {
	color: #1B6F93;
	font-size: 50px;
	font-size: 3.125rem;
	font-weight: 700;
	margin-top: 55px;
	margin-top: 3.4375rem;
}

.sub-class__item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end; /* 下揃え */
	margin-top: 30px;
	margin-top: 1.875rem;
}

.sub-mv {
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: cover;
	color: #1B6F93;
}

.sub-mv--class {
	background-image: url(../images/class/mv_class_bg.png);
}

.sub-mv--about {
	background-image: url(../images/about/mv_about_bg.png);
}

.sub-mv--company {
	background-image: url(../images/company/mv_company_bg.png);
}

.sub-mv--contact {
	background-image: url(../images/contact/mv_contact_bg.png);
}

.sub-mv--news {
	background-image: url(../images/news/mv_news_bg.png);
}

.sub-mv--fc {
	background-image: url(../images/fc/mv_fc_bg.png);
}

.sub-mv__inner {
	padding-bottom: 25px;
	padding-bottom: 1.5625rem;
	padding-top: 130px;
	padding-top: 8.125rem;
}

.sub-mv__catch {
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
}

.sub-mv__subtitle {
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: 700;
	margin-top: 58px;
	margin-top: 3.625rem;
}

.sub-mv__title {
	font-size: 44px;
	font-size: 2.75rem;
	font-weight: 700;
}

.tab {
	margin-top: 85px;
	margin-top: 5.3125rem;
	position: relative;
}

.tab__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.tab__item a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	border: 1px solid #1B6F93;
	color: #1B6F93;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: 700;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-bottom: 25px;
	padding-bottom: 1.5625rem;
	padding-top: 25px;
	padding-top: 1.5625rem;
	position: relative;
	text-align: center;
}

.tab__item a img {
	max-width: 20px;
	max-width: 1.25rem;
	position: absolute;
	right: 25px;
	right: 1.5625rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
}

.teachers {
	margin-top: 90px;
	margin-top: 5.625rem;
}

.teachers__title {
	text-align: center;
}

.teachers__body {
	border: 4px solid #F2F2F2;
	border: 0.25rem solid #F2F2F2;
	border-radius: 1.875rem;
	margin-top: 30px;
	margin-top: 1.875rem;
	padding: 55px 35px 50px 35px;
	padding: 3.4375rem 2.1875rem 3.125rem 2.1875rem;
}

.teachers__item {
	margin-top: 60px;
	margin-top: 3.75rem;
}

.teachers__item:first-child {
	margin-top: 0;
}

.teachers__img {
	margin-inline: auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #E0F0FA;
	border-radius: 1.875rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 500px;
	max-width: 31.25rem;
	width: 100%;
}

.teachers__img img {
	max-width: 280px;
	max-width: 17.5rem;
	width: 100%;
}

.teachers__wrapper {
	margin-inline: auto;
	margin-top: 30px;
	margin-top: 1.875rem;
	max-width: 500px;
	max-width: 31.25rem;
	width: 100%;
}

.teachers__kana {
	color: #1B6F93;
	font-size: 25px;
	font-size: 1.5625rem;
	font-weight: 700;
}

.teachers__kana--small {
	font-size: 25px;
	font-size: 1.5625rem;
}

.teachers__text {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.555;
	margin-top: 17px;
	margin-top: 1.0625rem;
}

.thanks__inner {
	padding-bottom: 100px;
	padding-bottom: 6.25rem;
	padding-top: 100px;
	padding-top: 6.25rem;
}

.thanks__title {
	color: #1B6F93;
	font-size: 38px;
	font-size: 2.375rem;
	font-weight: 700;
	text-align: center;
}

.thanks__text {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 55px;
	margin-top: 3.4375rem;
	text-align: center;
}

.thanks__text:nth-child(3) {
	margin-top: 30px;
	margin-top: 1.875rem;
}

.thanks__btn {
	margin-inline: auto;
	margin-top: 55px;
	margin-top: 3.4375rem;
}

.thanks__cta {
	margin-top: 100px;
	margin-top: 6.25rem;
}

.voice-item {
	background-color: #fff;
	border: 6px solid #1B6F93;
	border: 0.375rem solid #1B6F93;
	border-radius: 1.25rem;
	padding: 95px 28px 35px;
	padding: 5.9375rem 1.75rem 2.1875rem;
	position: relative;
	width: 100%;
}

.voice-item__img {
	background-color: #fff;
	border: 3px solid #7CBED9;
	border-radius: 50%;
	height: 158px;
	height: 9.875rem;
	left: 50%;
	max-width: 158px;
	max-width: 9.875rem;
	position: absolute;
	top: -80px;
	top: -5rem;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100%;
	z-index: 10;
}

.voice-item__img img {
	height: 100%;
	width: 100%;
}

.voice-item__title {
	border-bottom: 4px solid #1B6F93;
	border-bottom: 0.25rem solid #1B6F93;
	color: #1B6F93;
	font-size: 32px;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.25;
	padding-bottom: 22px;
	padding-bottom: 1.375rem;
	text-align: center;
}

.voice-item__text p {
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 500;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin-top: 34px;
	margin-top: 2.125rem;
}

.voice {
	background-image: url(../images/top/voice_bg.png);
	background-position: 35%;
	background-repeat: no-repeat;
	background-size: 260% 100%;
	margin-top: 80px;
	margin-top: 5rem;
	padding-bottom: 240px;
	padding-bottom: 15rem;
	padding-top: 90px;
	padding-top: 5.625rem;
	position: relative;
}

.voice__subtitle.section-title__ja {
	font-size: 28px;
	font-size: 1.75rem;
}

.voice__catch {
	-webkit-text-stroke: 2px #1B6F93;
	bottom: 0;
	color: transparent;
	font-size: 46px;
	font-size: 2.875rem;
	font-weight: 700;
	left: 50%;
	line-height: 1.3;
	position: absolute;
	-webkit-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.voice__swiper {
	margin-right: calc(50% - 50vw);
	margin-top: 60px;
	margin-top: 3.75rem;
}

.voice-swiper .swiper-wrapper {
	padding-top: 80px;
	padding-top: 5rem;
}

.voice-swiper .swiper-slide {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: auto; /* Swiper のデフォルト高さ制御を解除 */
}

.voice .swiper-button-next {
	bottom: 120px;
	bottom: 7.5rem;
	max-width: 36px;
	max-width: 2.25rem;
	right: 50px;
	right: 3.125rem;
	top: auto;
	width: 100%;
	z-index: 1;
}

.voice .swiper-button-prev {
	bottom: 120px;
	bottom: 7.5rem;
	left: auto;
	max-width: 36px;
	max-width: 2.25rem;
	right: 120px;
	right: 7.5rem;
	top: auto;
	width: 100%;
	z-index: 1;
}

.voice__head {
	text-align: center;
}

.archive {
	margin-bottom: 100px;
	margin-bottom: 6.25rem;
	margin-top: 100px;
	margin-top: 6.25rem;
}

.archive-tabs {
	gap: 30px;
	gap: 1.875rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
}

.archive-select {
	border: 1px solid #464646;
	color: #1B6F93;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	max-width: 150px;
	max-width: 9.375rem;
	padding: 11px 15px 10px;
	padding: 0.6875rem 0.9375rem 0.625rem;
	width: 100%;
}

.archive-tabs img {
	left: 116px;
	left: 7.25rem;
	max-width: 24px;
	max-width: 1.5rem;
	position: absolute;
	top: 24px;
	top: 1.5rem;
	width: 100%;
}

.archive__btns {
	gap: 20px;
	gap: 1.25rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
}

.archive-tabs button {
	background-color: #fff;
	border: 1px solid #1B6F93;
	border-radius: 1.875rem;
	color: #1B6F93;
	display: block;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	padding-bottom: 8px;
	padding-bottom: 0.5rem;
	padding-top: 8px;
	padding-top: 0.5rem;
	text-align: center;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 100%;
}

.archive-tabs button:hover {
	background-color: #1B6F93;
	color: #fff;
}

.archive-tabs button.is-active {
	background-color: #1B6F93;
	color: #fff;
}

.archive-list {
	border-top: 1px solid #464646;
	margin-top: 60px;
	margin-top: 3.75rem;
	max-width: 720px;
	max-width: 45rem;
	width: 100%;
}

.archive-item {
	border-bottom: 1px solid #464646;
	padding-bottom: 24px;
	padding-bottom: 1.5rem;
	padding-top: 24px;
	padding-top: 1.5rem;
}

.archive-info {
	gap: 18px;
	gap: 1.125rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.archive-date {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 500;
}

.archive-cate {
	background-color: #1B6F93;
	border-radius: 1.875rem;
	color: #fff;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	padding: 7px 15px;
	padding: 0.4375rem 0.9375rem;
}

.archive-item > a {
	display: block;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.77;
	margin-top: 12px;
	margin-top: 0.75rem;
}

@media screen and (min-width: 900px) {

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

.inner {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.pagetop {
	bottom: 3.125rem;
	left: 7.5rem;
	max-width: 3.375rem;
}

html {
	font-size: 1.4545454545vw;
}

a[href^="tel:"] {
	pointer-events: none;
}

a:hover {
	opacity: 0.8;
}

.about-bottom__body {
	gap: 4.6875rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.about-bottom__wrapper {
	margin-top: 0;
}

.about-bottom__subtitle {
	font-size: 1.5rem;
}

.about-bottom__text {
	font-size: 1.125rem;
}

.about-item {
	gap: 4.5625rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.about-item__img {
	max-width: 35rem;
	width: 100%;
}

.about-item__wrapper {
	margin-top: 0;
	max-width: 35rem;
	width: 100%;
}

.about-item__title {
	font-size: 1.5rem;
}

.about-item__text {
	font-size: 1.125rem;
	margin-top: 2.6875rem;
}

.about {
	margin-top: 2.75rem;
}

.about__text {
	font-size: 1.125rem;
	text-align: center;
}

.breadcrumb {
	font-size: 0.8125rem;
}

.breadcrumb--fc {
	margin-top: 0;
}

.btn {
	max-width: 21.4375rem;
}

.btn--l {
	max-width: 29.375rem;
}

.btn--class {
	max-width: none;
}

.btn > a {
	font-size: 1.125rem;
}

.btn > p {
	font-size: 1.125rem;
}

.class-item__name {
	font-size: 1.5rem;
}

.class-item__text {
	font-size: 1.125rem;
}

.class-item__text img {
	max-width: 1rem;
}

.class-top__body {
	gap: 4.6875rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.class-top__wrapper {
	margin-top: 0;
}

.class-top__address {
	font-size: 1.5rem;
}

.class-top__text {
	font-size: 1.125rem;
}

.class {
	background-image: url(../images/top/class_pc_bg.png);
	margin-top: 11.25rem;
}

.class__block {
	margin-top: 2.5rem;
}

.class__block:first-child {
	margin-top: 0;
}

.class__pref {
	font-size: 1.5rem;
}

.class__list {
	row-gap: 2.5rem;
	-moz-column-gap: 2rem;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	-webkit-column-gap: 2rem;
	column-gap: 2rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.class__item p {
	font-size: 1.25rem;
	margin-top: 0;
}

.class__btn {
	font-size: 1.75rem;
	margin-top: 0.75rem;
}

.class__bottom {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 5.75rem;
}

.class__bottomBtn {
	margin-top: 0;
}

.class__caption {
	bottom: -1.875rem;
}

.contact {
	margin-bottom: 6.375rem;
	margin-top: 6.5rem;
	padding-bottom: 3.4375rem;
	padding-top: 2.8125rem;
}

.contact__text.section-title__ja {
	font-size: 1.25rem;
}

.course__list {
	gap: 3rem;
	grid-template-columns: 1fr 1fr;
}

.top-cta {
	margin-top: 12.5rem;
}

.about-cta {
	margin-top: 2.5rem;
}

.classDetail-cta {
	margin-top: 6.25rem;
}

.company-cta {
	margin-bottom: 6.25rem;
	margin-top: 6.25rem;
}

.cta__inner {
	gap: 4.875rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.cta__item {
	padding: 3.125rem 2.25rem 3.375rem;
}

.cta__item:last-child {
	margin-top: 0;
}

.cta__text {
	font-size: 1.25rem;
	padding-right: 1.875rem;
}

.cta__btn {
	margin-top: 3.25rem;
}

.faq__subtitle {
	font-size: 0.875rem;
}

.faq__question p {
	font-size: 1.125rem;
}

.faq__question p span {
	font-size: 1.125rem;
}

.faq__answer p {
	font-size: 0.875rem;
}

.fc-block {
	padding: 5rem 4.0625rem;
}

.fc-block__text {
	font-size: 1.125rem;
}

.fc-item {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

.fc-item__img {
	margin-top: 0;
	max-width: 21.75rem;
	width: 100%;
}

.fc-item__number {
	font-size: 0.75rem;
	padding: 0.125rem 0.8125rem 0.125rem;
}

.fc-item__title {
	font-size: 1.5rem;
}

.fc-item__subtitle {
	font-size: 1.125rem;
}

.fc-item__text {
	font-size: 1.125rem;
}

.fc__heroText {
	font-size: 1.125rem;
}

.fc__aboutText {
	font-size: 1.125rem;
}

.data__body {
	gap: 4.0625rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.data__item--bottom {
	margin-top: 0;
}

.data__itemTitle {
	font-size: 1.5rem;
}

.data__item--bottom .data__img {
	max-width: 22.1875rem;
}

.data__text {
	font-size: 1.125rem;
}

.map__text {
	font-size: 1.125rem;
}

.fc__flowText {
	font-size: 1.75rem;
}

.fc__flowImg {
	max-width: 67.5rem;
	width: 100%;
}

.features-item__catch {
	font-size: 3.125rem;
}

.features {
	margin-top: 6.375rem;
}

.features__body {
	margin-right: 0;
}

.features__head {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 2rem;
}

.features__swiper {
	margin-right: calc(50% - 50vw);
}

.features .swiper-button-next {
	bottom: 3.125rem;
}

.features .swiper-button-prev {
	bottom: 3.125rem;
}

.footer__body {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

.footer__left {
	max-width: 16.75rem;
	width: 100%;
}

.footer__logo {
	margin-inline: 0;
	margin-top: 0rem;
}

.footer__link:first-child {
	margin-top: 1.6875rem;
	text-align: left;
}

.footer__link a {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.footer__center {
	margin-left: 9.6875rem;
	margin-right: 8.75rem;
	max-width: 23.75rem;
	width: 100%;
}

.footer__item {
	font-size: 1.125rem;
	padding-left: 0;
}

.footer__copyright {
	padding-left: 0.625rem;
	text-align: left;
}

.form__item label {
	gap: 0.75rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.form__textarea label {
	gap: 0.75rem;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.form__title {
	font-size: 1.125rem;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 13.75rem;
}

.must {
	font-size: 0.75rem;
	padding: 0.3125rem;
}

.form__item .wpcf7-form-control-wrap {
	font-size: 1rem;
	margin-top: 0;
	max-width: 41rem;
}

.form__textarea .wpcf7-form-control-wrap {
	font-size: 1rem;
	margin-top: 0;
	max-width: 41rem;
}

.form__textarea textarea {
	height: 14.625rem;
	margin-top: 0;
	max-width: 41rem;
}

.form__textarea .form__title {
	margin-top: 0.625rem;
}

.form__text {
	font-size: 0.875rem;
}

.form__check {
	font-size: 0.875rem;
}

.form__btn {
	margin-top: 5rem;
	max-width: 20rem;
}

.form__btn input,
.form__btn button {
	font-size: 1rem;
}

.form__back {
	font-size: 1rem;
	margin-top: 2rem;
}

.form__radio {
	gap: 6.25rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.125rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.form input {
	font-size: 1rem;
}

.form textarea {
	font-size: 1rem;
}

.wpcf7-not-valid-tip {
	bottom: -1.5rem;
}

.header {
	margin-inline: auto;
	height: auto;
	max-width: 77.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 1rem;
	width: 100%;
}

.header__inner {
	border: 1px solid #707070;
	border-radius: 3.8125rem;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-left: 3rem;
	padding-right: 3rem;
}

.header__logo {
	max-width: 14.0625rem;
}

.header__logo img {
	max-width: 14.0625rem;
}

.header__drawer {
	display: none;
}

.history__table::after {
	width: 1px;
}

.history__table > dl {
	gap: 2.75rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.history__table > dl > dt {
	font-size: 1.5rem;
}

.history__table > dl > dd {
	margin-top: 0;
	max-width: 32.5rem;
}

.history__table > dl > dd > dl {
	gap: 6.25rem;
}

.history__table > dl > dd > dl::before {
	height: 1.125rem;
	width: 1.125rem;
}

.history__table > dl > dd > dl > dt {
	font-size: 1.125rem;
	margin-top: 0.3125rem;
}

.history__table > dl > dd > dl > dd {
	font-size: 1.125rem;
	max-width: 22.5rem;
}

.instagram {
	margin-top: 18.75rem;
}

.instagram__catch {
	font-size: 8.8125rem;
}

.instagram__top {
	gap: 10rem;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

.instagram__wrapper {
	margin-top: 0.9375rem;
}

.instructor-item__wrapper {
	max-width: 15.9375rem;
	padding-bottom: 1.125rem;
	padding-top: 1.25rem;
}

.instructor-item__name {
	font-size: 1.125rem;
}

.instructor-item__kana {
	font-size: 1.125rem;
}

.instructor-item__text {
	font-size: 1rem;
	margin-top: 0.4375rem;
}

.instructor-item__img {
	max-width: 6.5625rem;
}

.instructor-item__img::before {
	padding-top: 133.0316742%;
}

#instructor-modal .modal-content {
	max-width: 43.75rem;
}

.modal__hobby {
	font-size: 1.125rem;
}

.modal__policy {
	font-size: 1.125rem;
}

.instructor__inner {
	padding-bottom: 6.5rem;
	padding-top: 15rem;
}

.instructor__items {
	row-gap: 2.1875rem;
	-moz-column-gap: 2.5rem;
	-webkit-column-gap: 2.5rem;
	column-gap: 2.5rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	margin-top: 1.875rem;
}

.instructor__item {
	margin-top: 0;
}

.instructor__head {
	margin-top: 5.875rem;
}

.instructor__subtitle.section-title__ja {
	font-size: 1.25rem;
}

.introduction-item__title {
	font-size: 1.5rem;
}

.introduction-item__year {
	font-size: 1.125rem;
}

.introduction-item__text {
	background-image: repeating-linear-gradient(to bottom, #1B6F93, #1B6F93 1px, transparent 1px, transparent calc(2.44em - 1px));
	font-size: 1.125rem;
}

.introduction-item__ex {
	font-size: 1.125rem;
}

.introduction__list {
	row-gap: 10.3125rem;
	-moz-column-gap: 4.5625rem;
	-webkit-column-gap: 4.5625rem;
	column-gap: 4.5625rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.introduction__item {
	margin-top: 0;
}

.lesson {
	background-size: 138% 100%;
	margin-top: -12.5rem;
	padding-bottom: 10.75rem;
	padding-top: 7.5rem;
}

.lesson__title {
	margin-top: 2.625rem;
}

.lesson__movie {
	margin-top: 1.875rem;
}

.lesson__cta {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 5.625rem;
	padding: 2rem 5.75rem;
}

.lesson__cta-text {
	font-size: 1.25rem;
	margin-top: 0.625rem;
}

.lesson__btn {
	margin-top: 0;
}

.line-cta__body {
	gap: 5.625rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 1.5625rem 4.6875rem;
}

.line-cta__text {
	font-size: 1.25rem;
}

.line-cta__btn {
	margin-top: 0;
}

.mv::before {
	background-image: url(../images/top/mv_bg_sp_01.png);
	height: 82.5625rem;
	left: -37.5rem;
	top: -45rem;
	width: 119.125rem;
}

.mv::after {
	background-image: url(../images/top/mv_bg_sp_02.png);
	height: 77.625rem;
	left: 50%;
	top: -3.125rem;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 125rem;
}

.mv__title {
	max-width: 54.125rem;
	padding-top: 17.5rem;
}

.mv__item--01 {
	left: 1.875rem;
	max-width: 15.75rem;
	top: 22.875rem;
	width: 100%;
}

.mv__item--02 {
	left: 13.125rem;
	max-width: 24.0625rem;
	top: 4.8125rem;
	width: 100%;
}

.mv__item--03 {
	max-width: 13.875rem;
	right: 23.4375rem;
	top: 11.4375rem;
	width: 100%;
}

.mv__item--04 {
	max-width: 12.1875rem;
	right: 8.5rem;
	top: 9.375rem;
	width: 100%;
}

.news__link {
	margin-top: 1.25rem;
}

.news__link a {
	font-size: 1.125rem;
}

.news__link img {
	max-width: 0.625rem;
}

.news-item__date {
	font-size: 1.125rem;
}

.news-item__cate {
	font-size: 1.125rem;
	margin-top: 0;
}

.news-item__info {
	gap: 1.25rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 15.625rem;
}

.news-item__title {
	font-size: 1.125rem;
	max-width: 58.125rem;
	overflow: hidden; /* はみ出した部分を隠す */
	text-overflow: ellipsis; /* 省略記号 (…) を付ける */
	white-space: nowrap; /* 改行させない */
}

.owner__btns {
	gap: 3.75rem;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.owner__btn {
	max-width: 33.75rem;
}

.owner__btn--note {
	margin-top: 0;
}

.owner__btn p {
	font-size: 1.25rem;
}

.pc-nav {
	display: block;
}

.price__table td:first-child {
	font-size: 1.5rem;
	max-width: 26.625rem;
}

.price__table td:last-child {
	font-size: 1.5rem;
	max-width: 48rem;
	padding-right: 0;
}

.privacy__title {
	font-size: 2.25rem;
}

.privacy__text {
	font-size: 0.9375rem;
}

.privacy__item h3 {
	font-size: 1.25rem;
}

.privacy__item p {
	font-size: 0.9375rem;
}

.privacy__item ul li {
	font-size: 0.9375rem;
}

.privacy__info p {
	font-size: 0.9375rem;
}

.privacy__link a {
	font-size: 1.125rem;
}

.profile__table dl {
	gap: 9.375rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.profile__table dt {
	font-size: 1.25rem;
	max-width: 8.75rem;
}

.profile__table dd {
	font-size: 1.25rem;
	margin-top: 0;
	max-width: 31.25rem;
}

.program__body {
	gap: 4.625rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.program__itemTitle {
	font-size: 1.5rem;
}

.program__itemText {
	font-size: 1.125rem;
}

.program__itemText span {
	font-size: 0.875rem;
}

.schedule__tab {
	grid-template-columns: 1fr 1fr 1fr 1fr;
	width: 100%;
}

.schedule__tab-btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.schedule__tab-img {
	margin-inline: 0;
}

.schedule__tab-wrapper {
	margin-top: 0;
}

.schedule__tab-title {
	font-size: 1.5rem;
	text-align: left;
}

.schedule__tab-title--small {
	font-size: 1.3125rem;
	text-align: left;
}

.schedule__tab-text {
	font-size: 1.125rem;
	text-align: left;
}

.schedule__tab-text--small {
	font-size: 0.8125rem;
}

.tablepress {
	width: 100% !important;
}

.schedule__bottomTitle {
	font-size: 1.25rem;
}

.schedule__bottomText {
	font-size: 1.125rem;
}

.schedule__icon.u-mobile {
	display: none !important;
}

.simu__title {
	font-size: 3.125rem;
}

.simu__price {
	gap: 2.5rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.simu__priceItem {
	margin-top: 0;
}

.simu__price h3 {
	font-size: 1.125rem;
}

.simu__price p {
	font-size: 1.75rem;
}

.simu__price p span {
	font-size: 1.25rem;
}

.simu__subtitle {
	font-size: 2.25rem;
}

.simu__subtitle::before {
	max-width: 5rem;
}

.simu__text {
	font-size: 1.5rem;
}

.single-news__date {
	font-size: 0.875rem;
}

.single-news__cat {
	font-size: 0.875rem;
	padding: 0.4375rem;
}

.single-news__title {
	font-size: 1.125rem;
}

.single-news__text p {
	font-size: 0.9375rem;
}

.single-news__btns {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 46.875rem;
}

.single-news__back {
	margin-inline: 0;
}

.single-news__link {
	font-size: 1.125rem;
	margin-top: 0;
	text-align: left;
}

.sp-nav__btns.u-mobile {
	display: none;
}

.sub-class__list {
	row-gap: 5rem;
	-moz-column-gap: 1.875rem;
	-webkit-column-gap: 1.875rem;
	column-gap: 1.875rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.5rem;
}

.sub-class__item {
	margin-top: 0;
}

.sub-mv__catch {
	font-size: 0.8125rem;
}

.sub-mv__subtitle {
	font-size: 1.3125rem;
}

.tab {
	margin-top: 4.6875rem;
}

.tab__inner {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.tab__item a {
	font-size: 1.5rem;
	padding-bottom: 0.625rem;
	padding-top: 0.625rem;
}

.tab__item a img {
	max-width: 0.75rem;
}

.teachers__item {
	gap: 4.5rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 3.75rem;
}

.teachers__img {
	margin-top: 0;
}

.teachers__wrapper {
	margin-inline: 0;
	margin-top: 0;
	max-width: 33.125rem;
}

.teachers__kana {
	font-size: 2.5rem;
}

.teachers__kana--small {
	font-size: 2rem;
}

.teachers__text {
	font-size: 1.125rem;
}

.thanks__title {
	font-size: 2.5rem;
}

.thanks__text {
	font-size: 1.125rem;
}

.voice-item__title {
	font-size: 1.375rem;
	line-height: 1.27;
	padding-bottom: 1.5625rem;
}

.voice-item__text p {
	font-size: 1.125rem;
	line-height: 1.667;
	margin-top: 1.875rem;
}

.voice {
	background-size: 138% 100%;
	margin-top: 6.375rem;
	padding-bottom: 10.625rem;
	padding-top: 11.125rem;
}

.voice__subtitle.section-title__ja {
	font-size: 1.25rem;
}

.voice__swiper {
	margin-inline: calc(50% - 50vw);
	margin-top: 1.875rem;
}

.voice .swiper-button-next {
	bottom: 4.6875rem;
}

.voice .swiper-button-prev {
	bottom: 4.6875rem;
}

.archive__body {
	gap: 6.875rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.archive-tabs {
	display: block;
	max-width: 8.125rem;
	width: 100%;
}

.archive-select {
	font-size: 1.125rem;
	max-width: none;
	padding: 0.6875rem 0.9375rem 0.625rem;
}

.archive-tabs img {
	left: auto;
	max-width: 0.875rem;
	right: 0.9375rem;
	top: 1.375rem;
}

.archive__btns {
	display: block;
	margin-top: 1.875rem;
}

.archive-tabs button {
	margin-top: 0.75rem;
}

.archive-list {
	margin-top: 0;
}

.archive-date {
	font-size: 0.875rem;
}

.archive-cate {
	font-size: 0.875rem;
}

.archive-item > a {
	font-size: 1.125rem;
}

}

@media (min-width: 1100px) {

html {
	font-size: 16px;
}

}

@media screen and (min-width: 1440px) {

.features-item__catch {
	font-size: 4rem;
}

.mv::after {
	width: 100vw;
}

.pc-nav__link {
	font-size: 1rem;
}

.pc-nav__link--last {
	font-size: 1rem;
	margin-left: 1.875rem;
	margin-right: 1.25rem;
}

.pc-nav__btn {
	font-size: 1.25rem;
	max-width: 18.125rem;
}

}

@media (max-width: 375px) {

html {
	font-size: 8px;
}

}

@-webkit-keyframes marquee {

from {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

to {
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

}

@keyframes marquee {

from {
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

to {
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

}


/*# sourceMappingURL=styles.css.map */
