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

/*===================================
	#anchor_navi
=====================================*/

#anchor_navi{
	padding: 60px 0 0;
}

#anchor_navi .inner{
	width: 100%;
	max-width: 1150px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

#anchor_navi .inner .anchor_wrap{
	width: 100%;
	min-height: 90px;
	border: 1px solid #73b1d9;
	border-radius: 45px;
	display: flex;
	align-items: center;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li{
	position: relative;
	padding: 8px 1.13em 6px;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li + li{
	border-left: 2px dotted #73b1d9;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li a{
	display: flex;
	align-items: center;
	font-size: 100%;
	font-weight: 600;
	line-height: 1;
	color: #333333;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li a::after{
	content: '';
	background: url("../image/qa/anchor_ico.svg")no-repeat;
	background-size: cover;
	width: 1.125em;/*18*/
	height: auto;
	aspect-ratio: 1 / 1;
	margin-left: 0.625em;/*10*/
	
}

/*----------------------------*/
:where(figure){
	margin-bottom: 0em !important;
}
:where(.wp-block-columns){
	margin-bottom: 0em !important;
}

section p{
	/*letter-spacing: 0.1em;*/
	color: #333;
	position: relative;
	        font-weight: 400;
}

/*section#firstview .inner .catchImage{
	background: url(../image/schedule/mainvisual.webp) 0 0 / cover no-repeat;
}*/
/*----------------------------*/

section.wp-block-group{
	position: relative;
}


section.wp-block-group > div{
}
section.content{
	padding: 0 25px;
        box-sizing: border-box;
	
}

section.content > section{
	max-width: 1000px;
	margin: 0 auto;
	
}
section.content > section:nth-of-type(even) {
	background-color: #F4F9FC;
}

section#firstview .inner .catchImage{
	background: url(../image/lesson/mainvisual.webp) 0 0 / cover no-repeat;
}
section#firstview .inner h1.hd dl dd span{
    font-size: 67.5%;
}

/*----------------------------*/
section.content h2{
	font-size: 2em;
	font-weight: 600;
	line-height: 1;
	color: #333333;
	text-align: center;
	padding-bottom: 24px;
	position: relative;
	font-family: YakuHanJP, "IBM Plex Sans JP", sans-serif;
}

section.content h2::before{
	content: '';
	background: linear-gradient(
		to right,
		#0075c1 0%,
		#0075c1 50%,
		#e75297 50%,
		#e75297 100%
	);
	width: 100%;
	max-width: 220px;
	height: 5px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

/*section.content h2:first-of-type{
	margin-top: 110px;
}*/

section.content h3{
	font-size: 1.56em;
	border-bottom: 2px solid #0075C1;
	font-weight: 600;
	line-height: 1.75;
	color: #333333;
	        padding-left: 1.86em;
	padding-bottom: 0.3em;
	position: relative;
	font-family: YakuHanJP, "IBM Plex Sans JP", sans-serif;
}
section.content h3::before{
	content: '';
	background: linear-gradient(
		to bottom,
		#0075c1 0%,
		#0075c1 50%,
		#e75297 50%,
		#e75297 100%
	);
	width: 0.4em;
	height: 1.69em;
	position: absolute;
        top: 50%;
        transform: translateY(-60%);
	        left: 0.58em;
	
}


section.content .thumbnail{
	margin-top:  2.88em;
}

section.content .catch{
		font-size: 1.44em;
	font-weight: 500;
	line-height: 1.75;
	color: #333333;
	        padding: 1.52em 0 1.30em;
}

section.content .box_800{
	max-width: 800px;
	margin: 0 auto;
}

section.content .border_b{
	border:3px solid #0075C1;
border-radius:0.88em;
}



.navigation{
padding: 0 25px;
        box-sizing: border-box;}

.navigation > div{
    display: flex;
    justify-content: center;
	background-color: #E3F2FC;
	border-radius: 0.94em;
	        max-width: 1100px;
        margin: 0 auto;
	position: relative;
	    padding: 1.56em 0px;
	
}

.navigation .alignleft a,.navigation .alignright a{
	display: flex;
	align-items: center;
	font-size: 1.13em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	column-gap: 0.82em;
	font-weight: 500;
	
}
.navigation .alignleft a{
	left: 2.62em;
}
.navigation .alignright a{
	right: 2.62em;
}

.navigation .alignleft a::before,.navigation .alignright a::after{
	content: "";
	display: block;
        background: url(../image/common/icon_circle_blue.svg) no-repeat;
	width: 30px;
	height: 30px;
	        flex-shrink: 0;
	transform: rotate(90deg);
}
.navigation .alignleft a::before{
	        transform: rotate(180deg);
}
.navigation .alignright a::after{
	        transform: rotate(0deg);
}
.navigation .aligncenter {
	        width: 260px;
        height: 60px;
}
.navigation .aligncenter a{
	        box-sizing: border-box;
        border: 2px solid #0075c1;
        background-color: #0075c1;
        color: #fff;
	padding-left: 65px;
	        font-size: 0.86em;
}
.navigation .aligncenter a:hover{
	background-color: #fff;
	color: #0075c1;
}

.navigation .aligncenter a::before {
        content: '';
        background: url(../image/common/icon_arrow_white.svg) 0 0 / contain no-repeat;
        width: 31px;
        height: 31px;
        aspect-ratio: 1 / 1;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 15px;
    }
.navigation .aligncenter a:hover::before{
    background: url("../image/common/icon_arrow_blue.svg") 0 0 / contain no-repeat;
}


#footer_wrap{
	margin-top:17.54em;
	
}

