@charset "UTF-8";


@media (max-width: 833px) {
	.header .logo {padding: 4px 0;}
	.header .logo img {
		max-width: 90px;
	  }
	.header .logo span {
	  padding-left: 8px;
	  font-size: 7px;
	}
  }



@media (min-width: 834px) {
	.header .logo a,
	.header .logo a:hover {border-bottom: none;color: #3c3c3c;}
.sub-navi {
	display: none;
	position: absolute;
	z-index: 900;
	min-width: 100%;
	margin: 0 auto 0;
	padding: 10px;
	left: 0%;
	-webkit-transform: translateX(-5%) translateY(10px);
	transform: translateX(-5%) translateY(10px);
	border-radius: 6px;
	background: #f8f8f8;
	-webkit-box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.15);
/*
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
*/
  -webkit-transition: none;
  transition: none;

    border: solid 2px #f29600;/*追加*/
	overflow: scroll;
}
.sub-navi:before {
	position: absolute;
	content: none;
	/*display: block;
	left: 0;
	right: 0;
	top: -18px;
	margin: auto;
	width: 0;
	height: 0;
	border: 9px solid transparent;
	border-bottom-color: #f8f8f8;*/
}
.nav_2 ul.nav2 li .arrow_right {display: none;}
}
@media (max-width: 833px) {
	/*.main_navi a {
		display: inline-block;
		font-size: 16px;
		font-size: 1rem;
		font-weight: bold;
		border-bottom: 2px solid transparent;
	  }
	.sub-navi {
	display: none;
	position: absolute;
	z-index: 900;
	min-width: 100%;
	margin: 0 auto 0;
	padding: 10px;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(10px);
	transform: translateX(-50%) translateY(10px);
	border-radius: 6px;
	background: #f8f8f8;
	-webkit-box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.15);
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.sub-navi:before {
	position: absolute;
	content: "";
	display: block;
	left: 0;
	right: 0;
	top: -18px;
	margin: auto;
	width: 0;
	height: 0;
	border: 9px solid transparent;
	border-bottom-color: #f8f8f8;
}*/
	}




.main_navi .main_navi-shiryo a {
    border-bottom: solid 1px #2BC477;
	color: #2BC477;
	display: flex;
	justify-content: space-between;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: normal;
}
.main_navi .main_navi-shiryo a:hover {
	border-bottom: solid 1px #2BC477;
}
.main_navi .main_navi-shiryo a img {width: auto;}
.main_navi-shiryo {
	min-width: 140px;
	order: 4;
}
.main_navi-tel {
	width: 168px;
	order: 5;
}
.main_navi .school_btn a {font-weight: normal;}
.main_navi .school_btn {min-width: 175px;}

/**/

main {padding-top: 160px;}
@media (max-width: 1121px) {
	main {padding-top: 270px;}
}
@media (max-width: 833px) {
	main {padding-top: 70px;}
	.main_navi-contactbox {/*display: none;*/}
	.main_navi.active {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
		opacity: 1;
		/*flex-direction: column-reverse !important;*/
	  }
}

.navi_area {
	max-width: 1280px;
	margin: 0 auto;
}

.main_navi-contactbox {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-bottom: 2rem;
	position: relative;
  }

