*,
::before,
::after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
}

body {
	margin: 0;
}

.ashirai01 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 421px;
}
.ashirai01 img {
	width: 100%;
}

.ashirai02 {
	width: 310px;
	position: absolute;
	top: 0;
	right: 0;
}
.ashirai02 img {
	width: 100%;
}

main {
	display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

dd {
	margin-left: 0;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit;
}

pre {
	font-family: monospace, monospace;
	font-size: inherit;
}

address {
	font-style: inherit;
}

a {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
}

abbr[title] {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: inherit;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
	vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
	text-align: inherit;
	text-transform: inherit;
}

[type="checkbox"] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}

[type="radio"] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
	cursor: default;
}

:-moz-focusring {
	outline: auto;
}

select:disabled {
	opacity: inherit;
}

option {
	padding: 0;
}

fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
}

legend {
	padding: 0;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

label[for] {
	cursor: pointer;
}

details {
	display: block;
}

summary {
	display: list-item;
}

[contenteditable]:focus {
	outline: auto;
}

table {
	border-color: inherit;
	border-collapse: collapse;
}

caption {
	text-align: left;
}

td,
th {
	vertical-align: top;
	padding: 0;
}

th {
	text-align: left;
	font-weight: bold;
}

em,
i {
	font-weight: normal;
}

body {
	/* background: url(../img/bg.png) no-repeat;
	background-size: cover;
	background-position: center; */
	background-color: #f8f8f8;
	background-attachment: fixed;
	color: #434343;
	box-sizing: border-box;
	width: 100%;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
}

#content {
	/* max-width: 393px; */
	max-width: 450px;
	margin: 0 auto;
	/* background: #fff; */
	width: 100%;
	height: 100%;
	/* overflow-y: auto; */
	position: relative;
	z-index: 2;
}

#content::-webkit-scrollbar {
	display: none;
}

@media screen and (max-width: 768px) {
	#content {
		max-width: 100%;
	}
	/* .ashirai01,
	.ashirai02 {
		display: none;
	} */
}
.img01 {
	width: 100%;
	position: relative;
}
.img01 .btn {
	position: absolute;
	bottom: 10px;
	display: block;
}

.fixedBtn {
	display: none;
	position: fixed;
	bottom: 20px;
	/* width: 363px; */
	width: 413.97px;
	left: 50%;
	transform: translateX(-50%);
	max-width: 413.97px;
	z-index: 3;
}

.fixedBtn a {
	display: block;
	width: 100%;
	transition: all 0.3s ease;
}

.fixedBtn a:hover {
	opacity: 0.6;
}

.fixedBtn a img {
	display: block;
	width: 100%;
}

@media screen and (max-width: 768px) {
	.fixedBtn {
		position: fixed;
		bottom: 10px;
		width: 92%;
		left: 50%;
		transform: translateX(-50%);
		max-width: 100%;
	}
}
.logo_pc {
	position: fixed;
	z-index: 1;
	left: 20px;
	top: 30px;
}

@media screen and (max-width: 768px) {
	.logo_pc {
		display: none;
	}
}
.l_footer {
	background-image: url(../img/footer.webp);
	background-size: cover;
	background-position: center center;
	position: relative;
	z-index: 0;
	padding-bottom: 100px;
	width: 100%;
	height: auto;
	aspect-ratio: 786/444;
}
.l_footer .l_wrap {
	padding: 40px 20px;
	text-align: center;
}

.b_footerNav_item {
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
	bottom: 18%;
	font-size: 13px;
	text-align: center;
}
.b_footerNav_item a {
	color: #fff;
}
.b_footerNav_item + .b_footerNav_item {
	margin-top: 20px;
}

.p_footerCopy {
	text-align: center;
	padding: 13px 20px;
	background: #ccae10;
	color: #fff;
}

.img05 {
	position: relative;
	text-align: center;
	background: #f0f2f5;
	padding-bottom: 20px;
}

.item {
	width: 90%;
	margin: 0 auto;
	height: 0;
	overflow: hidden;
	transition: 0.2s ease height;
}
.item img {
	border-radius: 20px;
}

.benefits {
	background-image: url(../img/benefits_bg.webp);
	background-size: cover;
	background-position: center center;
	position: relative;
	z-index: 0;
	width: 100%;
	height: auto;
	aspect-ratio: 1384/5000;
	overflow: hidden;
}

.benefits img {
	max-width: 100%;
}

.benefits_item01 {
	position: absolute;
	top: 27.625%;
}

.benefits_item02 {
	position: absolute;
	top: 45.172%;
}

.benefits_item03 {
	position: absolute;
	top: 72%;
}

.benefits_item04 {
	position: absolute;
	top: 91%;
	left: 50%;
	transform: translateX(-50%);
	width: 92%;
	transition: all 0.3s ease;
}

