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

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

#anchor_navi{
	padding: 42px 0 0;
}

#anchor_navi .inner{
	width: 86.1111%;/*620*/
	margin: 0 auto;
}

#anchor_navi .inner .anchor_wrap{
	width: 100%;
	border: 1px solid rgba(115,177,217,0.5);
	border-radius: 15px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 13px 0 16px;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 0;
	width: 100%;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li{
	width: 50%;
	padding: 0 0.88em;/*14*/
	box-sizing: border-box;
	position: relative;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li:nth-child(even){
	border-left: 2px dotted #73b1d9;
}

#anchor_navi .inner .anchor_wrap ul.anchor_list li a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 29px;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
	color: #333333;
	padding-right: 2.4em;/*60*/
	box-sizing: border-box;
	position: relative;
}

#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.2em;/*30*/
	height: auto;
	aspect-ratio: 1 / 1;	
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

/*----------------------------*/
: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;
	font-size: 1.35rem;
}
html,body{
	overflow-x: hidden;
}
/*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 > section{
	max-width: 86.11%;
	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{
            margin-top: 0;
}
section#firstview .inner h1.hd dl dd span{
            font-size: 71.42%;
}

/*----------------------------*/
section.content h2{
	font-size: 1.65rem;
	font-weight: 600;
	line-height: 1;
	color: #333333;
	text-align: center;
	padding-bottom: 12px;
	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: 110px;
	height: calc(5px / 2);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

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

section.content h3{
	font-size: 1.6rem;
	border-bottom: 2px solid #0075C1;
	font-weight: 600;
	line-height: 1.75;
	color: #333333;
	        padding-left: 2.5rem;
	padding-bottom: 0.4rem;
	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.6rem;
        height: 2.6rem;
	position: absolute;
        top: 50%;
        transform: translateY(-60%);
	        left: 0.75rem;
	
}

section.content .thumbnail{
	        margin-top: 3.267rem;
	width: 111vw;
	margin-left: calc(50% - 111vw/2);
}

section.content .catch{
		font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.75;
	        padding: 2.6rem 0 1.7rem;
	line-height: 1.33;
}

section.content .box_800{
}

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


.navigation{
display: flex;
        justify-content: center;
        background-color: #e3f2fc;
        border-radius: 0.94em;
        max-width: 86.11%;
        margin: 0 auto;
        position: relative;
        padding: 2rem 0px;
	
}

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

.navigation .alignleft a::before,.navigation .alignright a::after{
	content: "";
	display: block;
        background: url(../image/common/icon_circle_blue.svg) no-repeat;
	width: 1.75rem;
	height: 1.75rem;
	        flex-shrink: 0;
	transform: rotate(90deg);
}
.navigation .alignleft a::before{
	        transform: rotate(180deg);
}
.navigation .alignright a::after{
	        transform: rotate(0deg);
}
.navigation .aligncenter {
        width: 135px;
        height: 50px;
}
.navigation .aligncenter a{
box-sizing: border-box;
        border: 2px solid #0075c1;
        background-color: #0075c1;
        color: #fff;
        padding-left: 23px;
        font-size: 1.35rem;
}
.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: 2.5rem;
        height: 2.5rem;
        aspect-ratio: 1 / 1;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 1.25rem;
    }
.navigation .aligncenter a:hover::before{
    background: url("../image/common/icon_arrow_blue.svg") 0 0 / contain no-repeat;
}


#footer_wrap{
	margin-top:10.38rem;
	
}

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

.lesson {
	margin-top: 4.5rem;

}

.lesson .lesson_list{
	margin-top: 3.62rem;

}
.lesson .lesson_list{
	display: grid;
    grid-template-columns: repeat(2, 1fr);
	gap: 1.91rem 1.5rem;
}

.lesson .lesson_list dt img{
width: 15rem;
	height: 8.5rem;
	    object-fit: cover;
	
        border-radius: 0.71rem;
	
}


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

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

