.only-pc {
	display: block;
}

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

.only-sp {
	display: none;
}

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

.hide_txt {
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	height: 0;
}

.inner {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1120px;
	padding: 0 40px;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.inner {
		margin: 0 auto;
		max-width: 320px;
		padding: 0 10px;
	}
}

body {
	font-family: Noto Sans Japanese, Noto Sans, Noto Sans CJK JP, sans-serif;
}

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

footer {
	background: #FEF6DF;/*#f5f0e5;*/
	margin: 90px 0 0;
	padding: 30px 0;
}

@media screen and (max-width: 767px) {
	footer {
		padding-top: 0;
	}
}

footer .inner {
	max-width: 960px;
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	footer .inner {
		padding: 0;
		display: flex;
		flex-direction: column;
	}
}

footer .column {
	width: 50%;
}

@media screen and (max-width: 767px) {
	footer .column {
		width: 100%;
	}
}

footer .column.left {
	box-sizing: border-box;
	float: left;
	padding: 0 40px 0 0;
}

@media screen and (max-width: 767px) {
	footer .column.left {
		padding: 30px 20px;
		text-align: center;
		order: 2;
	}
}

footer .column.right {
	float: right;
}

@media screen and (max-width: 767px) {
	footer .column.right {
		order: 1;
	}
}

footer .logo {
	background: url(../images/logo@2x.png) center center no-repeat;
	background-size: cover;
	margin: 0 0 26px;
	width: 160px;
	padding: calc(160px * .3) 0 0;
}

@media screen and (max-width: 767px) {
	footer .logo {
		margin: 0 auto 26px;
	}
}

footer .address {
	font-size: 0.813em;
	line-height: 1.5;
	margin: 0 0 20px;
}

@media screen and (max-width: 767px) {
	footer .address {
		font-size: 0.750em;
	}
}

footer .contact {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.2;
	margin: 0 0 20px;
}

@media screen and (max-width: 767px) {
	footer .contact {
		font-size: 1em;
	}
}

footer small {
	clear: both;
	float: left;
	font-size: 0.750em;
}

@media screen and (max-width: 767px) {
	footer small {
		font-size: 0.625em;
		text-align: center;
		order: 3;
	}
}

footer #map {
	background: #ccc;
	max-width: 100%;
	width: 480px;
	height: 220px;
}

@media screen and (max-width: 767px) {
	footer #map {
		width: 100%;
	}
}



/*----------吉田追加ここから----------*/
section.section01 {
	background: url(../images/tv_bg.jpg) center 0 repeat-x;
	background-size: cover;
	position: relative;
}

section.section01::after {
	position: absolute;
	width: 100%;
	height: 24px;
	bottom: -10px;
	transform: scale(1, -1);
	left: 0;
	content: '';
	display: block;
	background: url(../images/2022/tv_bg3.png) repeat-x left center/contain;
}

/*----------ここまで----------*/



section.section01 #mv {
	/*background: url(../images/mv@2x.png) center 0 no-repeat;*/
	background: url(../images/2022/tv2x.png) center 0 no-repeat;
	background-size: contain;
	margin: 0 auto;
	width: 100%;
	max-width: 1280px;
	padding: calc(1280px * .6593) 0 0;
	position: relative;
}

@media screen and (max-width: 1280px) {
	section.section01 #mv {
		padding: calc(100% * .6593) 0 0;
	}
}

@media screen and (max-width: 767px) {
	section.section01 #mv {
		background: url(../images/2022/mv_sp@2x.png) center 0 no-repeat;
		background-size: contain;
		padding: calc(100% * 1.5625) 0 0;
	}
}

@media screen and (max-width: 767px) {
	section.section01 #mv .obj {
		margin: 0 auto;
		position: absolute;
		bottom: 14%;
		left: 0;
		right: 0;
		display: flex;
		justify-content: center;
		align-items: flex-end;
	}
}

section.section01 #mv .obj .item {
	position: absolute;
}

@media screen and (max-width: 767px) {
	section.section01 #mv .obj .item {
		position: relative;
	}
}

section.section01 #mv .obj .item::after {
	content: '';
	display: block;
	width: 100%;
}

section.section01 #mv .obj .item.item01 {
	width: 18.8vw;
	top: 12.1vw;
	left: 5.1vw;
}

@media screen and (min-width: 1280px) {
	section.section01 #mv .obj .item.item01 {
		width: 240px;
		top: 155px;
		left: 65px;
	}
}