.benefits_item04:hover {
	opacity: 0.6;
}

#teachers {
	background-image: url(../img/Lecturers-bg.webp);

	background-size: cover;

	background-position: center center;

	/* background-attachment: fixed; */

	position: relative;

	z-index: 0;

	width: 100%;

	/* height: 251.6px; */

	display: flex;

	justify-content: center;

	align-items: center;

	text-align: center;

	/* aspect-ratio: 1496/2598; */
	aspect-ratio: 1572/2972;

	.slick-slider {
		position: absolute;

		width: 100%;

		height: auto;

		top: 19%;

		left: 0;

		/* .slick-slide {

			height: 100%;



		} */

		.slider01,
		.slider02,
		.slider03 {
			/* position: relative; */

			/* slide02のスライドアニメーションをかぶらせないため */

			/* z-index: 10; */

			img {
				width: 96%;

				height: auto;

				margin: 0 auto;

				object-fit: cover;

				aspect-ratio: 1398/668;

				/* object-position: 50% 50%; */
			}
		}
	}

	.slide-dots {
		display: flex !important;

		justify-content: center;

		align-items: center;

		width: 11%;

		margin: -4% auto 0 auto;

		padding: 0;

		text-align: center;
	}

	.slide-dots li {
		display: inline-block;

		margin: 0 3%;
	}

	.slide-dots li button {
		position: relative;

		text-indent: -9999px;
	}

	.slide-dots li button::before {
		background-image: url(../img/slick-dots.webp);

		background-repeat: no-repeat;

		background-size: contain;

		content: "";

		cursor: pointer;

		left: 0;

		margin: auto;

		position: absolute;

		right: 0;

		/* top: 24px; */

		top: 22px;

		height: 10px;

		width: 10px;
	}

	.slide-dots li.slick-active button::before {
		background-image: url(../img/slick-dots-active.webp);
	}

	button {
		background: none;

		border: none;

		outline: none;

		padding: 0 7px;
	}
}

/* 講師画像スライダー */

#img-top {
	position: absolute;

	width: 100%;

	height: 20%;

	object-fit: cover;

	/* object-position: 100% -10%; */

	top: 50%;

	right: 0;

	/* z-index: 100; */
}

#img-bottom {
	position: absolute;

	width: 100%;

	height: 20%;

	object-fit: cover;

	/* object-position: 100% 65%; */

	bottom: 9%;

	left: 0;
}

/* loop画像スライダー  */

.slider-container {
	width: 100%; /* コンテナの幅 */

	overflow: hidden; /* はみ出した部分を隠す */

	.slider {
		display: flex; /* 画像を横並びにする */

		animation: slide 9s linear infinite; /* アニメーションの設定 */

		/* .img-wrap {

			width: 100%;

			margin: 0 5%;

		} */
	}

	.slider2 {
		display: flex; /* 画像を横並びにする */

		animation: slide2 9s linear infinite; /* アニメーションの設定 */

		/* .img-wrap {

			width: 100%;

			margin: 0 5%;

		} */
	}

	.slider img {
		width: 26.666%; /* 画像の幅 */

		height: 20%; /* 画像の高さ */

		margin: 0 3%;

		aspect-ratio: 200/250;

		box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.25);
	}

	.slider2 img {
		width: 26.666%; /* 画像の幅 */

		height: 20%; /* 画像の高さ */

		margin: 0 3%;

		aspect-ratio: 200/250;

		box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.25);
	}
}

@keyframes slide {
	0% {
		transform: translateX(0); /* 開始位置 */
	}

	100% {
		transform: translateX(-130.7%); /* 移動距離 (画像の幅 * 画像の枚数) */
	}
}

@keyframes slide2 {
	0% {
		transform: translateX(-130.7%); /* 開始位置 */
	}

	100% {
		transform: translateX(0); /* 移動距離 (画像の幅 * 画像の枚数) */
	}
}

#reason {
	width: 100%;
}

#reason img {
	width: 100%;
}

.cta_area {
	position: absolute;
	top: 5%;
	width: 92%;
	left: 50%;
	transform: translateX(-50%);
	transition: all 0.3s ease;
}

.cta_area:hover {
	opacity: 0.6;
}

.cta_area img {
	width: 100%;
	height: auto;
}

/* -------------------------------------------

modal

------------------------------------------- */
.modal {
	display: none;
	position: fixed;
	z-index: 1;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	overflow: auto;
	background-color: #333;
	z-index: 9999999999;
}

.modal-btn {
	transition: ease-in-out 0.3s;
}

.modal-btn:hover {
	opacity: 0.5;
	cursor: pointer;
}