.lesson_01 .box_tel {
        padding: 2rem 1.75rem;
}
.lesson_01 .box_tel > div > p{
	        font-weight: 500;
	font-size: 1.4rem;
}
.lesson_01 .box_tel .tel_info{
	border-top: 2px dotted #A0B4C1;
	        margin-top: 1.1rem;
        padding-top: 1.4rem;
}
.lesson_01 .box_tel .tel_info > div{
	display: flex;
	align-items: center;
	column-gap: 1.813em;
	        justify-content: center;
	
	flex-direction: column;
}
.lesson_01 .box_tel .tel_info > div p{
font-size: 1.45rem;
	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: 2.45rem;
	column-gap: 0.323em;
	        align-items: center;
	
}
.lesson_01 .box_tel > div > div a::before{
    content: "";
	display: block;
	background-image: url("../image/lesson/icon_tel.svg");
	width: 1.71rem;
	height: 2.07rem;
	background-repeat: no-repeat;
	
}

.lesson_01 h4{
	font-size: 1.5rem;
	background-color: #D9EEFC;
	font-weight: 600;
	line-height: 1.75;
	color: #333333;
	padding: 0.69rem 1.45rem;
	    border-radius: 0.47rem;
}
.lesson_01 h5{
	font-size: 1.13em;
	font-weight: 700;
	line-height: 1.75;
	color: #0075C1;
}
.lesson_01 h5{
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.75;
	color: #0075C1;
	        margin-top: 2.19rem;
}
.lesson_01 .box_example {
}
.lesson_01 .box_example > div{
	    display: flex;
    flex-direction: column;
}


.lesson_01 .box_example figure{
	margin-top: 1.2rem;

}
.lesson_01 .box_example .box_desc{
	margin-top: 1.88rem;
}