@media screen and (max-width: 767px) {
	section.section01 #mv .obj .item.item01 {
		margin: 0 4.2% 0 0;
		width: 15.3%;
		top: 0;
		left: 0;
	}
}

section.section01 #mv .obj .item.item01::after {
	background: url(../images/2022/mv_obj01@2x.png) 0 0 no-repeat;
	background-size: contain;
	padding: calc(100% * 1.3) 0 0;
}

@media screen and (max-width: 767px) {
	section.section01 #mv .obj .item.item01::after {
		background: url(../images/mv_obj01_sp@2x.png) 0 0 no-repeat;
		background-size: contain;
	}
}

section.section01 #mv .obj .item.item02 {
	width: 20.9vw;
	top: 10.5vw;
	right: 4vw;
}

@media screen and (min-width: 1280px) {
	section.section01 #mv .obj .item.item02 {
		width: 267px;
		top: 135px;
		right: 50px;
	}
}

@media screen and (max-width: 767px) {
	section.section01 #mv .obj .item.item02 {
		margin: 0 2.9% 0 0;
		width: 21.4%;
		top: 0;
		right: 0;
	}
}

section.section01 #mv .obj .item.item02::after {
	background: url(../images/2022/mv_obj02@2x.png) 0 0 no-repeat;
	background-size: contain;
	padding: calc(100% * 1.2) 0 0;
}

@media screen and (max-width: 767px) {
	section.section01 #mv .obj .item.item02::after {
		background: url(../images/mv_obj02_sp@2x.png) 0 0 no-repeat;
		background-size: contain;
		padding: calc(100% * 1.1) 0 0;
	}
}

section.section01 #mv .obj .item.item03 {
	width: 20.9vw;
	bottom: 6.3vw;
	left: 3.9vw;
}

@media screen and (min-width: 1280px) {
	section.section01 #mv .obj .item.item03 {
		width: 267px;
		bottom: 80px;
		left: 50px;
	}
}

@media screen and (max-width: 767px) {
	section.section01 #mv .obj .item.item03 {
		margin: 0 .9% 0 0;
		width: 18.5%;
		bottom: 0;
		left: 0;
	}
}

section.section01 #mv .obj .item.item03::after {
	background: url(../images/2022/mv_obj03@2x.png) 0 0 no-repeat;
	background-size: contain;
	padding: calc(100% * 1.1) 0 0;
}

@media screen and (max-width: 767px) {
	section.section01 #mv .obj .item.item03::after {
		background: url(../images/mv_obj03_sp@2x.png) 0 0 no-repeat;
		background-size: contain;
	}
}

section.section01 #mv .obj .item.item04 {
	width: 18.8vw;
	bottom: 9.9vw;
	right: 3.8vw;
}

@media screen and (min-width: 1280px) {
	section.section01 #mv .obj .item.item04 {
		width: 240px;
		bottom: 128px;
		right: 50px;
	}
}

@media screen and (max-width: 767px) {
	section.section01 #mv .obj .item.item04 {
		width: 20.3%;
		bottom: 0;
		right: 0;
	}
}

section.section01 #mv .obj .item.item04::after {
	background: url(../images/2022/mv_obj04@2x.png) 0 0 no-repeat;
	background-size: contain;
	padding: calc(100% * 1.0) 0 0;
}

@media screen and (max-width: 767px) {
	section.section01 #mv .obj .item.item04::after {
		background: url(../images/mv_obj04_sp@2x.png) 0 0 no-repeat;
		background-size: contain;
	}
}

section.section02 {
	margin: 0 auto 60px;
}

section.section02 .wrap {
	padding: 50px 0 0;
	max-width: 1067px;
}

@media screen and (max-width: 767px) {
	section.section02 .wrap {
		padding: 26px 0 0;
	}
}

section.section02 .wrap::after {
/*	content: '';
	display: block;

	background: url(../images/2022/section02_item01@2x.png) 0 0 no-repeat;*/
	background-size: contain;
	width: 100%;
	padding: calc(100% * .3) 0 0;
*/
}

@media screen and (max-width: 767px) {
/*	section.section02 .wrap::after {
		background: url(../images/2022/section02_item01_sp@2x.png) center no-repeat;*/
		background-size: contain;
		padding: 100% 0 0;
	}
*/
}

section.section02 .description {
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
}

@media screen and (max-width: 767px) {
	section.section02 .description {
		font-size: 2.5vw;
	}
}

section.section02 .obj .item {
	position: absolute;
}

section.section02 .obj .item::after {
	content: '';
	display: block;
	width: 100%;
}