/*----------------------------*/
/*一覧*/

.lesson {
	margin-top: 6.88em;

}

.lesson .lesson_list{
	margin-top: 6.60em;

}
.lesson .lesson_list{
	display: grid;
    grid-template-columns: repeat(2, 1fr);
	        gap: 4.75em 3.125em;
}

.lesson .lesson_list dd{
	display: flex;
	        align-items: flex-start;
	font-size: 1.25em;
	font-family: YakuHanJP, "IBM Plex Sans JP", sans-serif;
	margin-top: 0.58em;
	font-weight: 600;
	line-height: 1.75;
        justify-content: space-between;
}
.lesson .lesson_list dd::after{
	content: "";
	display: block;
	width: 1.25em;
	height: 1.25em;
background: url("../image/lesson/icon_arrow_blue_lesson.svg") 0 0 / contain no-repeat;
	        flex-shrink: 0;
	
}


/*----------------------------*/
/*lesson_01*/

.lesson_01 .box_tel {
	        padding: 2.25em 4.69em;
}
.lesson_01 .box_tel > div > p{
	        font-weight: 500;
}
.lesson_01 .box_tel > div > p br{
	       display: none;
}
.lesson_01 .box_tel .tel_info{
	border-top: 2px dotted #A0B4C1;
	        margin-top: 1.4375em;
	        padding-top: 0.88em;
}
.lesson_01 .box_tel .tel_info > div{
	display: flex;
	align-items: center;
	column-gap: 1.813em;
	        justify-content: center;
}
.lesson_01 .box_tel .tel_info > div p{
font-size: 1.125em;
	color: #0075C1;
	font-weight: 700;
}

.lesson_01 .box_tel > div > div a{
        font-family: YakuHanJP, "Jost", sans-serif;
        font-weight: 500;
	display: flex;
	align-content: center;
	font-size: 1.938em;
	column-gap: 0.323em;
	        align-items: center;
	pointer-events: none;
	
}
.lesson_01 .box_tel > div > div a::before{
    content: "";
	display: block;
	background-image: url("../image/lesson/icon_tel.svg");
	width: 0.71em;
	height: 0.871em;
	background-repeat: no-repeat;
	
}