/* ---- modal-content ---- */
.modal-content {
	margin: 0 auto;
	width: 32rem;
	height: 100vh;
	-webkit-animation-name: modalopen;
	animation-name: modalopen;
	-webkit-animation-duration: 0.3s;
	animation-duration: 0.3s;
	display: flex;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.modal-content {
		width: 100%;
		height: 100dvh;
		padding: 6rem 2rem;
	}
}
@-webkit-keyframes modalopen {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes modalopen {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
/* ---- close ---- */
.close {
	position: absolute;
	right: 1rem;
	top: 1rem;
	font-size: 2rem;
	display: block;
	transition: all 0.3s;
	width: 4rem;
	height: 4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.3s;
}

.close i::before,
.close i::after {
	content: "";
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 2rem;
	height: 0.2rem;
}

.close i::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.close i::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.close:hover {
	cursor: pointer;
	background: var(--red);
}

/* ---- body ---- */
.modal-body {
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.modal-body dt {
	font-size: 2rem;
	margin-bottom: 3rem;
}

.modal-body dd {
	font-size: 1.2rem;
	line-height: 2;
}

@media screen and (max-width: 768px) {
	.modal-body {
		display: block;
		padding: 0 1rem;
	}
	.modal-body > * {
		width: 100%;
	}
}
.modal.interview_movie {
	background-color: rgba(0, 0, 0, 0.8);
}

.modal.interview_movie .modal-body {
	text-align: center;
}

.modal-body video {
	width: 90%;
	max-width: 500px;
}
/*# sourceMappingURL=style.css.map */

/* フェードエフェクトclass */

.fade {
	opacity: 0;
	transform: translateY(2rem);
}
.fade.is-animation {
	animation: fade 0.5s ease;
	animation-fill-mode: both;
}
@keyframes fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.slide-from-right {
	/* width: 0; */

	opacity: 0;

	/* 右に100%移動 */

	transform: translateX(50%);

	transition:
		opacity 0.5s ease,
		transform 0.5s ease; /* 0.5秒かけてアニメーション */
}

.slide-from-left {
	/* width: 0; */

	opacity: 0;

	/* 左に100%移動 */

	transform: translateX(-50%);

	transition:
		opacity 0.5s ease,
		transform 0.5s ease; /* 0.5秒かけてアニメーション */
}

.fade-left {
	opacity: 0;

	transform: translateX(100px);

	transition:
		opacity 1s ease-out,
		transform 1s ease-out;
}

.fade-right {
	opacity: 0;

	transform: translateX(-100px);

	transition:
		opacity 1s ease-out,
		transform 1s ease-out;
}

.fade-left.active {
	opacity: 1 !important;

	transform: translate(0, 0) !important;
}

.fade-right.active {
	opacity: 1 !important;

	transform: translate(0, 0) !important;
}

.zoom-in {
	/* width: 0; */

	opacity: 0;

	transform: scale(0);

	transition:
		opacity 0.8s ease,
		transform 0.8s ease; /* 0.5秒かけてアニメーション */
}

.campaign-animation01 {
	/* width: 0; */

	opacity: 0;

	transform: scale(0);
}

.campaign-animation02 {
	/* width: 0; */

	opacity: 0;

	transform: scale(1) rotate(0deg);
}

.zoom-in.active {
	width: 100%;

	opacity: 1;

	transform: scale(1);
}
/* 
.campaign-animation01.active {
	width: 100%;

	animation: zoom-appear 0.5s ease forwards;

	animation-delay: 1.3s;
} */

@keyframes zoom-appear {
	0% {
		opacity: 0;

		transform: scale(0);
	}

	30% {
		opacity: 1;

		transform: scale(0.8);
	}

	60% {
		opacity: 1;

		transform: scale(0.5);
	}

	100% {
		opacity: 1;

		transform: scale(1);
	}
}
/* 
.campaign-animation02.active {

	width: 100%;

	animation: flashy 1s linear forwards;

	animation-delay: 0.4s;

} */

@keyframes flashy {
	0% {
		opacity: 1;

		/* transform: scale(1.8) rotate(0deg); */

		transform: scale(1.3) rotate(0deg);
	}

	45% {
		opacity: 1;

		/* transform: scale(2) rotate(0deg); */

		transform: scale(1.5) rotate(0deg);
	}

	70% {
		opacity: 1;

		/* transform: scale(1.8) rotate(90deg); */

		transform: scale(1.3) rotate(0deg);
	}

	80% {
		opacity: 1;

		transform: scale(1) rotate(270deg);
	}

	85% {
		opacity: 1;

		transform: scale(1.3) rotate(330deg);
	}

	90% {
		opacity: 1;

		transform: scale(0.3) rotate(400deg);
	}

	100% {
		opacity: 1;

		transform: scale(1) rotate(360deg);
	}
}