section.section02 .obj .item.item01 {
	width: 6.8vw;
	top: -1.5vw;
	left: 13.7vw;
}

@media screen and (min-width: 1200px) {
	section.section02 .obj .item.item01 {
		width: 77px;
		top: -17px;
		left: 154px;
	}
}

@media screen and (max-width: 767px) {
	section.section02 .obj .item.item01 {
		top: 25vw;
		left: 5vw;
		top: 78px;
		left: 18px;
	}
}

section.section02 .obj .item.item01::after {
	background: url(../images/section02_obj01@2x.png) 0 0 no-repeat;
	background-size: cover;
	padding: calc(100% * 1.7) 0 0;
}

section.section02 .obj .item.item02 {
	width: 4.6vw;
	top: -1vw;
	right: 11.0vw;
}

@media screen and (min-width: 1200px) {
	section.section02 .obj .item.item02 {
		width: 59px;
		top: -14px;
		right: 142px;
	}
}

@media screen and (max-width: 767px) {
	section.section02 .obj .item.item02 {
		top: 25vw;
		right: 5vw;
	}
}

section.section02 .obj .item.item02::after {
	background: url(../images/section02_obj02@2x.png) 0 0 no-repeat;
	background-size: cover;
	padding: calc(100% * 2.1) 0 0;
}

section.section02 .obj .item.item03 {
	width: 8.8vw;
	bottom: -2.1vw;
	left: 1.5vw;
}

@media screen and (min-width: 1200px) {
	section.section02 .obj .item.item03 {
		width: 113px;
		bottom: -27px;
		left: 20px;
	}
}

section.section02 .obj .item.item03::after {
	background: url(../images/section02_obj03@2x.png) 0 0 no-repeat;
	background-size: cover;
	padding: calc(100% * .9) 0 0;
}

section.section02 .obj .item.item04 {
	width: 7.9vw;
	bottom: -2vw;
	right: 2.6vw;
}

@media screen and (min-width: 1200px) {
	section.section02 .obj .item.item04 {
		width: 102px;
		bottom: -26px;
		right: 34px;
	}
}

section.section02 .obj .item.item04::after {
	background: url(../images/section02_obj04@2x.png) 0 0 no-repeat;
	background-size: cover;
	padding: calc(100% * 1.333) 0 0;
}


section.section02 .course_wrap {
	margin: 50px auto 0;
	overflow: hidden;
	max-width: 1280px;
	width: 100%;
	display: flex;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap {
		margin: 24px auto 0;
		flex-direction: column;
	}
}

section.section02 .course_wrap .course {
	background: #000;
	box-sizing: border-box;
	padding: 60px 0 0 0;
	width: 50%;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course {
		padding: 30px 0 0 0;
		width: 100%;
	}
}

section.section02 .course_wrap .course.basic {
	background: linear-gradient(#fff23f 50%, #f29600 50%);
	border-right: 40px solid #fff23f;
	border-left: 40px solid #fff23f;
	/*border-top: 60px solid #fff23f;*/
	border-bottom: 60px solid #fff23f;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course.basic {
		border-right: 20px solid #fff23f;
		border-left: 20px solid #fff23f;
		border-bottom: 30px solid #fff23f;
	}

	section.section02 .course_wrap .course.basic .item:nth-last-child(-n+2) {
		border-bottom: none !important;
	}
}

section.section02 .course_wrap .course.basic .curriculum .header .title span::after {
	background: #fff23f;
}

section.section02 .course_wrap .course.basic .option {
	background: #f29600;
}

section.section02 .course_wrap .course.basic .option .title {
	background: url(../images/2022/course_basic_option_ttl@2x.png) 0 0 no-repeat;
	background-size: contain;
	margin: 0 auto;
	max-width: 100%;
	width: 331px;
	padding: calc(331px * .19) 0 0;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course.basic .option .title {
		width: 190px;
		padding: calc(190px * .19) 0 0;
	}
}

section.section02 .course_wrap .course.advanced {
	background: linear-gradient(#6dc5ef 50%, #036eb7 50%);
	border-right: 40px solid #6dc5ef;
	border-left: 40px solid #6dc5ef;
	/*border-top: 60px solid #6dc5ef;*/
	border-bottom: 60px solid #6dc5ef;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course.advanced {
		border-right: 20px solid #6dc5ef;
		border-left: 20px solid #6dc5ef;
		border-bottom: 30px solid #6dc5ef;
	}
}

section.section02 .course_wrap .course.advanced .course_title::before {
	background: url(../images/course_title_advanced@2x.png) 0 0 no-repeat;
	background-size: cover;
}