.lesson_01 h4{
	font-size: 1.25em;
	background-color: #D9EEFC;
	font-weight: 600;
	line-height: 1.75;
	color: #333333;
	padding: 0.38em 1.3em;
	    border-radius: 0.47em;
}
.lesson_01 h5{
	font-size: 1.13em;
	font-weight: 700;
	line-height: 1.75;
	color: #0075C1;
}
.lesson_01 h5{
	font-size: 1.13em;
	font-weight: 700;
	line-height: 1.75;
	color: #0075C1;
	        margin-top: 1.86em;
}
.lesson_01 .box_example {
    display: flex;
    justify-content: end;
}
.lesson_01 .box_example > div{
	    display: flex;
    flex-direction: column;
	width: calc(50% + 6.25em);
}


.lesson_01 .box_example figure{
        width: min(35vw, 350px);
position: absolute;
	left: 0;

}
.lesson_01 .box_example .box_desc{
	margin: 1.44em 0.94em 0 ;
}

.lesson_01 .box_example .box_desc ul{

    margin-top: 0.3em;
    line-height: 1.75;
}

.lesson_01 .box_example .box_desc li{
	font-weight: 500;
}
.lesson_01 .box_example .box_desc li::before{
	content: "・"
		
}


/*----------------------------*/
/*lesson_02ほか　詳細表*/
.table_info {
display: flex;
	flex-direction: column;
	
}
.table_info figcaption{
order: 0;
	        background-color: #0075C1;
        color: #fff;
        text-align: center;
        font-size: 1.13em;
	padding: 0.91em 0;
	
}
.table_info > table {
	        border-collapse: collapse;
	width: 100%;
order: 1;
}

.table_info > table tr{
	
}
.table_info > table tr th{
        background-color: #EBF4FA;
	color: #0075C1;
	text-align: center;
	font-size: 1.13em;
	font-weight: 500;
}
.table_info > table tr td{
        background-color: #fff;
	font-weight: 400;
	line-height: 2;
}
.table_info > table tr td.caution strong{

	        line-height: 1.43;
        padding: 0.63em 0;
}
.table_info > table tr td.date strong,.table_info > table tr td.caution strong{
font-weight: 500;
        padding-left: 1.2em;
        text-indent: -1.2em;
        display: inline-block;
}
.table_info > table tr td.date strong::before,.table_info > table tr td.caution strong::before{
	content: "■";
	color: #0075C1;
	        margin-right: 0.2em;
	
		font-size: 0.88em;
}
.table_info > table tr th,
.table_info > table tr td{
	border: 1px solid #73B1D9;
	padding: 1.06em 1.94em;
	
}
.table_info > table tr:first-of-type th:first-of-type {
          width: 11.11em;
	box-sizing: border-box;
}

		
/*----------------------------*/
/*----------------------------*/
/*lesson_07*/

.lesson_07 .tel_info > div{
	display: flex;
	align-items: center;
	        gap: 0.44em;
	        justify-content: center;
	flex-direction: column;
        background-color: #D9EEFC;
        border-radius: 1.05em;
padding: 1.63em 0;	
}
.lesson_07 .tel_info > div p{
font-size: 1.125em;
	color: #0075C1;
	        font-weight: 700;
}

.lesson_07 .tel_info > div a{
        font-family: YakuHanJP, "Jost", sans-serif;
        font-weight: 500;
	display: flex;
	align-content: center;
	font-size: 1.938em;
	column-gap: 0.323em;
	        align-items: center;
	pointer-events: none;
	
}
.lesson_07 .tel_info > div a::before{
    content: "";
	display: block;
	background-image: url("../image/lesson/icon_tel.svg");
	width: 0.71em;
	height: 0.871em;
	background-repeat: no-repeat;
	
}

.lesson_07 .box_shien figure img{
    box-shadow: 0 0 1.44em rgba(0,0,0,.2);
	        border-radius: 15.6411px;
}
/*----------------------------*/


/*===================================
	.lesson_0501
=====================================*/

.lesson_0501{
	width: 100%;
}

.lesson_0501 .inner .sp-full_img{
	width: 100%;
}

.lesson_0501 .inner .sp-full_img img{
	width: 100%;
	height: auto;
}

.lesson_0501 .inner .large_txt{
	font-size: 143.75%;/*23*/
	font-weight: 500;
	line-height: 1;
	color: #0075c1;
}

