@charset "utf-8";
/* CSS Document */

/*===================================
	.block01
=====================================*/

.block01{
	padding: 85px 0;
}

.block01 .block_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

.block01 .block_inner::before{
	content: '';
	background: url("../images/other_course/parts02.webp")no-repeat;
	background-size: cover;
	width: 34.3809%;
	height: auto;
	aspect-ratio: 361 / 350;
	position: absolute;
	top: -20px;
	right: -14.8571%;/*-156*/
	z-index: -1;
}

.block01 .block_inner .txt_area{
	margin-top: 27px;
}

.block01 .block_inner .txt_area p{
	font-size: min(1.22vw, 1.8rem);
	line-height: 1.7222;
	text-align: center;
	color: #333333;
}

/*===================================
	.block02
=====================================*/

.block02{
	padding: 90px 0 105px;
	position: relative;
}

.block02.bg01::before,
.block02.bg03::before{
	content: '';
	background: #f0f7f6;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
}

.block02.bg02{
	padding-top: 110px;
}

.block02.bg03{
	padding: 100px 0 125px;
	margin-bottom: 150px;
}

.block02 .block_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

.block02 .block_inner::before{
	content: '';
	background: url("../images/other_course/parts03.webp")no-repeat;
	background-size: cover;
	width: 163.9047%;/*1721*/
	height: auto;
	aspect-ratio: 1721 / 753;
	position: absolute;
	top: -51px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.block02.bg02 .block_inner::before{
	top: 260px;
}

.block02.bg03 .block_inner::before{
	top: 95px;
}

.block02.bg02 .block_inner::after,
.block02.bg03 .block_inner::after{
	content: '';
	background: url("../images/other_course/parts02.webp")no-repeat;
	background-size: cover;
	width: 34.3809%;
	height: auto;
	aspect-ratio: 361 / 350;
	position: absolute;
	top: -59px;
	right: -12.4761%;/*-131*/
	z-index: -1;
}

.block02.bg03 .block_inner::after{
	top: -222px;
}


.block02 .block_inner .two_columns{
	width: 100%;
	margin-top: 53px;
	display: flex;
	justify-content: space-between;
	position: relative;
}

.block02 .block_inner .two_columns.head_parts01::before{
	content: '';
	background: url("../images/other_course/parts01.webp")no-repeat;
	background-size: cover;
	width: 27.1%;
	height: auto;
	aspect-ratio: 271 / 223;
	position: absolute;
	top: 2px;
	transform: translateY(-100%);
	left: 1.0%;
	z-index: -1;
}

.block02 .block_inner .two_columns .photo_area{
	width: 47.5%;
	height: auto;
	aspect-ratio: 475 / 308;
	border-radius: 20px;
	overflow: hidden;
}

.block02 .block_inner .two_columns .photo_area img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.block02 .block_inner .two_columns .txt_area{
	width: 46.35%;
	margin-top: 24px;
}

.block02 .block_inner .two_columns .txt_area p{
	font-size: min(1.15vw, 1.7rem);
	line-height: 1.8235;
	color: #333333;
	text-align: justify;
}

.block02 .block_inner .detail_wrap{
	width: 100%;
	margin-top: 56px;
}

.block02 .block_inner .detail_wrap .table_area{
	width: 100%;
	margin-top: 18px;
}

.block02 .block_inner .detail_wrap .table_area table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 2px;
}

.block02 .block_inner .detail_wrap .table_area table.price_table{
	border-spacing: 0;
}

.block02 .block_inner .detail_wrap .table_area table.price_table.table-Lv2{
	border-spacing: 0 2px;
}

.block02 .block_inner .detail_wrap .table_area table td{
	padding: 10px 2.4% 12px 2.1%;
	border: 1px solid #c6c6c6;
	box-sizing: border-box;
	height: 55px;
	background: #fff;
}

.block02 .block_inner .detail_wrap .table_area table td:not(.color01) p{
	font-size: min(1.22vw, 1.8rem);
	line-height: 1.6666;
	color: #000000;
	text-align: justify;
}

.block02 .block_inner .detail_wrap .table_area table td ul{
	list-style: none;
}

.block02 .block_inner .detail_wrap .table_area table td ul li{
	padding-left: 2.1rem;
	font-size: min(1.22vw, 1.8rem);
	line-height: 1.6666;
	color: #000000;
	position: relative;
}

.block02 .block_inner .detail_wrap .table_area table td ul li::before{
	content: '';
	background: #61c1be;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	position: absolute;
	top: 5px;
	left: 0;
}