section.section02 .course_wrap .course.advanced .option {
	background: #036eb7;
}

section.section02 .course_wrap .course.advanced .option .title {
	background: url(../images/2022/course_advanced_option_ttl@2x.png) 0 0 no-repeat;
	background-size: contain;
	margin: 0 auto;
	max-width: 100%;
	width: 271px;
	padding: calc(271px * .2398) 0 0;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course.advanced .option .title {
		width: 154px;
		padding: calc(154px * .2398) 0 0;
	}
}

section.section02 .course_wrap .course.advanced .option::before {
	background-size: contain;
	background: #036eb7 url(../images/nami_blue.png) 0 top repeat-x;
}

section.section02 .course_wrap .course.advanced .option .description::before {
	content: '';
	display: block;
	float: right;
	background: url(../images/course_advanced_figure01@2x.png) 0 0 no-repeat;
	background-size: cover;
	width: 145px;
	height: 121px;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course.advanced .option .description::before {
		width: 83px;
		height: 70px;
	}
}

section.section02 .course_wrap .course .course_title {
	font-weight: bold;
	font-size: 2.0vw;
	margin: 0 auto 20px;
	text-align: center;
	max-width: 425px;
}

section.section02 .course_wrap .course .course_title span {
	font-size: 0.8em;
	margin-left: -0.6em;
}

@media screen and (min-width: 1280px) {
	section.section02 .course_wrap .course .course_title {
		font-size: 1.625em;
	}
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .course_title {
		font-size: 0.938em;
	}
}

section.section02 .course_wrap .course .course_title::before {
	content: '';
	display: block;
	background: url(../images/course_title_basic@2x.png) 0 0 no-repeat;
	background-size: cover;
	margin: 0 auto 40px;
	width: 100%;
	padding: calc(100% * .1364) 0 0;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .course_title::before {
		margin: 0 auto 20px;
		width: 70.6%;
		padding: calc(70.6% * .1364) 0 0;
	}
}

section.section02 .course_wrap .course .course_description {
	font-size: 1.4vw;
	font-weight: bold;
	line-height: 1.4;
	margin: 0 0 40px;
	text-align: center;
}

@media screen and (min-width: 1280px) {
	section.section02 .course_wrap .course .course_description {
		font-size: 1.05em;
	}
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .course_description {
		font-size: 0.750em;
		max-width: 320px;
		margin: 0 auto 20px;
		text-align: left;
	}
}

section.section02 .course_wrap .course .curriculum {
	background: #fff;
	padding: 30px 20px;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum {
		box-sizing: border-box;
		/*max-width: 320px;*/
		margin: 0 auto;
	}
}

section.section02 .course_wrap .course .curriculum .header .title {
	font-size: 2.3vw;
	font-weight: bold;
	margin: 0 auto 20px;
	text-align: center;
}

@media screen and (min-width: 1280px) {
	section.section02 .course_wrap .course .curriculum .header .title {
		font-size: 1.875em;
	}
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .header .title {
		font-size: inherit;
	}
}

section.section02 .course_wrap .course .curriculum .header .title span {
	display: inline-block;
	padding: 0 10px;
	position: relative;
	z-index: 1;
}

section.section02 .course_wrap .course .curriculum .header .title span::after {
	content: '';
	display: block;
	background: #6dc5ef;
	width: 100%;
	height: 14px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
	transform: translateY(50%);
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .header .title span::after {
		height: 7px;
	}
}

section.section02 .course_wrap .course .curriculum .header figure {
	margin: 0 auto 30px;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .header figure {
		max-width: 260px;
	}
}

section.section02 .course_wrap .course .curriculum .header .detail {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 2;
	overflow: hidden;
}

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

	section.section02 .course_wrap .course .curriculum .header .detail {
		font-size: 1.313em;
	}
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .header .detail {
		font-size: 0.813em;
	}
}

section.section02 .course_wrap .course .curriculum .header .detail .label {
	float: left;
}

section.section02 .course_wrap .course .curriculum .header .detail .note {
	display: inline-block;
	font-size: 0.667em;
	font-weight: normal;
	word-break: keep-all;
}

section.section02 .course_wrap .course .curriculum .body {
	border-top: 1px solid #000;
	margin: 30px 0 0;
}

section.section02 .course_wrap .course .curriculum .body .wrap {
	margin: 0 0 0 -20px;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}

@media screen and (max-width: 1024px) {
	section.section02 .course_wrap .course .curriculum .body .wrap {
		margin: 0;
	}
}