.main_navi:has(.main_navi-contactbox) {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.main_navi-contactbox .pc_logo {
	position: absolute;
	left: 0;
	top: 0;
}
.main_navi-line {margin-left: 321px;}

@media (max-width: 1122px) {
	.main_navi-contactbox {
		flex-wrap: wrap;
	}
}
@media (max-width: 1190px) {
	.nav_2 {
		flex-flow: column;
	}
	.nav_2r .nav_2r_cld{
		padding-right: 1rem;
	}
}

.nav_2 {
	display: flex;
	justify-content: space-between;
}

.nav_2 ul.nav2 {
	display: flex;
}
@media (min-width: 834px) {
	.nav_2 ul.nav2 li:hover {
		cursor: pointer;
	}
.nav_2 ul.nav2 li,
.nav_2r.pc_only .nav_2r_cld{
	padding: 0 0.7rem;
	/*border-right: solid 1px #979797;*/
	font-family: 'Noto Sans JP', sans-serif;
	margin-left: 0;/*インライン対策*/
	position: relative;
	display: inline-block;
	color: #3c3c3c;
}
.nav_2 ul.nav2 li::after,
.nav_2r.pc_only .nav_2r_cld::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0px;/*線の上下位置*/
	display: inline-block;
	width: 1px;/*線の長さ*/
	height: 1rem;/*線の太さ*/
	-webkit-transform: translateX(-50%);
	transform: translateY(-50%);/*位置調整*/
	background-color: #979797;/*線の色*/

}
.nav_2 ul.nav2 li.rb_none::after,
.nav_2 ul.nav2 ul.sub-navi li::after,
.nav_2r.pc_only .nav_2r_cld.rb_none::after {content: none;}
}
.nav_2r.pc_only .nav_2r_cld.rb_none {padding-right: 0;}
.nav_2 ul.nav2 li.rb_none,
.nav_2 ul.nav2 li ul.sub-navi li {
	border-right: none;
}
.nav_2 ul.nav2 li ul.sub-navi li a,
.nav_2 ul.nav2 li ul.sub-navi li a:hover {border-bottom: none !important;}
@media (min-width: 834px) {
}
.nav_2 ul.nav2 li ul.sub-navi {
	flex-direction: column;
}
.nav_2 ul.nav2 li ul.sub-navi li {
	padding: 0.4rem;
	width: 100%;
}
.nav_2 ul.nav2 li ul.sub-navi li a {
	display: flex;
	justify-content: space-between;
}
.nav_2 ul.nav2 li ul.sub-navi li a span:last-child {
	margin-left: 1rem;
	color: #f29600;
}

.nav_2 ul.nav2 li a{
	font-weight: normal;
}

@media (max-width: 833px) {
	.main_navi-contactbox {
		order: 2;
	  }
	.nav_2 { order: 1;
		}
  .nav_2 ul.nav2 {
	display: flex;
	flex-flow: column;
	width: 90%;
	margin: 0 auto 1rem;
	max-height: 260px;
	overflow-y:scroll;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	scrollbar-width: none;
	font-family: 'Noto Sans JP', sans-serif;
    }
    .nav_2 ul.nav2::-webkit-scrollbar{
        display:none;
    }

    .nav_2 ul.nav2 li {
        padding: 0.7rem 0;
        border-bottom: solid 1px #979797;
        border-right: none;
        text-align: left;
    }
    .nav_2 ul.nav2 li a{
        font-weight: normal;
        padding: 0.4rem;
        display: flex;
        justify-content: space-between;
        border-bottom: none;
		line-height: 1.2;
    }
    .dropdown .dli-plus {
      margin-top: 0.4rem;
    }
    .nav_2 ul.nav2 li.sp_only {
        padding-bottom: 0;
    }
	.nav_2 ul.nav2 li.pb_07{
		padding-bottom: 0.7rem;
	}
    .nav_2 ul.nav2 li.sp_only a.dd_title {
        margin-bottom: 0.7rem;
    }
    .nav_2 ul.nav2 li ul.sub-navi {
        margin: 0;
        padding: 0.4rem 0 0;
    }
    .nav_2 ul.nav2 li ul.sub-navi li:first-child {
        border-top: solid 1px #979797;
    }
    .nav_2 ul.nav2 li ul.sub-navi li:last-child {
        border-bottom: none;
    }
    /*.nav_2 ul.nav2 li ul.sub-navi li a span:first-child {
        padding-left: 1rem;
    }
    .nav_2 ul.nav2 li ul.sub-navi li a {
        padding-right: 0;
    }*/

    .nav_2 ul.nav2 li .arrow_right::after {
        display: block;
        content: "";
        border-style: solid;
        border-width: 0 2px 2px 0;
        content: "";
        display: inline-block;
        height: 8px;
        width: 8px;
        border-color: #ababab;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
      }
      .nav_2 ul.nav2 li .arrow_right {
        display: block;
        margin: 0 0.3rem 0 0;
      }
	  ul.sp_only.nav2 li.dropdown ul.sub-navi li .arrow_right {margin-right: 0.1rem;}

      .nav_sp_cta_order1 {order: 1;}

      .main_navi-tel {
        width: 60%;
        order: 2;
      }

      .nav_sp_cta {
        display: flex;
        justify-content: center;
        width: 80%;
		margin: 0 auto;
      }
      .nav_sp_cta1 {
        display: flex;
        padding: 0 1rem;
      }
      .nav_sp_cta1 a {
        padding: 0 4px;
        border-bottom: none;
      }
      .nav_sp_cta1 a:hover {
        border-bottom: none;
      }

      .nav_sp_cta_order {order: 3;}
      .main_navi-line {
        margin-left: 0;
        margin-right: 1rem;
      }
      .nav_2r {
        order: 3;
        border-top: solid 1px #ababab;
      }
      .nav_2r_in {
        display: flex;
        padding: 0.4rem 0;
      }
      .nav_2r .nav_2r_cld {
        width: 50% ;
      }
      .nav_2r .nav_2r_cld a,
      .nav_2r .nav_2r_cld a:hover{
        border-bottom: none;
      }
      .nav_2r .nav_2r_cld:first-child {
        border-right: solid 1px #ababab;
      }
}