.lesson_0501 .inner .txt_lv1{
	font-size: 100%;
	font-weight: 400;
	line-height: 1.875;
	color: #333333;
}

.lesson_0501 .inner .txt_lv1 a{
	color: #0075c1;
	text-decoration: underline;
}

.lesson_0501 .inner .lesson05_flex .wp-block-column img{
	width: 100%;
	height: auto;
}

.lesson_0501 .inner .lesson05_flex p{
	font-size: 100%;
	font-weight: 400;
	line-height: 1.875;
	color: #333333;
}

/*===================================
	.lesson_0801
=====================================*/

.lesson_0801{
	width: 100%;
}

.lesson_0801 .inner .sp-full_img{
	width: 100%;
}

.lesson_0801 .inner .sp-full_img img{
	width: 100%;
	height: auto;
}

.lesson_0801 .inner .large_txt{
	font-size: 143.75%;/*23*/
	font-weight: 500;
	line-height: 1.75;
	color: #0075c1;
}
.lesson_0801 .inner .blue_bg01{
	width: 100%;
	background: #e3f2fc;
	border-radius: 10px;
	padding: 1.13em 0 1.19em;/*18 19*/
}

.lesson_0801 .inner .blue_bg01 .txt_lv1{
	font-size: 100%;
	font-weight: 700;
}

.lesson_0801 .inner .blue_bg01 .txt_lv2{
	font-size: 100%;
	font-weight: 500;
	line-height: 1.875;
	color: #333333;
	text-align: center;
}

.lesson_0801 .inner .txt01{
	font-size: 100%;
	font-weight: 400;
	line-height: 1.875;
	color: #333333;
}

.lesson_0801 .inner .num_wrap{
	width: 100%;/*994*/
	padding: 2.31em 0;/*37*/
	border: 3px solid #0075c1;
	background: #fff;
	border-radius: 10px;
}

.lesson_0801 .inner .num_wrap ol{
	width: 54.23%;/*539*/
	margin: 0 auto;
	list-style: none;
	counter-reset: num;   /* ← カウンターをリセット */
}

.lesson_0801 .inner .num_wrap ol li{
	padding-left: 9.28%;/*50*/
	box-sizing: border-box;
	font-size: 112.5%;/*18*/
    font-family: YakuHanJP, "IBM Plex Sans JP", sans-serif;
	font-weight: 600;
	line-height: 1.75;
	color: #333333;
	position: relative;
	counter-increment: num; /* ← カウントアップ */
}

.lesson_0801 .inner .num_wrap ol li::before{
	content: counter(num) ".";
    font-family: YakuHanJP, "Jost", sans-serif;
    font-weight: 600;
	font-size: 166.67%;/*30*/
	line-height: 1;
	color: #0075c1;
	position: absolute;
	left: 0;
	top: 0;
}

.lesson_0801 .inner .num_wrap ol li + li{
	margin-top: 1.39em;/*25*/
}

/**/

.lesson_0802{
	width: 100%;
	position: relative;
}

.lesson_0802 .inner .flex_area01 p{
	font-size: 100%;
	font-weight: 400;
	line-height: 1.88;
	color: #333;
}

.lesson_0802::before{
	content: '';
	background: #f4f9fc;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.lesson_0802 .inner .flex_area01{
	display: flex !important;
	justify-content: space-between !important;
	gap: 0 !important;
}

.lesson_0802 .inner .flex_area01 .img_area img{
	width: 100%;
	height: auto;
}


.lesson_0802 .inner .flex_img_area{
	display: flex !important;
	justify-content: space-between !important;
	gap: 0 !important;
}

.lesson_0802 .inner .flex_img_area .wp-block-column img{
	width: 100%;
	height: auto;
}

/**/

.lesson_0803{
	width: 100%;
}

.lesson_0803 .inner .flex_area01{
	display: flex !important;
	justify-content: space-between !important;
	gap: 0 !important;
}

.lesson_0803 .inner .flex_area01 .img_area img{
	width: 100%;
	height: auto;
}