section.section02 .course_wrap .course .curriculum .body .wrap::after {
	content: none;
}

section.section02 .course_wrap .course .curriculum .body .item {
	border-bottom: 1px dotted #ccc;
	margin: 30px 0 0 20px;
	width: calc(50% - 20px);
}

@media screen and (max-width: 1024px) {
	section.section02 .course_wrap .course .curriculum .body .item {
		margin: 30px 0 0;
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .body .item {
		margin: 20px 0 0 0;
		padding: 0 0 10px;
	}
}

section.section02 .course_wrap .course .curriculum .body .item dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-flow: column;
}

section.section02 .course_wrap .course .curriculum .body .item:nth-last-child(-n+2) {
	border-bottom: none;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .body .item:nth-last-child(-n+2) {
		border-bottom: 1px dotted #ccc;
	}
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .body .item:last-of-type {
		border-bottom: none;
	}
}

section.section02 .course_wrap .course .curriculum .body .item .date {
	font-size: 1.125em;
	font-weight: bold;
	margin: 0 0 14px;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .body .item .date {
		font-size: 1.2em;
	}
}

section.section02 .course_wrap .course .curriculum .body .item .date .number {
	background: #000;
	color: #fff;
	display: inline-block;
	font-size: 0.889em;
	margin: 0 10px 0 0;
	padding: 6px 8px;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .body .item .date .number {
		font-size: 0.909em;
	}
}

section.section02 .course_wrap .course .curriculum .body .item .title {
	font-size: 1.1em;
	font-weight: bold;
	line-height: 1.3;
	margin: 0 0 12px;
}

@media screen and (min-width: 1280px) {
	section.section02 .course_wrap .course .curriculum .body .item .title {
		min-height: 44px;
	}
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .body .item .title {
		font-size: 0.813em;
		min-height: inherit;
	}
}

section.section02 .course_wrap .course .curriculum .body .item .title.orange {
	color: #f6921d;
}

section.section02 .course_wrap .course .curriculum .body .item .title.blue {
	color: #00b5ec;
}

section.section02 .course_wrap .course .curriculum .body .item .scale-font {
	font-size: 0.8em;
	line-height: 1.7;
}

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

	section.section02 .course_wrap .course .curriculum .body .item .scale-font {
		font-size: 0.813em;
		line-height: 1.3;
	}
}

section.section02 .course_wrap .course .curriculum .body .item .description {
	color: #808080;
	font-size: 0.875em;
	font-weight: normal;
	line-height: 1.7;
	margin: 0 0 20px;
	text-align: left;
	overflow: hidden;
	min-height: inherit;
}

@media screen and (min-width: 1280px) {
	section.section02 .course_wrap .course .curriculum .body .item .description {
		min-height: 138px;
	}
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .body .item .description {
		font-size: 0.688em;
		min-height: inherit;
	}
}

section.section02 .course_wrap .course .curriculum .body .flex {
	margin-top: 0;
}

@media screen and (min-width: 1280px) {
	section.section02 .course_wrap .course .curriculum .body .flex {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		margin-top: 30px;
	}
}

section.section02 .course_wrap .course .curriculum .body .item .img-box {
	width: 50%;
	margin: auto;
}

@media screen and (min-width: 1280px) {
	section.section02 .course_wrap .course .curriculum .body .item .img-box {
		width: 90%;
		margin-left: auto;
		margin-top: auto;
	}
}

section.section02 .course_wrap .course .curriculum .body p {
	border-top: 1px solid #000;
	font-size: 0.750em;
	line-height: 1.7;
	margin: 30px 0 0;
	padding: 20px 0 0;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .curriculum .body p {
		font-size: 0.625em;
	}
}

section.section02 .course_wrap .course .option {
	background: #ccc;
	color: #fff;
	padding: 40px 15px 15px;
	position: relative;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .option {
		box-sizing: border-box;
		/*max-width: 320px;*/
		margin: 0 auto;
	}
}

section.section02 .course_wrap .course .option::before {
	content: '';
	display: block;
	background-size: contain;
	background: #ffffff url(../images/nami_orange.png) 0 top repeat-x;
	width: 100%;
	height: 9px;
	position: absolute;
	top: 0;
	left: 0;
}

section.section02 .course_wrap .course .option .wrap {
	padding: 0;
}

section.section02 .course_wrap .course .option .wrap::after {
	content: none;
}

section.section02 .course_wrap .course .option .title {
	font-size: 1.625em;
	font-weight: bold;
	line-height: 1.1;
	text-align: center;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .option .title {
		font-size: 0.875em;
	}
}