.nav_2r {
	display: flex;
	font-family: 'Noto Sans JP', sans-serif;
}
.nav_2r .nav_2r_cld{
	padding-left: 1rem;
}
.nav_2r .nav_2r_cld a {
	font-weight: normal;
}




@media all and (max-width: 833px) {
	.main_navi.active {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
		opacity: 1;
		margin-top: 70px;
		margin-bottom: 40px;
		border-top: solid 1px #979797;
		border-left: 5px solid #f29600;
		border-right: 5px solid #f29600;
		border-bottom: 5px solid #f29600;
		border-radius: 0 0 12px 12px;
		padding: 1rem 0 0;
		max-height: 90%;
		height: auto;
		overflow-y:scroll;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
}

/*popup 追加*/
@media (max-width: 833px) {
	/*ロゴ部分*/
	.header_sp_logotoi {
		display: flex;
		/*margin-right: 48px;*/
		justify-content: space-between;
	}
	.header_sp_logotoi label {
		position: absolute;
		right: 60px;
	}
	.header_sp_logotoi label img {
		max-width: 110px;
	}
	/*ポップアップ部分*/
	/*.popup .content {
		padding: 2rem 1rem;
	}*/
	.popup .content .pop01 {
		display: flex;
		padding-bottom: 0.6rem;
	}
	.popup .content .pop01 a {
		padding: 4px 6px;
	}
	.popup .content .pop02 {
		border-top: solid 1px #ababab;
		padding: 1rem 2rem;
	}
}
/*popup template design*/
    .popup-background{
        /*position size*/
        position: fixed;
        z-index : 100;
        top : 0;
        left : 0;
        height : 100vh;
        width : 100vw;

        /*design*/
        background-color: none;
        opacity : 0.5
    }
    .popup{
        /*position size*/
        --height : 260px;
        --width : 300px;
        z-index : 1000;
        position: fixed;
        top : calc(25vh - calc(var(--height) / 2));
        left : calc(50vw - calc(var(--width) / 2));
        height : var(--height);
        width : var(--width);

        /*design*/
        overflow: hidden;
        background-color: white;
        border-radius: 10px;
        box-shadow: 0px 0px 3px 1px #c3c3c3;
		border: solid 1px #ababab;
    }
    .popup > .close-button{
        /*position size*/
        --size : 20px;
        position:absolute;
        top : calc(var(--size)/4);
        left : calc(var(--width) - var(--size) * 5/4);/*css variables are available in children*/
        height : var(--size);
        width : var(--size);

        /*design*/
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: transparent;
        color : gray;
        font-size: var(--size);
        border-radius: calc(var(--size)/5);
    }
    .popup > .close-button:hover{
        /*design*/
        background-color: #2BC477;
        color : white;
    }
    .popup > .content{
        padding: 2rem 1rem;
        text-align: center;
    }


    /*hide popup*/
    .popup-flag{
        display:none;
    }
    .popup-flag:not(:checked) + .popup-background{
        display:none;
    }
    .popup-flag:not(:checked) + * + .popup{
        display:none;
    }
/*ボタンの変化*/
	.popup-flag:checked ~ .img01 { display: none;}
	.popup-flag:checked ~ .img02 { display: block;}
	.popup-flag:not(:checked) ~ .img02 { display: none;}
	.popup-flag:not(:checked) ~ .img01 { display: block;}
	img.img02 {
		position: absolute;
		right: 60px;
		max-width: 110px;
	}