.lesson_01 .box_example .box_desc ul{

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

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

.lesson_01 .box_example .box_desc p{
	        text-align: justify;
		
}

/*----------------------------*/
/*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.45rem;
	        padding: 0.66rem 0;
	
}
.table_info > table {
	        border-collapse: collapse;
	width: 100%;
order: 1;
}

.table_info > table tr{
	
}
.table_info > table tr th{
	padding: 0.66rem 1.5rem;
        background-color: #EBF4FA;
	color: #0075C1;
	text-align: center;
	font-size: 1.45rem;
	font-weight: 500;
}
.table_info > table tr td{
	padding: 1.02rem 1.5rem;
        background-color: #fff;
	font-weight: 400;
	line-height: 1.61;
	        font-size: 1.4rem;
}
.table_info > table tr td.caution strong{

	        line-height: 1.43;
        padding: 0.63rem 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;
}
.table_info > table tr th,
.table_info > table tr td{
	border: 1px solid #73B1D9;
	        display: inline-block;
        width: 100%;
        box-sizing: border-box;
	        margin: -1px 0;
}
		
/*----------------------------*/

/*----------------------------*/
/*lesson_07*/
.lesson_07 .tel_info > div{
	display: flex;
	align-items: center;
	        justify-content: center;
	
	flex-direction: column;
	background-color: #D9EEFC;
	border-radius: 0.84rem;
	        padding: 1.9rem 0
}
.lesson_07 .tel_info > div p{
font-size: 1.45rem;
	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: 2.45rem;
	column-gap: 0.323em;
	        align-items: center;
	
}
.lesson_07 .tel_info > div a::before{
    content: "";
	display: block;
	background-image: url("../image/lesson/icon_tel.svg");
	width: 1.71rem;
	height: 2.07rem;
	background-repeat: no-repeat;
	
}
.lesson_07 .box_shien figure img{
    box-shadow: 0 0 0.93rem rgba(0,0,0,.2);
	
	        border-radius: 1.275rem;
}
/*----------------------------*/

/*----------------------------*/


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

.lesson_0501{
	width: 100%;
}

.lesson_0501 .inner .sp-full_img{
	width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

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

.lesson_0501 .inner .large_txt{
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.33;
	color: #0075c1;
}

.lesson_0501 .inner .txt_lv1{
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1.67;
	color: #333333;
}

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

.lesson_0501 .inner .lesson05_flex{
	display: flex;
	justify-content: space-between;
	gap: 1.88em 0 !important;
}

.lesson_0501 .inner .lesson05_flex .wp-block-column{
    flex-basis: 47.26% !important;/*293*/
    max-width: 47.26% !important;
}

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

.lesson_0501 .inner .lesson05_flex p{
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.53;
	color: #333333;
}

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

.lesson_0801{
	width: 100%;
}

.lesson_0801 .inner .sp-full_img{
	width: 100vw;
	position: relative;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

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

.lesson_0801 .inner .large_txt{
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.33;
	color: #0075c1;
}
.lesson_0801 .inner .blue_bg01{
	width: 100%;
	background: #e3f2fc;
	border-radius: 5px;
	padding: 1.25rem 4.84% 20px;/*30*/
}

.lesson_0801 .inner .blue_bg01 .txt_lv1{
	font-size: 1.35rem;
	font-weight: 700;
}

.lesson_0801 .inner .blue_bg01 .txt_lv2{
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1.30;
	color: #333333;
}

.lesson_0801 .inner .txt01{
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1.67;
	color: #333333;
}

.lesson_0801 .inner .num_wrap{
	width: 100%;
	padding: 23px 0 17px;/*37*/
	border: 2px solid #0075c1;
	background: #fff;
	border-radius: 7px;
}

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

.lesson_0801 .inner .num_wrap ol li{
	padding-left: 10.48%;/*55*/
	box-sizing: border-box;
	font-size: 1.45rem;
    font-family: YakuHanJP, "IBM Plex Sans JP", sans-serif;
	font-weight: 600;
	line-height: 1.31;
	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: 2.1rem;
	line-height: 1;
	color: #0075c1;
	position: absolute;
	left: 0;
	top: 0;
}

.lesson_0801 .inner .num_wrap ol li + li{
	margin-top: 20px;
}

/**/

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

.lesson_0802 .inner .flex_area01 p{
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1.67;
	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{
	gap: 24px 0;
}

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


.lesson_0802 .inner .flex_img_area{
	gap: 28px 0;
}

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

/**/

.lesson_0803{
	width: 100%;
}

.lesson_0803 .inner .flex_area01{
	gap: 1.85rem 0;
}

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

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

.lesson_0803 .inner .flex_area01 .detail_area{
	width: 100%;
}

.lesson_0803 .inner .flex_area01 .detail_area .bg_wrap{
	width: 100%;
	background: #e3f2fc;
	border-radius: 5px;
	padding: 11px 4.52% 1.25rem 4.52%;/*32 28*/
	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: 1.5rem;
	line-height: 1.33;
	color: #333333;
}

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

.lesson_0803 .inner .flex_area01 .detail_area ul li{
	padding-left: 4.52%;/*28*/
	box-sizing: border-box;
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1.67;
	color: #333;
	position: relative;
}

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

/**/

.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%;
	overflow-x: auto;
}

.lesson_0804 .inner .lesson_table table{
	min-width: 124.19% !important;/*770*/
	border-top: 1px solid #73b1d9;
	border-left: 1px solid #73b1d9;
	box-sizing: border-box;
}

.lesson_0804 .inner .lesson_table table tr td{
	height: 55px;
	padding: 9px 0.875em;/*28*/
	border-bottom: 1px solid #73b1d9;
	border-right: 1px solid #73b1d9;
	box-sizing: border-box;
	font-size: 1.35rem;
	line-height: 1.75;
	color: #333333;
}

.lesson_0804 .inner .lesson_table table tr td:first-child{
	width: 10.39%;/*80*/
	font-size: 1.45rem;
	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: 15.58%;/*120*/
}

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

.lesson_0804 .inner ul li{
	font-size: 1.35rem;
	line-height: 1.67;
	color: #333333;
}

/**/

.lesson_0805{
	width: 100%;
}

.lesson_0805 .inner .contact_area{
	width: 100%;
	border: 2px solid #0075c1;
	border-radius: 7px;
	background: #fff;
	gap: 7px 0;
	padding: 23px 0;
}

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

.lesson_0805 .inner .contact_area .left_area p{
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1;
	box-sizing: border-box;
	text-align: center;
}

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

.lesson_0805 .inner .contact_area .right_area p.tel_link{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.45rem;
        font-family: YakuHanJP, "Jost", sans-serif;
        font-weight: 500;
	line-height: 1;
	color: #333333;
}

.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: 0.73em;/*36*/
	height: auto;
	aspect-ratio: 25 / 29;
	margin-right: 0.75rem;
}

.lesson_0805 .inner .contact_area .right_area p.tel_link a{
	font-size: 2.45rem;
	color: #333333;
}