section.section02 .course_wrap .course .option .figure {
	margin: 20px auto;
	overflow: hidden;
}

section.section02 .course_wrap .course .option .figure img {
	width: 100%;
}

section.section02 .course_wrap .course .option .date {
	font-size: 1.125em;
	font-weight: bold;
	margin: 0 0 16px;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .option .date {
		font-size: 0.625em;
		margin: 0 0 10px;
	}
}

section.section02 .course_wrap .course .option .description {
	font-weight: bold;
	line-height: 1.5;
	overflow: hidden;
	text-align: left;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .option .description {
		font-size: 0.625em;
	}
}

section.section02 .course_wrap .course .option .description p .note {
	display: block;
	font-size: 0.875em;
}

section.section02 .course_wrap .course .option .description::before {
	content: '';
	display: block;
	float: right;
	background: url(../images/2022/course_basic_figure01@2x.png) 0 0 no-repeat;
	background-size: cover;
	width: 180px;
	height: 110px;
}

@media screen and (max-width: 767px) {
	section.section02 .course_wrap .course .option .description::before {
		font-size: 0.625em;
		width: 103px;
		height: 90px;
	}
}

section.section03 .inner {
	max-width: 880px;
}

section.section03 .section_title {
	background: url(../images/2022/section_title02@2x.png) center 0 no-repeat;
	background-size: contain;
	margin: 0 auto 40px;
	width: 695px;
	padding: calc(695px * .2788) 0 0;
}

@media screen and (min-width: 1280px) {
	section.section03 .section_title {
		width: 695px;
		padding: calc(695px * .2788) 0 0;
	}
}

@media screen and (max-width: 767px) {
	section.section03 .section_title {
		width: 275px;
		padding: calc(275px * .2788) 0 0;
	}
}

section.section03 .teacher {
	margin: 0 0 80px;
}

@media screen and (max-width: 767px) {
	section.section03 .teacher {
		margin: 0 0 60px;
	}
}

section.section03 .teacher .item {
	margin: 0 0 40px;
	position: relative;
	max-width: 800px;
	width: 100%;
}

@media screen and (max-width: 767px) {
	section.section03 .teacher .item {
		margin: 0 auto 40px;
		max-width: 335px;
	}
}

section.section03 .teacher .item::before {
	content: '';
	display: block;
	position: absolute;
}

section.section03 .teacher .item.item01::before {
	background: url(../images/section02_obj03@2x.png) 0 0 no-repeat;
	background-size: cover;
	width: 113px;
	padding: calc(113px * .9026) 0 0;
	top: -52px;
	left: -53px;
}

@media screen and (max-width: 800px) {
	section.section03 .teacher .item.item01::before {
		width: 14.1vw;
		padding: calc(14.1vw * .9026) 0 0;
		top: -6.5vw;
		left: -6.6vw;
	}
}

@media screen and (max-width: 767px) {
	section.section03 .teacher .item.item01::before {
		content: none;
	}
}

section.section03 .teacher .item.item01::after {
	content: '';
	display: block;
	background: url(../images/teacher01@2x.png) 0 0 no-repeat;
	background-size: cover;
	width: 100%;
	padding: calc(100% * .4526) 0 0;
}

@media screen and (max-width: 767px) {
	section.section03 .teacher .item.item01::after {
		background: url(../images/teacher01_sp@2x.png) 0 0 no-repeat;
		background-size: contain;
		padding: calc(100% * 1.62) 0 0;
	}
}

section.section03 .teacher .item.item02::before {
	background: url(../images/section02_obj04@2x.png) 0 0 no-repeat;
	background-size: cover;
	padding: calc(102px * 1.333) 0 0;
	width: 102px;
	bottom: -15px;
	right: -60px;
}

@media screen and (max-width: 800px) {
	section.section03 .teacher .item.item02::before {
		width: 12.7vw;
		padding: calc(12.7vw * 1.333) 0 0;
		bottom: -1.8vw;
		right: -7.5vw;
	}
}

@media screen and (max-width: 767px) {
	section.section03 .teacher .item.item02::before {
		content: none;
	}
}

section.section03 .teacher .item.item02::after {
	content: '';
	display: block;
	background: url(../images/2022/teacher02@2x.png) 0 0 no-repeat;
	background-size: cover;
	width: 100%;
	padding: calc(100% * .471) 0 0;
}

@media screen and (max-width: 767px) {
	section.section03 .teacher .item.item02::after {
		background: url(../images/2022/teacher02_sp@2x.png) 0 0 no-repeat;
		background-size: contain;
		padding: calc(100% * 1.54) 0 0;
	}
}

