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

	スマートフォンメニュー用CSS

	CREATE：2019. 5.29
	UPDATE：2023. 3.13

-------------------------------------------------------------------------------- */
/*
@media screen and (min-width: 1024px) {
	.menu_sp_wrapper{
		margin-right: 0 !important;
	}
	.filter{
		display: none !important;
	}
}
*/

@media only screen and (min-width: 1024px) {
}

@media screen and (min-width: 768px) {

	.header-button-smpmenu.pcmenu {
		/*position: static;*/
	}

}

	html .filter,
	.menu_sp_wrapper-close{
/*		display: none;*/
	}

	html.open .filter {
		position: fixed;
		background-color: rgba(0,0,0,0.5);
		z-index: 300;
		top: -5000px;
		right: -5000px;
		bottom: -5000px;
		left: -5000px;
		backface-visibility: hidden;
		transition: all .3s;
	}
	.header-menu-smp{
		padding: 0;
		background-color: rgba(255,255,255,1);
		width: 300px;
		/*display: none;*/
		position: fixed;
		box-sizing: border-box;
		top: 0;
		left: 0;
		bottom: 0;
		/*left: 0;*/
/*		color: #fff;*/
		z-index: 500;
		backface-visibility: hidden;
		-webkit-overflow-scrolling: touch;
		/*margin-right: -300px;*/
		margin-left: -300px;
		transition: all .5s;
		height: 100%;
	}
	html.open .header-menu-smp{
/*		box-shadow: -10px 20px 20px rgba(0,0,0,0.3);*/
		margin-left: 0;
	}

.header-menu-smp-inner::-webkit-scrollbar,
.header-menu-smp-inner::-webkit-scrollbar-track,
.header-menu-smp-inner::-webkit-scrollbar-thumb {
    display: none;
}
.header-menu-smp-inner {
    height: 100%;
	background-color: rgba(0,51,102,1);
    overflow-y: auto;
}

	.header-menu-smp .menu_global_smp {
		margin-top: 83px;
	}
		.header-menu-smp .menu_global_smp > li {
			background-color: rgba(238,238,238,1);
			border-bottom: 1px solid rgb(255,255,255);
			font-size: 1.4rem;
			line-height: 1.8rem;
			padding: 0 0 0;
		}
			.header-menu-smp .menu_global_smp > li a {
				display: block;
				color: rgb(51,51,51);
				min-height: 55px;
				padding: 20px 20px 15px 30px;
				position: relative;
			}

	.header-menu-smp .menu_submenu {
		border-top: 1px solid rgb(238,238,238);
		margin-top: 10px;
		padding-top: 10px;
	}
		.header-menu-smp .menu_submenu > li {
			background-color: rgba(238,238,238,1);
			border-bottom: 1px solid rgb(255,255,255);
			font-size: 1.4rem;
			line-height: 1.8rem;
			padding: 0 0 0;
		}
			.header-menu-smp .menu_submenu > li a {
				display: block;
				color: rgb(51,51,51);
				min-height: 55px;
				padding: 20px 20px 15px 30px;
				position: relative;
			}


.header-flame-smp {
	/*display: grid;*/
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(0,59,119,1);
	width: auto;
	z-index: 100;
}
	.page-template-top2023 .header-flame-smp {
		background-color: transparent;
	}


