@charset "UTF-8";
body {
	counter-reset: number_a number_b;
}
/*-----------------------------------

	mainvisual_lower_block

-----------------------------------*/
#mainvisual_lower_block {
	background: url(../img/menu/img_mv.jpg) no-repeat center / cover;
}
#mainvisual_lower_block h2 {
	padding-top: 3.44vw;
	padding-bottom: 4.69vw;
}
@media screen and (max-width: 640px) {
	#mainvisual_lower_block {
		background: url(../img/menu/sp/img_mv.jpg) no-repeat center / cover;
		margin-bottom: 8px;
	}
	#mainvisual_lower_block h2 {
		padding-top: 6.83vw;
		padding-bottom: 7.71vw;
	}
	#mainvisual_lower_block p {
		text-orientation: upright;
	}
}
/*-----------------------------------

	mainvisual_btm_block

-----------------------------------*/
#mainvisual_btm_block {
	margin-top: 182px;
}
#mainvisual_btm_block .mv_btm_wrap {
	justify-content: flex-start;
}
#mainvisual_btm_block .text_box {
	width: 56.8%;
	margin-top: 16px;
}
html[lang="en"] #mainvisual_btm_block .text_box h3 > font:first-of-type,
html[lang="en"] #mainvisual_btm_block .text_box h3 br {
	display: none;
}
/*-----------------------------------

	menu_block

-----------------------------------*/
.menu_block {
	position: relative;
}
.menu_block.bk::after {
	content: '';
	display: block;
	background: #000000;
	width: 100vw;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.menu_block .contents_inner {
	max-width: 1164px;
	position: relative;
}
.menu_block .att_txt {
	font-size: 14px !important;
	line-height: 1.2 !important;
}
.menu_course .img_area {
	margin-bottom: 40px;
}
.menu_block .img_area .att_txt {
	color: #ffffff;
	margin-top: 18.5px;
}
.menu_block .img_area_ttl {
	writing-mode: vertical-rl;
	text-orientation: upright;
	white-space: nowrap;
	font-size: 35px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.02em;
	background: #ffffff;
	padding: 47px 22px 59px;
	position: absolute;
	right: min(13.2vw, 168px);
	bottom: -67px;
	z-index: 1;
}
html[lang="en"] .menu_block .img_area_ttl {
	font-size: 34px;
}
.menu_block .menu_wrap {
	align-items: center;
}
.menu_block.bk .menu_wrap {
	color: #ffffff;
}
.menu_block .menu_wrap .img_box {
	width: 36.85%;
}
.menu_block .menu_wrap .text_box {
	width: 54.6%;
}
.menu_course .menu_wrap .text_box {
	width: 68%;
}
.menu_block .menu_wrap h3,
.menu_block .menu_list h4 {
	font-size: 48px;
	font-weight: 400;
	line-height: 1.36;
	margin-bottom: 14px;
}
.menu_course .menu_wrap h4 {
	font-weight: 400;
	margin-bottom: 4px;
}
.menu_course .menu_wrap h4 .name {
	font-size: 42px;
}
.menu_course .menu_wrap h4 .price {
	font-size: 71px;
}
.menu_course .menu_wrap h4 .tax {
	font-size: 26px;
	margin-left: -13px;
}
.menu_block .menu_wrap p {
	font-size: 19px;
	font-weight: 400;
	line-height: 1.895;
}
.menu_block .menu_wrap .course_list {
	margin-top: 56px;
	gap: 0 50px;
}
.menu_block .menu_wrap .course_list li {
	font-size: 24px;
	font-weight: 300;
	line-height: 1.5;
	padding-left: 1em;
	width: 202px;
	position: relative;
}
.menu_block .menu_wrap .course_list li:nth-of-type(n+5) {
	width: calc(100% - 252px);
}
.menu_block .menu_wrap .course_list li:nth-of-type(1) {
	order: 1;
}
.menu_block .menu_wrap .course_list li:nth-of-type(2) {
	order: 3;
}
.menu_block .menu_wrap .course_list li:nth-of-type(3) {
	order: 5;
}
.menu_block .menu_wrap .course_list li:nth-of-type(4) {
	order: 7;
}
.menu_block .menu_wrap .course_list li:nth-of-type(5) {
	order: 2;
}
.menu_block .menu_wrap .course_list li:nth-of-type(6) {
	order: 4;
}
.menu_block .menu_wrap .course_list li:nth-of-type(7) {
	order: 6;
}
.menu_block .menu_wrap .course_list li:nth-of-type(8) {
	order: 8;
}
.menu_block .menu_wrap .course_list li:nth-of-type(9) {
	order: 9;
	margin-left: auto;
}
.menu_block .menu_wrap .course_list li::before {
	content: '';
	display: block;
	background: #ffffff;
	width: 24px;
	height: 24px;
	border-radius: 50vw;
	position: absolute;
	top: 6px;
	left: 0;
	z-index: 1;
}
.menu_block .menu_wrap .course_list li::after {
	content: '';
	display: block;
	font-size: 23px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	line-height: 1.5;
	color: #000000;
	position: absolute;
	top: 0;
	left: 5px;
	z-index: 2;
}
.menu_block .menu_list {
	max-width: 834px;
	margin: 0 auto;
}
.menu_block .menu_list .menu_item {
	align-items: center;
	padding: 8px 0;
}
.menu_block .menu_list .menu_item:not(:last-child) {
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.menu_block .menu_list .menu_item span {
	font-size: 26px;
	font-weight: 400;
}
.menu_block .menu_list .menu_item .ttl {
	width: calc(100% - 230px);
}
.menu_block .menu_list .menu_item .ttl.lt {
	letter-spacing: -0.1em;
}
.menu_block .menu_list .menu_item .ttl .sm {
	font-size: 22px;
}
.menu_block .menu_list .menu_item .price {
	text-align: right;
	width: 230px;
}
@media screen and (max-width: 640px) {
	.menu_block .att_txt {
		font-size: 10px !important;
		line-height: 1 !important;
	}
	.menu_block .img_area .att_txt {
		margin-top: 10px;
	}
	.menu_block .img_area_ttl {
		font-size: 24px;
		padding: 20.5px 14.5px 22.5px !important;
		right: 24px;
		bottom: 76px;
	}
	html[lang="en"] .menu_block .img_area_ttl {
		font-size: 14px;
	}
	.menu_block .menu_wrap .img_box,
	.menu_block .menu_wrap .text_box {
		width: 100% !important;
	}
	.menu_block.bk .menu_wrap .img_box {
		width: max(56.6vw, 211px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.menu_block .menu_wrap h3 {
		font-size: 23px;
		margin-bottom: 9px;
	}
	.menu_block .menu_list h4 {
		font-size: 22px;
		margin-bottom: 11.5px;	
	}
	.menu_course .menu_wrap h4 {
		margin-bottom: 12px;
	}
	.menu_course .menu_wrap h4 .name {
		display: block;
		font-size: 25px;
	}
	.menu_course .menu_wrap h4 .price {
		font-size: 43px;
	}
	.menu_course .menu_wrap h4 .tax {
		font-size: 16px;
		margin-left: -8px;
	}
	.menu_block .menu_wrap p {
		font-size: 11.5px;
	}
	.menu_course .menu_wrap p {
		width: 72%;
	}
	.menu_block .menu_wrap .course_list {
		margin-top: 23px;
	}
	.menu_block .menu_wrap .course_list li {
		font-size: 14.5px;
		line-height: 1.48;
		width: 100% !important;
		order: 0 !important;
	}
	.menu_block .menu_wrap .course_list li::before {
		width: 14.5px;
		height: 14.5px;
		top: 5px;
	}
	.menu_block .menu_wrap .course_list li::after {
		font-size: 12.5px;
		line-height: 1.48;
		top: 3px;
		left: 3.5px;
	}
	.menu_block .menu_list .menu_item {
		padding: 4px 0;
	}
	.menu_block .menu_list .menu_item span {
		font-size: 11.5px;
	}
	.menu_block .menu_list .menu_item .ttl {
		width: calc(100% - 100px);
	}
	.menu_block .menu_list .menu_item .ttl.lt {
		letter-spacing: 0;
	}
	.menu_block .menu_list .menu_item .ttl .sm {
		font-size: 10px;
	}
	.menu_block .menu_list .menu_item .price {
		width: 100px;
	}
}
/*-----------------------------------

	menu01_block

-----------------------------------*/
#menu01_block {
	padding-bottom: 65px;
	margin-top: 136px;
}
#menu01_block::after {
	height: calc(100% - min(35.6vw, 458px));
}
#menu01_block .menu_wrap .course_list li::after {
	content: counter(number_a);
	counter-increment: number_a;
}
@media screen and (max-width: 640px) {
	#menu01_block {
		padding-bottom: 37px;
		margin-top: 7px;
	}
}
/*-----------------------------------

	menu02_block

-----------------------------------*/
#menu02_block {
	padding-bottom: 65px;
	margin-top: 142px;
}
#menu02_block::after {
	height: calc(100% - min(35.6vw, 458px));
}
#menu02_block .img_area_ttl {
	padding-top: 44px;
	padding-bottom: 60px;
}
#menu02_block .menu_wrap .course_list li::after {
	content: counter(number_b);
	counter-increment: number_b;
}
@media screen and (max-width: 640px) {
	#menu02_block {
		padding-bottom: 41px;
		margin-top: 58px;
	}
	#menu02_block .img_area_ttl {
		bottom: 101px;
	}
}
/*-----------------------------------

	menu03_block

-----------------------------------*/
#menu03_block {
	margin-top: 72.6px;
}
#menu03_block .img_box .att_txt {
	margin-top: 10px;
}
#menu03_block .text_box h3 {
	font-size: 60px;
	font-weight: 400;
	margin-bottom: 30px;
}
#menu03_block .text_box h3 .sm {
	display: block;
	font-size: 42px;	
}
@media screen and (max-width: 640px) {
	#menu03_block {
		margin-top: 18px;
	}
	#menu03_block .img_box {
		margin-bottom: 14px;
	}
	#menu03_block .text_box h3,
	#menu03_block .text_box h3 .sm {
		font-size: 24px;
		letter-spacing: -0.02em;
	}
	#menu03_block .text_box h3 {
		margin-bottom: 8px;
	}
}
/*-----------------------------------

	menu04_block

-----------------------------------*/
#menu04_block {
	padding-bottom: 115px;
	margin-top: 142px;
}
#menu04_block::after {
	height: calc(100% - min(45.3vw, 579px));
}
#menu04_block .img_area {
	margin-bottom: 136px;
}
#menu04_block .img_box {
	margin-right: 89px;
}
@media screen and (max-width: 1200px) {
	#menu04_block .img_box {
		margin-right: auto;
	}
}
@media screen and (max-width: 640px) {
	#menu04_block {
		padding-bottom: 0;
		margin-top: 75px;
	}
	#menu04_block::after {
		height: calc(100% - 31.2vw);
	}
	#menu04_block .img_area {
		margin-bottom: 28.5px;
	}
	#menu04_block .img_box {
		margin-top: 30px;
		margin-bottom: -13.4vw;
	}
}
/*-----------------------------------

	menu04_sub_block

-----------------------------------*/
#menu04_sub_block {
	margin-top: 142px;
}
@media screen and (max-width: 640px) {
	#menu04_sub_block {
		margin-top: 21.3vw;
	}
}
/*-----------------------------------

	menu05_block

-----------------------------------*/
#menu05_block {
	padding-bottom: 83px;
	margin-top: 122px;
}
#menu05_block::after {
	height: calc(100% - min(25.2vw, 322px));
}
#menu05_block .menu_wrap {
	align-items: flex-end;
	margin-top: -83px;
}
html[lang="en"] #menu05_block .menu_wrap {
	margin-top: 23px;
}
#menu05_block .text_box {
	width: 44.6%;
	margin-bottom: 6px;
}
#menu05_block .img_box {
	width: 44.5%;
	margin-right: 18px;
}
@media screen and (max-width: 1200px) {
	#menu05_block .menu_wrap {
		align-items: center;
		margin-top: 40px;
	}
}
@media screen and (max-width: 640px) {
	#menu05_block {
		padding-bottom: 0;
		margin-top: 73px;
	}
	#menu05_block::after {
		height: calc(100% - 36.3vw);
	}
	#menu05_block .menu_wrap,
	html[lang="en"] #menu05_block .menu_wrap {
		margin-top: 28.5px;
	}
	#menu05_block .img_box {
		margin-top: 15px;
		margin-bottom: -20.3vw;
	}
}
/*-----------------------------------

	menu05_sub_block

-----------------------------------*/
#menu05_sub_block {
	margin-top: 109px;
}
@media screen and (max-width: 640px) {
	#menu05_sub_block {
		margin-top: 25.28vw;
	}
}
/*-----------------------------------

	menu06_block

-----------------------------------*/
#menu06_block {
	padding-bottom: 95px;
	margin-top: 109px;
}
#menu06_block::after {
	height: calc(100% - min(32vw, 409px));
}
#menu06_block .img_area {
	display: grid;
	grid-template-columns: 1.71fr 1fr;
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 6.9%;
	grid-row-gap: 12.41%;
	margin-bottom: 90px;
}
#menu06_block .img_area .img01 {
	grid-area: 1 / 1 / 3 / 2;
}
#menu06_block .img_area .img02 {
	grid-area: 1 / 2 / 2 / 3;
}
#menu06_block .img_area .img03 {
	grid-area: 2 / 2 / 3 / 3;
}
#menu06_block .img_box {
	width: 36.1%;
	margin-top: 3px;
}
@media screen and (max-width: 640px) {
	#menu06_block {
		padding-bottom: 0;
		margin-top: 73px;
	}
	#menu06_block::after {
		height: calc(100% - 36.5vw);
	}
	#menu06_block .img_area {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: 1fr 0.34fr;
		grid-column-gap: 14px;
		grid-row-gap: 16px;
		margin-bottom: 35px;
	}
	#menu06_block .img_area .img01 {
		grid-area: 1 / 1 / 2 / 3;
	}
	#menu06_block .img_area .img02 {
		grid-area: 2 / 1 / 3 / 2;
	}
	#menu06_block .img_area .img03 {
		grid-area: 2 / 2 / 3 / 3;
	}
	#menu06_block .menu_wrap p {
		letter-spacing: -0.03em;
	}
	#menu06_block .img_box {
		margin-top: 11px;
		margin-bottom: -20.6vw;
	}
}
/*-----------------------------------

	menu06_sub_block

-----------------------------------*/
#menu06_sub_block {
	margin-top: 104px;
}
@media screen and (max-width: 640px) {
	#menu06_sub_block {
		margin-top: 29.4vw;
	}
}
/*-----------------------------------

	menu07_block

-----------------------------------*/
#menu07_block {
	padding-bottom: 94px;
	margin-top: 117.5px;
}
#menu07_block::after {
	height: calc(100% - min(25.2vw, 322px));
}
#menu07_block .img_area {
	margin-bottom: 104px;
}
#menu07_block .img_box {
	margin-right: 55px;
}
@media screen and (max-width: 640px) {
	#menu07_block {
		padding-bottom: 0;
		margin-top: 70px;
	}
	#menu07_block::after {
		height: calc(100% - 36.6vw);
	}
	#menu07_block .img_area {
		margin-bottom: 32px;
	}
	#menu07_block .img_box {
		width: max(68.6vw, 257px) !important;
		margin-top: 33px;
		margin-right: auto;
		margin-bottom: -12.6vw;
	}
}
/*-----------------------------------

	menu07_sub_block

-----------------------------------*/
#menu07_sub_block {
	margin-top: 107px;
}
@media screen and (max-width: 640px) {
	#menu07_sub_block {
		margin-top: 21.1vw;
	}
}
/*-----------------------------------

	menu08_block

-----------------------------------*/
#menu08_block {
	padding-bottom: 81px;
	margin-top: 120px;
} 
#menu08_block::after {
	height: calc(100% - min(33.8vw, 432px));
}
#menu08_block .img_area {
	margin-bottom: 77px;
}
#menu08_block .img_box {
	margin-right: 55px;
}
#menu08_block .text_box {
	width: 100%;
}
@media screen and (max-width: 640px) {
	#menu08_block {
		padding-bottom: 36px;
		margin-top: 71px;
	}
	#menu08_block::after {
		height: calc(100% - 36.6vw);
	}
	#menu08_block .img_area {
		margin-bottom: 29px;
	}
	#menu08_block .menu_wrap h3 {
		line-height: 1.57;
	}
}
/*-----------------------------------

	menu08_sub_block

-----------------------------------*/
#menu08_sub_block {
	margin-top: 119px;
}
@media screen and (max-width: 640px) {
	#menu08_sub_block {
		margin-top: 30px;
	}
}
/*-----------------------------------

	menu09_block

-----------------------------------*/
#menu09_block {
	padding-bottom: 137px;
	margin-top: 68px;
}  
#menu09_block .img_area img {
	width: calc(100% / 3);
}
@media screen and (max-width: 640px) {
	#menu09_block {
		padding-bottom: 0;
		margin-top: 82px;
	}  	
	#menu09_block::after {
		height: calc(100% - 42.24vw);		
		bottom: 7.04vw;
	}
	#menu09_block .img_area {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: 1fr 0.31fr;
		grid-column-gap: 14px;
		grid-row-gap: 16px;
	}
	#menu09_block .img_area img {
		width: auto;
	}
	#menu09_block .img_area .img01 {
		grid-area: 2 / 1 / 3 / 2;
	}
	#menu09_block .img_area .img02 {
		grid-area: 1 / 1 / 2 / 3;
	}
	#menu09_block .img_area .img03 {
		grid-area: 2 / 2 / 3 / 3;
	}
}
/*-----------------------------------

	menu09_sub_block

-----------------------------------*/
#menu09_sub_block {
	margin-bottom: 154px;
}
@media screen and (max-width: 640px) {
	#menu09_sub_block {
		margin-top: 5.4vw;
		margin-bottom: 45px;
	}
}