section.section03 .requirements {
	background: #f2f2f2;
	padding: 30px 10px;
}

@media screen and (max-width: 767px) {
	section.section03 .requirements {
		margin: 0 -10px;
	}
}

@media screen and (max-width: 767px) {
	section.section03 .requirements .item {
		max-width: 320px;
		margin: 0 auto;
	}
}

section.section03 .requirements .item.item01 dl dt {
	border-left: 3px solid #000;
	font-weight: bold;
	margin: 0 0 10px;
	padding: 0 0 0 10px;
}

section.section03 .requirements .item.item01 dl dd {
	margin: 0 0 25px;
}

@media screen and (max-width: 767px) {
	section.section03 .requirements .item.item01 dl dd {
		margin: 0 0 20px;
	}
}

section.section03 .requirements .item.item01 dl dd:last-of-type {
	margin: 0;
}

section.section03 .requirements .item.item01 dl dd.large {
	font-size: 1.875em;
	font-weight: bold;
	margin: 0 0 20px;
}

@media screen and (max-width: 767px) {
	section.section03 .requirements .item.item01 dl dd.large {
		font-size: 1.583em;
	}
}

section.section03 .requirements .item.item02 .content ul {
	padding: 0 0 0 1em;
	text-indent: -1em;
}

section.section03 .requirements .item .title {
	background: #000;
	color: #fff;
	font-size: 1.250em;
	font-weight: bold;
	padding: 8px 10px;
}

@media screen and (max-width: 767px) {
	section.section03 .requirements .item .title {
		font-size: 1.188em;
	}
}

section.section03 .requirements .item .content {
	line-height: 1.8;
	padding: 20px;
}

@media screen and (max-width: 767px) {
	section.section03 .requirements .item .content {
		font-size: 0.750em;
		padding: 20px 10px;
	}
}

section.section03 .requirements .item .content .yellow,
section .under-line {
	position: relative;
	z-index: 0;
}

section.section03 .requirements .item .content .yellow::after,
section .under-line::after {
	content: '';
	display: inline-block;
	background: #ffff00;
	height: 10px;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}

section.application {
	padding: 40px 0;
}

section.application .section_title {
	font-size: 1.875em;
	font-weight: bold;
	margin: 50px auto 30px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	section.application .section_title {
		font-size: 1.125em;
	}
}

section.application .section_title:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	background: url(../images/section_title_before@2x.png) center center no-repeat;
	background-size: contain;
	margin: 0 20px 0 0;
	width: 90px;
	padding: calc(90px * .06) 0 0;
}

@media screen and (max-width: 767px) {
	section.application .section_title:before {
		margin: 0 10px 0 0;
		width: 21%;
	}
}

section.application .section_title:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	background: url(../images/section_title_after@2x.png) center center no-repeat;
	background-size: contain;
	margin: 0 0 0 20px;
	width: 90px;
	padding: calc(90px * .06) 0 0;
}

@media screen and (max-width: 767px) {
	section.application .section_title:after {
		margin: 0 0 0 10px;
		width: 21%;
	}
}

section.application .text {
	max-width: 590px;
	margin: 20px auto;
	line-height: 1.8;
}

section.application .form_wrap {
	margin: 0 auto;
	max-width: 800px;
}

@media screen and (max-width: 767px) {
	section.application .form_wrap {
		max-width: 320px;
	}

	section.application .text {
		line-height: 1.8;
		font-size: 14px;
	}
}

section.application .form_wrap form input,
section.application .form_wrap form textarea {
	border: 1px solid #ccc;
	border-radius: 6px;
	box-sizing: border-box;
	box-shadow: none;
	font-size: 0.875em;
	width: 100%;
}

section.application .form_wrap form input::placeholder,
section.application .form_wrap form textarea::placeholder {
	color: #ccc;
}

section.application .form_wrap form input {
	padding: 7px;
}

section.application .form_wrap form .button_wrap {
	height: 63px;
	margin: 35px 0 0;
	text-align: center;
}

section.application .form_wrap form .button_wrap button {
	vertical-align: bottom;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	background: url(../images/button@2x.png) 0 0 no-repeat;
	background-size: contain;
	border: none;
	color: #fff;
	cursor: pointer;
	font-size: 1.250em;
	font-weight: bold;
	margin: 0 auto;
	padding: 0;
	width: 320px;
	height: 63px;
}