.header-button-smpmenu {
	border-right: none;
	/*position: fixed;
    top: 0;
    left: 0;
    z-index: 100;*/
	/*display: none;
	top: 50%;
	right: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);*/
}
	.header-button-smpmenu-li{
		/*display: none;*/
		/*background-color: rgba(0,51,102,1);*/
		/*border: 1px solid rgb(255,255,255);*/
		width: 83px;
		height: 83px;
		position: relative;
	}
	.header-button-smpmenu-li-name{
		background-color: rgba(255,255,255,1);
		color: rgb(0,59,119);
		font-size: 1.4rem;
		font-weight: 700;
		padding: 8px 10px;
		text-align: center;
	}
	.header-sitename-smp {
		display: none;
	}
	.header-schoolname-smp {
		display: none;
	}
	.header-button-smpmenu-li{
		background-color: rgba(0,59,119,1);
	}
	.header-button-smpmenu-trigger,
	.header-button-smpmenu-trigger span {
		transition: all .4s;
		box-sizing: border-box;
	}
	.header-button-smpmenu-trigger {
		position: relative;
		padding-bottom: 100%;
		display: block;
		color: inherit;
	}
	html.open .header-button-smpmenu-trigger {
		background-color: #094AB1;
	}

	.header-button-smpmenu-trigger span {
		position: absolute;
		left: 25px;
		width: 32px;
		height: 3px;
		background-color: rgba(255,255,255,1);
		/*border-radius: 2px;*/
	}
	html.open .header-button-smpmenu-trigger span {
		background-color: #fff;
	}

	.header-button-smpmenu-trigger span:nth-of-type(1) {
		top: 20px;
	}
	.header-button-smpmenu-trigger span:nth-of-type(2) {
		top: 40%;
		margin-top: -1px;
	}
	.header-button-smpmenu-trigger span:nth-of-type(3) {
		bottom: 35px;
	}
	.header-button-smpmenu-trigger span:nth-of-type(4) {
		bottom: 20px;
		left: 0;
		width: 100%;
		color: rgb(255,255,255);
		text-align: center;
		margin: 0;
		height: auto;
		background-color: transparent;
		font-size: 1.0rem;
		line-height: 1;
	}

	.header-button-smpmenu-trigger.active{
	}
	.header-button-smpmenu-trigger.active span:nth-of-type(1) {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 50%;
		margin-top: -1px;
	}
	.header-button-smpmenu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.header-button-smpmenu-trigger.active span:nth-of-type(3) {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 50%;
		margin-top: -1px;
	}
	.header-button-smpmenu-trigger.active span:nth-of-type(4){
		opacity: 0;
	}
	
	.header-menu-smp-close{
		cursor: pointer;
	}
	.header-menu-smp-close-button{
		width: 83px;
		height: 83px;
		position: absolute;
		top: 0;
		left: 0;
	}
	.header-menu-smp-close-button:before,
	.header-menu-smp-close-button:after{
		content: '';
		position: absolute;
		left: 15px;
		width: 32px;
		height: 3px;
		background-color: #fff;
		/*border-radius: 1px;*/
	}
	.header-menu-smp-close-button:before {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 50%;
		margin-top: -1px;
	}
	.header-menu-smp-close-button:after {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 50%;
		margin-top: -1px;
	}
	
	.header-menu-smp-close-txt{
		border-radius: 5px;
		background-color: #f5f5f5;
		text-align: center;
		padding: 10px;
		margin-top: 20px;
	}

/* smp menu 追加分 */
	.menu_global_smp {
		/*margin-top: 70px;*/
	}
		.menu_global_smp > li {
			position: relative;
		}
			.menu_global_smp li a {
				display: block;
				border-bottom: 1px solid rgba(255,255,255,1);
				color: rgb(255,255,255);
				font-size: 1.5rem;
				text-align: left;
				padding: 15px 15px;
				position: relative;
			}
			.menu_global_smp > li:first-child > a {
				border-top: 1px solid rgba(255,255,255,1);
			}
				.menu_global_smp > li > .sub-menu {
					display: none;
					background-color: rgba(0,51,102,.5);
				}
					.menu_global_smp > li > .sub-menu > li > a {
						display: block;
						border-bottom: 1px dashed rgba(255,255,255,1);
						color: rgb(255,255,255);
						font-size: 1.5rem;
						text-align: left;
						padding: 18px 10px 10px 40px;
						position: relative;
					}
					.menu_global_smp > li > .sub-menu > li > a:before {
						content: '';
						position: absolute;
						width: 15px;
						height: 1px;
						background-color: rgba(255,255,255,1);
						top: 27px;
						left: 20px;
					}
					/*.menu_global_smp > li > a.active {
						background-color: rgba(0,0,0,0.2);
					}*/
						.menu_global_smp > li > .sub-menu li > .sub-menu {
							/*display: none;*/
							background-color: rgba(0,51,102,.5);
						}
							.menu_global_smp > li > .sub-menu li > .sub-menu > li > a {
								display: block;
								border-bottom: 1px dashed rgba(255,255,255,1);
								color: rgb(255,255,255);
								font-size: 1.5rem;
								text-align: left;
								padding: 18px 10px 10px 58px;
								position: relative;
							}
							.menu_global_smp > li > .sub-menu li > .sub-menu > li > a:before {
								content: '';
								position: absolute;
								width: 15px;
								height: 1px;
								background-color: rgba(255,255,255,1);
								top: 27px;
								left: 38px;
							}

					.menu_global_smp p.accordionBtn {
						display: block;
						width: 50px;
						height: 50px;
						position: absolute;
						top: 2px;
						right: 0;
						padding: 13px 15px 15px 17px;
						border-left: 1px solid rgb(51,51,51)
					}
						.menu_global_smp p.accordionBtn span {
							position: absolute;
							left: 12px;
							width: 50%;
							height: 2px;
							background-color: rgba(51,51,51,1);
							border-radius: 4px;
							transition: all .2s;
						}
						.menu_global_smp p.accordionBtn span:nth-of-type(1) {
							top: 25px;
							transform: rotate(0deg);
						}
						.menu_global_smp p.accordionBtn span:nth-of-type(2) {
							top: 25px;
							transform: rotate(90deg);
						}
						/*＋、－切り替え*/
						.menu_global_smp p.accordionBtn.active span:nth-of-type(1) {
							display:none;
						}
						.menu_global_smp p.accordionBtn.active span:nth-of-type(2) {
							top: 25px;
							transform: rotate(180deg);
						}