.lesson_0803 .inner .flex_area01 .detail_area .bg_wrap{
	width: 100%;
	background: #e3f2fc;
	border-radius: 10px;
	padding: 11px 4.0% 13px;/*24*/
	box-sizing: border-box;
}

.lesson_0803 .inner .flex_area01 .detail_area .bg_wrap p{
    font-family: YakuHanJP, "IBM Plex Sans JP", sans-serif;
    font-weight: 700;
	font-size: 125.0%;/*20*/
	line-height: 1.5;
	color: #333333;
}

.lesson_0803 .inner .flex_area01 .detail_area ul{
	list-style: none;
}

.lesson_0803 .inner .flex_area01 .detail_area ul li{
	padding-left: 5.83%;/*35*/
	box-sizing: border-box;
	font-size: 100%;
	font-weight: 400;
	line-height: 1.75;
	color: #333;
	position: relative;
}

.lesson_0803 .inner .flex_area01 .detail_area ul li::before{
	content: '';
	background: #0075c1;
	width: 1.33%;/*8*/
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	position: absolute;
	top: 0.75em;/*12*/
	left: 2.17%;/*13*/
}

/**/

.lesson_0804{
	width: 100%;
	position: relative;
}

.lesson_0804::before{
	content: '';
	background: #f4f9fc;
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}


.lesson_0804 .inner .lesson_table{
	width: 100%;
}

.lesson_0804 .inner .lesson_table table{
	width: 100%;
	border-top: 1px solid #73b1d9;
	border-left: 1px solid #73b1d9;
	box-sizing: border-box;
}

.lesson_0804 .inner .lesson_table table tr td{
	height: 60px;
	padding: 15px 1.75em;/*28*/
	border-bottom: 1px solid #73b1d9;
	border-right: 1px solid #73b1d9;
	box-sizing: border-box;
	font-size: 100%;
	line-height: 1.75;
	color: #333333;
}

.lesson_0804 .inner .lesson_table table tr td:first-child{
	width: 10.0%;
	font-size: 112.5%;/*18*/
	font-weight: 500;
}

.lesson_0804 .inner .lesson_table table tr td:nth-child(3),
.lesson_0804 .inner .lesson_table table tr td:nth-child(4){
	width: 13.0%;
}

.lesson_0804 .inner ul{
	list-style: none;
}

.lesson_0804 .inner ul li{
	font-size: 100%;
	line-height: 1.75;
	color: #333333;
}

/**/

.lesson_0805{
	width: 100%;
}

.lesson_0805 .inner .contact_area{
	width: 100%;
	height: 130px;
	border: 2px solid #0075c1;
	border-radius: 15px;
	background: #fff;
	display: flex !important;
	justify-content: center!important;
	align-items: center !important;
	gap: 0 !important;
}

.lesson_0805 .inner .contact_area .left_area,
.lesson_0805 .inner .contact_area .right_area{
	width: 50%;
}

.lesson_0805 .inner .contact_area .left_area p{
	font-size: 112.5%;/*18*/
	font-weight: 700;
	line-height: 1;
	padding-right: 0.89em;/*16*/
	box-sizing: border-box;
}

.lesson_0805 .inner .contact_area .left_area p strong{
	font-weight: 700;
}

.lesson_0805 .inner .contact_area .right_area p.tel_link{
	font-size: 195.5%;/*31.28*/
        font-family: YakuHanJP, "Jost", sans-serif;
        font-weight: 500;
	line-height: 1;
	color: #333333;
	padding-left: 9.0%;
	box-sizing: border-box;
	position: relative;
}

.lesson_0805 .inner .contact_area .right_area p.tel_link::before{
	content: '';
	background: url("../image/lesson/tel_ico.svg")no-repeat;
	background-size: 100% auto;
	width: 5.0%;/*25*/
	height: auto;
	aspect-ratio: 25 / 29;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 2.0%;/*10*/
}

.lesson_0805 .inner .contact_area .right_area p.tel_link a{
	color: #333333;
	pointer-events: none;
}