@media screen and (max-width: 767px) {
	section.application .form_wrap form .button_wrap button {
		max-width: 100%;
	}
}

section.application .form_wrap form .button_wrap button:hover {
	background: url(../images/button_on@2x.png) 0 0 no-repeat;
	background-size: contain;
	margin: 4px 0 0;
	width: 320px;
	height: 59px;
	box-shadow: none;
}

section.application .form_wrap table {
	width: 100%;
}

section.application .form_wrap table th,
section.application .form_wrap table td {
	padding: 15px;
	line-height: 1.6;
}

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

	section.application .form_wrap table th,
	section.application .form_wrap table td {
		display: block;
		padding: 0;
	}
}

section.application .form_wrap table th {
	font-weight: bold;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	section.application .form_wrap table th {
		font-size: 0.938em;
		margin: 0 0 10px;
		text-align: left;
	}
}

@media screen and (max-width: 767px) {
	section.application .form_wrap table td {
		font-size: 0.938em;
		margin: 0 0 20px;
	}
}

section.application .form_wrap table tr:last-of-type th {
	vertical-align: top;
}

section.application .form_wrap table td label,
section.application .form_wrap table td input[type="checkbox"],
section.application .form_wrap table td input[type="radio"],
section.application .form_wrap .consent input[type="checkbox"],
section.application .form_wrap .consent label {
	cursor: pointer;
}

section.application .form_wrap table td input[type="checkbox"]:disabled + label {
	cursor: not-allowed;
}

section.section05 {
	padding: 40px 0 0;
}

section.section05 .section_title {
	font-size: 1.875em;
	font-weight: bold;
	margin: 0 auto 30px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	section.section05 .section_title {
		font-size: 1.125em;
	}
}

section.section05 .section_title:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	background: url(../images/section_title_before@2x.png) center center no-repeat;
	background-size: contain;
	margin: 0 20px 0 0;
	width: 90px;
	padding: calc(90px * .06) 0 0;
}

@media screen and (max-width: 767px) {
	section.section05 .section_title:before {
		margin: 0 10px 0 0;
		width: 21%;
		padding: calc(21% * .06) 0 0;
	}
}

section.section05 .section_title:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	background: url(../images/section_title_after@2x.png) center center no-repeat;
	background-size: contain;
	margin: 0 0 0 20px;
	width: 90px;
	padding: calc(90px * .06) 0 0;
}

@media screen and (max-width: 767px) {
	section.section05 .section_title:after {
		margin: 0 0 0 10px;
		width: 21%;
		padding: calc(21% * .06) 0 0;
	}
}

section.section05 .contact {
	background: #f2f2f2;
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 800px;
	overflow: hidden;
	padding: 30px 30px;
}

@media screen and (max-width: 767px) {
	section.section05 .contact {
		padding: 30px 10px;
	}
}

section.section05 .contact .title {
	float: left;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 30px 0 0;
}

@media screen and (max-width: 767px) {
	section.section05 .contact .title {
		float: none;
		font-size: 0.813em;
		margin: 0 0 20px;
		text-align: center;
	}
}

section.section05 .contact .title span {
	color: #999;
	display: block;
	font-weight: normal;
}

section.section05 .contact .content {
	float: left;
	font-size: 1.875em;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	section.section05 .contact .content {
		float: none;
		font-size: 1.375em;
		text-align: center;
	}
}

section.section05 .contact .content span {
	font-size: 1.333em;
}

#mfp_overlay_inner h4 {
	font-size: 1.500em;
	font-weight: bold;
	margin: 0 auto 40px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#mfp_overlay_inner h4 {
		font-size: 1.125em;
		margin: 0 auto 20px;
	}
}

.thanks header {
	margin: 0 auto 60px;
}

.thanks header .inner {
	padding: 0;
}

@media screen and (max-width: 767px) {
	.thanks header .inner {
		max-width: 100%;
	}
}

.thanks header .inner::after {
	content: '';
	display: block;
	background: url(../images/thanks/header.webp) center 0 no-repeat;
	background-size: contain;
	margin: 0 auto;
	padding: calc(100% * .31) 0 0;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.thanks header .inner::after {
		background: url(../images/thanks/header.webp) center 0 no-repeat;
		background-size: cover;
		padding: calc(100% * .62) 0 0;
	}
}

.thanks h1 {
	font-size: 1.500em;
	font-weight: bold;
	margin: 0 auto 20px;
	text-align: center;
}

.thanks p {
	text-align: center;
	line-height: 1.7;
}

.thanks p span {
	display: block;
	margin: 20px auto 0;
}