@media only screen and (max-width: 1023px) {

.header-flame-smp {
	/*display: grid;*/
	display: flex;
	align-items: center;
	width: 100%;
}
	.header-button-smpmenu {
		border-right: 1px solid rgb(255,255,255);
	}
	.header-button-smpmenu-li {
		width: 60px;
		height: 60px;
	}
		.header-button-smpmenu-trigger span {
			left: 18px;
			width: 26px;
			height: 2px;
		}
		.header-button-smpmenu-trigger span:nth-of-type(1) {
			top: 15px;
		}
		.header-button-smpmenu-trigger span:nth-of-type(2) {
			top: 42%;
		}
		.header-button-smpmenu-trigger span:nth-of-type(3) {
			bottom: 25px;
		}
		.header-button-smpmenu-trigger span:nth-of-type(4) {
			bottom: 8px;
		}
	.header-button-smpmenu-li-name {
		display: none;
	}

	.header-sitename-smp {
		display: block;
		color: rgb(255,255,255);
		font-size: 3rem;
		font-weight: 500;
		text-align: center;
		width: calc(100% - 120px);
	}

	.header-schoolname-smp {
		background-color: rgba(255,255,255,1);
		display: flex;
		align-items: center;
		color: rgb(0,59,119);
		padding: 4px;
		width: 60px;
		height: 60px;
	}
		.header-sitename-smp a {
			color: rgb(255,255,255);
		}
		.header-schoolname-smp span {
			display: block;
			font-size: 1.2rem;
			font-weight: 700;
			text-align: center;
		}

}


@media only screen and (max-width: 767px) {

/*.header-flame-smp {
	display: flex;
	align-items: center;
	width: 100%;
}
	.header-button-smpmenu {
		border-right: 1px solid rgb(255,255,255);
	}
	.header-button-smpmenu-li {
		width: 60px;
		height: 60px;
	}
		.header-button-smpmenu-trigger span {
			left: 18px;
			width: 26px;
			height: 2px;
		}
		.header-button-smpmenu-trigger span:nth-of-type(1) {
			top: 15px;
		}
		.header-button-smpmenu-trigger span:nth-of-type(2) {
			top: 42%;
		}
		.header-button-smpmenu-trigger span:nth-of-type(3) {
			bottom: 25px;
		}
		.header-button-smpmenu-trigger span:nth-of-type(4) {
			bottom: 8px;
		}
	.header-button-smpmenu-li-name {
		display: none;
	}*/

	.header-sitename-smp {
		font-size: 1.6rem;
		font-weight: 700;
	}

	/*.header-schoolname-smp {
		background-color: rgba(255,255,255,1);
		display: flex;
		align-items: center;
		color: rgb(0,59,119);
		padding: 4px;
		width: 60px;
		height: 60px;
	}
		.header-schoolname-smp span {
			display: block;
			font-size: 1.2rem;
			font-weight: 700;
			text-align: center;
		}*/

	.header-menu-smp-close-button {
		width: 60px;
		height: 60px;
	}
	.header-menu-smp .menu_global_smp {
		margin-top: 60px;
	}

}



