@media(max-width: 768px) {
	.mv {
		z-index: initial;
	}

	.mv:after {
		width: 100%;
		height: 220vw;
		background-image: url(../images/index/bg-mv01-sp.jpg);
		z-index: -2;
	}

	.mv .inner {
		width: 100%;
		padding-top: 8vw;
		margin: 0 0 24vw 0;
		position: relative;
		z-index: 2;
	}

	.mv .inner .catch {
		width: 52vw;
		margin-left: 10vw;
	}

	.mv h1 {
		position: static;
		width: 20vw;
		margin: 5.33vw 0 66vw 10vw;
	}

	.mv .inner p {
		font-size: 4vw;
		font-weight: 700;
		color: #0076f4;
		text-align: center;
	}

	.vision {
		/*
		background: rgb(0, 0, 0);
		background: -moz-linear-gradient(top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 45, 1) 100%);
		background: -webkit-linear-gradient(top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 45, 1) 100%);
		background: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 45, 1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#321414', GradientType=0);
		*/
		background: black;
		padding: 90px 0 0 0;
	}

	.vision h2,
	.vision h3 {
		padding-bottom: 7.73vw;
		background-size: 4vw;
		margin-bottom: 4.4vw;
	}

	.vision h3 {
		font-size: 6.66vw;
		margin-top: 21.33vw;
	}

	.vision p {
		max-width: 100%;
		font-size: 3.6vw;
	}

	.vision p.mb70 {
		margin-bottom: 70vw;
	}

	p.mb70 {
		margin-bottom: 70vw;
	}

	.vision .dr01 {
		right: 0;
		top: 0;
		z-index: -1;
	}

	.vision-list {
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.vision-list__item {
		justify-content: flex-start;
		padding: 24px 0;
		height: auto;
		clip-path: none;
		gap: 10px;
	}

	.vision-list__item p {
		font-size: 13px;
		letter-spacing: 0.02em; padding-right: 0;
	}

	.vision-list__item:nth-child(1),
    .vision-list__item:nth-child(2),
    .vision-list__item:nth-child(4),
    .vision-list__item:nth-child(3),
    .vision-list__item:nth-child(5),
    .vision-list__item:nth-child(6) {
		width: 48%;
		margin: 0 auto .3rem;
	}

	.entry.skew {
		padding-bottom: 90vw;
		padding-top: 13vw;
	}

	.conditions {
		/*width: 80vw;*/
		width: 85vw;
		padding: 6.66vw 3.33vw;
		position: relative;
		z-index: 2;
		margin-top: -102vw;
	}

	.conditions dl {
		padding: 8vw 4vw;
		margin-bottom: 6vw;
	}

	.conditions dl dt {
		font-size: 5.33vw;
		padding-bottom: 5.33vw;
		background-size: 4vw;
		margin-bottom: 1.33vw;
	}

	.conditions dl dd {
		font-size: 3.4vw;
		text-align: left;
		padding: 0.2em;
	}

	.conditions table,
	.conditions table tbody,
	.conditions table tr {
		display: block;
	}

	.conditions table th {
		display: block;
		padding: 0;
		background: #CC3A33;
		position: relative;
		padding: .2em;
		margin-bottom: 2.93vw;
	}

	.conditions table th:after {
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 2.66vw 2vw 0 2vw;
		border-color: #CC3A33 transparent transparent transparent;
		position: absolute;
		bottom: calc(-2.66vw + 1px);
		left: 50%;
		transform: translateX(-50%);
	}

	.conditions table th span {
		display: block;
		height: auto;
		width: auto;
		text-align: center;
	}

	.conditions table th span:after {
		content: none;
	}

	.conditions table td {
		display: block;
		/*text-align: center;*/
		text-align: left;
	}

	.conditions table tr+tr th {
		margin-top: 5.33vw;
	}

	.schedule {
		padding-top: 25vw;
		margin-bottom: 25vw;
	}

	.schedule .item01 {
		top: -1vw;
	}

	.schedule h2 {
		margin-bottom: 2.66vw;
	}

	.schedule h2+p {
		line-height: 1.6;
		margin-bottom: 12.66vw;
        font-size: 15px;
	}

	.schedule h2+p:before {
		display: table;
		margin: 2rem auto 0; font-size: 15px;
	}

	.schedule h3 {
		border-width: 1.73vw;
		padding-left: 2.133vw;
		margin-bottom: 3.33vw;
	}

	.schedule h3 span:not(.border) {
		font-size: 5.33vw;
	}

	.schedule h3 small {
		font-size: 16px; letter-spacing: 1px;
	}

	.schedule h3 .border {
		top: 2.7vw;
	}

	.schedule h3 .border {
		width: 70% !important;
	}

	.schedule h3 .border-long {
		width: 70% !important;
	}

	.schedule h4 {
		font-size: 4.66vw;
		line-height: 1.5;
		padding: .35em .8em
	}

	.schedule table {
		display: block;
		border-bottom: none;
	}

	.schedule table tbody,
	.schedule table tr {
		display: block;
	}

	.schedule table th {
		display: block;
		width: 100%;
		border-bottom: none;
		padding: 1rem 1rem .5rem;
        font-size: 15px;
	}

	.schedule table th span {
		padding: .2em 1em;
		text-align: left;
	}

	.schedule table td {
		display: block;
		padding: .5rem 1rem;
        font-size: 15px; letter-spacing: 1px;
	}

	.schedule table+h3 {
		margin-top: 12.66vw;
	}

	.curriculum {
		padding-bottom: 50px;
	}

	.curriculum .item03 {
		bottom: 202.6vw;
	}

	.curriculum:after {
		height: 202.6vw;
	}

	.curriculum h2 {
		margin-bottom: 5.33vw;
	}

	.curriculum ol {
		width: 100%;
	}

	.curriculum ol:before {
		content: none;
	}

	.curriculum ol li {
		padding: 6vw 2.66vw 6vw 22.66vw;
	}

	.curriculum ol li:before {
		background-image: url(../images/index/curriculum-item01-sp.png);
		width: 19.86vw;
		height: 26.10vw;
		font-size: 9.33vw;
		padding: 6.5vw 0 0 4.5vw;
		left: 2vw;
	}

	.curriculum ol li+li {
		margin-top: 2.66vw;
	}

	.curriculum ol li h3 {
		font-size: 3.6vw;
		line-height: 1.6;
		padding-bottom: .6em;
		margin-bottom: .6em;
	}

	.curriculum ol li span {
		font-size: 3.06vw;
	}

	/*
	.curriculum ol li:first-child:before {top: 17%;}
	.curriculum ol li:nth-child(2):before {top: 19%;}
*/
	.curriculum ol li:nth-child(3):before {
		top: 19%;
	}

	.voice {
		margin-bottom: 20vw;
	}

	.voice h2 {
		margin-bottom: 8vw;
	}

	.voice .voice-list {
		flex-wrap: wrap;
		margin-bottom: 10vw;
	}

	.voice .voice-list li {
		width: 100%;
	}

	.voice .voice-list li:after {
		width: 10.66vw;
		height: 10.66vw;
	}

	.video-wrap .cross {
		width: 3.33vw;
		height: 3.33vw;
		margin-bottom: 2.5vw;
	}

	.video-wrap .video {
		width: 80vw;
	}

	.video-wrap .video iframe {
		height: 45vw;
	}

	.teacher {
		padding-top: 20vw;
		/*padding-bottom: 16vw;*/
		padding-bottom: 50px;
	}

	.teacher h2 {
		margin-bottom: 4.66vw;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
	}

	.teacher .bg01 {
		height: 160vw;
		background-image: url(../images/index/bg-teacher01-sp.jpg);
	}

	.teacher-slide {
		margin-bottom: 13.33vw;
	}

	.teacher-slide li {
		padding-bottom: 12vw;
	}

	.teacher-slide .inner {
		padding: 0;
		background: transparent;
	}

	.teacher-slide .inner img {
		position: static;
		width: 46.66vw;
		margin: 0 auto -28vw;
	}

	.teacher-slide .content {
		width: 100%;
		background: #000;
		padding: 35vw 6.66vw 13.33vw;
	}

	.teacher-slide .content h3 {
		font-size: 6.66vw;
		padding-bottom: 7vw;
		background-size: 100%;
		background-position: right bottom;
		margin-bottom: 4vw;
	}
    .teacher-slide .content p{ font-size: 11px;}

	.teacher-slide .slick-arrow {
		width: 12vw;
		height: 12vw;
	}

	.teacher-slide .slick-arrow.slick-next {
		bottom: calc(12vw + 1px);
	}

	.teacher-slide .slick-counter {
		font-size: 4vw;
		right: 16vw;
		bottom: 2.5vw;
	}

	.teacher-nav {
		margin-bottom: 24vw;
	}

	.teacher-nav ul {
		gap: 32px 0;
	}

	.teacher-nav ul li {
		width: 50%;
	}

	.teacher-nav ul li:nth-of-type(n+4) {}

	.teacher-nav ul li:nth-of-type(n+5) {
		margin: 0;
	}

	.teacher-nav ul li img {
		width: 100%;
	}

	.teacher-nav+h3 {
		font-size: 5.33vw;
		padding-bottom: 7.466vw;
		background-size: 4vw;
		margin-bottom: 4.66vw;
	}

	/* ----- .teacher-priceここから ----- */

	.teacher-price {
		margin: 60px auto 0 auto;
		width: calc(100% - 60px);
		height: 600px;
	}

	.teacher-price__rayer01 {
		width: 100%;
		height: 145vw;
        transform:none;
		/*transform: skewX(-8deg);*/
	}

	.teacher-price__rayer02 {
		width: 100%;
		height: 145vw;
		transform:none;
		/*transform: skewX(-8deg);*/
		top: 8px;
		left: 8px;
	}

	.teacher-price__rayer03 {
		width: 100%;
		height: 145vw;
	}
    .teacher-price__rayer03 .text{ padding: 0 1.9rem;}

	.teacher-price__title {
		margin-bottom: 12px;
	}

	.teacher-price__title .en {
		font-size: 16px;
	}

	.teacher-price__title .ja {
		font-size: 28px;
	}

	.teacher-price-numbox {
		margin-bottom: 12px;
	}

	.teacher-price-numbox__inner {}

	.teacher-price-numbox__inner .large {
		font-size: 28px;
	}

	.teacher-price-numbox__inner .middle {
		font-size: 20px;
		letter-spacing: 0.1em;
	}

	.teacher-price-numbox__inner .small {
		font-size: 14px;
	}

	.teacher-price__p {
		font-size: 14px;
	}

	/* ----- .teacher-priceここまで ----- */

	.thanks-list {
		justify-content: space-between;
		width: 64vw;
		margin: 0 auto;
	}

	.thanks-list ul {
		margin: 0;
		width: 50%;
	}

	.thanks-list ul:nth-of-type(n+3) {
		margin-top: 6vw;
	}

	.thanks-list ul li {
		font-size: 3.06vw;
		text-align: center;
	}


	.modal {
		padding: 25px 21px 7px;
	}

	.modal-content {
		padding: 25px 21px;
		height: auto;
		overflow: auto;
		max-height: 80%;
	}

	.modal-content p {
		line-height: 5vw;
		margin-bottom: 0.6em;
		font-size: 12px;
	}

	.modal_box_image {
		margin-bottom: 1em;
	}

	.modal_box_content {
		width: 100%;
	}

	.kakitokubetsukouza {
		background: #fff;
		padding: 20px;
		position: relative;
		margin: 24px 0px 25px 0px;
		color: #000;
	}
    .curriculum ol h3.h3-2{ font-size: 17px;}
    .curriculum ol strong{ font-size: 15px;}

	/* ==================================================
	video-box
	==================================================*/

	.video-box {
		margin: 21.33vw auto 0 auto;
	}

	.video-box video {}

	/* ==================================================
	kv
	==================================================*/

	.kv {
		width: 100%;
		background: url(../images/index/sp-mv.png) no-repeat center center / 100% auto;
		padding-top: 60px;
	}

	.kv__video {
		display: none;
	}

	.kv__bg {
		display: none;
	}

	.kv__bg img {
		display: none;
	}

	.kv__content {
		width: 100%;
		padding: 68px 20px;
		position: static;
		transform: translate(0, 0);
	}

	.kv__logo {
		margin-bottom: 172px;
		width: 72px;
	}

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

	.kv__catch {
		font-size: 58px;
		font-weight: 800;
		line-height: 1.2;
		margin-bottom: 24px;
		text-align: center;
	}

	.kv__catch .small {
		font-size: 38px;
	}

	.kv__catch .shadow {}

	.kv__p {
		color: #FFF;
		text-align: center;
		font-size: 15px;
		font-style: normal;
		font-weight: 700;
		line-height: 1.8;
		letter-spacing: 0.75px;
	}

	/* ==================================================
	l-guideline
	================================================== */

	.l-guideline {
		padding: 80px 20px;
		background-attachment: inherit;
	}

	.l-guideline__inner {
		width: 100%;
	}

	.l-guideline__title {
		font-size: 6.66vw;
		line-height: 1.5;
		margin-bottom: 24px;
	}

	.l-guideline-list {
		gap: 12px 0;
	}

	.l-guideline-list__item {
		padding: 12px 12px 12px 72px;
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: 0;
		height: 66px;
		display: flex;
		align-items: center;
	}

	.l-guideline-list__num {
		top: 0;
		width: 60px;
		height: 100%;
		background: #CC3A33;
		font-size: 24px;
		line-height: 1;
		letter-spacing: 0;
		padding-right: 8px;
		clip-path: polygon(0 0, 100% 0%, 85% 100%, 0% 100%);
	}

    .follow-up{ padding: 2rem 1.5rem;}
    .follow-up h3{ font-size: 17px; margin-bottom: 1.5rem;}
    .follow-up p{ font-size: 14px;}
}