.block02 .block_inner .detail_wrap .table_area table td.color01{
	width: 22.7%;
	padding-left: 2.0%;
	background: #61c1be;
}

.block02 .block_inner .detail_wrap .table_area table.table-Lv2 td.color01{
	width: 29.1%;
}

.block02 .block_inner .detail_wrap .table_area table.table-Lv2 td.color02,
.block02 .block_inner .detail_wrap .table_area table.table-Lv2 td.center_txt{
	padding: 10px 0 12px;
}

.block02 .block_inner .detail_wrap .table_area table.table-Lv2 td.color02{
	background: #61c1be;
}

.block02 .block_inner .detail_wrap .table_area table.table-Lv2 td.color02 p,
.block02 .block_inner .detail_wrap .table_area table.table-Lv2 td.center_txt p{
	text-align: center;
}

.block02 .block_inner .detail_wrap .table_area table td.color01 p,
.block02 .block_inner .detail_wrap .table_area table.table-Lv2 td.color02 p{
	font-size: min(1.35vw, 2.0rem);
	line-height: 1.85;
	color: #fff;
}

.block02 .block_inner .detail_wrap .table_area table td + td{
	border-left: none;
}

.block02 .block_inner .detail_wrap .table_area table.price_table tr + tr td{
	border-top: none;
	border-left: none;
}

.block02 .block_inner .detail_wrap .table_area table.price_table.table-Lv2 tr + tr td{
	border-top: 1px solid #c6c6c6;
}

.block02 .block_inner .detail_wrap p.color_txt{
	margin-top: 10px;
	font-size: min(1.22vw, 1.8rem);
	line-height: 1.2777;
	color: #e71c24;
}

.block02 .block_inner .common_contact_area01{
	width: 46.3%;
	margin: 68px auto 0;
	border: 3px solid #c6c6c6;
	border-radius: 20px;
	background: #fff;
	padding: 18px 0 21px;
}

.block02 .block_inner .common_contact_area01 p.color_txt01{
	font-size: min(1.35vw, 2.0rem);
	line-height: 1;
	color: #e71c24;
	text-align: center;
}

.block02 .block_inner .common_contact_area01 .telnum{
	margin-top: 9px;
}

.block02 .block_inner .common_contact_area01 .telnum a{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: min(3.46vw, 5.124rem);
	line-height: 1;
	color: #0071b6;
}

.block02 .block_inner .common_contact_area01 .telnum a::before{
	content: '';
	background: url("../images/other_course/tel_ico.webp")no-repeat;
	background-size: cover;
	width: 9.9352%;/*46*/
	height: auto;
	aspect-ratio: 46 / 50;
	margin-right: 7px;
}

.block02 .block_inner .common_contact_area01 p.c_txt{
	margin-top: 8px;
	font-size: min(1.01vw, 1.5rem);
	line-height: 1.7333;
	color: #333333;
	text-align: center;
}

.block02 .block_inner h4.h4-midashi{
	margin-top: 102px;
	padding-bottom: 16px;
	font-size: min(1.69vw, 2.5rem);
	line-height: 1;
	color: #35a59f;
	text-align: center;
	position: relative;
}

.block02 .block_inner h4.h4-midashi::before{
	content: '';
	background: #61c1be;
	width: 4.95rem;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.block02 .block_inner .common_contact_area02{
	width: 100%;
	margin: 24px auto 0;
	border: 3px solid #c6c6c6;
	border-radius: 20px;
	background: #fff;
	padding: 26px 0 31px;
}

.block02 .block_inner .common_contact_area02 p.txt01{
	font-size: min(1.35vw, 2.0rem);
	line-height: 1;
	color: #000000;
	text-align: center;
}

.block02 .block_inner .common_contact_area02 p.tel_head{
	margin-top: 31px;
	font-size: min(1.35vw, 2.0rem);
	line-height: 1;
	color: #000000;
	text-align: center;
}

.block02 .block_inner .common_contact_area02 .telnum{
	margin-top: 9px;
}

.block02 .block_inner .common_contact_area02 .telnum a{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: min(3.46vw, 5.124rem);
	line-height: 1;
	color: #0071b6;
}

.block02 .block_inner .common_contact_area02 .telnum a::before{
	content: '';
	background: url("../images/other_course/tel_ico.webp")no-repeat;
	background-size: cover;
	width: 4.6%;/*46*/
	height: auto;
	aspect-ratio: 46 / 50;
	margin-right: 7px;
}

.block02 .block_inner .common_contact_area02 p.c_txt{
	margin-top: 8px;
	font-size: min(1.01vw, 1.5rem);
	line-height: 1.7333;
	color: #333333;
	text-align: center;
}













